daikazu/filament-size-visualizer-field
Adds an interactive visual preview to size inputs in Filament forms, so users can see dimensions, font sizes, or spacing as they edit instead of guessing from a number. Drop it into any resource or form to replace plain numeric fields with a clearer, WYSIWYG-style size control.
Architecture fit. This is a Laravel package that ships a Filament admin component for rendering a size/scale visualizer — a fabric.js canvas with a static grid layer and an animated object layer (product, coin, size circle, pattern square). Architecturally it sits in the admin/back-office tier, not the request path. That is a favorable risk profile: a rendering defect degrades an internal editing experience, not customer checkout. The v2 split into static and animated layers is a sound decision and improves per-interaction cost, but it also means the package now owns two render paths that must stay in sync — a new class of defect to test.
Integration feasibility. v2 is a hard platform pin: PHP 8.3+, Laravel 13, Filament v5, Tailwind v4. That is a leading-edge stack with no fallback. Feasibility is therefore not a property of the package but of our own upgrade state — if we are on Laravel 11/12 and Filament v3, v2 cannot be adopted at all today. The asset-pipeline change (@tailwindcss/cli, removal of tailwind.config.js and postcss.config.js) is the subtlest obstacle: it is a package-level build change that collides with host-application Tailwind configuration. Confirm whether the package ships precompiled CSS or expects the host to compile its views.
Technical risk.
dynamicObjectSize() / getDynamicObjectSize() are gone. The notes say they were never wired up, but a grep of our codebase and any downstream plugins is cheap insurance against a fatal.Key questions.
resize-size-visualizer / dispose-size-visualizer events now a stable contract, and are they versioned as such?Stack fit. Adopt only if we are committed to Laravel 13 + Filament v5 + Tailwind v4 on a known timeline. If the platform upgrade is six-plus months out or unsponsored, v2 is not a candidate; stay on v1.x (assuming it is still supported) or defer. Do not attempt to run v2 against Laravel 12 or Filament v3 — the pin is explicit and unsupported combinations will fail at the asset and component-registration layers.
Migration path.
dynamicObjectSize / getDynamicObjectSize, and catalogue every Filament plugin and custom admin asset to find v3/v4 pins that would block a v5 move.Compatibility. The riskiest interaction is not Laravel or Filament but Tailwind. Removal of tailwind.config.js and postcss.config.js is not a package-internal detail if the host shares a build. Verify plugin compatibility against Filament v5 explicitly — a mixed estate of v3-era plugins will fragment the admin panel.
Sequencing. Pin to v1.x on the current platform while running v2 in a throwaway branch against a Laravel 13 + Filament v5 skeleton. Gate the production upgrade on three exit criteria: assets build cleanly without a Tailwind v3 config, browser tests cover the coin async race and Livewire-update canvas persistence, and the accessibility review of the animated canvas is signed off.
Maintenance. The project's cadence is aggressive: it tracks the newest majors and cuts support for prior ones in the same release. Budget for at least one forced platform upgrade per year to stay inside the support envelope. If this visualizer is on any long-lived admin surface, consider pinning a fork or vendoring the package so an upstream major cannot break the panel on a routine composer update.
Support. No LTS is stated. PHP 8.3+ and Laravel 13 mean the supported matrix is narrow by construction. Establish an internal owner — this is not a fire-and-forget dependency, because the failure mode (blank canvas in the admin panel) is visual and will not raise an exception.
Scaling. Rendering is client-side per admin user, so server scaling is essentially unaffected. The static/animated layer split is the right optimization and should reduce redraw cost on value changes. Watch device-side cost instead: product images are contain-fit into the size box, and large source images on low-end hardware are the realistic bottleneck. Cap upload dimensions in the form rather than relying on the canvas.
Failure modes.
wire:ignore and Alpine-managed-listener fixes are correct but must be regression-tested, not assumed.x-load directive fix) — the most severe failure and the hardest to notice in code review.Ramp-up. Modest but non-zero. Contributors need fabric.js familiarity, Tailwind v4's CSS-first model, and Filament v5 component conventions — three recent technologies with thinner documentation. The newly documented resize-size-visualizer / dispose-size-visualizer events lower the barrier for embedding the component in custom Livewire pages and are the single most useful addition for onboarding. Plan a short spike before committing a sprint; the geometry and layering model is easier to learn from a running canvas than from source.
How can I help you explore Laravel packages today?