HardYards/web/world/models
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
..
debris factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +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 factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
broom_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
carabiner_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
carport_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
carport_01_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
fence_panel_snapped_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
fence_panel_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
fence_post_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
garden_bed_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
garden_gnome_01_broken_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
garden_gnome_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
gate_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
glasshouse_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
glasshouse_01_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
hail_stone_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
house_yardside_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
house_yardside_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
ladder_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
MODELS.md Lane D: player rig assets — ped copy + anim-only clip pack 2026-07-16 21:27:04 +10:00
pergola_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
pergola_01_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +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
pool_kit_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
ref_capsule_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
sail_post_corroded_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
sail_post_corroded_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
sail_post_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
shackle_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
shed_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
shed_table_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
swing_set_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
swing_set_01_wrecked_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
tree_gum_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
tree_gum_02_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
tree_jacaranda_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
turnbuckle_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00
washing_line_01_v1.glb factory: palette hexes reach the screen — sRGB->linear in hex_to_rgba, pinned 2026-07-28 21:26:26 +10:00