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

Product Decisions This Supports

  • Feature scope: interactive size/measurement visualization. The package renders a product, coin, size circle, and pattern square on a fabric.js canvas, driven by Filament form state. It supports catalogue/admin tooling where buyers or merchandisers compare relative sizes (ring sizes, coin/pattern references, product dimensions) rather than reading raw numbers.
  • Roadmap: platform upgrade sequencing. v2.0.0 is effectively a platform-alignment release — PHP 8.3+, Laravel 13, Filament v5, Tailwind v4. Adopting it is a decision about when we move the host application, not an isolated dependency bump. Treat it as a forcing function input to the Laravel 13 / Filament v5 migration plan.
  • Build vs buy: buy/adopt, with a small blast radius. The component is narrow and self-contained (one Filament widget, one canvas surface). Rebuilding means re-solving fabric.js origin/scaling math, Livewire DOM preservation (wire:ignore), async image-load races, and Alpine-managed listeners — all of which this release explicitly hardens. Building is only justified if the visualization must live outside Filament or must differ substantially in interaction model.
  • Use cases to validate against: e-commerce size selectors and size guides, jewellery/ring sizing, coin and pattern reference comparisons, and internal catalogue QA screens where visual proportion matters more than numeric precision.
  • Upgrade cost is a real line item. Dropping Laravel 10/11/12 and Filament v3 means we cannot adopt v2 while the host app remains on the older stack. Decision: pin v1 on current Laravel 12/Filament v3, or adopt v2 only as part of the Laravel 13/Filament v5 cutover. Avoid a half-migrated state.
  • Tailwind v4 toolchain change has downstream impact. tailwind.config.js and postcss.config.js are removed in favour of @tailwindcss/cli. If our app's build pipeline or design-system conventions still assume a v3-style config, this package's asset build becomes a small integration project, not a drop-in.

When to Consider This Package

Adopt when all of the following hold:

  • The host application is on (or is actively migrating to) PHP 8.3+, Laravel 13, Filament v5, and the front-end build is on Tailwind CSS v4.
  • The need is specifically a Filament-embedded visual size/comparison widget — not a general-purpose canvas or charting library.
  • The team is comfortable owning Livewire + Alpine + fabric.js v7 integration details, including wire:ignore semantics and the documented resize-size-visualizer / dispose-size-visualizer events.
  • A single-maintainer, narrow-scope dependency is acceptable, and we can pin a version and absorb a breaking major every platform cycle.

Look elsewhere when:

  • We are staying on Laravel 10/11/12 or Filament v3 — v2 offers no path for us, and v1 is now a dead-end branch. Budget for eventual replacement or for the platform upgrade.
  • The visualization must run outside Filament (storefront Blade/Livewire, headless API, mobile app) or must be server-rendered / no-JS.
  • Requirements include accessibility-first sizing UX, localization of measurement units, or a documented public API with a stability/support commitment — none of which this release addresses.
  • We need preact/React-style composable primitives, charting, or rich annotation; fabric.js-based rendering is the wrong tool.
  • The product needs a supported vendor relationship (SLA, security disclosure process, long-term maintenance guarantees). The release notes show careful engineering, but not organisational backing.

How to Pitch It (Stakeholders)

For executives (one paragraph): This is a small, focused UI component that turns raw size numbers into a visual comparison inside our admin/product tooling. The new v2.0.0 release is a platform alignment release: it moves the package onto our target stack (PHP 8.3, Laravel 13, Filament v5, Tailwind v4) and fixes a set of real rendering bugs. It is not a "nice new feature" upgrade we can take casually — it is coupled to our Laravel 13 / Filament v5 migration, so the cost is one coordinated upgrade rather than a version bump. Recommendation: keep v1 pinned until the platform migration is scheduled, then adopt v2 as part of that work. Risk is low in absolute terms because the component is narrow, but we should treat it as a single-maintainer dependency and avoid spreading it beyond the size-visualization use case.

For engineering (what actually changed and what it costs us): v2.0.0 is a breaking major. It requires PHP 8.3+, Laravel 13, and Filament v5 and drops Laravel 10/11/12 and Filament v3. The asset build moves to the Tailwind v4 @tailwindcss/cli toolchain, with tailwind.config.js and postcss.config.js removed — check our build assumptions before merging. Two unused methods (dynamicObjectSize() / getDynamicObjectSize()) are removed; they were never wired into rendering, so no behavioural loss. On the positive side, the release lands fabric.js v7 compatibility (FabricImage/FabricText imports, setDimensions(), the x-load directive that was preventing the component from loading at all), corrects origin/anchor behaviour for fabric v6+ by scaling from the bottom-left of the grid, fixes a coin async race on initial load and toggle, and adds wire:ignore so the canvas survives Livewire updates. It also adds smooth ease-out transitions by splitting rendering into a static grid layer and an animated object layer, coerces entangled state before geometry math, contain-fits images within the size box, moves window listeners under Alpine to prevent SPA navigation leaks, and documents the resize-size-visualizer / dispose-size-visualizer events. Net: the fixes are worth having, but they arrive only with the platform jump.

Ask: approve pinning v1 in the current cycle; add "adopt size-visualizer v2" as a deliverable inside the Laravel 13 / Filament v5 migration epic, with a smoke test covering initial canvas load, Livewire re-render, resize/dispose events, and SPA navigation.

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