{
  "schemaVersion": 1,
  "version": "1",
  "examples": [
    {
      "id": "torus-assembly",
      "title": "A torus from zero tangles",
      "reference": "Transfer report · A torus from zero tangles",
      "description": "The complete torus, its birth, two saddle slabs and death, and the successive gluings. Movie view reads direction 1 as time.",
      "scope": "A saved assembly; its final compact truss equals the bundled torus.",
      "initialStep": "torus",
      "recipe": "torus-recipe.json",
      "steps": [
        {"id":"torus","title":"Complete torus","data":"torus.json","view":"geo","movie":true,"camera":{"position":[42,32,42],"target":[15,6.3,15]}},
        {"id":"birth","title":"Birth","data":"torus-n6.json","view":"movie","movie":true},
        {"id":"first-saddle","title":"First saddle slab","data":"torus-n15.json","view":"movie","movie":true},
        {"id":"second-saddle","title":"Second saddle slab","data":"torus-n17.json","view":"movie","movie":true},
        {"id":"death","title":"Death","data":"torus-n12.json","view":"movie","movie":true},
        {"id":"first-gluing","title":"Birth + first saddle","data":"torus-n18.json","view":"movie","movie":true},
        {"id":"second-gluing","title":"Birth + both saddles","data":"torus-n19.json","view":"movie","movie":true}
      ]
    },
    {
      "id": "genus-one-framing",
      "title": "A genus-one surface and its variants",
      "reference": "Transfer report · A genus-one surface and its variants",
      "description": "A strand beside a circle. Three saddles split the circle, merge the circles and join the circle to the strand; two cusps then straighten the result, at successive heights here and at one height in the report's figure.",
      "scope": "The saved variant with the cusps at successive heights.",
      "initialStep": "base",
      "steps": [
        {"id":"base","title":"Successive-cusp framing","data":"framing-base.json","view":"movie","movie":true,"events":["Split circle","Merge circles","Join circle to strand","Lower cusp","Upper cusp"]},
        {"id":"extra-bend","title":"Extra bend","data":"framing-extra-bend.json","view":"movie","movie":true},
        {"id":"side-by-side","title":"Side-by-side variant","data":"framing-side-by-side.json","view":"movie","movie":true}
      ]
    },
    {
      "id": "nine-singularities",
      "title": "Nine (3,4)-singularities",
      "reference": "Manifold diagrams and tame tangles · Figure 3.30",
      "description": "The nine singularities, in the order of Figure 3.30, each as a movie of a three-dimensional slice. The time-slice slider moves through the 4-truss, in both views; the filmstrip moves through the selected surface movie.",
      "scope": "The nine saved inputs from the visualiser's MDTT collection.",
      "initialStep": "1",
      "steps": [
        {"id":"1","title":"Figure 3.30 · 1","data":"singularity-1.json","view":"movie","movie":true},
        {"id":"2","title":"Figure 3.30 · 2","data":"singularity-2.json","view":"movie","movie":true},
        {"id":"3","title":"Figure 3.30 · 3","data":"singularity-3.json","view":"movie","movie":true},
        {"id":"4","title":"Figure 3.30 · 4","data":"singularity-4.json","view":"movie","movie":true},
        {"id":"5","title":"Figure 3.30 · 5","data":"singularity-5.json","view":"movie","movie":true},
        {"id":"6","title":"Figure 3.30 · 6","data":"singularity-6.json","view":"movie","movie":true},
        {"id":"7","title":"Figure 3.30 · 7","data":"singularity-7.json","view":"movie","movie":true},
        {"id":"8","title":"Figure 3.30 · 8","data":"singularity-8.json","view":"movie","movie":true},
        {"id":"9","title":"Figure 3.30 · 9","data":"singularity-9.json","view":"movie","movie":true}
      ]
    },
    {
      "id": "cap-birth-saddle",
      "title": "Cap–birth–saddle comparison",
      "reference": "Transfer report · Cap–birth–saddle grid",
      "description": "The four surface movies A, M1, M2 and B, and the 4-truss comparing them. There, the time-slice slider changes the comparison parameter and the filmstrip changes height within one surface movie. The base is not a product grid.",
      "scope": "Saved inputs from the cap–birth–saddle construction.",
      "initialStep": "A",
      "steps": [
        {"id":"A","title":"A · initial movie","data":"cap-movie-0.json","view":"movie","movie":true},
        {"id":"M1","title":"M1 · first intermediate","data":"cap-movie-1.json","view":"movie","movie":true},
        {"id":"M2","title":"M2 · second intermediate","data":"cap-movie-2.json","view":"movie","movie":true},
        {"id":"B","title":"B · straightened movie","data":"cap-movie-3.json","view":"movie","movie":true},
        {"id":"comparison","title":"Full comparison (4-truss)","data":"cap-comparison.json","view":"movie","movie":true}
      ]
    },
    {
      "id": "two-cup-interchange",
      "title": "A tangle that is not boundary-globular",
      "reference": "Transfer report · Boundary-globularity",
      "description": "Two disjoint graphs x = |y+2| + t and x = |y−2| − t, constant in u, in coordinates (t,u,x,y). As t passes 0 the two cups exchange heights, so the planar fibres before and after t = 0 have different normal forms, and the tangle fails boundary-globularity at level 2. In the 4-truss the time-slice slider changes t, and u is undivided; with u omitted, Play runs through t.",
      "scope": "The saved 4-truss, and the 3-truss with the regular direction u omitted.",
      "initialStep": "full",
      "steps": [
        {"id":"full","title":"Full 4-truss","data":"two-cup-full.json","view":"movie","movie":true},
        {"id":"reduced","title":"With u omitted (3-truss)","data":"two-cup-reduced.json","view":"movie","movie":true}
      ]
    }
  ]
}
