{
  "scope": "Fixed trough aperture and contact checks. Deterministic model results, not calibrated competition scores or probabilities.",
  "rows": [
    {
      "name": "u-side",
      "params": {
        "outlet": 1,
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.001,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 13.443078852957496,
      "status": "整球穿过侧壁孔",
      "turns": 16,
      "maxPenetrationMm": 0.09248778223991394,
      "rollingWorkJ": 0.00012956173364636408,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.84,
        "position": [
          0.23056940734386444,
          -0.02525060437619686,
          0.19492270052433014
        ]
      },
      "lastTurn": {
        "time": 12.8,
        "position": [
          -0.027213079854846,
          0.07388705015182495,
          0.11973913758993149
        ]
      },
      "last": [
        13.443078852957496,
        0.023869476387940573,
        0.12100000000000001,
        0.11793945043461528
      ]
    },
    {
      "name": "u-side",
      "params": {
        "outlet": 1,
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.0005,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 11.410879701398176,
      "status": "整球穿过侧壁孔",
      "turns": 14,
      "maxPenetrationMm": 0.5784295499324799,
      "rollingWorkJ": 0.00011565881266441388,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.84,
        "position": [
          0.22936111688613892,
          -0.024280797690153122,
          0.1941436529159546
        ]
      },
      "lastTurn": {
        "time": 11.040000000000001,
        "position": [
          -0.020642854273319244,
          0.09491022676229477,
          0.1189287081360817
        ]
      },
      "last": [
        11.410879701398176,
        -0.0009438622947460067,
        0.12100000000000001,
        0.11703157787515037
      ]
    },
    {
      "name": "u-side",
      "params": {
        "outlet": 1,
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.00025,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 12.964820943000001,
      "status": "整球穿过侧壁孔",
      "turns": 16,
      "maxPenetrationMm": 0.9161178022623062,
      "rollingWorkJ": 0.00012406961304667162,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.84,
        "position": [
          0.22967757284641266,
          -0.024550678208470345,
          0.19436749815940857
        ]
      },
      "lastTurn": {
        "time": 12.56,
        "position": [
          -0.02057379111647606,
          0.09519068151712418,
          0.1189582347869873
        ]
      },
      "last": [
        12.964820943000001,
        0.0009745590289542521,
        0.12100000000000001,
        0.11682786552000046
      ]
    },
    {
      "name": "pocket",
      "params": {
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "offset": 3,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.001,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 3.7815875044144307,
      "status": "整球穿过侧壁孔",
      "turns": 5,
      "maxPenetrationMm": 0.3486853092908859,
      "rollingWorkJ": 3.050611746181032e-05,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.88,
        "position": [
          0.22817766666412354,
          -0.0327313207089901,
          0.18732112646102905
        ]
      },
      "lastTurn": {
        "time": 3.16,
        "position": [
          0.0012102596228942275,
          0.08040028810501099,
          0.1194983422756195
        ]
      },
      "last": [
        3.7815875044144307,
        0.05436059627739343,
        0.12100000000000001,
        0.11794350593282292
      ]
    },
    {
      "name": "pocket",
      "params": {
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "offset": 3,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.0005,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 4.207069689090738,
      "status": "整球穿过侧壁孔",
      "turns": 5,
      "maxPenetrationMm": 0.21105818450450897,
      "rollingWorkJ": 3.2853991655761276e-05,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.88,
        "position": [
          0.227380633354187,
          -0.03330126404762268,
          0.18691954016685486
        ]
      },
      "lastTurn": {
        "time": 3.92,
        "position": [
          0.05355873331427574,
          0.08478515595197678,
          0.11944229900836945
        ]
      },
      "last": [
        4.207069689090738,
        0.02789305609925116,
        0.12100000000000001,
        0.11718140213619693
      ]
    },
    {
      "name": "pocket",
      "params": {
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 1,
        "hole": 8,
        "release": 80,
        "offset": 3,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.00025,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 4.187135964925955,
      "status": "整球穿过侧壁孔",
      "turns": 6,
      "maxPenetrationMm": 0.060074031352996826,
      "rollingWorkJ": 3.247949307967918e-05,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.88,
        "position": [
          0.2276175618171692,
          -0.03324747085571289,
          0.18707410991191864
        ]
      },
      "lastTurn": {
        "time": 3.92,
        "position": [
          0.053119879215955734,
          0.08926927298307419,
          0.11933382600545883
        ]
      },
      "last": [
        4.187135964925955,
        0.02947064730798533,
        0.12100000000000001,
        0.11714842562603932
      ]
    },
    {
      "name": "u-center",
      "params": {
        "outlet": 0,
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 0.06,
        "hole": 6,
        "release": 80,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.001,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 0.5654558338066011,
      "status": "整球落出中心底孔",
      "turns": 1,
      "maxPenetrationMm": 0.6644725799560547,
      "rollingWorkJ": 7.360190028409242e-06,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.48,
        "position": [
          0.010351154953241348,
          0.0014885029522702098,
          0.1142897754907608
        ]
      },
      "lastTurn": {
        "time": 0.48,
        "position": [
          0.010351154953241348,
          0.0014885029522702098,
          0.1142897754907608
        ]
      },
      "last": [
        0.5654558338066011,
        0.006136663378000116,
        0.005048763935396231,
        0.07900942478140591
      ]
    },
    {
      "name": "u-center",
      "params": {
        "outlet": 0,
        "width": 60,
        "depth": 20,
        "rise": 12,
        "tilt": 0.06,
        "hole": 6,
        "release": 80,
        "horizon": 300
      },
      "physical": {
        "air": 0.47,
        "friction": 0.6,
        "restitution": 0.15,
        "rolling": 0.02,
        "sag": 0,
        "warp": 0,
        "releaseError": 0,
        "mass": 2.7,
        "diameter": 40,
        "dt": 0.0005,
        "mesh": 0,
        "horizon": 60
      },
      "completed": true,
      "seconds": 0.5820196613438119,
      "status": "整球落出中心底孔",
      "turns": 1,
      "maxPenetrationMm": 0.11088699102401733,
      "rollingWorkJ": 7.683660594300823e-06,
      "maxEnergyGainJ": 0,
      "firstTurn": {
        "time": 0.52,
        "position": [
          0.011809282936155796,
          0.0007392070256173611,
          0.11025885492563248
        ]
      },
      "lastTurn": {
        "time": 0.52,
        "position": [
          0.011809282936155796,
          0.0007392070256173611,
          0.11025885492563248
        ]
      },
      "last": [
        0.5820196613438119,
        0.004221781015684825,
        0.00011211993647963742,
        0.07900942478140591
      ]
    },
    {
      "name": "bottom-hole-plugged",
      "completed": false,
      "seconds": 60,
      "status": "观察期未完成"
    },
    {
      "name": "side-hole-plugged",
      "completed": false,
      "seconds": 60,
      "status": "观察期未完成"
    },
    {
      "name": "level-floor-no-driving-slope",
      "completed": false,
      "seconds": 60,
      "status": "观察期未完成"
    }
  ],
  "eventGuards": [
    "partial crossing does not finish",
    "entire sphere clearance finishes",
    "outside aperture does not finish",
    "reverse crossing does not finish"
  ],
  "limitations": [
    "Hole contact timing varies with timestep.",
    "Transverse turns include rim bounces.",
    "Material parameters are not measured; dynamic paper deformation and collection are not modeled."
  ],
  "rollingCalibration": {
    "sourceHashes": {
      "troughs.js": "74d313cf6d6e4c463b4a084d1e5d5c23c64500310f0a70a6fe5061663fc9225f",
      "physics3d.js": "671a1188fc774bbd6a2698474c389f8c946c1afee049ceb9339e32ff83c6a751"
    },
    "description": "One 4-degree continuous static plane; 0.5m horizontal travel; virtual measurement plane, no real side-hole or collector.",
    "results": [
      {
        "rollingMm": 0,
        "completed": true,
        "time": 1.5631539679582713,
        "analyticTimeWithoutPlacementGap": 1.5625258716800912,
        "pathM": 0.501251646870038,
        "expectedRollingScaleJ": 0,
        "diagnostics": {
          "reversals": 0,
          "turningPoints": [],
          "engine": "Rapier 0.20.0",
          "dt": 0.0005,
          "mass": 0.0027000000700354576,
          "principalInertia": {
            "x": 7.200000027296483e-07,
            "y": 7.200000027296483e-07,
            "z": 7.200000027296483e-07
          },
          "airWorkJ": 0,
          "rollingWorkJ": 0,
          "maxMechanicalEnergyGainJ": 0,
          "maxPenetrationM": 6.963498890399933e-05,
          "maxSpeed": 0.6414868988607714,
          "transitions": 0,
          "checkpoints": 0,
          "loops": 0
        },
        "first": [
          0,
          0,
          0,
          0.22014883796162343
        ],
        "last": [
          1.5631539679582713,
          0,
          0.5,
          0.18501573598953366
        ]
      },
      {
        "rollingMm": 0.02,
        "completed": true,
        "time": 1.574465937881205,
        "analyticTimeWithoutPlacementGap": 1.5738197298541818,
        "pathM": 0.5012519134842921,
        "expectedRollingScaleJ": 1.3244318157363548e-05,
        "diagnostics": {
          "reversals": 0,
          "turningPoints": [],
          "engine": "Rapier 0.20.0",
          "dt": 0.0005,
          "mass": 0.0027000000700354576,
          "principalInertia": {
            "x": 7.200000027296483e-07,
            "y": 7.200000027296483e-07,
            "z": 7.200000027296483e-07
          },
          "airWorkJ": 0,
          "rollingWorkJ": 1.3270409300897989e-05,
          "maxMechanicalEnergyGainJ": 0,
          "maxPenetrationM": 6.971694529056549e-05,
          "maxSpeed": 0.6367578528544913,
          "transitions": 0,
          "checkpoints": 0,
          "loops": 0
        },
        "first": [
          0,
          0,
          0,
          0.22014883796162343
        ],
        "last": [
          1.574465937881205,
          0,
          0.5,
          0.18501563919880293
        ]
      }
    ]
  },
  "geometryChecks": {
    "centralHoleDiametersCm": [
      4.5,
      6,
      8,
      10
    ],
    "sideWallVariants": [
      "u_channel",
      "pocket"
    ],
    "internalTJunctions": 0,
    "nonManifoldEdges": 0
  }
}
