{
  "title": "HARBOUR LAB",
  "version": 2,
  "research_date": "2026-11-11",
  "badge_definition": {
    "MEASURED": "Published dimensional specification or datum, not a new survey by Harbour Lab.",
    "DERIVED": "Calculated or traced from a named source; method and uncertainty disclosed.",
    "ASSUMED": "Explicit scenario or fallback value; editable, not established site fact."
  },
  "measurements": [
    {
      "id": "roof",
      "label": "Car park roof above Chart Datum",
      "value": 22,
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners/5a109f28b22e386e180003f8-ocean-terminal-extension-foster-plus-partners-section",
      "capture_date": "2017 (published section)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±2 m; user-supplied derived roof level",
      "note": "The supplied schedule sets the car park roof at 22 m CD. It is an estimate, not a new survey."
    },
    {
      "id": "quay",
      "label": "Quay deck above Chart Datum",
      "value": 4.5,
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "https://www.oceanterminal.com.hk/en/about_us.php?cid=1&id=3",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "±0.3 m; supplied schedule",
      "note": "The brief sets +4.5 m CD. The operator lists +4.2 m. We retain that difference as uncertainty. Deck thickness is guessed at 0.35 m."
    },
    {
      "id": "building_width",
      "label": "Original building width",
      "value": 58,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.oceanterminal.com.hk/en/index.php",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Published integer; survey precision unstated",
      "note": "Operator states 58 m, five levels: three mall floors plus two car park levels, including open upper roof."
    },
    {
      "id": "pier_width",
      "label": "Overall pier width",
      "value": 76.2,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.oceanterminal.com.hk/en/about_us.php?cid=1&id=3",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Published to 0.1 m; survey precision unstated",
      "note": "Published overall pier width. The two local apron estimates differ. They are not symmetric additions to this width."
    },
    {
      "id": "pier_length",
      "label": "Pier / south berth length",
      "value": 381,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.oceanterminal.com.hk/en/about_us.php?cid=1&id=3",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Published integer; survey precision unstated",
      "note": "East–west pier axis. North berth length 320 m. Western extension occupies the tip; it is not a departure edge."
    },
    {
      "id": "north_length",
      "label": "North berth length",
      "value": 320,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.oceanterminal.com.hk/en/about_us.php?cid=1&id=3",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Published integer; survey precision unstated",
      "note": "Cruise berth shown occupied as supplied scenario, not a live vessel schedule."
    },
    {
      "id": "floors",
      "label": "Floor-to-floor intervals",
      "value": [
        4,
        4,
        4,
        2.7,
        2.7
      ],
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners/5a109f28b22e386e180003f8-ocean-terminal-extension-foster-plus-partners-section",
      "capture_date": "2017 (published section)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±0.5 m per interval; correlated roof uncertainty",
      "note": "Three 4 m mall intervals, then two 2.7 m car decks. Quay 4.5 + intervals 17.4 + roof cap 0.1 = 22 m CD."
    },
    {
      "id": "extension_height",
      "label": "Extension overall height",
      "value": 20.3,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://dxfpracgmlczp.cloudfront.net/2022/07/1656987760977_SEAB%20JulAug%202022%20digital.pdf",
      "capture_date": "2022-07 (publication)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Published approximate height; ±0.5 m sensitivity",
      "note": "Architect-attributed project details, SEAB July–August 2022 p19. Includes highest roof/canopy, not just lawn terrace."
    },
    {
      "id": "extension_roof",
      "label": "Extension highest roof",
      "value": 24.666,
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "https://dxfpracgmlczp.cloudfront.net/2022/07/1656987760977_SEAB%20JulAug%202022%20digital.pdf",
      "capture_date": "2022-07 (publication)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±0.5 m sensitivity; source says 24.52 m PD",
      "note": "24.52 m PD + 0.146 m = 24.666 m CD. Separate source datum retained; small difference from quay+20.3 is not silently reconciled."
    },
    {
      "id": "extension_length",
      "label": "Extension footprint length",
      "value": 62,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://dxfpracgmlczp.cloudfront.net/2022/07/1656987760977_SEAB%20JulAug%202022%20digital.pdf",
      "capture_date": "2022-07 (publication)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Published integer; ±2 m sensitivity",
      "note": "Published 62 m length × 57 m width. Diagram places extension at west end. Length envelope is not gross floor area."
    },
    {
      "id": "extension_width",
      "label": "Extension footprint width",
      "value": 57,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://dxfpracgmlczp.cloudfront.net/2022/07/1656987760977_SEAB%20JulAug%202022%20digital.pdf",
      "capture_date": "2022-07 (publication)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Published integer; ±1 m sensitivity",
      "note": "Published footprint envelope; setbacks vary with level."
    },
    {
      "id": "extension_setbacks",
      "label": "West terrace setbacks",
      "value": [
        0,
        10,
        16,
        22,
        30
      ],
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners/5a109f28b22e386e180003f8-ocean-terminal-extension-foster-plus-partners-section",
      "capture_date": "2017 (published section)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±3 m per terrace",
      "note": "Stepped profile traced from architect section and normalized to 62 m extension envelope. Setbacks from the outer west terrace envelope; conceptual tracing, not surveyed polygons."
    },
    {
      "id": "water_range",
      "label": "Illustrative harbour water levels",
      "value": [
        0.1,
        2.6
      ],
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "https://www.hko.gov.hk/en/tide/tide_tables/2026/files/TideTable2026.pdf",
      "capture_date": "2026-07 (prediction month)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Nearby-station proxy ±0.3 m; excludes surge",
      "note": "Quarry Bay July 2026 predictions include 0.1 m lows and 2.6 m highs (14–15 July). Illustrative nearby-station interval, not Ocean Terminal measurements or annual extremes. Operator separately lists a 2.7 m tidal range without endpoints."
    },
    {
      "id": "tide_range",
      "label": "Operator published tidal range",
      "value": 2.7,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.oceanterminal.com.hk/en/about_us.php?cid=1&id=3",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Range definition and survey precision unstated",
      "note": "Do not confuse a tidal range with water elevation above datum."
    },
    {
      "id": "datum",
      "label": "PD → CD elevation offset",
      "value": 0.146,
      "unit": "m",
      "badge": "MEASURED",
      "source_url": "https://www.hko.gov.hk/en/tide/enotes.htm",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Datum definition",
      "note": "Chart Datum is 0.146 m below Hong Kong Principal Datum. Therefore z_CD = z_PD + 0.146 m."
    },
    {
      "id": "ship",
      "label": "Moored cruise ship envelope",
      "value": [
        300,
        32,
        28,
        12
      ],
      "unit": "m",
      "badge": "ASSUMED",
      "source_url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners/5a109f28b22e386e180003f8-ocean-terminal-extension-foster-plus-partners-section",
      "capture_date": null,
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative vessel dimensions; no live berth data",
      "note": "Optional ship alongside the roof edge. Its hull starts 25 m out with the default apron. Width and position are guesses. This is not a berth survey."
    },
    {
      "id": "run_up_cap",
      "label": "Run-up acceleration cap",
      "value": 8,
      "unit": "m/s²",
      "badge": "ASSUMED",
      "source_url": "data/measurements.json",
      "capture_date": "2026-11-11",
      "accessed_at": "2026-11-11",
      "uncertainty": "Game rule, not a measured limit for any subject.",
      "note": "The user set this cap. Speed starts at zero and rises with constant acceleration. Warnings start above 5 m/s²."
    },
    {
      "id": "lcx_roof",
      "label": "LCX roof · roof",
      "value": 17,
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±1.5 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "The latest level schedule sets LCX at 17 m CD. The named aerial file was not supplied."
    },
    {
      "id": "lcx_apron",
      "label": "LCX roof · apron",
      "value": 6,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±2 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "lcx_runUp",
      "label": "LCX roof · runUp",
      "value": 12,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±3 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "lcx_parapetHeight",
      "label": "LCX roof · parapetHeight",
      "value": 1.1,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±0.2 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "carpark_roof",
      "label": "Car park roof · roof",
      "value": 22,
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±2 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "carpark_apron",
      "label": "Car park roof · apron",
      "value": 15,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±3 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "carpark_runUp",
      "label": "Car park roof · runUp",
      "value": 25,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±5 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "carpark_parapetHeight",
      "label": "Car park roof · parapetHeight",
      "value": 1,
      "unit": "m",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "±0.2 m",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    {
      "id": "terraces",
      "label": "LCX terrace tops",
      "value": [
        12.5,
        9
      ],
      "unit": "m CD",
      "badge": "DERIVED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Supplied estimate; not surveyed",
      "method": "Latest user-supplied drawing schedule",
      "note": "Two 4 m slabs step outside the face. Their tops and slab edges collide."
    },
    {
      "id": "seabed",
      "label": "Visible seabed",
      "value": -8,
      "unit": "m CD",
      "badge": "ASSUMED",
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Supplied estimate; not surveyed",
      "method": "Latest user-supplied drawing schedule",
      "note": "Drawing depth only. This is not a bathymetric survey."
    }
  ],
  "source_ladder": [
    {
      "tier": 1,
      "source_url": "https://portal.csdi.gov.hk/geoportal/?datasetId=landsd_rcd_1637306559892_42396&lang=en",
      "result": "Public catalogue and app code retrieved; building tile not downloaded or extracted. Earlier current 3D endpoint request without required API key returned404. No roof polygon, parapet or model RMSE verified. Do not attach advertised model accuracy to fallback geometry."
    },
    {
      "tier": 2,
      "source_url": "https://portal.csdi.gov.hk/geoportal/?datasetId=landsd_rcd_1637306839277_11815&lang=en",
      "result": "DOP5000 metadata confirms0.2m GSD. Portal data discovery did not yield a downloadable tile during bounded research. No pixels counted; replace with operator9m apron width and downgrade application to individual sides."
    },
    {
      "tier": 3,
      "source_url": "https://www.hyd.gov.hk/en/our_projects/railway_projects/scl/gazettal/scheme/doc/gn7301/cob/SCL-P04.pdf",
      "result": "Downloaded and visually inspected2010 government1:5000 topographic base plan including Ocean Terminal, but it predates extension and did not support unambiguous current quay spot-height extraction. Use operator4.2mCD instead; do not claim mapping extraction."
    }
  ],
  "references": [
    {
      "file": "reference-main.jpg",
      "title": "West extension + north berth",
      "credit": "Nigel Young / Foster + Partners · via ArchDaily",
      "url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners"
    },
    {
      "file": "reference-roof.jpg",
      "title": "Cantilevered terraces + glazing",
      "credit": "Courtesy of Foster + Partners · via ArchDaily",
      "url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners"
    },
    {
      "file": "section.jpg",
      "title": "The architect’s long section",
      "credit": "Foster + Partners · via ArchDaily, 2017",
      "url": "https://www.archdaily.com/883926/ocean-terminal-extension-foster-plus-partners/5a109f28b22e386e180003f8-ocean-terminal-extension-foster-plus-partners-section"
    }
  ],
  "subjects": [
    {
      "id": "pedestrian",
      "label": "Pedestrian",
      "speed": 1.14,
      "mass": 75,
      "cd": 1,
      "area": 0.55,
      "com": 1.05,
      "height": 1.75,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Study walking pace: 1.14 m/s. The band shows one standard deviation.",
      "source_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC10884095/",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "pedestrian",
        "speed": 1.14,
        "speedRange": [
          0.98,
          1.3
        ],
        "source_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC10884095/",
        "source_title": "Walking around the preferred speed (2024)",
        "source_kind": "peer-reviewed experiment",
        "method": "34 sedentary young adults: preferred walking speed 1.14 ± 0.16 m/s. Band is mean ± one SD.",
        "uncertainty": "The band shows study variation. It is not a minimum or maximum.",
        "speed_source": "Study walking pace: 1.14 m/s. The band shows one standard deviation.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        0.98,
        1.3
      ],
      "speed_method": "34 sedentary young adults: preferred walking speed 1.14 ± 0.16 m/s. Band is mean ± one SD.",
      "speed_uncertainty": "The band shows study variation. It is not a minimum or maximum.",
      "source_kind": "peer-reviewed experiment"
    },
    {
      "id": "jogger",
      "label": "Jogger",
      "speed": 3,
      "mass": 75,
      "cd": 1,
      "area": 0.55,
      "com": 1.05,
      "height": 1.75,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Recreational runners: 2.74–3.25 m/s. These are group averages, not top speeds.",
      "source_url": "https://nmbl.stanford.edu/wp-content/uploads/Selinger-Current-Biology-2022.pdf",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "jogger",
        "speed": 3,
        "speedRange": [
          2.74,
          3.25
        ],
        "source_url": "https://nmbl.stanford.edu/wp-content/uploads/Selinger-Current-Biology-2022.pdf",
        "source_title": "Selinger et al. — Running in the wild (2022)",
        "source_kind": "peer-reviewed field study",
        "method": "GPS-supported wearable data. Matched female and male group means were 2.74 and 3.25 m/s.",
        "uncertainty": "Band spans two group averages. It is not the full range of individual runners.",
        "speed_source": "Recreational runners: 2.74–3.25 m/s. These are group averages, not top speeds.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        2.74,
        3.25
      ],
      "speed_method": "GPS-supported wearable data. Matched female and male group means were 2.74 and 3.25 m/s.",
      "speed_uncertainty": "Band spans two group averages. It is not the full range of individual runners.",
      "source_kind": "peer-reviewed field study"
    },
    {
      "id": "untrained",
      "label": "Untrained adult",
      "speed": 8.2,
      "mass": 75,
      "cd": 1,
      "area": 0.55,
      "com": 1.05,
      "height": 1.75,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Active non-sprinters: 8.20 m/s. Band shows study variation, not everyone’s limit.",
      "source_url": "https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2026.1939386/full",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "untrained",
        "speed": 8.2,
        "speedRange": [
          7.64,
          8.76
        ],
        "source_url": "https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2026.1939386/full",
        "source_title": "Wang — Phase-specific neuromechanical signatures of 40-m sprint performance (2026)",
        "source_kind": "peer-reviewed experiment",
        "method": "80 physically active non-sprinters. Final 30–40 m speed 8.20 ± 0.56 m/s. Band is mean ± one SD.",
        "uncertainty": "These were active young adults, not sedentary adults. The preset is a proxy for the roster label.",
        "speed_source": "Active non-sprinters: 8.20 m/s. Band shows study variation, not everyone’s limit.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        7.64,
        8.76
      ],
      "speed_method": "80 physically active non-sprinters. Final 30–40 m speed 8.20 ± 0.56 m/s. Band is mean ± one SD.",
      "speed_uncertainty": "These were active young adults, not sedentary adults. The preset is a proxy for the roster label.",
      "source_kind": "peer-reviewed experiment"
    },
    {
      "id": "club",
      "label": "Club sprinter",
      "speed": 9.98,
      "mass": 78,
      "cd": 0.9,
      "area": 0.5,
      "com": 1.05,
      "height": 1.8,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Trained sprinters: 9.98 m/s. The band shows one standard deviation.",
      "source_url": "https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2026.1939386/full",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "club",
        "speed": 9.98,
        "speedRange": [
          9.45,
          10.51
        ],
        "source_url": "https://www.frontiersin.org/journals/physiology/articles/10.3389/fphys.2026.1939386/full",
        "source_title": "Wang — Phase-specific neuromechanical signatures of 40-m sprint performance (2026)",
        "source_kind": "peer-reviewed experiment",
        "method": "80 sprint-trained athletes from university programs and regional clubs. Final 30–40 m speed 9.98 ± 0.53 m/s.",
        "uncertainty": "Band is mean ± one SD. This is a trained cohort, not a universal club standard.",
        "speed_source": "Trained sprinters: 9.98 m/s. The band shows one standard deviation.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        9.45,
        10.51
      ],
      "speed_method": "80 sprint-trained athletes from university programs and regional clubs. Final 30–40 m speed 9.98 ± 0.53 m/s.",
      "speed_uncertainty": "Band is mean ± one SD. This is a trained cohort, not a universal club standard.",
      "source_kind": "peer-reviewed experiment"
    },
    {
      "id": "elite",
      "label": "Elite sprinter",
      "speed": 10.78,
      "mass": 80,
      "cd": 0.9,
      "area": 0.5,
      "com": 1.05,
      "height": 1.85,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "National-level sprinters: 10.78 m/s. Study spread: 10.41–11.15 m/s.",
      "source_url": "https://worldathletics.org/download/downloadnsa?filename=24d13356-c773-4aba-ade4-54c51d7cf37c.pdf&urlslug=new-insights-into-sprint-biomechanics-and-det",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "elite",
        "speed": 10.78,
        "speedRange": [
          10.41,
          11.15
        ],
        "source_url": "https://worldathletics.org/download/downloadnsa?filename=24d13356-c773-4aba-ade4-54c51d7cf37c.pdf&urlslug=new-insights-into-sprint-biomechanics-and-det",
        "source_title": "Morin, Edouard and Samozino — New Insights Into Sprint Biomechanics (IAAF, 2013)",
        "source_kind": "World Athletics published experiment",
        "method": "Table 2: three national-level sprinters, field top speed 10.78 ± 0.37 m/s. Band is mean ± one SD.",
        "uncertainty": "Only three athletes. The world-class athlete in the same trial reached 11.21 m/s.",
        "speed_source": "National-level sprinters: 10.78 m/s. Study spread: 10.41–11.15 m/s.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        10.41,
        11.15
      ],
      "speed_method": "Table 2: three national-level sprinters, field top speed 10.78 ± 0.37 m/s. Band is mean ± one SD.",
      "speed_uncertainty": "Only three athletes. The world-class athlete in the same trial reached 11.21 m/s.",
      "source_kind": "World Athletics published experiment"
    },
    {
      "id": "bolt",
      "label": "World’s fastest sprinter",
      "speed": 12.3,
      "mass": 93,
      "cd": 0.9,
      "area": 0.55,
      "com": 1.1,
      "height": 1.96,
      "length": 0.55,
      "group": "People",
      "wheeled": false,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Usain Bolt, measured peak: 12.32 m/s. Preset rounds to 12.3 m/s.",
      "source_url": "https://www.mdpi.com/2306-5354/10/11/1254",
      "capture_date": "2009 race / 2023 analysis",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "bolt",
        "speed": 12.3,
        "speedRange": [
          12.1,
          12.32
        ],
        "source_url": "https://www.mdpi.com/2306-5354/10/11/1254",
        "source_title": "Štuhec et al. — Multicomponent Velocity Measurement (2023)",
        "source_kind": "peer-reviewed laser analysis",
        "method": "Reanalysis of Berlin 2009 laser data: peak 12.32 m/s at 52 m. Fast 10 m sections span 12.10–12.32 m/s.",
        "uncertainty": "One exceptional athlete and race. The band shows fast sections, not measurement error.",
        "speed_source": "Usain Bolt, measured peak: 12.32 m/s. Preset rounds to 12.3 m/s.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        12.1,
        12.32
      ],
      "speed_method": "Reanalysis of Berlin 2009 laser data: peak 12.32 m/s at 52 m. Fast 10 m sections span 12.10–12.32 m/s.",
      "speed_uncertainty": "One exceptional athlete and race. The band shows fast sections, not measurement error.",
      "source_kind": "peer-reviewed laser analysis"
    },
    {
      "id": "chicken",
      "label": "Chicken",
      "speed": 1.39,
      "mass": 2,
      "cd": 1.1,
      "area": 0.06,
      "com": 0.32,
      "height": 0.55,
      "length": 0.45,
      "group": "Animals",
      "wheeled": false,
      "bonus": 12,
      "glide": 0.7,
      "launchLift": 0.75,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Leghorn running trials: 1.11–1.39 m/s. Short sprint speeds remain uncertain.",
      "source_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC4610220/",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "chicken",
        "speed": 1.39,
        "speedRange": [
          1.11,
          1.39
        ],
        "source_url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC4610220/",
        "source_title": "Rose et al. — Sex differences in chicken gait and energy use (2015)",
        "source_kind": "peer-reviewed treadmill experiment",
        "method": "Standard male leghorns used grounded running at 1.11–1.39 m/s. Treadmill trials lasted over three minutes.",
        "uncertainty": "This is a measured sustained running band. It does not establish a short sprint maximum.",
        "speed_source": "Leghorn running trials: 1.11–1.39 m/s. Short sprint speeds remain uncertain.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        1.11,
        1.39
      ],
      "speed_method": "Standard male leghorns used grounded running at 1.11–1.39 m/s. Treadmill trials lasted over three minutes.",
      "speed_uncertainty": "This is a measured sustained running band. It does not establish a short sprint maximum.",
      "source_kind": "peer-reviewed treadmill experiment"
    },
    {
      "id": "dog",
      "label": "Dog",
      "speed": 9.3,
      "mass": 25,
      "cd": 0.9,
      "area": 0.16,
      "com": 0.5,
      "height": 0.65,
      "length": 0.9,
      "group": "Animals",
      "wheeled": false,
      "bonus": 8,
      "glide": 0,
      "launchLift": 0.75,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Six adult dogs: 8.4–10.2 m/s. Measured during fast gallops.",
      "source_url": "https://carrier.biology.utah.edu/Dave's%20PDF/Walter%20galloping%20ground%20forces.pdf",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "dog",
        "speed": 9.3,
        "speedRange": [
          8.4,
          10.2
        ],
        "source_url": "https://carrier.biology.utah.edu/Dave's%20PDF/Walter%20galloping%20ground%20forces.pdf",
        "source_title": "Walter and Carrier — Ground forces applied by galloping dogs (2007)",
        "source_kind": "peer-reviewed experiment",
        "method": "Six adult dogs ran a 40 m runway near maximum effort. Laser-gate means ranged 8.4–10.2 m/s.",
        "uncertainty": "Range spans individual mean speeds. Breeds included Labrador, Weimaraner and mixed breeds.",
        "speed_source": "Six adult dogs: 8.4–10.2 m/s. Measured during fast gallops.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        8.4,
        10.2
      ],
      "speed_method": "Six adult dogs ran a 40 m runway near maximum effort. Laser-gate means ranged 8.4–10.2 m/s.",
      "speed_uncertainty": "Range spans individual mean speeds. Breeds included Labrador, Weimaraner and mixed breeds.",
      "source_kind": "peer-reviewed experiment"
    },
    {
      "id": "greyhound",
      "label": "Greyhound",
      "speed": 17,
      "mass": 30,
      "cd": 0.75,
      "area": 0.18,
      "com": 0.6,
      "height": 0.75,
      "length": 1.1,
      "group": "Animals",
      "wheeled": false,
      "bonus": 10,
      "glide": 0,
      "launchLift": 0.75,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Greyhound trials: 9.9–19.0 m/s. Preset: a fast 17 m/s gallop.",
      "source_url": "https://doi.org/10.1242/jeb.066720",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "greyhound",
        "speed": 17,
        "speedRange": [
          9.9,
          19.0
        ],
        "source_url": "https://doi.org/10.1242/jeb.066720",
        "source_title": "Hudson, Corr and Wilson — High speed galloping (2012)",
        "source_kind": "peer-reviewed field experiment",
        "method": "High-speed video of six retired racing greyhounds chasing a lure. Recorded trials span 9.9–19.0 m/s.",
        "uncertainty": "Trial range includes submaximal speeds. It is not a range of maximum speeds.",
        "speed_source": "Greyhound trials: 9.9–19.0 m/s. Preset: a fast 17 m/s gallop.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "access_note": "Primary paper abstract at https://pubmed.ncbi.nlm.nih.gov/22723482/. Full-paper indexed mirror confirms trial context. Publisher page blocked automated fetch."
      },
      "speedRange": [
        9.9,
        19.0
      ],
      "speed_method": "High-speed video of six retired racing greyhounds chasing a lure. Recorded trials span 9.9–19.0 m/s.",
      "speed_uncertainty": "Trial range includes submaximal speeds. It is not a range of maximum speeds.",
      "source_kind": "peer-reviewed field experiment"
    },
    {
      "id": "kangaroo",
      "label": "Kangaroo",
      "speed": 6.42,
      "mass": 65,
      "cd": 0.9,
      "area": 0.45,
      "com": 0.95,
      "height": 1.7,
      "length": 2.2,
      "group": "Animals",
      "wheeled": false,
      "bonus": 22,
      "glide": 0,
      "launchLift": 0.75,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Red kangaroo trials: 2.94–6.42 m/s. These are sustained hopping speeds.",
      "source_url": "https://spot.colorado.edu/~kram/kangaroo.pdf",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "kangaroo",
        "speed": 6.42,
        "speedRange": [
          2.94,
          6.42
        ],
        "source_url": "https://spot.colorado.edu/~kram/kangaroo.pdf",
        "source_title": "Kram and Dawson — Energetics and biomechanics of red kangaroos (1998)",
        "source_kind": "peer-reviewed treadmill and field experiment",
        "method": "Measured oxygen consumption during level treadmill hopping at 2.94–6.42 m/s.",
        "uncertainty": "This measured band is sustained treadmill hopping, not the animal’s maximum sprint speed.",
        "speed_source": "Red kangaroo trials: 2.94–6.42 m/s. These are sustained hopping speeds.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        2.94,
        6.42
      ],
      "speed_method": "Measured oxygen consumption during level treadmill hopping at 2.94–6.42 m/s.",
      "speed_uncertainty": "This measured band is sustained treadmill hopping, not the animal’s maximum sprint speed.",
      "source_kind": "peer-reviewed treadmill and field experiment"
    },
    {
      "id": "cheetah",
      "label": "Cheetah",
      "speed": 25.9,
      "mass": 50,
      "cd": 0.7,
      "area": 0.3,
      "com": 0.7,
      "height": 0.9,
      "length": 1.6,
      "group": "Animals",
      "wheeled": false,
      "bonus": 10,
      "glide": 0,
      "launchLift": 0.75,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Wild cheetah peaks: 20.1–25.9 m/s. Most hunts were slower.",
      "source_url": "https://pubmed.ncbi.nlm.nih.gov/23765495/",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "cheetah",
        "speed": 25.9,
        "speedRange": [
          20.1,
          25.9
        ],
        "source_url": "https://pubmed.ncbi.nlm.nih.gov/23765495/",
        "source_title": "Wilson et al. — Locomotion dynamics of hunting in wild cheetahs (2013)",
        "source_kind": "peer-reviewed GPS-IMU field study",
        "method": "Five wild cheetahs, 367 runs. Each animal’s highest speed: 20.1, 21.1, 22.0, 25.4 and 25.9 m/s.",
        "uncertainty": "Band spans individual recorded peaks. Most hunts were slower.",
        "speed_source": "Wild cheetah peaks: 20.1–25.9 m/s. Most hunts were slower.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        20.1,
        25.9
      ],
      "speed_method": "Five wild cheetahs, 367 runs. Each animal’s highest speed: 20.1, 21.1, 22.0, 25.4 and 25.9 m/s.",
      "speed_uncertainty": "Band spans individual recorded peaks. Most hunts were slower.",
      "source_kind": "peer-reviewed GPS-IMU field study"
    },
    {
      "id": "ostrich",
      "label": "Ostrich",
      "speed": 4.35,
      "mass": 100,
      "cd": 0.9,
      "area": 0.6,
      "com": 1.2,
      "height": 2.3,
      "length": 1.4,
      "group": "Animals",
      "wheeled": false,
      "bonus": 8,
      "glide": 0,
      "launchLift": 0,
      "crr": 0,
      "drive_loss": 0,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Measured preferred run: 4.35 m/s. Maximum sprint speed remains uncertain.",
      "source_url": "https://doi.org/10.1242/jeb.142588",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "ostrich",
        "speed": 4.35,
        "speedRange": [
          4.35,
          4.35
        ],
        "source_url": "https://doi.org/10.1242/jeb.142588",
        "source_title": "Daley et al. — Preferred gait and walk–run transition speeds in ostriches (2016)",
        "source_kind": "peer-reviewed GPS-IMU field study",
        "method": "GPS-IMU observations in an enclosed grassy field. Median preferred running speed 4.35 m/s; interquartile width 2.22 m/s.",
        "uncertainty": "Quartile endpoints were not recovered. Use a point marker, not fabricated range endpoints. Historical 12–17 m/s maximum estimates conflict by method.",
        "speed_source": "Measured preferred run: 4.35 m/s. Maximum sprint speed remains uncertain.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "reported_iqr_width": 2.22,
        "historical_maximum_range": [
          12,
          17
        ],
        "historical_maximum_badge": "DERIVED",
        "historical_maximum_note": "Alexander et al. 1979: video gave12, vehicle odometer17 m/s. Daley2016 explicitly questions reliable maxima.",
        "access_note": "Author repository https://rvc-repository.worktribe.com/preview/1395214/10576.pdf; text available through indexed paper copies."
      },
      "speedRange": [
        4.35,
        4.35
      ],
      "speed_method": "GPS-IMU observations in an enclosed grassy field. Median preferred running speed 4.35 m/s; interquartile width 2.22 m/s.",
      "speed_uncertainty": "Quartile endpoints were not recovered. Use a point marker, not fabricated range endpoints. Historical 12–17 m/s maximum estimates conflict by method.",
      "source_kind": "peer-reviewed GPS-IMU field study"
    },
    {
      "id": "skateboard",
      "label": "Skateboard",
      "speed": 4.5,
      "mass": 78,
      "cd": 1,
      "area": 0.55,
      "com": 1,
      "height": 1.8,
      "length": 0.8,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.015,
      "drive_loss": 0.03,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Longboard study: 3.7–5.1 m/s. Typical pace was 4.5 m/s.",
      "source_url": "https://pubmed.ncbi.nlm.nih.gov/25085605/",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "skateboard",
        "speed": 4.5,
        "speedRange": [
          3.7,
          5.1
        ],
        "source_url": "https://pubmed.ncbi.nlm.nih.gov/25085605/",
        "source_title": "Board and Browning — Self-selected speeds and metabolic cost of longboard skateboarding (2014)",
        "source_kind": "peer-reviewed overground experiment",
        "method": "15 experienced longboarders. Slow, typical and fast group means: 3.7, 4.5, 5.1 m/s.",
        "uncertainty": "Longboards are the measured example. This is not downhill racing or a skateboard top-speed record.",
        "speed_source": "Longboard study: 3.7–5.1 m/s. Typical pace was 4.5 m/s.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        3.7,
        5.1
      ],
      "speed_method": "15 experienced longboarders. Slow, typical and fast group means: 3.7, 4.5, 5.1 m/s.",
      "speed_uncertainty": "Longboards are the measured example. This is not downhill racing or a skateboard top-speed record.",
      "source_kind": "peer-reviewed overground experiment"
    },
    {
      "id": "bicycle",
      "label": "Bicycle",
      "speed": 17,
      "mass": 90,
      "cd": 0.9,
      "area": 0.5,
      "com": 1.05,
      "height": 1.7,
      "length": 1.8,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.008,
      "drive_loss": 0.04,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Professional sprint: 16.2–18.1 m/s. The rider started the sprint already moving.",
      "source_url": "https://collections.lib.utah.edu/dl_files/4a/d8/4ad858b2f01fe96169824d8fde8abffea6391dca.pdf",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "bicycle",
        "speed": 17,
        "speedRange": [
          16.2,
          18.1
        ],
        "source_url": "https://collections.lib.utah.edu/dl_files/4a/d8/4ad858b2f01fe96169824d8fde8abffea6391dca.pdf",
        "source_title": "Martin et al. — Understanding Sprint-Cycling Performance (2007)",
        "source_kind": "peer-reviewed rider power and speed recording",
        "method": "Figure 5 records a professional road-race winner’s final sprint. Speed rose from16.2 to18.1 m/s.",
        "uncertainty": "One professional sprint, with a moving lead-in. Not an average commuter or a standing-start promise.",
        "speed_source": "Professional sprint: 16.2–18.1 m/s. The rider started the sprint already moving.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        16.2,
        18.1
      ],
      "speed_method": "Figure 5 records a professional road-race winner’s final sprint. Speed rose from16.2 to18.1 m/s.",
      "speed_uncertainty": "One professional sprint, with a moving lead-in. Not an average commuter or a standing-start promise.",
      "source_kind": "peer-reviewed rider power and speed recording"
    },
    {
      "id": "ebike",
      "label": "E-bike",
      "speed": 6.94,
      "mass": 100,
      "cd": 0.9,
      "area": 0.5,
      "com": 1.05,
      "height": 1.7,
      "length": 1.8,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.009,
      "drive_loss": 0.06,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Bosch assistance limits: 6.94–12.5 m/s. Model and market decide the limit.",
      "source_url": "https://www.bosch-ebike.com/fr/produits/unite-motrice",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "ebike",
        "speed": 6.94,
        "speedRange": [
          6.944444,
          12.5
        ],
        "source_url": "https://www.bosch-ebike.com/fr/produits/unite-motrice",
        "source_title": "Bosch eBike drive-unit specifications",
        "source_kind": "manufacturer specification",
        "method": "Published maximum assisted speeds:25 km/h standard,45 km/h Speed variants. Divide km/h by3.6.",
        "uncertainty": "Assistance cut-off is not an absolute speed cap. Rider effort or a slope can exceed it.",
        "speed_source": "Bosch assistance limits: 6.94–12.5 m/s. Model and market decide the limit.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        6.944444,
        12.5
      ],
      "speed_method": "Published maximum assisted speeds:25 km/h standard,45 km/h Speed variants. Divide km/h by3.6.",
      "speed_uncertainty": "Assistance cut-off is not an absolute speed cap. Rider effort or a slope can exceed it.",
      "source_kind": "manufacturer specification"
    },
    {
      "id": "scooter",
      "label": "Mobility scooter",
      "speed": 3.58,
      "mass": 155,
      "cd": 1,
      "area": 0.8,
      "com": 0.85,
      "height": 1.4,
      "length": 1.3,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.02,
      "drive_loss": 0.08,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Mobility scooter examples: 1.79–3.58 m/s. These are published top speeds.",
      "source_url": "https://www.pridemobility.com/pride-mobility-scooters/4-wheel-mobility-scooters.asp",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "scooter",
        "speed": 3.58,
        "speedRange": [
          1.78816,
          3.57632
        ],
        "source_url": "https://www.pridemobility.com/pride-mobility-scooters/4-wheel-mobility-scooters.asp",
        "source_title": "Pride Mobility Go Go and Victory LX Sport specifications",
        "source_kind": "manufacturer specification",
        "method": "Go Go Folding:4 mph. Victory LX Sport:8 mph. Multiply mph by0.44704.",
        "uncertainty": "Range spans these two models’ published top speeds. Terrain, load and battery affect performance.",
        "speed_source": "Mobility scooter examples: 1.79–3.58 m/s. These are published top speeds.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "additional_sources": [
          {
            "url": "https://www.pridemobility.com/go-go-travel-mobility/go-go-folding-scooter-4-wheel/index.asp",
            "note": "Go Go Folding maximum4 mph."
          }
        ]
      },
      "speedRange": [
        1.78816,
        3.57632
      ],
      "speed_method": "Go Go Folding:4 mph. Victory LX Sport:8 mph. Multiply mph by0.44704.",
      "speed_uncertainty": "Range spans these two models’ published top speeds. Terrain, load and battery affect performance.",
      "source_kind": "manufacturer specification"
    },
    {
      "id": "motorbike",
      "label": "Motorbike",
      "speed": 39.7,
      "mass": 280,
      "cd": 0.6,
      "area": 0.7,
      "com": 0.8,
      "height": 1.4,
      "length": 2.1,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.015,
      "drive_loss": 0.08,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "BMW G310R: 39.72 m/s published maximum.",
      "source_url": "https://www.bmw-motorrad.com.au/en/models/roadster/g310r/technicaldata.html",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "motorbike",
        "speed": 39.7,
        "speedRange": [
          39.722222,
          39.722222
        ],
        "source_url": "https://www.bmw-motorrad.com.au/en/models/roadster/g310r/technicaldata.html",
        "source_title": "BMW Motorrad G310R technical data",
        "source_kind": "manufacturer specification",
        "method": "BMW G310R published maximum143 km/h; divide by3.6.",
        "uncertainty": "One named small roadster. Not a claim about every motorcycle or short-distance acceleration.",
        "speed_source": "BMW G310R: 39.72 m/s published maximum.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "additional_sources": [
          {
            "url": "https://www.adac.de/rund-ums-fahrzeug/zweirad/motorrad-roller/fahrberichte/bmw-g-310-r/",
            "note": "ADAC road-test article corroborates the143 km/h specification; not an independently instrumented maximum."
          }
        ]
      },
      "speedRange": [
        39.722222,
        39.722222
      ],
      "speed_method": "BMW G310R published maximum143 km/h; divide by3.6.",
      "speed_uncertainty": "One named small roadster. Not a claim about every motorcycle or short-distance acceleration.",
      "source_kind": "manufacturer specification"
    },
    {
      "id": "hatchback",
      "label": "Hatchback",
      "speed": 40,
      "mass": 1500,
      "cd": 0.3,
      "area": 2.2,
      "com": 0.65,
      "height": 1.5,
      "length": 4.3,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.015,
      "drive_loss": 0.1,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Golf maxima: 56.11–62.22 m/s. This slider stops at40 m/s.",
      "source_url": "https://www.volkswagen-newsroom.com/en/the-new-golf-international-vehicle-presentation-5609/the-technical-data-of-the-new-golf-5626",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "hatchback",
        "speed": 40,
        "speedRange": [
          56.111111,
          62.222222
        ],
        "source_url": "https://www.volkswagen-newsroom.com/en/the-new-golf-international-vehicle-presentation-5609/the-technical-data-of-the-new-golf-5626",
        "source_title": "Volkswagen Golf technical data (2019)",
        "source_kind": "manufacturer specification",
        "method": "Published Golf variant maxima202–224 km/h; divide by3.6.",
        "uncertainty": "True published band lies above the40 m/s slider. Preset40 is the simulation limit, not a measured maximum.",
        "speed_source": "Golf maxima: 56.11–62.22 m/s. This slider stops at40 m/s.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "preset_badge": "ASSUMED",
        "range_off_scale": true
      },
      "speedRange": [
        56.111111,
        62.222222
      ],
      "speed_method": "Published Golf variant maxima202–224 km/h; divide by3.6.",
      "speed_uncertainty": "True published band lies above the40 m/s slider. Preset40 is the simulation limit, not a measured maximum.",
      "source_kind": "manufacturer specification"
    },
    {
      "id": "van",
      "label": "Van",
      "speed": 36.1,
      "mass": 2400,
      "cd": 0.4,
      "area": 3.7,
      "com": 1,
      "height": 2.2,
      "length": 5.4,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.018,
      "drive_loss": 0.12,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "E-Transit limiters: 25–36.11 m/s. The chosen version sets its top speed.",
      "source_url": "https://media.ford.com/content/dam/fordmedia/Europe/de/2024/04/FordErfahren/Pressetext-FordE-Transit.pdf",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "van",
        "speed": 36.1,
        "speedRange": [
          25,
          36.111111
        ],
        "source_url": "https://media.ford.com/content/dam/fordmedia/Europe/de/2024/04/FordErfahren/Pressetext-FordE-Transit.pdf",
        "source_title": "Ford E-Transit press specifications (2024)",
        "source_kind": "manufacturer specification",
        "method": "Ford lists fixed90 and130 km/h limiter versions. Divide by3.6.",
        "uncertainty": "Band spans limiter variants, not measured variation. Cargo and road conditions matter.",
        "speed_source": "E-Transit limiters: 25–36.11 m/s. The chosen version sets its top speed.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11",
        "additional_sources": [
          {
            "url": "https://www.connect.de/testbericht/ford-e-transit-test-3212737.html",
            "note": "First-hand road test reports130 km/h limiter."
          }
        ]
      },
      "speedRange": [
        25,
        36.111111
      ],
      "speed_method": "Ford lists fixed90 and130 km/h limiter versions. Divide by3.6.",
      "speed_uncertainty": "Band spans limiter variants, not measured variation. Cargo and road conditions matter.",
      "source_kind": "manufacturer specification"
    },
    {
      "id": "bus",
      "label": "Double-decker bus",
      "speed": 26.8,
      "mass": 12500,
      "cd": 0.7,
      "area": 7.5,
      "com": 1.8,
      "height": 4.4,
      "length": 12,
      "group": "Wheels & engines",
      "wheeled": true,
      "bonus": 0,
      "glide": 0,
      "launchLift": 0,
      "crr": 0.018,
      "drive_loss": 0.15,
      "badge": "ASSUMED",
      "speed_badge": "MEASURED",
      "speed_source": "Enviro400 operator reports26.82 m/s. This is a real double-decker example.",
      "source_url": "https://www.alexander-dennis.com/skills-adds-another-two-alexander-dennis-enviro400-to-get-private-hire-experience-in-a-service-vehicle/",
      "capture_date": "2026-11-11 (scenario)",
      "accessed_at": "2026-11-11",
      "uncertainty": "Illustrative mass, Cd, frontal area and takeoff posture; individual values vary. Not a performance guarantee.",
      "note": "Body mass, drag, body area and jump posture are guesses. Speed evidence is listed separately.",
      "speedEvidence": {
        "id": "bus",
        "speed": 26.8,
        "speedRange": [
          26.8224,
          26.8224
        ],
        "source_url": "https://www.alexander-dennis.com/skills-adds-another-two-alexander-dennis-enviro400-to-get-private-hire-experience-in-a-service-vehicle/",
        "source_title": "Alexander Dennis — Skills Enviro400 delivery (11 May2026)",
        "source_kind": "manufacturer report quoting operator",
        "method": "Operator reports motorway operation at60 mph. Multiply by0.44704.",
        "uncertainty": "A real double-decker example. Operator-reported speed, not an instrumented top-speed test or Hong Kong fleet limit.",
        "speed_source": "Enviro400 operator reports26.82 m/s. This is a real double-decker example.",
        "speed_badge": "MEASURED",
        "capture_date": "2026-11-11",
        "accessed_at": "2026-11-11"
      },
      "speedRange": [
        26.8224,
        26.8224
      ],
      "speed_method": "Operator reports motorway operation at60 mph. Multiply by0.44704.",
      "speed_uncertainty": "A real double-decker example. Operator-reported speed, not an instrumented top-speed test or Hong Kong fleet limit.",
      "source_kind": "manufacturer report quoting operator"
    }
  ],
  "physics": {
    "g": 9.81,
    "rho": 1.225,
    "dt": 0.001,
    "max_time": 60,
    "badge": "ASSUMED",
    "source_url": "https://www.grc.nasa.gov/www/k-12/airplane/drageq.html",
    "note": "RK4 1 ms. Wind uses relative air velocity; constant gravity selected per world. Chicken flapping is an assumed upward support force 0.7mg, represented as effective downward acceleration 0.3g. Air density remains 1.225 kg/m³ on every gravity preset as a controlled experiment, not a Moon/Mars atmosphere simulation.",
    "max_speed": 40,
    "min_search_step": 0.5,
    "min_search_iterations": 12,
    "runUpAccelerationCap": 8,
    "runUpWarning": 5
  },
  "defaults": {
    "subject": "untrained",
    "speed": 8.2,
    "angle": 0,
    "ramp": false,
    "rampLength": 3,
    "rampSlope": 10,
    "parapet": true,
    "drag": true,
    "water": 0,
    "size": 1,
    "wind": 0,
    "gravity": "Earth",
    "ghost": true,
    "sound": true,
    "runUp": 25,
    "ship": false,
    "point": "carpark"
  },
  "scene": {
    "pileSpacing": 7,
    "pileWidth": 0.6,
    "deckThickness": 0.35,
    "slabThickness": 0.35,
    "carLength": 4.5,
    "carHeight": 1.5,
    "grassThickness": 0.15,
    "skylineDistance": 1800,
    "skylineLandmarks": [
      {
        "name": "IFC",
        "height": 412,
        "width": 60
      },
      {
        "name": "The Center",
        "height": 346,
        "width": 55
      },
      {
        "name": "Bank of China",
        "height": 367,
        "width": 52
      }
    ],
    "badge": "ASSUMED",
    "note": "The section uses equal scales. The building width is 58 m. Small fittings are estimated. The skyline is distant context, outside the section scale.",
    "skylineReferenceDistance": 32.4,
    "launchLane": 4,
    "viewWidth": 110,
    "farWallFraction": 0.27,
    "spriteScale": 1.5,
    "plantRoomWidth": 6,
    "plantRoomHeight": 2.2,
    "roofWidth": 58,
    "shipStart": 25,
    "skyClearance": 10,
    "waterBeyondApron": 7,
    "plantSetback": 3,
    "lcxUpperSetback": 18,
    "terraceRailHeight": 1.1
  },
  "controls": {
    "speed": {
      "label": "How fast",
      "min": 0,
      "max": 40,
      "step": 0.01,
      "unit": "m/s",
      "badge": "ASSUMED"
    },
    "angle": {
      "label": "Launch angle",
      "min": -10,
      "max": 45,
      "step": 1,
      "unit": "°",
      "badge": "ASSUMED"
    },
    "size": {
      "label": "Size",
      "min": 0.5,
      "max": 2,
      "step": 0.05,
      "unit": "×",
      "badge": "ASSUMED"
    },
    "apron": {
      "label": "Apron",
      "min": 0,
      "max": 40,
      "step": 0.1,
      "unit": "m",
      "badge": "DERIVED"
    },
    "roof": {
      "label": "Roof height",
      "min": 6,
      "max": 40,
      "step": 0.1,
      "unit": "m",
      "badge": "DERIVED"
    },
    "rampLength": {
      "label": "Ramp length",
      "min": 0.5,
      "max": 10,
      "step": 0.1,
      "unit": "m",
      "badge": "ASSUMED"
    },
    "rampSlope": {
      "label": "Ramp slope",
      "min": -10,
      "max": 45,
      "step": 1,
      "unit": "°",
      "badge": "ASSUMED"
    },
    "wind": {
      "label": "Wind · head / tail",
      "min": -10,
      "max": 10,
      "step": 0.1,
      "unit": "m/s",
      "badge": "ASSUMED"
    },
    "water": {
      "label": "Water height",
      "min": 0,
      "max": 2.6,
      "step": 0.05,
      "unit": "m",
      "badge": "DERIVED"
    },
    "runUp": {
      "label": "Run-up",
      "min": 5,
      "max": 40,
      "step": 1,
      "unit": "m",
      "badge": "ASSUMED"
    }
  },
  "gravity": {
    "Earth": 9.81,
    "Moon": 1.62,
    "Mars": 3.71
  },
  "presentation": {
    "nearMiss": 0.5,
    "slowRate": 0.25,
    "cameraThreshold": 0.6,
    "cameraEase": 6,
    "particleDuration": 0.85,
    "particleCount": 18,
    "animationHz": 4,
    "soundDuration": 0.5,
    "soundVolume": 0.12,
    "gravity_badge": "ASSUMED",
    "source_url": "data/measurements.json",
    "capture_date": "2026-11-11",
    "uncertainty": "Deliberate display and scenario settings.",
    "note": "Camera, animation and feedback do not alter physical trajectories."
  },
  "departures": {
    "lcx": {
      "label": "LCX roof",
      "roof": 17,
      "apron": 6,
      "parapetHeight": 1.1,
      "parapetType": "glass",
      "surface": "lawn",
      "runUp": 12,
      "runUpRange": [
        9,
        15
      ],
      "roofWidth": 58,
      "terraces": [
        {
          "x1": 0,
          "x2": 4,
          "level": 12.5
        },
        {
          "x1": 4,
          "x2": 8,
          "level": 9
        }
      ],
      "badge": "DERIVED",
      "uncertainty": {
        "roof": 1.5,
        "apron": 2,
        "runUp": 3,
        "parapetHeight": 0.2,
        "terraces": "Supplied levels and 4 m spans; ±1.5 m level and ±1 m span sensitivity."
      },
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    },
    "carpark": {
      "label": "Car park roof",
      "roof": 22,
      "apron": 15,
      "parapetHeight": 1,
      "parapetType": "concrete",
      "surface": "hatching",
      "runUp": 25,
      "runUpRange": [
        20,
        30
      ],
      "roofWidth": 58,
      "terraces": [],
      "badge": "DERIVED",
      "uncertainty": {
        "roof": 2,
        "apron": 3,
        "runUp": 5,
        "parapetHeight": 0.2,
        "terraces": "No terraces in this preset."
      },
      "source_url": "docs/reference-south-edge.jpg",
      "capture_date": "2026-11-11 (brief supplied)",
      "accessed_at": "2026-11-11",
      "method": "scaled from aerial reference against bollard spacing",
      "note": "Values and scaling method supplied in the brief. The aerial reference file was not supplied. We have not independently repeated that scaling."
    }
  },
  "levels": {
    "water": 0,
    "quay": 4.5,
    "mall": [
      8.5,
      12.5,
      16.5
    ],
    "lcxRoof": 17,
    "carDecks": [
      19.2,
      21.9
    ],
    "carparkRoof": 22,
    "roofCap": 0.1,
    "seabed": -8,
    "terraces": [
      12.5,
      9
    ],
    "mallFloorHeight": 4,
    "carFloorHeight": 2.7
  }
}
