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
176 lines
3.6 KiB
Plaintext
176 lines
3.6 KiB
Plaintext
{
|
|
"xzbt": "0.1",
|
|
"meta": {
|
|
"id": "exhibit-c",
|
|
"name": "Exhibit C — Natural Environment",
|
|
"version": "0.1.0",
|
|
"description": "First visual composition; full reference exhibit acceptance remains Phase 9."
|
|
},
|
|
"runtime": {
|
|
"seed": 42
|
|
},
|
|
"visuals": {
|
|
"scene": {
|
|
"coordinateSpace": "virtual",
|
|
"width": 960,
|
|
"height": 540,
|
|
"background": "#101d25"
|
|
},
|
|
"systems": {
|
|
"landscape": {
|
|
"type": "graphic",
|
|
"content": {
|
|
"sky": {
|
|
"type": "rectangle",
|
|
"size": {
|
|
"width": 960,
|
|
"height": 540
|
|
},
|
|
"style": {
|
|
"fill": {
|
|
"type": "linear-gradient",
|
|
"from": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"to": {
|
|
"x": 0,
|
|
"y": 540
|
|
},
|
|
"stops": [
|
|
{
|
|
"offset": 0,
|
|
"color": "#aabcb8"
|
|
},
|
|
{
|
|
"offset": 1,
|
|
"color": "#eddcb0"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"sun": {
|
|
"type": "ellipse",
|
|
"position": {
|
|
"x": 735,
|
|
"y": 120
|
|
},
|
|
"radius": 48,
|
|
"style": {
|
|
"fill": "#fff1c6"
|
|
}
|
|
},
|
|
"far": {
|
|
"type": "polygon",
|
|
"points": [
|
|
{
|
|
"x": 0,
|
|
"y": 390
|
|
},
|
|
{
|
|
"x": 220,
|
|
"y": 150
|
|
},
|
|
{
|
|
"x": 470,
|
|
"y": 340
|
|
},
|
|
{
|
|
"x": 660,
|
|
"y": 200
|
|
},
|
|
{
|
|
"x": 960,
|
|
"y": 410
|
|
},
|
|
{
|
|
"x": 960,
|
|
"y": 540
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 540
|
|
}
|
|
],
|
|
"style": {
|
|
"fill": "#667e72"
|
|
}
|
|
},
|
|
"near": {
|
|
"type": "spline",
|
|
"closed": true,
|
|
"points": [
|
|
{
|
|
"x": 0,
|
|
"y": 450
|
|
},
|
|
{
|
|
"x": 250,
|
|
"y": 320
|
|
},
|
|
{
|
|
"x": 580,
|
|
"y": 480
|
|
},
|
|
{
|
|
"x": 960,
|
|
"y": 380
|
|
},
|
|
{
|
|
"x": 960,
|
|
"y": 600
|
|
},
|
|
{
|
|
"x": 0,
|
|
"y": 600
|
|
}
|
|
],
|
|
"style": {
|
|
"fill": "#314c41"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"rain": {
|
|
"type": "particles",
|
|
"count": 240,
|
|
"capacity": 256,
|
|
"distribution": {
|
|
"type": "uniform",
|
|
"min": {
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"max": {
|
|
"x": 960,
|
|
"y": 540
|
|
}
|
|
},
|
|
"render": {
|
|
"type": "line",
|
|
"to": {
|
|
"x": -3,
|
|
"y": 15
|
|
},
|
|
"style": {
|
|
"stroke": "#90acba",
|
|
"strokeWidth": 1,
|
|
"opacity": 0.6
|
|
}
|
|
},
|
|
"velocity": {
|
|
"x": -35,
|
|
"y": 220
|
|
},
|
|
"behaviors": [
|
|
{
|
|
"type": "wrap",
|
|
"bounds": "scene"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|