Files
XZBT/exhibits/visual-challenges/natural-abstraction.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

180 lines
3.7 KiB
Plaintext

{
"xzbt": "0.1",
"meta": {
"id": "natural-abstraction",
"name": "Natural meadow abstraction",
"version": "1.0.0",
"description": "PRD 130 challenge 14; generic visual primitives only."
},
"runtime": {
"seed": 4213
},
"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"
}
}
}
},
"seeds": {
"type": "particles",
"count": 70,
"capacity": 256,
"distribution": {
"type": "uniform",
"min": {
"x": 0,
"y": 0
},
"max": {
"x": 960,
"y": 540
}
},
"render": {
"type": "point",
"style": {
"fill": "#e8daa5",
"pointSize": 3
}
},
"velocity": {
"x": 12,
"y": -4
},
"behaviors": [
{
"type": "wrap",
"bounds": "scene"
},
{
"type": "noise-displace",
"amplitude": {
"x": 12,
"y": 24
},
"scale": 100,
"speed": 0.1
}
]
}
}
}
}