Grid Placement 6.0 — snap-fit grids for Godot 2D + 3D

Place buildings on an isometric map, paint layered terrain with fences that keep the ground underneath, build side-view platformer levels, settle hex tiles — or snap together a 3D modular house. Every clip below is captured from a real running demo, driven through the real placement pipeline. In the 3D house proof, floors, walls, door, windows, four CORNER posts, both roof slopes and both gables are real placement commits (44 total); only the chimney is staged dressing, labeled as such wherever it appears.

source-bound media 11cdeb1f2 + d1c6749 / 32f27923d 3D film 44/44 commits 2D guard --strict green @ 11cdeb1f2 + d1c6749

Kit-house assembly — floors through GRID roof, end to end

The page-head clip is the full build: floor deck → N/S walls and door → E/W window columns → four CORNER posts → House Roof slopes → House Gable triangles, each through catalog ghost → valid → click. Chimney is the only visual-only dressing. No closing orbit — 94.0 s, readable per beat with eased camera and cursor, in a woodland clearing with the compact idle UI. Valid previews render as a neutral wash (the ghost shows where the piece lands; green verdicts live on the ground quads) instead of a full-volume green slab. Poster: first walls rising over the laid deck with the catalog live — one real film frame.

real game footagee2e assembly1280×720 · 94.0 s · 2819 frames7.1 MB
Proof details + object classification

Cut (frames 92–2910, no reordering — catalog select through finished house + chimney, orbit excluded) from media/demos/grid_placement_6_house_proof.mp4 (3155 f, 105.2 s, driver godot/test/smoke/demo_3d_house_film.gd, PROOF_DONE placed_total=44, fail-closed). The 24-tile 1×1 floor deck is laid with one rect-fill drag through the demo-owned drag path (click = corner A, cursor glide = corner B, release commits the inclusive rectangle through the real service); walls, door, windows, four CORNER posts, two per-slope roof pieces and two dedicated yaw-0 gable scenes commit through the GRID CELL/CORNER ghost paths. Placement ops come from HouseBuildPlan — the same SSOT the GdUnit geometry suite enforces. Per-object classification: placement_service 44 (24 deck fill tiles, N row + NW/NE corners, E column + E shutters + SE corner, S row + door + SW corner, W column + W shutters, 2 roof slopes, 2 gables) · visual_only 1 (chimney — staged, never registered) · authored_environment (grid + woodland clearing + dressing props). The camera glides per beat with eased in/out (deck, N face, S face, E/W columns, corners, roof, both gables) so every commit lands on screen. A fail-closed PROOF_GEOM gate verifies dressed-face-outward on all 12 wall-family slots and full 24-cell deck coverage before PROOF_DONE. Captured at source 32f27923d (branch work/site-final: eased-motion pass — smootherstep camera glides, ease-in-out cursor, deterministic dwell breathing; same woodland clearing + neutral valid-ghost wash).

>

1. Watch placement happen — five workflows

The four 2D demos are driven through their real placement flow — paint, select, preview, place, rotate, move, demolish, mode-switch — and recorded at fixed 30 fps through the release-gate pipeline (scripts/ci/demo_video_proof.py generate, commit-bound manifest, guard --strict green at 11cdeb1f2 for isometric/platformer/hex and at d1c6749 for the top-down refix); the 3D house film v7 is captured at 32f27923d with the rect-fill deck drag, eased per-beat camera, woodland clearing and neutral valid-ghost wash. Press play on any card.

Top-down — layered terrain, objects and fences

Fences occupy their own layer — painting a fence never replaces the ground underneath. The fence goes down as one hollow 4×4 pen with a stone pillar parked beside it on bare ground; rotate/flip, demolish and a clean mode-switch close the loop. 14/14 checkpoints, zero skips. Refix at d1c6749: the resource display now uses the dark-deck navy panels matching the rest of the HUD.

16.5 s1280×720320 KB

Isometric — grid-aligned building on an isometric map

Single snow, then a grass drag across the diamond grid, then a blacksmith snapped onto it. Then the failure workflow: a tile is demolished, the building re-selected, hovered over its own occupied tile — red ghost, rejected — and the cursor moved away. 12 supported checkpoints pass, 2 honestly unsupported.

17.0 s1280×720553 KB

Platformer — side-view placement and editing

Wall blocks need neighbors: an isolated single is rejected on the spot, a connected block lands. The crate lands in the empty cell above its painted support — resting on it, not inside it. Rotation is honestly skipped: the supported box cannot rotate in place. 11 supported checkpoints pass, 2 unsupported.

12.9 s1280×720179 KB

Hex — native hex-grid placement

Dirt, grass, stone and water brushed across a true hex grid with the beehive selected and the cursor highlight tracking every cell. 7 supported checkpoints pass, 5 unsupported (terrain-only paths).

10.0 s1280×720243 KB

House — 3D placement interaction on the grid

