Skip to content

fix: render runtime world state (exit door, traps, dynamic solids) - #155

Merged
sv-tmueller merged 2 commits into
mainfrom
fix/154-render-runtime-world
Aug 16, 2026
Merged

fix: render runtime world state (exit door, traps, dynamic solids)#155
sv-tmueller merged 2 commits into
mainfrom
fix/154-render-runtime-world

Conversation

@sv-tmueller

Copy link
Copy Markdown
Owner

Closes #154

Introduces RenderWorld interface bundling runtime world state (tiles,
exit, hazards, dynamic solids) and threads it through the render pipeline
so the renderer sees trap/mechanic modifications instead of static
LevelData.

- CP1: Define RenderWorld in model.ts (cols, rows, tiles, exit, hazards,
  dynamicSolids)
- CP2: Refactor buildTileLayer to accept RenderWorld; render exit door
  (exit.door), hazards (hazard.spikes), dynamic solid fill-rects; remove
  Tile.Hazard branch (physics grid has no Hazard entries)
- CP3: Update buildRenderModel to accept RenderWorld
- CP4: Update RenderContext + renderFrame to use RenderWorld
- CP5: renderGame builds RenderWorld from scene.runtime.world +
  mechanicsRuntime.publishedSolids/Hazards
- CP6: Update model.test.ts and renderer.test.ts with makeWorld helper
  and new tests for exit door, hazards, dynamic solids, culling
- CP7: All checks pass (test, lint, typecheck, build)

Closes #154
@vercel

vercel Bot commented Aug 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pitfall Ready Ready Preview Aug 16, 2026 8:38pm

@sv-tmueller
sv-tmueller marked this pull request as ready for review August 16, 2026 20:31
Math.ceil dropped partially-visible hazard cells at the left/top
viewport edge, causing moving hazards to flicker when crossing the
screen boundary. Changed to Math.floor so partially-visible cells
remain drawn.

Found by tester on PR #155.
@sv-tmueller
sv-tmueller merged commit ae2c9d4 into main Aug 16, 2026
6 checks passed
@sv-tmueller
sv-tmueller deleted the fix/154-render-runtime-world branch August 16, 2026 20:39
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.

fix(render): exit door, trap visuals, and dynamic solids not rendered

1 participant