seedhammer-v1-companion/web/composer
mineracks 0203be2e8f Composer: hole positions from production CAD + SVG error diagnostics
(1) Mounting holes were rendering at 6.5mm inset — a guess. The actual
    Mineracks production DXF (Name-Plate-85x85-316L 2B.DXF, the SH-02
    plate) places 4 circles at (3, 3), (3, 82), (82, 3), (82, 82) with
    radius 1.5mm. Centres sit on the outerMargin line; the hole edge
    falls 1.5mm shy of the plate edge.

    holeInsetMM:        6.5  → 3.0
    holeDiameterMM:     3.5  → 3.0  (true M3 clearance from CAD)
    holeDangerDiameterMM: unchanged at 7mm (covers the M3 nut/head
        footprint per the spec)

    Hole fill now #fff so the eye reads "metal removed here" instead
    of a printed dot. Same 3mm inset is applied to SH-01 and SH-03 —
    same physical drill jig, just different plate aspect.

(2) SVG-mode error message when no drawable shapes are found now
    enumerates what was actually in the file (e.g. "found: 12 <g>,
    4 <text>, 2 <tspan>") and gives a targeted hint:
      - if <text>/<tspan>: "text logos need 'Path → Object to Path'
        in Inkscape first"
      - if <image>: "raster images can't be engraved; re-trace as
        vector outlines"
      - if <use>/<symbol>: "unresolved references; expand in your
        editor first"
    Helps users figure out what to fix in their .svg without having
    to guess.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 20:38:14 +10:00
..
app.css #3 SVG path mode — second composer tab 2026-05-28 20:23:05 +10:00
app.js Composer: hole positions from production CAD + SVG error diagnostics 2026-05-28 20:38:14 +10:00
build.sh Phase 1 milestone: first buildable composer WASM + PWA shell 2026-05-28 19:37:08 +10:00
index.html Composer: M3 mounting holes on preview + auto shape-to-path 2026-05-28 20:27:11 +10:00
manifest.webmanifest Phase 1 milestone: first buildable composer WASM + PWA shell 2026-05-28 19:37:08 +10:00