Empty grid to finished house in the placement-demo scene: catalog select, one rect-fill drag lays the 24-tile 1×1 deck, ghost previews → walls → door → windows → four CORNER posts → two per-slope roof pieces → gable triangles, with the toolbar, mode readout and build log visible throughout. 44 GRID commits (CELL fill + CELL + CORNER + shutter overlays); chimney is the only staged dressing. The camera glides per beat so exactly what is being placed is on screen — deck from above, N/S faces, E/W columns, corners, roof, both gables. Filmed at 32f27923d — dressed faces verified outward by the in-film geometry gate, every deck-side joint flush on its grid line, corners MOUNTED at the intersections (see §2).

105.2 s1280×72011.0 MB

2. Finished 3D result — seam-closed modular walls

A real frame of the same §1 film (closing orbit): every module below was committed through the placement pipeline, none hand-placed. Wall, door, window, roof and gable modules carry measured mesh bounds and opt into partner-aware seam closure, so each deck-side face lands exactly on its shared grid line — verified numerically at this source on all four interfaces (N, S, E, W) plus the floor grade, worst joint gap 0.0000. Four CORNER posts commit at the wall-joint intersections (generic yaw, exterior occupancy).

Finished modular house — gable framing, dressed roof, four CORNER posts, flush wall-to-deck joints

Finished house — 44 committed modules + staged chimney

24-tile deck, 2 N walls, an S wall, an S door, 3+3 E/W wall/window column pieces through GRID CELL commits, four CORNER posts at the outer intersections, then two individual Roof Slope pieces (one commit per side) and two House Gable ends through the same GRID CELL ghost-click path. Gable plaster fills the roof WoodTrim bargeboard triangle. Chimney is staged dressing only (flipped so its moulded end is buried in the roof plane). Watch the 94.0 s page-head clip for the piece-by-piece assembly, or the 105.2 s proof film for the closing orbit.

