{
  "schema": "physics-anim-scene",
  "version": 1,
  "pixelsPerMeter": 80,
  "gravityAcceleration": 9.8,
  "coulombK": 8987551792.3,
  "timeScale": 0.5,
  "canvasBackground": {
    "mode": "coordinate",
    "origin": {
      "x": 0,
      "y": 0
    }
  },
  "view": {
    "x": 30,
    "y": 30,
    "scale": 0.8
  },
  "entities": [
    {
      "id": 90,
      "type": "RichTextEditor",
      "state": {
        "pos": {
          "x": 360,
          "y": 65
        },
        "width": 660,
        "height": 100,
        "text": "## 自由落体 · 测量 g\n同高、静止释放；蓝球 0.10 kg，橙球 0.30 kg。",
        "fontSize": 16,
        "fontWeight": 400,
        "backgroundColor": "#ffffff",
        "backgroundOpacity": 0.96,
        "textColor": "#163047",
        "borderColor": "#cbd5e1",
        "borderWidth": 1,
        "cornerRadius": 10,
        "showBorder": true,
        "padding": 18,
        "lineHeight": 1.45,
        "locked": true
      }
    },
    {
      "id": 1,
      "type": "MechanicsBall",
      "state": {
        "pos": {
          "x": 280,
          "y": 170
        },
        "vel": {
          "x": 0,
          "y": 0
        },
        "radius": 18,
        "mass": 0.1,
        "color": "#2563eb",
        "useGravity": true,
        "isStatic": false,
        "isPointMass": false,
        "locked": false,
        "angle": 0,
        "omega": 0,
        "elasticityCoefficient": 0,
        "friction": 0,
        "frictionMode": "simple",
        "showDirectionMarker": false,
        "showForces": false,
        "showVelocityVector": true,
        "showAccelerationVector": false,
        "showTrail": true,
        "maxTrail": 500,
        "trailUnlimited": false
      }
    },
    {
      "id": 2,
      "type": "MechanicsBall",
      "state": {
        "pos": {
          "x": 440,
          "y": 170
        },
        "vel": {
          "x": 0,
          "y": 0
        },
        "radius": 18,
        "mass": 0.3,
        "color": "#d97706",
        "useGravity": true,
        "isStatic": false,
        "isPointMass": false,
        "locked": false,
        "angle": 0,
        "omega": 0,
        "elasticityCoefficient": 0,
        "friction": 0,
        "frictionMode": "simple",
        "showDirectionMarker": false,
        "showForces": false,
        "showVelocityVector": true,
        "showAccelerationVector": false,
        "showTrail": true,
        "maxTrail": 500,
        "trailUnlimited": false
      }
    },
    {
      "id": 3,
      "type": "MechanicsPlaneBoundary",
      "state": {
        "pos": {
          "x": 350,
          "y": 592
        },
        "length": 570,
        "angleDeg": 0,
        "thickness": 8,
        "elasticityCoefficient": 0,
        "friction": 0,
        "frictionMode": "simple",
        "rollingFriction": 0,
        "doubleSided": true,
        "flipNormal": false,
        "locked": true
      }
    },
    {
      "id": 4,
      "type": "Ruler",
      "state": {
        "pos": {
          "x": 140,
          "y": 370
        },
        "length": 400,
        "thickness": 24,
        "angleDeg": 90,
        "unit": "m",
        "minorStep": 0.25,
        "majorEvery": 4,
        "showTicks": true,
        "showNumbers": true,
        "showMeasure": true,
        "showEntityMarkers": false,
        "commonGraduation": false,
        "fillColor": "#f8fafc",
        "strokeColor": "#64748b",
        "opacity": 1,
        "locked": true
      }
    },
    {
      "id": 5,
      "type": "Stopwatch",
      "state": {
        "pos": {
          "x": 620,
          "y": 200
        },
        "width": 148,
        "height": 84,
        "displayStyle": "digital",
        "controlMode": "main",
        "enabled": false,
        "timeScale": 1,
        "precisionSec": 0.01,
        "zeroSimTime": 0,
        "heldSec": 0,
        "showDial": false,
        "locked": true
      }
    },
    {
      "id": 91,
      "type": "RichTextEditor",
      "state": {
        "pos": {
          "x": 960,
          "y": 250
        },
        "width": 430,
        "height": 450,
        "text": "### 测量方案\n1. 点击开始，观察两球的竖直位置。\n2. 在落地前暂停，记录 t、下落距离 h 和 vᵧ。\n3. 取 0.2、0.4、0.6、0.8 s 附近的读数。\n4. 由两点计算 g = Δvᵧ / Δt。\n\n**读数与曲线**：竖直向下为正。\n**有效区间**：0 < t < 1.01 s。\n**复测**：重置后仅改变一个球的质量。\n\n理想模型不计空气阻力；尺子对应 5.00 m 球心下降高度。",
        "fontSize": 16,
        "fontWeight": 400,
        "backgroundColor": "#ffffff",
        "backgroundOpacity": 0.96,
        "textColor": "#163047",
        "borderColor": "#cbd5e1",
        "borderWidth": 1,
        "cornerRadius": 10,
        "showBorder": true,
        "padding": 18,
        "lineHeight": 1.45,
        "locked": true
      }
    },
    {
      "id": 6,
      "type": "ObservationVariables",
      "state": {
        "pos": {
          "x": 960,
          "y": 640
        },
        "width": 420,
        "height": 252,
        "title": "实时测量 · SI 单位",
        "fontSize": 13,
        "compactMode": false,
        "accentColor": "#0f766e",
        "locked": true,
        "definitions": [
          {
            "id": "reading_h_blue",
            "name": "h_blue",
            "label": "蓝球下落 h / m",
            "expression": "ref_1_basic_y - 2.125",
            "visible": true
          },
          {
            "id": "reading_h_amber",
            "name": "h_amber",
            "label": "橙球下落 h / m",
            "expression": "ref_2_basic_y - 2.125",
            "visible": true
          },
          {
            "id": "reading_v_blue",
            "name": "v_blue",
            "label": "蓝球 vᵧ / (m/s)",
            "expression": "ref_1_ball_vy",
            "visible": true
          },
          {
            "id": "reading_v_amber",
            "name": "v_amber",
            "label": "橙球 vᵧ / (m/s)",
            "expression": "ref_2_ball_vy",
            "visible": true
          }
        ]
      }
    },
    {
      "id": 7,
      "type": "CoordinateSystem",
      "state": {
        "pos": {
          "x": 360,
          "y": 730
        },
        "width": 640,
        "height": 215,
        "enabled": true,
        "targetEntityIdX": "",
        "targetEntityIdY": "1",
        "xMode": "time",
        "yMode": "ball_vy",
        "ySeries": [
          {
            "enabled": true,
            "targetEntityId": "1",
            "yMode": "ball_vy",
            "color": "#2563eb"
          },
          {
            "enabled": true,
            "targetEntityId": "2",
            "yMode": "ball_vy",
            "color": "#d97706"
          }
        ],
        "sampleStepSec": 0.008333333333333333,
        "maxPoints": 2400,
        "timeWindowSec": 2,
        "autoY": true,
        "xLabel": "t / s",
        "yLabel": "vᵧ / (m/s)",
        "showExtremaX": false,
        "showExtremaY": false,
        "showIntercepts": false,
        "dataSeries": [
          [],
          []
        ],
        "data": [],
        "locked": true
      }
    }
  ]
}
