Files
XZBT/exhibits/visual-challenges/audio-reactive.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

92 lines
1.8 KiB
Plaintext

{
"xzbt": "0.1",
"meta": {
"id": "audio-reactive",
"name": "Audio-reactive visualization",
"version": "1.0.0",
"description": "PRD 130 challenge 12; generic visual primitives only."
},
"runtime": {
"seed": 4211
},
"visuals": {
"scene": {
"coordinateSpace": "virtual",
"width": 960,
"height": 540,
"background": "#101d25"
},
"layers": {
"field": {}
},
"systems": {
"network": {
"type": "particles",
"count": 65,
"capacity": 96,
"distribution": {
"type": "rectangle",
"center": {
"x": 480,
"y": 270
},
"size": {
"width": 800,
"height": 410
}
},
"render": {
"type": "point",
"style": {
"fill": "#d8e9f5",
"pointSize": 4
}
},
"links": {
"rule": "nearest",
"count": 3,
"maxDistance": 180,
"maxLinks": 160,
"fadeWithDistance": true,
"style": {
"stroke": "#6899b7",
"strokeWidth": 1
}
},
"behaviors": [
{
"type": "noise-displace",
"amplitude": {
"x": 25,
"y": 25
},
"scale": 120,
"speed": 0.1
}
],
"layer": "field"
}
},
"effects": [
{
"type": "bloom",
"intensity": 0.4
}
]
},
"bindings": [
{
"source": "signals.audio.energy",
"target": "visuals.layers.field.opacity",
"scale": 0.8,
"offset": 0.2
},
{
"source": "signals.audio.low",
"target": "visuals.camera.zoom",
"scale": 0.25,
"offset": 1
}
]
}