Files
2026-06-26 13:58:39 +10:00

104 lines
3.0 KiB
JSON

{
"_note": "Newbury exhibit scene definition. All coordinates in MILLIMETRES, world origin at one corner of the baseplate. X runs along the 1500mm length, Z along the 700mm depth, Y is height above the table surface. This maps 1:1 to the physical build so measured tape values drop straight in.",
"world": {
"units": "mm",
"buildSize": { "x": 1500, "y": 600, "z": 700 },
"origin": "front-left corner of baseplate, table surface = Y0",
"upAxis": "Y"
},
"anchors": [
{
"id": "anchor-nw",
"label": "North-West Ward",
"fiducialType": "apriltag",
"fiducialId": 0,
"fiducialSizeMm": 40,
"position": { "x": 120, "y": 30, "z": 120 },
"rotationDeg": { "x": 0, "y": 0, "z": 0 },
"note": "Measure precisely once installed; these are placeholders."
},
{
"id": "anchor-ne",
"label": "North-East Ward",
"fiducialType": "apriltag",
"fiducialId": 1,
"fiducialSizeMm": 40,
"position": { "x": 1380, "y": 30, "z": 120 },
"rotationDeg": { "x": 0, "y": 0, "z": 0 },
"note": "Placeholder."
},
{
"id": "anchor-mid",
"label": "Town Square Ward",
"fiducialType": "apriltag",
"fiducialId": 2,
"fiducialSizeMm": 40,
"position": { "x": 750, "y": 30, "z": 350 },
"rotationDeg": { "x": 0, "y": 0, "z": 0 },
"note": "Placeholder, mid-span for overlap coverage."
},
{
"id": "anchor-sw",
"label": "South-West Ward",
"fiducialType": "apriltag",
"fiducialId": 3,
"fiducialSizeMm": 40,
"position": { "x": 120, "y": 30, "z": 580 },
"rotationDeg": { "x": 0, "y": 0, "z": 0 },
"note": "Placeholder."
},
{
"id": "anchor-se",
"label": "South-East Ward",
"fiducialType": "apriltag",
"fiducialId": 4,
"fiducialSizeMm": 40,
"position": { "x": 1380, "y": 30, "z": 580 },
"rotationDeg": { "x": 0, "y": 0, "z": 0 },
"note": "Placeholder."
}
],
"spawns": [
{
"id": "spawn-graveyard",
"ghostId": "lil-bo-pumpkins",
"label": "Graveyard hover",
"motion": "hover",
"position": { "x": 300, "y": 180, "z": 250 },
"hoverRadiusMm": 60,
"hoverPeriodS": 6,
"bobAmplitudeMm": 40,
"bobPeriodS": 3,
"yawDegPerS": 12
},
{
"id": "spawn-square-patrol",
"ghostId": "tragico",
"label": "Town square patrol",
"motion": "patrol",
"path": [
{ "x": 600, "y": 200, "z": 350 },
{ "x": 900, "y": 240, "z": 350 },
{ "x": 900, "y": 200, "z": 450 },
{ "x": 600, "y": 240, "z": 450 }
],
"patrolPeriodS": 16,
"bobAmplitudeMm": 25,
"bobPeriodS": 2.5,
"faceTravel": true
},
{
"id": "spawn-highschool",
"ghostId": "samuel-mason",
"label": "High school boss anchor",
"motion": "hover",
"position": { "x": 1200, "y": 220, "z": 300 },
"hoverRadiusMm": 40,
"hoverPeriodS": 8,
"bobAmplitudeMm": 50,
"bobPeriodS": 3.5,
"yawDegPerS": -8
}
]
}