placement proofall joints flush @ 0.00004 CORNER posts MOUNTED
Seam closure (numeric, #971): N/S/E/W deck interfaces and floor grade all close to 0.0000 on the real path; four CORNER posts MOUNTED at the intersections with generic yaw from adjoining walls — not per-corner hardcoded transforms. Preview == commit == restore. Former wireframe stills were unrecapturable foreign-workflow artifacts and are retired; the numeric verdicts above are the current evidence.
Corner note (#982, open): House Corner is back in the 3D catalog as a CORNER mount. Each of the four posts commits independently through preview → valid → commit at the wall-joint intersection (not the CELL centroid). Generic orientation from adjoining walls; preview == commit == restore. #971 seam closure on walls/doors/windows is unchanged (FLUSH 0.0000).

3. Why Grid Placement 6.0

2D + 3D in one plugin

Square, isometric and hex grids plus side-view and full 3D — the clips above are all the same system.

Layered terrain

Ground, fences, objects and buildings stack on separate layers instead of overwriting each other.

Modular pieces that snap

Walls, doors, windows, floors, corner posts, roof slopes and gable triangles align to grid slots — the house is 44 committed modules, zero manual nudging. (The chimney shown is staged dressing, not a placement commit.)

Save / load in the demo UI

Every 2D demo ships SAVE and LOAD front and center — persistence is part of the workflow, not an afterthought.

4. itch.io store set — sized, verified, cut at this source

Final-RC media: the whole set — the four 2D demo MP4s, posters, GIFs and shots, plus the 3D house film, posters, cover and house GIF/shot — is cut from real captures: three 2D films (guard --strict green at 11cdeb1f2), the top-down refix (guard --strict green at d1c6749) and the 3D house film v7 at 32f27923d (44 GRID commits: one rect-fill deck drag + CELL + CORNER + shutter overlays, per-slope roof + mirrored gables, per-beat camera, woodland clearing, fail-closed PROOF_GEOM gate). Download from this page and upload as-is.

Every file below is cut to itch.io's published specs (cover 315:250; 3–5 screenshots any size; animated GIFs accepted as screenshots; trailer via YouTube/Vimeo link — itch takes no direct video upload). Download from this page and upload as-is. Slot plan + byte counts: itch_media_inventory.md.

itch.io cover v6 — large door ghost with readable geometry docking in the timber doorway

Cover v6 — 630×500 PNG

Exact 315:250 ratio. One confident artwork: a large validated door ghost (thinned valid tint, arch/window/Z-brace readable) docking in the dark timber doorway, sunlit facade, UI/GridLines/knight/indicator quads hidden for the still only — slim title + secondary-slate value-prop lockup, no proof strip, no badge, no in-game UI. Built by media/itch/cover/build_covers.py --style v5 from the service-path still driver (godot/test/smoke/demo_3d_cover_still.gd --mode=hero, grid_placement_dev media/cover-v4-pass, deterministic byte-identical reproduction); every pixel is game footage. Upload this PNG as the cover. 2× master (888 KB) linked for reuse.

630×500347 KB315:250
Screenshot — live shutter-ghost placement on the timber house, UI hidden for the still

Screenshot 1 — house action

Live valid-ghost shutter placement on the timber house (neutral wash + green verdict strip, UI hidden for the still only) — an honest-input capture frame, 43/44 placed. The earlier v6 film frame stays in the proof set. PNG 950 KB · GIF 1.0 MB

Screenshot — top-down fence placement

Screenshot 2 — top-down

4×4 pen with the pillar parked beside it, selected row and placement log. PNG 341 KB · GIF 655 KB

Screenshot — hex terrain painting

Screenshot 3 — hex

Dirt and water brushed on the hex grid, beehive ghost tracking the cursor. PNG 349 KB · GIF 446 KB

Screenshot — isometric blacksmith placement

Screenshot 4 — isometric

Blacksmith on snow and grass with the build log confirming it. PNG 508 KB · GIF 904 KB

Screenshot — platformer wall building

Screenshot 5 — platformer

Walls and the box committed with adjacency rejects in the build log. PNG 151 KB · GIF 746 KB

Animated — top-down workflow

GIF — top-down workflow

Full 13.5 s flow at 12 fps, 640×360, loop-verified. Uploads directly as an itch screenshot.

640×36012 fps
Animated — isometric workflow

GIF — isometric workflow

Full 17.0 s flow including the failure workflow, 12 fps, 640×360, loop-verified. Uploads directly as an itch screenshot.

640×36012 fps
Animated — platformer workflow

GIF — platformer workflow

Full 12.8 s flow at 12 fps, 640×360, loop-verified — opens mid-action, no slow intro. Uploads directly as an itch screenshot.

640×36012 fps
Animated — hex workflow

GIF — hex workflow

Full 10.0 s flow at 12 fps, 640×360, loop-verified. Uploads directly as an itch screenshot.

640×36012 fps
Animated — house wall assembly excerpt

GIF — house wall assembly

7.7 s wall + door excerpt (assembly 46.2–53.9 s: red-blocked ghost → wall commit → door commit, stable camera, same-framing loop), 12 fps, 640×360. Uploads directly as an itch screenshot.

640×36012 fps
Trailer (video): itch.io takes no direct video upload — the Trailer field wants a YouTube/Vimeo URL. Upload media/demos/grid_placement_6_house_proof.mp4 (105.2 s, 11.0 MB, kit-house assembly end to end) there, then paste the link. The five demo MP4s (§1) work as unlisted YouTube clips linked from the description.

5. Technical verification / release evidence

Audit material for reviewers. Everything above is backed by the artifacts below — same source, revalidated on each deploy. Closed by default; open what you need.

Capture source
11cdeb1f2+d1c6749 / 32f27923d
2D films (top-down refix) / house film v7
2D checkpoints
44 / 0
supported pass / fail · 9 unsupported skips @ 11cdeb1f2
3D input verify
33 / 33
fail-closed checks + film 44/44
Migration
PASS
5.0.9 → 6.0, idempotent
Provenance — source, kit, pipeline
2D demo proof provenance + checkpoint detail
Media file inventory
media/demos/grid_placement_6_house_assembly.mp4  7.1 MB 94.0 s 2819 frames (hero: floors through roof slopes+gables+chimney, frames 92–2910, no orbit)
media/demos/grid_placement_6_house_proof.mp4  11.0 MB 105.2 s 3155 frames (3D placement interaction, UI visible, placed_total=44, rect-fill deck drag, woodland clearing, eased motion)
media/demos/grid_placement_6_top_down_proof.mp4  320 KB 16.5 s 494 frames (fence pen + pillar + demolish) @ d1c6749 (dark-deck resource display refix)
media/demos/grid_placement_6_isometric_proof.mp4  553 KB 17.0 s (blacksmith + failure workflow) @ 11cdeb1f2
media/demos/grid_placement_6_platformer_proof.mp4  179 KB 12.9 s (walls + box + adjacency rejects) @ 11cdeb1f2
media/demos/grid_placement_6_hex_proof.mp4  243 KB 10.0 s (hex paint + beehive) @ 11cdeb1f2
media/demos/*_poster.jpg  6 posters, each cut from its film (house_poster = v7 assembly t=93 (finished + chimney); assembly poster = v7 assembly t=47.2 (first walls, catalog live); 2D posters = current action stills)
media/itch/cover/cover_630x500.png  347 KB cover v6 (door ghost with readable geometry, slim slate lockup), master 888 KB
Grid Placement 6.0 media review — 2D films guard-strict green at 11cdeb1f2 with the top-down set refixed at d1c6749 (branch work/site-final line: idle-UI overhaul, real-click proof driver, dark-deck resource display). 3D house film v7 + house posters/GIF at 32f27923d (woodland clearing, neutral valid-ghost wash, eased motion). Issues #982/#971/#907/#973 stay open.