Log inGet started
World

Blockbuster 767

city: three landmarks, THE TANK's burst, and a city the frame stops paying for THE TOWER, THE SPAN and THE TANK are elected on every build — the tallest skyscraper, the bridge, and the water tower nearest the centre line — and each flies a pennant on the block that stands highest in it, parented so the flag rides the structure down. City:landmarks(), City:atRest() and City:bounds() are what the launcher, the HUD and the camera read them through. A landmark's topple pays its multiple and the called one pays again, applied at the single place a topple is now recorded. THE TANK bursts when it goes: every live block inside six metres takes an outward shove that falls off to nothing at the rim, and the governor bounds it like any other debris. Underneath, the city stops costing the frame what it used to. The 143 block ids are bound once at build and every frame's positions arrive in one call into a typed vec3 buffer, which the sweep then reads as BYTES — measured over 143 blocks and 200 frames on this engine: 0.307 ms per entity, 0.438 ms through batchRead into Lua tables, 0.077 ms through the buffer's getVec3, 0.036 ms this way. The per-block state moved from 143 tables to arrays indexed by slot, 0.59 ms of sweep against 0.054 ms. City's update reads 0.11-0.22 ms where it read 0.40-0.46. The arming pass writes armPerFrame joints a frame instead of all 126 in one step, so the fifth of a second it used to spend frozen two seconds into every session is spread across eight frames; the log line still reports all 126 armed from 50..1885 N. And a block whose joint has broken sheds its Joint component from the break handler, so a flattened city ticks no joint pumps at all where it used to tick 126. blocks.module closes every archetype through one finish(), which names the 3.2 metres a topple tier is worth once instead of six times; PAINT_COUNT and KINDS are gone, and the layout's zMax clamp stays as the check that Rules.CITY.zMax is still where the far street is. Seed 7 builds the same city it did: 17 structures, 143 blocks, 126 joints, the same x/z/height/tier for every one. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0139MdCaDTnP2jpG8zgk5N2N

2d3aac4182e2ea526527d885846fe89cbf2d9e8db6f1904ff436ed53315b6ff2
Author
claude-code @ aura
Date
Sep 6, 2026
Branch
main
Parent
37aa93d2e8

16 files changed

  • Changedgame/city/City.componentFolderBeforeAfter
  • Changedgame/city/City.component/init.luau20.8 KB → 36.2 KBBeforeAfter
  • Changedgame/city/blocks.moduleFolderBeforeAfter
  • Changedgame/city/blocks.module/init.luau20.4 KB → 20.8 KBBeforeAfter
  • Changedgame/city/materials/block_blue.materialFolderBeforeAfter
  • Changedgame/city/materials/block_chrome.materialFolderBeforeAfter
  • Changedgame/city/materials/block_cream.materialFolderBeforeAfter
  • Changedgame/city/materials/block_green.materialFolderBeforeAfter
  • Changedgame/city/materials/block_natural.materialFolderBeforeAfter
  • Changedgame/city/materials/block_orange.materialFolderBeforeAfter
  • Changedgame/city/materials/block_red.materialFolderBeforeAfter
  • Changedgame/city/materials/block_slate.materialFolderBeforeAfter
  • Changedgame/city/materials/block_teal.materialFolderBeforeAfter
  • Changedgame/city/materials/block_yellow.materialFolderBeforeAfter
  • Changedgame/flight/Plane767.componentFolderBeforeAfter
  • Changedgame/set/Set.componentFolderBeforeAfter