darinlarimore/statamic-3d-field
A Statamic fieldtype for uploading and managing 3D model files, with an interactive control-panel preview powered by Google's model-viewer. Easily add GLB/GLTF assets to entries and render them on your site.
statamic/cms to ^5.0|^6.0, which is the gating signal that this addon will not block a Statamic 6 migration. If Statamic 6 is on the roadmap, this package moves from "unknown" to "cleared for the upgrade train" — the remaining dependency question is the rest of the addon portfolio, not this one.model-viewer web component — not a storage layer, transcoding pipeline, or CDN strategy. Buy this; build the asset pipeline separately.model-viewer field in a collection or Globals and see whether editors actually use 3D assets in product or marketing entries before committing to a broader 3D content initiative.FieldtypeMixin banner shim, externalized Vue, IIFE bundle) are implementation detail with no product-facing delta. Do not let them appear as value in a roadmap narrative.Consider it when:
model-viewer custom element registration and CP integration are already handled.composer.json.Look elsewhere or wait when:
model-viewer provides some of this at the browser layer, but the addon gives no control over which capabilities are enabled or how they degrade — evaluate the underlying web component directly, not the fieldtype.To executives: This is a small, low-cost addon that lets editors attach and preview 3D product models directly in Statamic's admin. The vendor just shipped a compatibility release so it keeps working across the current and next major version of the CMS — meaning it won't become a blocker when we upgrade the platform. It is not a 3D content platform; it is a convenience layer on top of standard model files. Recommend a single-collection pilot with a defined success metric (e.g., percentage of product entries with a 3D model within one quarter) rather than an org-wide rollout. Cost of reversal is one uninstalled package.
To engineering: The 1.1.0 change is a Vue 2 → Vue 3 port of the CP fieldtype to support Statamic 6, with the statamic/cms constraint widened to ^5.0|^6.0. Mechanically: the build moved from @vitejs/plugin-vue2 to @vitejs/plugin-vue, Vue is externalized, output is an IIFE bundle with a FieldtypeMixin banner shim, model-viewer is registered as a custom element in the Vue compiler config, the removed toggle-input global is replaced with ui-switch, illegal this. references are stripped from templates, and the component now registers inside Statamic.booting().
Three things to verify before we depend on it:
composer.json, confirm the model-viewer custom element is loaded from a versioned source rather than a floating CDN URL, and check whether the asset is bundled or fetched at runtime — that difference affects our CSP and offline/air-gapped behavior.Overall: adopt for a scoped pilot; do not treat it as a platform dependency until we have the above answers.
How can I help you explore Laravel packages today?