No description
Generate 1x2/2x1 dominoes, 2x2 (square + 4 L-trominoes) and all
connected 3x2/2x3 polyominoes as R/G/B channel masks, reusing the
distance-based concentric-ring format that reproduces box_r/g/b
exactly. Outer silhouette keeps a 1px margin; connected cells stay
seamless. Each shape ships a {class="moveable"} .meta so getAllAssets
auto-registers it as a GenericMoveable.
Wire the occupied-cell shape (precomputed once by getAllAssets via
getCellsFromSprite) through to entities: createEntity now passes the
cached cells as cellShape, so an L/U/notched block collides on its real
cells and its gaps read as empty space. Fix the per-colour cache that
was reset every channel so only one colour survived.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
||
|---|---|---|
| art | ||
| docs | ||
| font | ||
| level_editor | ||
| libs | ||
| rooms | ||
| sounds | ||
| stories | ||
| tools | ||
| .gitignore | ||
| _debug_helpers.lua | ||
| _helpers.lua | ||
| art.lua | ||
| artifact.lua | ||
| assorted.lua | ||
| CLAUDE.md | ||
| color.lua | ||
| conf.lua | ||
| dialogable.lua | ||
| dialogue_manager.lua | ||
| door.lua | ||
| entity.lua | ||
| generic_moveable.lua | ||
| generic_unmoveable.lua | ||
| input.lua | ||
| main.lua | ||
| npc.lua | ||
| player.lua | ||
| room.lua | ||
| shaders.lua | ||
| switch.lua | ||
| TODO | ||
| world.lua | ||
| world_seed.lua | ||