Files
XZBT/exhibits/visual-challenges/deep-parallax-starfield.xzbt
T
LabyricornandClaude Opus 5 d5d7091289 feat(visual): add the slice 4g challenge fixtures and reference exhibits
Fourteen visual challenge fixtures and the first visuals for reference exhibits
A through D, all executing without a line of subject-specific renderer code —
which is the claim slice 4g exists to test. A subject the engine needs special
handling for is a subject the format cannot express.

The standalone CLI validator no longer disagrees with the production one. It
had been falling through to ERR_UNSUPPORTED_TARGET for every `visuals.*` binding
target, so legal exhibits — including the committed minimal-visual fixture —
failed the CLI while passing the runtime. The four section 8.1 visual target
families are now recognized in both, and a test runs the CLI validator across
every exhibit and challenge fixture so the two paths cannot drift apart again.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01ShxxFqFmCUDQnQvFNm4TKy
2026-09-06 21:53:38 +00:00

114 lines
2.1 KiB
Plaintext

{
"xzbt": "0.1",
"meta": {
"id": "deep-parallax-starfield",
"name": "Deep parallax starfield",
"version": "1.0.0",
"description": "PRD 130 challenge 1; generic visual primitives only."
},
"runtime": {
"seed": 4200
},
"visuals": {
"scene": {
"coordinateSpace": "virtual",
"width": 960,
"height": 540,
"background": "#101d25"
},
"layers": {
"far": {
"parallax": 0.2
},
"near": {
"parallax": 1
}
},
"camera": {
"projection": "perspective",
"focalLength": 1000
},
"automation": [
{
"target": "camera.x",
"loop": {
"mode": "ping-pong"
},
"interpolation": "smooth",
"points": [
{
"at": "0ms",
"value": 400
},
{
"at": "12s",
"value": 570
}
]
}
],
"systems": {
"far": {
"type": "particles",
"count": 250,
"capacity": 256,
"distribution": {
"type": "uniform",
"min": {
"x": 0,
"y": 0
},
"max": {
"x": 960,
"y": 540
}
},
"render": {
"type": "point",
"style": {
"fill": "#8c9ebf",
"pointSize": 2
}
},
"layer": "far",
"z": {
"random": {
"min": 300,
"max": 1200
}
}
},
"near": {
"type": "particles",
"count": 90,
"capacity": 256,
"distribution": {
"type": "uniform",
"min": {
"x": 0,
"y": 0
},
"max": {
"x": 960,
"y": 540
}
},
"render": {
"type": "point",
"style": {
"fill": "#ecdfc1",
"pointSize": 3
}
},
"layer": "near",
"z": {
"random": {
"min": 0,
"max": 200
}
}
}
}
}
}