data.ztex
Versions
Every version of this package its world published, newest first by when it first appeared. A version published again later keeps its place.
city: six block archetypes, joints sized from the load they carry, and the score for knocking them down The skyline is a plan before it is bodies. game.city.blocks lays out six archetypes - a tapering skyscraper, a banded office slab, a water tower on four legs, a thin antenna mast, a three-span bridge and a gate with a lintel - across four streets from a seed, and hands back block specs and joint edges. It spawns nothing and reads no entity, so a layout can be counted and validated without a simulation. Sites are shares of the table's own half-width, and the far street keeps clear of the table edge so a toppled block has somewhere to fall. Every structure is a TREE of fixed joints in which each block holds at most one. An entity carries one Joint component and a second silently replaces the first, so that rule is what makes Physics.jointReaction(blockId) answer for a known joint - which is what lets the thresholds be measured. Blocks.validate checks it and the component refuses to build a structure that fails. Joints are created with no threshold. The city then stands on its own until every few blocks read below Rules.PHYS.settleSpeed, the resting load is sampled over 15 frames, and each joint is armed at breakForce = measured force x Rules.PHYS.jointBreakMargin breakTorque = measured torque x Rules.PHYS.jointBreakMargin floored so a joint under nothing is not released by its own settling. Nothing is guessed. Sizing the ANGULAR threshold from the measured torque rather than from the linear one is what stopped the bridge and the gate collapsing on their own: a cantilevered deck rests under 180 Nm of angular reaction and almost no force, so a threshold derived from the force alone released on the first step. Home is re-read at arming, so settling is never scored as damage, and a structure that failed to stand up is reported instead of counted as the player's work. Every frame a block that moved is clamped to Rules.PHYS.debrisMaxSpeed and debrisMaxSpin - the governor that stands in for CCD, which is off on every body here - and scored: displaced by mass, off the table, and a structure past toppleFraction going through Game.recordTopple for the chain. A block reaching the playroom floor is despawned a couple per frame so a wave of debris does not rebuild the solver's islands at once. Painted wood: ten materials over one generated grain texture, each structure turned off the grid and each free-standing stack given a per-block twist, so a tower reads hand-stacked. A block's yaw is why the joint anchors are rotated into each body's own frame before they are handed over. Verified in play at 1080x1440: 17 structures, 143 blocks, 126 joints, all standing and nothing displaced after a rebuild. A boosted launch down the middle lane toppled 8 towers with the chain reaching 8 and the multiplier 4.5, for 35220. A repeatable 40 kg strike topples 2-4 and the census reads back the standing count the capture shows. The antenna mast clipped at 12.6 m keeps blocks 1-8 within 0.02 m of where they were built and loses only the top four; the same mass into a skyscraper's base shoves its bottom four storeys 4.8 m along the table still stacked at their own heights. Physics step median 0.16 ms across every run, 0.53 ms peak over a full collapse on a quiet engine, ccdMs 0 throughout, and no loose body above the debris clamp once everything rests.
01M1SFEZ63NAB1FBWQZCEJT2S961d1de18e8Browse filesCompare from here