Commit Graph

4 Commits

Author SHA1 Message Date
m3ultra
9ef0941ac4 factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned
hex_to_rgba put sRGB fractions straight into Blender's LINEAR Base Color
socket, so baseColorFactor shipped linear-encoded-as-sRGB and three's
linear->sRGB display step made every surface one gamma step too light
and desaturated, on every asset, since Sprint 1. Measured: leaf_gum
#7C8F5E displayed #B9C5A3, bark_gum #BFB8A8 displayed #E0DDD4 (the
near-white gum trunk THREADS blamed on Blender's view transform).

Fixed at source with the exact IEC curve (alpha untouched — coverage,
not colour) and the whole factory rebuilt: ALL ASSETS PASS. e.test now
pins mat.color.getHexString(SRGBColorSpace) against the authored PAL hex
— factory intent vs what the runtime draws, the one comparison neither
end can fake. Mutation-checked red-then-green against the pre-fix GLB.
523/0/0, verified by eye in the running game before and after.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:26:26 +10:00
type-two
e46ff18648 Lane E S15 gate 1.2: re-bake sail_post top_anchor 0.90 -> 1.00 per the gate 1.1 ruling; factory emits the per-type anchor ratings manifest (anchor_ratings.gen.js) from the re-imported GLBs, ambiguity-aware, --only-guarded; asset_report carries per-asset anchor extras
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 17:49:38 +10:00
m3ultra
0f5f4d8368 Make rake_pivot a real pivot; log Sprint 2 in THREADS
rake_pivot shipped as a childless empty, so rotating it moved nothing — and
rotating the whole GLB instead, which is the only alternative, tips the concrete
footing out of the ground along with the post. DESIGN.md makes raking away from
the load a player decision, so the handle has to actually work.

It now holds post + pad_eye + top_anchor, with footing left on the root: rake it
8° and the post leans while the concrete stays planted. Asserted both directions
in e.test.js — the head must travel over 0.3 m and the footing under 0.01.

Same class as the canopy bug, found the same way: by driving the handle in a
test instead of eyeballing the model. Exported dims unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 00:56:15 +10:00
m3ultra
3815055678 Add generated yard, hardware and debris GLBs
16 generated assets plus the grass billboard atlas and the four debris models
copied verbatim from the 3D-STORE library (copies rule, §0). All meter-scale,
Y-up, and far under the 15k tri budget — garden_bed is heaviest at 2,580.

Regeneration is byte-deterministic: two consecutive runs produce identical
files, so re-running the factory causes no churn.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 21:39:52 +10:00