say hello

Bricksy

Spatial puzzle collection · 2026 · Source available · browser demo

A collection of spatial games built around one loop: predict a transformation, commit to it, and watch the result unfold in 3D.

What it is

Bricksy asks players to see the result in their head before moving anything. Its games explore different spatial skills: turning a shape, seeing inside a solid, folding a net, predicting a shadow, or planning a route.

Daily puzzles provide a shared starting point, while endless modes extend the difficulty. Tight Fit connects several operations into moving-day jobs involving one persistent item.

The loop it has to make believable

  1. 01

    Queue a transformation before seeing it execute, then compare the result with the prediction you committed to.

  2. 02

    Carry one item's orientation through Tight Fit's loading, doorway, and corner stages, so earlier choices affect later steps.

How it’s built

The geometry is independent of Three.js. Integer rotations and graph search make turn distances exact, while pure models handle packing, folding, movement, and collision. Generator tests cover many seeds and difficulty levels.

Rendering is loaded per game. The PWA layer caches game pages, local storage holds progress and logs, and exported events support reconstruction and playtest analysis.

Architecture

Geometry
Integer lattice rotations and breadth-first search over cube orientations establish exact turn distances
Presentation
Three.js scenes animate committed predictions; game modules load on demand
Generation
Seeded daily puzzles and difficulty-aware generators checked across levels and seeds
Continuity
Local progress, shareable results, service-worker caching, and exportable playtest logs

What has to hold up

  • Keep logical rotations exact and test puzzle generation separately from rendering and animation.
  • Record enough puzzle state and action history to reconstruct a run; keep progress available locally without an account.

Current boundaries

Progress and streaks are per device, with no server accounts or cross-device sync. Playtest logs are local; the project does not establish that playing transfers to broader spatial ability.

The repository's September 25 status note reports a GitHub Actions billing block and an older hosted build. The browser demo may therefore differ from the current source; consult docs/STATUS.md when reviewing it.

Proof

Pure models and generator tests make the puzzle rules inspectable. The hosted demo may lag the source; deployment notes document that boundary.

VerifyRepository, checks, stack, status
  1. 01

    Try Pack and a second spatial game in the browser demo, then compare their prediction and reveal loops.

  2. 02

    Run the current source locally to inspect Tight Fit and features that may not be in the hosted build.

  3. 03

    Read polycube.ts, the pure game models, and their tests; run npm test and npm run build.

  4. 04

    Inspect exported playtest logs and docs/STATUS.md for evidence and remaining limitations.

Role
Game design, geometry, procedural generation, Three.js interaction, and PWA implementation
Scope
Touch-first spatial games, a connected delivery game, and offline browser support
Proof
Pure-model tests, generator sweeps, replayable logs, and deployment status notes
Stack
TypeScript, Three.js, Vite, Service Worker, GitHub Pages
Loop
Predict → commit → reveal
Puzzles
Seeded daily + endless
Geometry
Exact lattice rotations
Progress
Local to each device