Why
In loobric-freecad's asset-store mode, tool libraries are served from the server. A toolbit referencing a custom shape (.fcstd) renders wrong or fails to instantiate on any seat that lacks the shape file locally — shape references sync today, shape contents do not. This is the one designed follow-up that store-mode v1 ships around (v1 warns on pull when a referenced shape is missing locally).
What
Server-side storage for shape blobs with:
- Content-hash identity — a shape is identified by a digest of its bytes, so the same shape referenced by 40 tools is stored once and renaming a file doesn't fork it
- Association with ToolInstanceRecords via the existing reference (the
.fctb's shape name stays the client-facing handle; the record carries the hash)
- Versioning — a re-uploaded shape with new content is a new blob; records point at a specific hash
- Size limits and media-type validation (these are opaque binary
.fcstd documents; the server never parses them)
The existing media-attachment mechanism (attach_media_from_url, MCP 1.2.0) may be the foundation or a sibling — needs a deliberate decision rather than reuse-by-default, since media is per-record and shapes are shared across records.
Explicitly out of scope
- Built-in FreeCAD shapes (every seat has them; only custom shapes sync)
- Parsing/validating shape geometry server-side
.fcm machine configs — permanent non-goal; post/kinematics config is not Loobric's domain
Client behavior this unblocks
FreeCAD addon serves toolbitshape assets from the mirror like toolbits: a pulled tool arrives with its custom shape, multi-seat just works.
🤖 Generated with Claude Code
Why
In loobric-freecad's asset-store mode, tool libraries are served from the server. A toolbit referencing a custom shape (
.fcstd) renders wrong or fails to instantiate on any seat that lacks the shape file locally — shape references sync today, shape contents do not. This is the one designed follow-up that store-mode v1 ships around (v1 warns on pull when a referenced shape is missing locally).What
Server-side storage for shape blobs with:
.fctb's shape name stays the client-facing handle; the record carries the hash).fcstddocuments; the server never parses them)The existing media-attachment mechanism (
attach_media_from_url, MCP 1.2.0) may be the foundation or a sibling — needs a deliberate decision rather than reuse-by-default, since media is per-record and shapes are shared across records.Explicitly out of scope
.fcmmachine configs — permanent non-goal; post/kinematics config is not Loobric's domainClient behavior this unblocks
FreeCAD addon serves
toolbitshapeassets from the mirror like toolbits: a pulled tool arrives with its custom shape, multi-seat just works.🤖 Generated with Claude Code