{
  "report": {
    "artifact": "05-projectile-sim-argon",
    "evaluated_at": "2026-10-17T10:47:14.074Z",
    "errors": [],
    "blocked_requests": [],
    "scene": {
      "meshes": 106,
      "vertices": 11077,
      "bounds": {
        "min": [
          -2.1999998092651367,
          -0.809999993443489,
          -3.5999999046325684
        ],
        "max": [
          43,
          2.710419980089477,
          3.5999999046325684
        ],
        "size": [
          45.19999980926514,
          3.520419973532966,
          7.199999809265137
        ],
        "center": [
          20.40000009536743,
          0.9502099933229939,
          0
        ]
      },
      "camera": [
        7.699999999999999,
        7.400000000000002,
        24.5
      ],
      "target": [
        9.2,
        0.6,
        0
      ],
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "named": [
        {
          "name": "ProjectilePhysicsScene",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              -2.1999998092651367,
              -0.809999993443489,
              -3.5999999046325684
            ],
            "max": [
              43,
              2.710419980089477,
              3.5999999046325684
            ],
            "size": [
              45.19999980926514,
              3.520419973532966,
              7.199999809265137
            ],
            "center": [
              20.40000009536743,
              0.9502099933229939,
              0
            ]
          }
        },
        {
          "name": "MeasuringFieldGroup",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              -2.1999998092651367,
              -0.809999993443489,
              -3.5999999046325684
            ],
            "max": [
              43,
              0.7099999976158142,
              3.5999999046325684
            ],
            "size": [
              45.19999980926514,
              1.5199999910593034,
              7.199999809265137
            ],
            "center": [
              20.40000009536743,
              -0.04999999791383741,
              0
            ]
          }
        },
        {
          "name": "DownrangeExtensionField",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              20.982499999925494,
              -0.399999997317791,
              -3.4000000953674316
            ],
            "max": [
              43,
              0.7099999976158142,
              3.4000000953674316
            ],
            "size": [
              22.017500000074506,
              1.1099999949336052,
              6.800000190734863
            ],
            "center": [
              31.991249999962747,
              0.1550000001490116,
              0
            ]
          }
        },
        {
          "name": "DistanceSign_25m",
          "type": "Group",
          "position": [
            25,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              24.62000000476837,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              25.37999999523163,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              25,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_30m",
          "type": "Group",
          "position": [
            30,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              29.62000000476837,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              30.37999999523163,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              30,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_35m",
          "type": "Group",
          "position": [
            35,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              34.62000000476837,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              35.37999999523163,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              35,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_40m",
          "type": "Group",
          "position": [
            40,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              39.62000000476837,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              40.37999999523163,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              40,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceMarkersGroup",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              -0.3799999952316284,
              -0.16000000005215406,
              -2.985000000149012
            ],
            "max": [
              20.37999999523163,
              0.7099999976158142,
              2.700000047683716
            ],
            "size": [
              20.759999990463257,
              0.8699999976679683,
              5.685000047832728
            ],
            "center": [
              10,
              0.27499999878183007,
              -0.14249997623264798
            ]
          }
        },
        {
          "name": "DistanceSign_0m",
          "type": "Group",
          "position": [
            0,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              -0.3799999952316284,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              0.3799999952316284,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              0,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_5m",
          "type": "Group",
          "position": [
            5,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              4.620000004768372,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              5.379999995231628,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              5,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_10m",
          "type": "Group",
          "position": [
            10,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              9.620000004768372,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              10.379999995231628,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              10,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_15m",
          "type": "Group",
          "position": [
            15,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              14.620000004768372,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              15.379999995231628,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              15,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "DistanceSign_20m",
          "type": "Group",
          "position": [
            20,
            -0.16,
            -2.95
          ],
          "bounds": {
            "min": [
              19.62000000476837,
              -0.15999998807907104,
              -2.985000000149012
            ],
            "max": [
              20.37999999523163,
              0.7099999976158142,
              -2.9149999998509886
            ],
            "size": [
              0.7599999904632568,
              0.8699999856948852,
              0.07000000029802322
            ],
            "center": [
              20,
              0.2750000047683716,
              -2.95
            ]
          }
        },
        {
          "name": "LaunchPedestal",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              -0.6600000262260437,
              -0.23000000417232513,
              -0.6600000262260437
            ],
            "max": [
              0.6600000262260437,
              0.45961939639160676,
              0.6600000262260437
            ],
            "size": [
              1.3200000524520874,
              0.6896194005639319,
              1.3200000524520874
            ],
            "center": [
              0,
              0.11480969610964081,
              0
            ]
          }
        },
        {
          "name": "LauncherBarrelPivot",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              -0.22273863170102698,
              -0.22273863170102692,
              -0.20999999344348907
            ],
            "max": [
              0.45961939639160676,
              0.45961939639160676,
              0.20999999344348907
            ],
            "size": [
              0.6823580280926338,
              0.6823580280926337,
              0.41999998688697815
            ],
            "center": [
              0.11844038234528989,
              0.11844038234528992,
              0
            ]
          }
        },
        {
          "name": "TargetBasket",
          "type": "Group",
          "position": [
            10,
            0,
            0
          ],
          "bounds": {
            "min": [
              9.444000005722046,
              -0.16100000075995935,
              -0.5559999942779541
            ],
            "max": [
              10.555999994277954,
              0.2559999984502794,
              0.5559999942779541
            ],
            "size": [
              1.1119999885559082,
              0.4169999992102387,
              1.1119999885559082
            ],
            "center": [
              10,
              0.04749999884516001,
              0
            ]
          }
        },
        {
          "name": "BasketStaves",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              9.490000000447035,
              -0.1599999976158142,
              -0.5025557985289472
            ],
            "max": [
              10.509999999552965,
              0.2199999976158142,
              0.502555798528947
            ],
            "size": [
              1.0199999991059308,
              0.3799999952316284,
              1.005111597057894
            ],
            "center": [
              10,
              0.03,
              -5.551115123125783e-17
            ]
          }
        },
        {
          "name": "TrajectorySamplePoints",
          "type": "Group",
          "position": [
            0,
            0,
            0
          ],
          "bounds": {
            "min": [
              0.9643679921430794,
              0.8624311929585726,
              -0.054999999701976776
            ],
            "max": [
              9.229311926307481,
              2.6034199793146167,
              0.054999999701976776
            ],
            "size": [
              8.264943934164402,
              1.740988786356044,
              0.10999999940395355
            ],
            "center": [
              5.096839959225281,
              1.7329255861365946,
              0
            ]
          }
        },
        {
          "name": "ApexMarker",
          "type": "Group",
          "position": [
            5.09683995922528,
            0,
            0
          ],
          "bounds": {
            "min": [
              4.934839958748443,
              -0.15999999999999992,
              -0.02199999988079071
            ],
            "max": [
              5.258839959702117,
              2.710419980089477,
              0.02199999988079071
            ],
            "size": [
              0.3240000009536743,
              2.870419980089477,
              0.04399999976158142
            ],
            "center": [
              5.09683995922528,
              1.2752099900447385,
              0
            ]
          }
        },
        {
          "name": "LandingMarker",
          "type": "Group",
          "position": [
            10.19367991845056,
            0,
            0
          ],
          "bounds": {
            "min": [
              9.92567991177484,
              -0.15929798108339316,
              -0.2680000066757202
            ],
            "max": [
              10.46167992512628,
              -0.10470201891660685,
              0.2680000066757202
            ],
            "size": [
              0.5360000133514404,
              0.054595962166786305,
              0.5360000133514404
            ],
            "center": [
              10.19367991845056,
              -0.132,
              0
            ]
          }
        }
      ]
    },
    "controls": [
      {
        "tag": "BUTTON",
        "id": "btn-reset-view",
        "text": "Reset View",
        "type": "button",
        "value": ""
      },
      {
        "tag": "BUTTON",
        "id": "btn-export-glb",
        "text": "Export GLB",
        "type": "button",
        "value": ""
      },
      {
        "tag": "INPUT",
        "id": "slider-speed",
        "text": "",
        "type": "range",
        "value": "10",
        "min": "2",
        "max": "20"
      },
      {
        "tag": "INPUT",
        "id": "slider-angle",
        "text": "",
        "type": "range",
        "value": "45",
        "min": "5",
        "max": "85"
      },
      {
        "tag": "BUTTON",
        "id": "btn-launch",
        "text": "Launch",
        "type": "button",
        "value": ""
      },
      {
        "tag": "BUTTON",
        "id": "btn-pause",
        "text": "Pause",
        "type": "button",
        "value": ""
      },
      {
        "tag": "BUTTON",
        "id": "btn-reset",
        "text": "Reset",
        "type": "button",
        "value": ""
      }
    ],
    "desktop_overflow": false,
    "orbit_changes_camera": true,
    "glb": {
      "bytes": 569684,
      "magic": "glTF",
      "version": 2,
      "declared_length": 569684,
      "meshes": 51,
      "nodes": 92,
      "cameras": 0,
      "lights": 0,
      "roundtrip": {
        "meshes": 77
      }
    },
    "physics_default": {
      "g": 9.81,
      "flightTime": 1.4416040391163047,
      "range": 10.19367991845056,
      "maxHeight": 2.54841997961264
    },
    "physics_changed": {
      "g": 9.81,
      "flightTime": 1.223241590214067,
      "range": 12.712299505092675,
      "maxHeight": 1.8348623853211004
    },
    "mobile_overflow": false
  },
  "physics": {
    "cases": [
      {
        "speed": 10,
        "angle": 45,
        "actual": {
          "g": 9.81,
          "flightTime": 1.4416040391163047,
          "range": 10.19367991845056,
          "maxHeight": 2.54841997961264
        },
        "expected": {
          "g": 9.81,
          "flightTime": 1.4416040391163047,
          "range": 10.19367991845056,
          "maxHeight": 2.5484199796126394
        },
        "maxAbsError": 4.440892098500626e-16
      },
      {
        "speed": 12,
        "angle": 30,
        "actual": {
          "g": 9.81,
          "flightTime": 1.223241590214067,
          "range": 12.712299505092675,
          "maxHeight": 1.8348623853211004
        },
        "expected": {
          "g": 9.81,
          "flightTime": 1.223241590214067,
          "range": 12.712299505092675,
          "maxHeight": 1.8348623853211004
        },
        "maxAbsError": 0
      },
      {
        "speed": 2,
        "angle": 5,
        "actual": {
          "g": 9.81,
          "flightTime": 0.03553750978497784,
          "range": 0.07080455766235691,
          "maxHeight": 0.001548649030355957
        },
        "expected": {
          "g": 9.81,
          "flightTime": 0.03553750978497784,
          "range": 0.07080455766235691,
          "maxHeight": 0.001548649030355957
        },
        "maxAbsError": 0
      },
      {
        "speed": 20,
        "angle": 85,
        "actual": {
          "g": 9.81,
          "flightTime": 4.061955955521898,
          "range": 7.080455766235688,
          "maxHeight": 20.232494933865524
        },
        "expected": {
          "g": 9.81,
          "flightTime": 4.061955955521898,
          "range": 7.080455766235688,
          "maxHeight": 20.232494933865524
        },
        "maxAbsError": 0
      }
    ],
    "before": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            0,
            0,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nReady at Pedestal \u2014 Predicted range 10.19 m (+0.19 m from basket)\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 0.00 s / 1.44 s\nx = 0.00 m, y = 0.00 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    },
    "moving": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            1.7331187208568157,
            1.4384557017494894,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nIn Flight \u2014 Ball following analytic trajectory (t = 0.25 s)\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 0.25 s / 1.44 s\nx = 1.73 m, y = 1.44 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    },
    "paused": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            1.9685852789919358,
            1.588415602126821,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nPaused at t = 0.28 s \u2014 Press Launch to resume\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 0.28 s / 1.44 s\nx = 1.97 m, y = 1.59 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    },
    "pausedLater": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            1.9685852789919358,
            1.588415602126821,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nPaused at t = 0.28 s \u2014 Press Launch to resume\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 0.28 s / 1.44 s\nx = 1.97 m, y = 1.59 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    },
    "moves": true,
    "pauseStable": true,
    "landed": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            10.19367991845056,
            0,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nHIT! Landed at x = 10.19 m (0.19 m from basket center \u2264 0.50 m)\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 1.44 s / 1.44 s\nx = 10.19 m, y = 0.00 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    },
    "reset": {
      "physics": {
        "g": 9.81,
        "flightTime": 1.4416040391163047,
        "range": 10.19367991845056,
        "maxHeight": 2.54841997961264
      },
      "balls": [
        {
          "name": "ProjectilePhysicsScene",
          "p": [
            0,
            0,
            0
          ]
        },
        {
          "name": "ProjectileBall",
          "p": [
            0,
            0,
            0
          ]
        }
      ],
      "text": "Projectile Motion Teaching Lab\nAnalytic Ballistics \u00b7 g = 9.81 m/s\u00b2 \u00b7 No Drag \u00b7 Target Basket at x = 10.0 m (\u00b10.5 m)\nReady at Pedestal \u2014 Predicted range 10.19 m (+0.19 m from basket)\nReset View\nExport GLB\nLaunch Speed\n10.0 m/s\nElevation Angle\n45.0\u00b0\nLaunch\nPause\nReset\nt = 0.00 s / 1.44 s\nx = 0.00 m, y = 0.00 m\nFLIGHT TIME\n1.44 s\n2\u00b7v\u2080\u00b7sin\u03b8 / g\nMAX HEIGHT\n2.55 m\n(v\u2080\u00b7sin\u03b8)\u00b2 / 2g\nHORIZ. RANGE\n10.19 m\n+0.19 m vs basket"
    }
  }
}
