A. PIPELINE FIX: gen_props.py trellis_mac -> trellis2_mlx, contract read from its
manifest.json. The two operators are NOT drop-in on output — trellis2_mlx writes
BOTH candidate.glb (raw) and candidate_pbr.glb (baked), so the old
sorted(rglob('*.glb'))[0] would have silently shipped untextured meshes. Added
_pick_glb() (result.json first) + the bg_remove_local cutout stage, fail-soft.
MEASURED: median 128.0s vs trellis_mac's 245.4s p50 = 1.92x. 5/5 first attempt,
0 retries against the 4-5% budget. One 489s tail outlier, no error — named.
B. AUDIO (1.1) — six PACK entries, +0.86MB, ZERO draws/tris, all originalby
construction: dog-bark-fence, mower-distant, radio-through-window, sprinkler,
roller-door, magpie-carol. Seeded via crc32(name); beds fold seamlessly
(wrap-jump <=0.18x internal step). Verified by spectrogram + band-energy, and
one defect found by LOOKING: the sprinkler's spray masked its own ticks and read
as a hose — rebalanced and re-rendered. Distance is spent in the SPECTRUM, not
the level, because encode()'s loudnorm undoes a quiet render.
C. GROUNDS (1.2) — gen_skins.py had NO ground template; added one with its own
outdoor style prefix (the house STYLE says "warm fluorescent", an interior cue).
4 new 512^2 square tiles. Review's 5.7s is 9.7s here — same per-pixel, mine are
1.78x the pixels. Found: gravel/reddust are selected by nothing partly because
their `use` values name no slot ground.js:177 has.
D. MESHES — 3 shipped (magpie 894 tris, paling_fence 1121, water_tank 500), all
GLB-law clean. 2 FAILED and were DELETED: hills_hoist + tv_aerial. Thin wire
returns as thousands of disconnected fragments, so collapse floors at 250k/89k
AND a remesh coarse enough for 600 tris erases the pole. Lane B's boxMats
primitives cost +0 draws and are strictly better. The magpie's geometry passes
but TRELLIS crushed its white nape/wing to black — traced to the operator's bake
(the cutout and our decimation are both exonerated); flagged, not hidden.
E. REUSE — all 9 idle assets re-measured; the review's "one line each" holds for
only 5. furniture.js's extractGLB keeps only the FIRST material, so park_bench/
coffee_table/box_crate render in material #1 and bench_wood (0 materials) falls
to grey. Nothing was regenerated that already existed.
The 3 GLBs are staged, NOT published: a depot push is outward-facing and had no
in-session authorization. Held at _r38_results.PENDING_PUBLISH.json; publish +
rename + rebuild lands them. Gate green: validate_manifest 0 errors / 0 warnings.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
43 lines
3.2 KiB
JSON
43 lines
3.2 KiB
JSON
{
|
|
"_comment": "ROUND 38 (v8 WAVE 1) asset batch for pipeline/gen_props.py --batch. Two capability probes first (magpie_static, hills_hoist), then 1.4's backyard kit. Path: flux_local -> bg_remove_local -> trellis2_mlx (the R38 operator swap) -> normalize.py. $0, on-device, no cloud key. Every one of these is OPTIONAL at runtime: Lane B's boxMats primitives are the fallback and the review's own recommendation for the thin cases.",
|
|
"_probe": "hills-hoist is DELIBERATELY the hard case — thin wire/arm structures are the known TRELLIS failure class. A failure here is a decisive finding, not a defeat: the fallback is primitives, which boxMats wants anyway.",
|
|
"_r38_outcome": "5/5 generated first attempt, 0 retries, 0 OOM. trellis2_mlx median 128.0s (vs trellis_mac p50 245.4s = 1.92x), one 489s tail outlier. SHIPPED 3: magpie 894 tris (albedo flagged — TRELLIS crushed the white nape/wing to black; geometry good), paling_fence 1121 tris, water_tank 500 tris. FAILED 2 and DELETED from _normalized: hills-hoist and tv-aerial — thin structures return as thousands of disconnected fragments, so collapse floors at 250k/89k and a voxel remesh coarse enough for 600 tris erases the pole. Lane B uses primitives inside boxMats (+0 draws), which is strictly better. Full detail: AUDIT.md R38 §4.",
|
|
"assets": [
|
|
{
|
|
"name": "magpie",
|
|
"prompt": "a single Australian magpie bird standing on both feet, glossy black body and head, a broad white nape and white wing patches, a long straight pale blue-grey beak with a dark tip, wings folded against the body, side-on three-quarter pose, whole bird from beak to tail tip",
|
|
"height_m": 0.4,
|
|
"tris": 900,
|
|
"for": "1.3 the magpie (Lane B) — static mesh on a scripted parabola"
|
|
},
|
|
{
|
|
"name": "hills-hoist",
|
|
"prompt": "a rotary clothes hoist washing line, one galvanised steel centre pole on a small square concrete footing, four straight square arms spread horizontally at the top, thin parallel wire lines strung between the arms, nothing hanging on it",
|
|
"height_m": 2.0,
|
|
"tris": 600,
|
|
"for": "1.4 backyard Australia (Lane B, boxMats) — CAPABILITY PROBE, thin structure"
|
|
},
|
|
{
|
|
"name": "paling-fence-panel",
|
|
"prompt": "one straight section of Australian timber paling fence, about eight weathered grey vertical hardwood palings with small gaps, nailed to two horizontal rails behind them, flat panel seen straight on",
|
|
"height_m": 1.8,
|
|
"tris": 400,
|
|
"for": "1.4 backyard Australia — fence runs"
|
|
},
|
|
{
|
|
"name": "tv-aerial",
|
|
"prompt": "a rooftop television antenna, a horizontal aluminium boom carrying a row of thin straight cross elements of decreasing length and a small ladder reflector at the back, mounted on a short vertical mast",
|
|
"height_m": 1.2,
|
|
"tris": 400,
|
|
"for": "1.4 backyard Australia — roof aerials"
|
|
},
|
|
{
|
|
"name": "water-tank",
|
|
"prompt": "a round corrugated galvanised steel rainwater tank, a ribbed cylindrical wall with a shallow domed lid and a small outlet tap near the base, standing on the ground",
|
|
"height_m": 2.2,
|
|
"tris": 500,
|
|
"for": "1.4 backyard Australia — yard tanks"
|
|
}
|
|
]
|
|
}
|