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
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"xzbt": "0.1",
|
||||
"meta": {
|
||||
"id": "instrument-display",
|
||||
"name": "Instrument and radar display",
|
||||
"version": "1.0.0",
|
||||
"description": "PRD 130 challenge 7; generic visual primitives only."
|
||||
},
|
||||
"runtime": {
|
||||
"seed": 4206
|
||||
},
|
||||
"visuals": {
|
||||
"scene": {
|
||||
"coordinateSpace": "virtual",
|
||||
"width": 960,
|
||||
"height": 540,
|
||||
"background": "#101d25"
|
||||
},
|
||||
"systems": {
|
||||
"rings": {
|
||||
"type": "graphic",
|
||||
"content": {
|
||||
"a": {
|
||||
"type": "ring",
|
||||
"position": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"radius": 70,
|
||||
"innerRadius": 68,
|
||||
"style": {
|
||||
"fill": "#72c4bd"
|
||||
}
|
||||
},
|
||||
"b": {
|
||||
"type": "ring",
|
||||
"position": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"radius": 130,
|
||||
"innerRadius": 128,
|
||||
"style": {
|
||||
"fill": "#72c4bd"
|
||||
}
|
||||
},
|
||||
"c": {
|
||||
"type": "ring",
|
||||
"position": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"radius": 190,
|
||||
"innerRadius": 188,
|
||||
"style": {
|
||||
"fill": "#72c4bd"
|
||||
}
|
||||
},
|
||||
"label": {
|
||||
"type": "text",
|
||||
"text": "FIELD / 04",
|
||||
"position": {
|
||||
"x": 35,
|
||||
"y": 45
|
||||
},
|
||||
"size": 18,
|
||||
"style": {
|
||||
"fill": "#a7d3c4"
|
||||
}
|
||||
},
|
||||
"sweep": {
|
||||
"type": "group",
|
||||
"position": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"behaviors": [
|
||||
{
|
||||
"type": "rotate",
|
||||
"speed": 40
|
||||
}
|
||||
],
|
||||
"children": {
|
||||
"ray": {
|
||||
"type": "line",
|
||||
"to": {
|
||||
"x": 188,
|
||||
"y": 0
|
||||
},
|
||||
"style": {
|
||||
"stroke": "#ddf6a0",
|
||||
"strokeWidth": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ticks": {
|
||||
"type": "repeater",
|
||||
"count": 48,
|
||||
"distribution": {
|
||||
"type": "ring",
|
||||
"center": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"radius": 210,
|
||||
"innerRadius": 209,
|
||||
"mode": "even"
|
||||
},
|
||||
"repeat": {
|
||||
"type": "point",
|
||||
"style": {
|
||||
"fill": "#789f95",
|
||||
"pointSize": 3
|
||||
}
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"type": "particles",
|
||||
"count": 18,
|
||||
"capacity": 32,
|
||||
"distribution": {
|
||||
"type": "ellipse",
|
||||
"center": {
|
||||
"x": 480,
|
||||
"y": 270
|
||||
},
|
||||
"radius": 170
|
||||
},
|
||||
"render": {
|
||||
"type": "point",
|
||||
"style": {
|
||||
"fill": "#d8e6a7",
|
||||
"pointSize": 5
|
||||
}
|
||||
},
|
||||
"behaviors": [
|
||||
{
|
||||
"type": "twinkle",
|
||||
"min": 0.2,
|
||||
"max": 1,
|
||||
"rate": 0.6
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user