RIG
Documentation.
Run the demonstration
Start with Gannet Rail. It is the same workbench the product uses, locked to a synthetic pack with a 24-part hoist latch and an 18-step procedure.
- The Red Flag clock starts when the desk opens in your tab. Pack captured shows the frozen pack's own time.
- Stay on Interactive. Step 01 names the power junction. Click it on the launcher or in the parts list. The desk advances to step 02.
- Step 03 moves to the latch assembly. Click any part to identify it: part number, figure and item, name, 3001 tag. Click a part the step does not name and the desk blocks in place and counts the miss.
- Drag the exploded-view slider. Turn on Item callouts to read the assembly like a parts plate. Ghost housing shows the pawl, spring, detent, and switch inside.
- Switch to Actuals or Both to see the rendered still for each step beside the live model. The still is a stand-in for SME capture and is labelled as such.
- Approve to stop the clock. The receipt records steps, picks, blocked picks, elapsed time, and the package hash. Export JSON or the 3001 XML stub.
Query parameters for scripted review: ?t0=<ISO> pins the clock, level=assembly, step=12, explode=1, labels=all, ghost=1, view=plate, mode=actuals|split|scan, phase=0.5&loop=0 freezes the step animation.
Package shapes
A package is one JSON document: sources, parts, steps, notes. Parts carry an illustrated-parts parent so the assembly is a tree. Steps name exactly one part and at least one source.
{
"id": "PAWL",
"nsn": "GN-6110-02",
"name": "Pawl",
"order": 8,
"ipbFigure": 12,
"ipbItem": 2,
"package": "3001-4",
"qty": 1,
"explode": [0.1, 0.22, 0],
"parent": "LATCH-HSG",
"spec": "17-4 PH, case hardened nose"
}{
"id": "S12",
"index": 12,
"title": "Extract the pawl pivot pin",
"action": "Drive the pin out toward the grease fitting. Catch the spring.",
"partId": "PAWL-PIN",
"package": "3001-4",
"sourceIds": ["SRC-VID-01", "SRC-IPB-01", "SRC-TM-01"]
}{
"id": "SRC-BIT-01",
"kind": "bit",
"label": "BIT isolate",
"detail": "HOIST-LK fail, PWR ok",
"bytes": "12 KB",
"captured": "13:56",
"sha256": "97b347b5a8f773c5…"
}Keyframe tracks are offsets from a part's rest transform in its parent frame. A track may name a child node (a junction cover, a quick pin) and an optional via point so a screw lifts before it moves aside. Earlier steps are folded into the pose before the current step eases in.
"S12": [{ "partId": "PAWL-PIN", "position": [0, 0, 0.3] }]
"S6": [{ "partId": "KEEPER-SCR-1", "via": [0, 0.2, 0],
"position": [-0.04, -0.242, 0.195],
"rotation": [3.1416, 25.1327, 0] }, …]Export formats
exportPackage(pack) returns canonical JSON, a MIL-STD-3001-shaped XML stub, and one SHA-256 over both. The stub has a general section with hashed sources, then work packages for Part 2 (principles of operation), Part 3 (testing and troubleshooting), and Part 4 (maintenance with the illustrated parts breakdown), with each step under the part its tag names. It is a stub shaped for a later repository ingest. It is not an AWIS interface.
<?xml version="1.0" encoding="UTF-8"?>
<techdata id="GANNET-RF-001" system="Gannet Rail" baseline="GN-R / B2 / SN 014" classification="UNCLASSIFIED — SYNTHETIC" capturedAt="2026-09-05T14:08:00-04:00" schema="MIL-STD-3001 stub">
<discrepancy>Canister hoist will not lock. Deck crew cannot complete a reload.</discrepancy>
<general workPackage="3001-1">
<title>General preparation of digital technical information</title>
<sources>
<source id="SRC-VID-01" kind="video" sha256="aa85153f636ef976c4ab0082bfd8f3a6009dbdb5ac85ec12f34d37304a1ae849" bytes="184 MB" captured="14:08">SME-04 latch capture</source>{
"steps": 18, "picks": 18, "blocked": 0, "advanced": 18,
"elapsedMs": 41230, "complete": true, "approved": true,
"hash": "<sha256 of the exported package>"
}Health contract
GET /api/rig/health returns the pack counts, the gate matrix, the export hash, the frozen controlled run, and every measured row with its pass flag. ok is true only when every row passes. The same rows render on Benchmarks.
{
"product": "RIG",
"ok": true,
"pack": { "id": "GANNET-RF-001", "parts": 30, "assembly_parts": 24, "steps": 18, "sources": 9 },
"gate": { "checks": 540, "advances": 18, "wrongAdvances": 0 },
"export_hash": "0e2ac809ab0130e7…",
"controlled_run": { "id": "…", "steps": 18, "picks": …, "blocked": …, "elapsed_seconds": … },
"checks": { "total": 11, "passed": 11, "rows": [ … ] }
}What the public geometry is
Original. The launcher and the hoist latch are built from open industrial hardware and hand-built parts. They are not an imported weapon model and not operational Navy CAD. A 3D scan of customer equipment is post-award.