# Hall Furniture V5 The runtime remains MASM32 assembly. Python only packs art and verifies native framebuffer captures offline; no Python dependency is shipped with the game. ## Corrections - Card, roulette and backroom tables use their own tightly bounded ANM1 packs, rather than equal atlas-grid cells containing pieces of adjacent dancers. - Slot cabinets also use isolated complete frames, including the upper housing. - Skill checks use a dedicated tall cabinet with a timing dial, hook, button pedestal and floor base. Its world height is independent of table height. - Table dimensions now cover the full table and its legs, not transparent sheet margins. Dedicated assets retain a zero-height floor anchor. - Twelve decor objects form three seating groups and three rope boundaries. They have collision footprints and stay clear of the existing patron route, bar serving side, stairs and game approaches. - Missing dedicated art is not replaced with the old contaminated atlas frame. Existing station interaction IDs, game rules and saved data are unchanged. ## Assets New art: `assets/sprites/hall/furniture-v5.png`. Built-in image_gen prompt: `assets/sprites/hall/prompts-v5.json`. Existing source art: `assets/sprites/casino-atlas-v1.png`. Packed runtime assets: `assets/animations/hall/*-v5.bin`. Packing: `tools/generators/pack_hall_furniture.py`. ## Verification `tools/tests/hall_furniture_test.inc` validates station binding, cabinet dimensions, floor anchors, collision, map occupancy and the main passage. It captures the actual MASM renderer at table, skill cabinet and lounge views. The full native action suite also checks visitor routes and old scene/game rules. `tools/tests/check_hall_furniture.py --parity` validates alpha/bounds, captures and COFF function parity between the tested and published assembly builds.