HardYards/web/world/models
type-two b9b64604b3 Palette audit + two temptation props: honest extras, in the factory
SPRINT14 gate 3.1. The editor is about to offer these GLBs to an author by
name, which turns every silent field in them into a trap for whoever places
one. Audited the placeable set, fixed the gaps in the factory (nothing
hand-edited), and added the two props D needs to author a yard worth playing.

THE AUDIT, and what it found:

- Four `*_anchor` nodes carried no rating_hint at all — door_anchor,
  pickup_anchor, grip_anchor, window_light_anchor. adoptAnchor does
  `rating_hint ?? 1`, so silence there does not mean "unrated", it means
  RATED PERFECT: a shed door skin outranking a concreted post, conjured out
  of a missing field. They now deny it explicitly (`tie_off: false`).
- The carport's price resolved only by coincidence: collateralFor() matches a
  STRUCTURE whose site id equals the anchors' collateral string, and site_02
  happens to name its structure "carport". The editor will generate
  "carport_2" for the second one, and the trap would have gone free — the
  gutter bug reborn in the sprint meant to bury it. The GLB now carries
  `collateral_key`, like the house does for "gutter". Lane A: the runtime
  half is yours (collateralFor could fall back to it).
- The trampoline is unpriced, and now says so rather than omitting it.

Three new rules make the audit permanent, and each is proven able to fail:
no silent anchors, no collateral string nobody prices, no baked anchor_type
outside the checked ANCHOR_TYPE enum. Rule 2 found the carport gap on its
first run — an unfaked negative control.

THE PROPS:

- swing_set_01 (+ wrecked) — the palette's honest middle. It had a ceiling
  (gum fork 1.0) and a trap (carport beam 0.22) and nothing in between. Two
  apex anchors at 0.45, typed `swing_frame` (NOT `post`: the type string is
  what the player reads before committing, and "post" promises concrete),
  and a crossbar that is the most anchor-looking object in the game and is
  not one. Priced at $140 — proposal, reasoning baked beside it, A rules the
  number: gnome 25 < gutter 90 < swing 140 < carport 180.
- tree_jacaranda_01 — a second species whose LADDER is the feature.
  Gum: 1.00/0.88/0.76, climb freely, pay 24%.
  Jacaranda: 0.95/0.52/0.40, climb at all, pay 58%.
  That makes tree choice a real decision instead of "is there a tree".
  Unpriced by ruling, same as the bike: no limb-failure event exists to see.

Both wreck/orientation claims are measured in browser coords, not reasoned —
`wreck_falls_toward: "+Z"` is baked AND asserted against the mesh.

Selftest 376/0/0. Two consecutive full factory runs: 44 files byte-identical.
2026-07-18 16:01:27 +10:00
..
debris Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
textures Add carport_01 for site_02, and the pyrrhic end card 2026-07-17 14:29:08 +10:00
bike_kid_01_v1.glb Lane E, Sprint 11: client juice — job sheet, invoice, and the kid's bike 2026-07-17 17:39:58 +10:00
broom_01_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
carabiner_v1.glb Bake joined-node rotations so bounding boxes are tight 2026-07-16 21:43:06 +10:00
carport_01_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
carport_01_wrecked_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
fence_panel_snapped_v1.glb Add the pond visual, the broom, and rename the snapped panel 2026-07-17 02:27:55 +10:00
fence_panel_v1.glb Add generated yard, hardware and debris GLBs 2026-07-16 21:39:52 +10:00
fence_post_v1.glb Add generated yard, hardware and debris GLBs 2026-07-16 21:39:52 +10:00
garden_bed_v1.glb Add night dressing and end cards; fix the hide_render bug 2026-07-17 09:28:26 +10:00
garden_gnome_01_broken_v1.glb Add aftermath wreckage props and verify glTF extras survive 2026-07-17 01:24:19 +10:00
garden_gnome_01_v1.glb Add sail cloth textures and the storm dressing set 2026-07-17 00:51:51 +10:00
gate_v1.glb Bake joined-node rotations so bounding boxes are tight 2026-07-16 21:43:06 +10:00
hail_stone_01_v1.glb Add hail juice, plant shred, and a way to screenshot the game 2026-07-17 03:03:54 +10:00
house_yardside_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
house_yardside_wrecked_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
ladder_01_v1.glb Add generated yard, hardware and debris GLBs 2026-07-16 21:39:52 +10:00
MODELS.md Lane D: player rig assets — ped copy + anim-only clip pack 2026-07-16 21:27:04 +10:00
player_01.glb Lane D: player rig assets — ped copy + anim-only clip pack 2026-07-16 21:27:04 +10:00
player_anims.glb Bake M3 animation pack: 11 new Mixamo clips into player_anims.glb 2026-07-16 23:06:40 +10:00
ref_capsule_v1.glb Add generated yard, hardware and debris GLBs 2026-07-16 21:39:52 +10:00
sail_post_v1.glb Make rake_pivot a real pivot; log Sprint 2 in THREADS 2026-07-17 00:56:15 +10:00
shackle_v1.glb Bake joined-node rotations so bounding boxes are tight 2026-07-16 21:43:06 +10:00
shed_01_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
shed_table_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
swing_set_01_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
swing_set_01_wrecked_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
tree_gum_01_v1.glb Sweep and taper the tree limbs; pin the anchors that ride them 2026-07-17 11:25:03 +10:00
tree_gum_02_v1.glb Sweep and taper the tree limbs; pin the anchors that ride them 2026-07-17 11:25:03 +10:00
tree_jacaranda_01_v1.glb Palette audit + two temptation props: honest extras, in the factory 2026-07-18 16:01:27 +10:00
turnbuckle_v1.glb Add generated yard, hardware and debris GLBs 2026-07-16 21:39:52 +10:00
washing_line_01_v1.glb Add sail cloth textures and the storm dressing set 2026-07-17 00:51:51 +10:00