{
  "case_fields": {
    "event_timeline": "Times relative to simulated gate event; scenario narration is synthetic",
    "expected_processing": "Human-authored QA oracle for regression tests; engine must not simply copy to outcome",
    "narrative": "Fictional site context and limitations",
    "parameters.components": "Math component definitions and per-channel coupling coefficients",
    "preset_truth": "Generator conditions; used only as synthetic assumptions",
    "source_configuration": "Explicit source types and presumed restart injected by Python; not classifier detections",
    "timebase": "Clock alignment scenario status and simulated offset (not calculated from data)"
  },
  "channel_status_enum": {
    "LOST": "原始值缺失，CSV该值字段为空；图上必须断线，JS解析为null；禁止补0或自动插值",
    "SATURATED": "值已被演示上/下限截顶，数值可绘制但无资格代表真实峰幅、不得用于特征",
    "VALID": "数值有效，可参与合成特征计算"
  },
  "columns_in_order": [
    "scenario_id",
    "sample_index",
    "time_s",
    "bx_au",
    "by_au",
    "bz_au",
    "reference_au",
    "bx_status",
    "by_status",
    "bz_status",
    "reference_status",
    "timebase_status",
    "unit",
    "synthetic",
    "data_version"
  ],
  "csv_encoding": "UTF-8 without BOM; header + CRLF rows; fixed six-decimal channel values",
  "csv_file": "data/v3/synthetic_events_v3.csv",
  "data_version": "grv3-synthetic-20261114-r1",
  "fields": {
    "bx_au": {
      "description_zh": "目标通道Bx合成值；SATURATED时为裁剪显示值；LOST时为空",
      "nullable": true,
      "type": "number|null",
      "unit": "a.u."
    },
    "bx_status": {
      "description_zh": "Bx当前记录数值质量",
      "nullable": false,
      "type": "enum",
      "unit": null
    },
    "by_au": {
      "description_zh": "目标通道By合成值",
      "nullable": true,
      "type": "number|null",
      "unit": "a.u."
    },
    "by_status": {
      "description_zh": "By当前记录数值质量",
      "nullable": false,
      "type": "enum",
      "unit": null
    },
    "bz_au": {
      "description_zh": "目标通道Bz合成值；SATURATED时为裁剪显示值",
      "nullable": true,
      "type": "number|null",
      "unit": "a.u."
    },
    "bz_status": {
      "description_zh": "Bz当前记录数值质量",
      "nullable": false,
      "type": "enum",
      "unit": null
    },
    "data_version": {
      "description_zh": "生成数据版本，用于避免与nT旧数据混读",
      "nullable": false,
      "type": "string",
      "unit": null
    },
    "reference_au": {
      "description_zh": "参考通道合成值，失联时为空而不是0",
      "nullable": true,
      "type": "number|null",
      "unit": "a.u."
    },
    "reference_status": {
      "description_zh": "参考通道当前记录数值质量",
      "nullable": false,
      "type": "enum",
      "unit": null
    },
    "sample_index": {
      "description_zh": "单案例从0开始的采样点编号",
      "nullable": false,
      "type": "integer",
      "unit": "index"
    },
    "scenario_id": {
      "description_zh": "案例编号 SIM-01..SIM-12",
      "nullable": false,
      "type": "string",
      "unit": null
    },
    "synthetic": {
      "description_zh": "仅TRUE；从未实测",
      "nullable": false,
      "type": "boolean_text",
      "unit": null
    },
    "time_s": {
      "description_zh": "相对于道闸记录0秒的采样时间，闭区间-1.50到4.50",
      "nullable": false,
      "type": "number",
      "unit": "s"
    },
    "timebase_status": {
      "description_zh": "相对道闸0秒的时间映射设定状态",
      "nullable": false,
      "type": "enum",
      "unit": null
    },
    "unit": {
      "description_zh": "数值单位恒为a.u.，任意归一化演示单位",
      "nullable": false,
      "type": "string",
      "unit": "a.u."
    }
  },
  "semantics": {
    "clipping": "SATURATED numeric is a display clip, not a trustworthy amplitude; feature calculations skip it",
    "legacy": "V2.1 legacy has SIM-01..05, 0..3 s and *_nT fields; keep separate assets/URLs, do not merge numeric units or overwrite",
    "missing": "CSV empty cell -> JavaScript null, never Number('')=0. A LOST sample is not a measured zero",
    "observed_features": "Event analysis reads only CSV numeric/status rows to compute features",
    "plotting": "For each of bx/by/bz/reference render one series; break segments on LOST; label SATURATED points/dashed segments; never bridge missing reference interval",
    "signal_unit": "a.u. is arbitrary normalized demonstration units; not nT, T or calibrated OPM output",
    "source_of_attribution": "Source attribution comes from explicit synthetic scenario assumptions; waveform alone cannot label gate/vehicle/cart",
    "synthetic_truth": "cases_v3.json preset_truth is generator input, NOT feature computed from CSV",
    "time": "time_s is referenced to a simulated gate controller timestamp at 0; no absolute UTC/POSIX time",
    "time_grid": {
      "end_s": 4.5,
      "inclusive": true,
      "samples_per_case": 601,
      "start_s": -1.5,
      "step_s": 0.01
    }
  },
  "synthetic": true,
  "timebase_status_enum": {
    "NOMINAL": "生成程序按假定对齐的时钟生成，非硬件校准证明",
    "OFFSET_UNCERTAIN": "模拟时钟偏移未校准；不允许时间关联结论"
  },
  "version": "3.0.0"
}
