Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Size Visualizer Field Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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.

  • Toolchain breaking change (highest). Tailwind v4 is CSS-first; a host on Tailwind v3 cannot compile this package's assets without a parallel build. This is the item most likely to block adoption quietly rather than loudly.
  • Double major jump. Filament v3 → v5 skips v4. The upgrade path must be validated as a whole, not per-package.
  • fabric.js v6/v7 origin semantics. Anchoring now starts from the bottom-left of the grid. Any saved geometry, snapshot, or test fixture produced under v1 will render differently. Visual regression is likely and hard to catch without golden-image tests.
  • Public API removal. 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.
  • Bleeding-edge dependency surface. fabric.js v7, Tailwind v4, and Filament v5 are all recent majors; expect a thinner body of community answers and a higher chance of upstream patch churn.

Key questions.

  1. Is there a maintained v1.x branch with a stated support window, or does v2 orphan Laravel 10/11/12 consumers entirely?
  2. Does the package publish compiled assets, or must the host adopt the Tailwind v4 toolchain?
  3. What is the supported browser matrix, and is the canvas reachable by keyboard/screen reader? Animated canvas is a known accessibility gap.
  4. What is the automated test story — unit, Pest browser, or visual snapshot? The v2 fix list (async coin race, canvas vanishing on Livewire updates, listener leaks) is exactly the set of bugs that regress silently without browser-level tests.
  5. Are the resize-size-visualizer / dispose-size-visualizer events now a stable contract, and are they versioned as such?

Integration Approach

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.

  1. Inventory: grep for dynamicObjectSize / getDynamicObjectSize, and catalogue every Filament plugin and custom admin asset to find v3/v4 pins that would block a v5 move.
  2. Establish a Tailwind story: either adopt CSS-first v4 configuration across the admin theme, or confirm the package ships precompiled CSS so our build is untouched.
  3. Upgrade in order — PHP 8.3, Laravel 13, Filament v5, Tailwind v4 toolchain — landing the package last so failures are attributable.
  4. Rebuild any golden-image or snapshot fixtures before merging; treat all geometry output as changed until proven otherwise.

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.

Operational Impact

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.

  • Asset build failure from a missing Tailwind v4 toolchain — silent, no PHP error, component renders unstyled or blank.
  • fabric.js version drift re-breaking imports or origin semantics on a patch bump.
  • Recurrence of the race conditions just fixed: coin render on initial load, canvas disappearing after Livewire updates. The wire:ignore and Alpine-managed-listener fixes are correct but must be regression-tested, not assumed.
  • Event listener leaks on SPA navigation — fixed, but the fix is only durable if navigation paths stay covered by tests.
  • Component failing to mount entirely (the 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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console