Skip to content

Add universal magnetic tray prototype - #52

Draft
richardsolomou wants to merge 5 commits into
mainfrom
posthog/add-universal-magnetic-trays
Draft

Add universal magnetic tray prototype#52
richardsolomou wants to merge 5 commits into
mainfrom
posthog/add-universal-magnetic-trays

Conversation

@richardsolomou

@richardsolomou richardsolomou commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Problem

Fitted holders become obsolete when a collection changes and require miniature footprints to be planned in advance. A reusable tray should accept mixed base sizes, fit common printer beds, align with compatible bases, and only place magnets where a miniature can physically use them.

Changes

  • Add a universal holder mode with a sparse, continuous Gridfinity-backed magnetic deck.
  • Add a tray-compatible base layout sharing a canonical staggered lattice and adjustable pitch with the tray.
  • Default to a 30mm pitch and automatically reduce base magnet counts where wider spacing cannot physically fit.
  • Omit exterior magnets that cannot support the configured smallest base while preserving usable positions across internal module seams.
  • Preserve lattice phase across printer-sized modules and keep retaining walls only on the assembled perimeter.

Risk

Medium. Magnetic retention still depends on polarity, friction, magnet grade, and miniature geometry. The sparse layout intentionally gives some medium bases one central magnet; physical transport testing is required.

Verification

  • pnpm check (292 tests)
  • Default 7×5 tray requires 59 usable magnets with a 25mm minimum base
  • Every standard base footprint builds with its pitch-compatible automatic count
  • Focused Playwright flow covers smallest-base filtering, shared pitch, split trays, and compatible bases

Checklist

  • Tests cover new or changed behavior where practical.
  • Geometry changes are checked against a real export, not just the preview.
  • User-facing behavior is documented in the README.

Created with PostHog Desktop

Add a continuous Gridfinity deck with configurable square or staggered magnet grids and an optional retaining rim. Preserve fitted holders and migrate saved workspaces safely.

Generated-By: PostHog Desktop
Task-Id: 63090379-316f-46ce-ba66-b38d39c59627
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 15, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
basekit 9793319 Commit Preview URL

Branch Preview URL
Aug 15 2026, 01:28 PM

Let universal trays export as Gridfinity-aligned pieces capped by configurable column and row sizes. Keep retaining walls only on the assembled perimeter and migrate saved tray settings.

Generated-By: PostHog Desktop
Task-Id: 63090379-316f-46ce-ba66-b38d39c59627
Add an explicit tray-compatible pocket layout whose magnet centres use the universal tray's canonical staggered lattice. Share pitch across both generators, preserve lattice phase across split modules, keep ribs aligned with every boss, and retain existing balanced layouts.

Generated-By: PostHog Desktop
Task-Id: 63090379-316f-46ce-ba66-b38d39c59627
Increase the default compatible lattice pitch to 30mm, reducing a 7x5 tray to 67 magnets. Make automatic tray-compatible base counts step down to the strongest supported pattern that physically fits the selected pitch.

Generated-By: PostHog Desktop
Task-Id: 63090379-316f-46ce-ba66-b38d39c59627
Add a configurable smallest-base size and reserve half of it around the assembled tray perimeter. Keep internal module seams available, migrate saved trays, and reduce the default 7x5 layout to 59 usable magnet positions.

Generated-By: PostHog Desktop
Task-Id: 63090379-316f-46ce-ba66-b38d39c59627
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant