{
  "schema": "cad-agent-catalog-area/1",
  "origin": "https://cad-agent.valpatel.com",
  "revision": "5911faa4c077eb211b1dc042cfbe02a68c0ed0cf",
  "fields": {
    "level": "domain, area or bucket",
    "domain": "areas: the domain it belongs to",
    "priority": "demo (a good demo)",
    "projects": "areas: keys of the projects in docs/areas.yaml (areas_source) that used it",
    "issues": "GitHub issues for work in this area",
    "topics": "areas: its topics, with scope, maturity and issues",
    "areas": "domains: its areas",
    "count": "entries here",
    "kinds": "count per kind",
    "items": "every entry placed here (a domain holds its areas' entries): the fields of catalog.json without summary and related"
  },
  "item_fields": "https://cad-agent.valpatel.com/catalog.json (fields)",
  "slug": "publishing",
  "title": "Publishing",
  "scope": "Review sites, viewers, releases and this site.",
  "maturity": "tooling",
  "level": "area",
  "domain": "practice",
  "priority": [],
  "projects": [],
  "issues": [
    "https://github.com/Valpatel/cad-agent/issues/104",
    "https://github.com/Valpatel/cad-agent/issues/141",
    "https://github.com/Valpatel/cad-agent/issues/181"
  ],
  "topics": [],
  "count": 15,
  "kinds": {
    "demo": 3,
    "tool": 6,
    "project": 1,
    "guide": 5
  },
  "page": "https://cad-agent.valpatel.com/catalog?area=publishing",
  "index": "https://cad-agent.valpatel.com/catalog/index.json",
  "items": [
    {
      "type": "demo",
      "status": "ours",
      "name": "3D viewer and review site",
      "url": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "id": "demo-review-viewer",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Every part in place, with explode and section, and one top bar that links every report.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/viewer.jpg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "render"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Mesh convergence",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures#a-recorded-fea-study",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "id": "demo-mesh-convergence",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "An L-bracket's inside corner refined step by step: sharp, the peak stress keeps rising and converge() never passes it; with an R1.5 fillet it settles and converge() passes it",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/fea-mesh-convergence.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#a-recorded-fea-study",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/fea/mesh-convergence.svg"
    },
    {
      "type": "demo",
      "status": "ours",
      "name": "Snap engagement",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures#a-snap-fit-engaging",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "id": "demo-snap-engagement",
      "kind": "demo",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "A printed snap arm bends as a mating part's edge rides its hook's lead.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/still/compliant-snap-engagement.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#a-snap-fit-engaging",
      "licence_family": "permissive",
      "updated": "2026-11-01",
      "mode": "animated",
      "cover_animated": "https://cad-agent.valpatel.com/docs/img/compliant/snap-engagement.svg"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent site",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent site --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-site",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Build the project site (progress, designs, decisions, docs)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-site.svg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent view",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent view --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "id": "tool-view",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Export every part in assembly position for the 3D viewer",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-view.svg",
      "demo": "https://cad-agent.valpatel.com/docs/toolkit#3d-viewer-cad-agent-view--the-web-kit",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent package",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent package --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-package",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Zip the review package with a sha256 manifest",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-package.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent release",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent release --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#the-print-release-cad-agent-release",
      "id": "tool-release",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Write the print release: a browsable page of the parts (thumbnails, print settings) with CAD files and source, and a zip",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-release.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent serve",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent serve --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-serve",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Serve the project over http (Bambu Studio links)",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-serve.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "tool",
      "status": "ours",
      "name": "cad-agent webkit",
      "url": "https://cad-agent.valpatel.com/docs/toolkit",
      "how": "cad-agent webkit --help",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/toolkit.md",
      "doc": "https://cad-agent.valpatel.com/docs/toolkit#commands",
      "id": "tool-webkit",
      "kind": "tool",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Copy the web kit (3D stage, viewer, HUD) into the project",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/tool-webkit.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "upstream",
      "status": "candidate",
      "name": "naman113/Designstudio",
      "url": "https://github.com/naman113/Designstudio",
      "policy": "may incorporate with attribution; watch (STEP to auto-dimensioned PDF drawings, BOM, GLB viewer)",
      "license": "MIT",
      "stars": 8,
      "last_push": "2026-10-23",
      "id": "project-naman113-designstudio",
      "kind": "project",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Buildcore: turns STEP files into dimensioned drawings, a BOM, a 3D web view and a searchable parts catalogue",
      "notes": "\"Buildcore\": STEP to auto-dimensioned PDF drawings, grouped BOM, GLB viewer, parts catalogue (Docker, local port 8800)",
      "cover": "https://cad-agent.valpatel.com/catalog/covers/project-naman113-designstudio.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-23"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Viewing original CAD files",
      "url": "https://cad-agent.valpatel.com/docs/file-viewer",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/file-viewer.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/file-viewer.md",
      "id": "guide-file-viewer",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "The standalone webkit/file-viewer.html opens original STL, STEP/STP and core 3MF files.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/kit/file-viewer-step.webp",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Shared parts browser and build tracking",
      "url": "https://cad-agent.valpatel.com/docs/web-parts",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/web-parts.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/web-parts.md",
      "id": "guide-web-parts",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Shared modules for issue 62. The table/tracker implementation is available on the feature branch; the original-file viewer is being implemented alongside it.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/docs/img/kit/part-table.webp",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Animated figures from real CAD",
      "url": "https://cad-agent.valpatel.com/docs/animated-figures",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/animated-figures.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/animated-figures.md",
      "id": "guide-animated-figures",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "The README's hero is not drawn by hand.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-animated-figures.svg",
      "demo": "https://cad-agent.valpatel.com/docs/animated-figures#animated-figures-from-real-cad",
      "licence_family": "permissive",
      "updated": "2026-11-01"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "README and diagram style guide",
      "url": "https://cad-agent.valpatel.com/docs/style-guide",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/style-guide.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/style-guide.md",
      "id": "guide-style-guide",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "Every folder in this repo explains itself in a README.md, so a person or an agent landing anywhere can tell what the folder is for, how its pieces connect, and where to go next.",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-style-guide.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-10-31"
    },
    {
      "type": "doc",
      "status": "ours",
      "name": "Mermaid diagrams in published documents",
      "url": "https://cad-agent.valpatel.com/docs/web-diagrams",
      "license": "MIT",
      "markdown": "https://cad-agent.valpatel.com/docs/web-diagrams.md",
      "source": "https://github.com/Valpatel/cad-agent/blob/dev/docs/web-diagrams.md",
      "id": "guide-web-diagrams",
      "kind": "guide",
      "areas": [
        "publishing"
      ],
      "maturity": "tooling",
      "what": "webkit/diagrams.js exports renderDiagrams(root=document), observeDiagrams(root=document.body) and drawDiagram(source, options).",
      "notes": null,
      "cover": "https://cad-agent.valpatel.com/catalog/covers/guide-web-diagrams.svg",
      "demo": null,
      "licence_family": "permissive",
      "updated": "2026-11-01"
    }
  ]
}
