feat(canvas): add CAD vector semantic context and non-destructive vector crop

Extend CAD conversion to emit bounded semantic metadata (units, layers,
blocks, entity types, labels, crop-indexed bounds) alongside the derived
SVG, tag imported drawings as cad-vector nodes, and carry semanticContext
through canvas nodes, snapshot normalization, and reference images. Agent
Chat forwards this metadata as hidden cad-context reference parts.

Add non-destructive vector cropping: cropping a vector/CAD node keeps the
source SVG and spawns a transparent WebP sibling with crop-scoped semantic
context, wired through the vectorized image toolbar and the workspace crop
tool. Include node --test coverage for CAD semantics and vector crop.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-16 16:42:30 +08:00
parent 29b3bd222c
commit ac6f1d84af
23 changed files with 1061 additions and 88 deletions
+2
View File
@@ -35,6 +35,8 @@ Open `http://localhost:5173`. Next.js rewrites `/api` to `http://localhost:8888`
The canvas asset picker and drag-and-drop surface accept DWG and DXF files up to 24 MB. Conversion runs locally in a browser worker, uploads a sanitized derived SVG, and leaves the source file unchanged. DXF supports ASCII and binary drawings; DWG supports AutoCAD R14 through AutoCAD 2018 format families.
Derived CAD SVGs retain bounded semantic metadata for drawing units, layers, reusable blocks, entity types, visible labels, and crop-indexed bounds. Agent Chat sends this metadata as hidden reference context while rasterizing only the model-bound image input to transparent WebP. Vector crop keeps the original SVG and creates a smaller transparent WebP sibling beside it with crop-specific semantic context, ready for follow-up questions in Agent Chat.
## Cache Config
Default in-memory cache: