Layout ↔ data: draw once, it stays fresh forever
The editor writes 3D coordinates to wms_location_3d; the 3D page joins them with live inventory to compute occupancy. Change the layout, just re-publish — history is untouched.
Many people worry: "if I redraw the layout, do I have to re-enter all the inventory data?" No. The 3D layout and your business data live in two separate tables, linked only by the bin code (location_id). Draw once; the picture stays fresh forever.
What the editor actually writes#
- The 3D coordinates table (wms_location_3d): one row per bin — position (x/y/z in meters), size, rotation, rack group, floor — stamped with the layout version.
- It never touches inventory: stock quantities, clients, lots and expiry live in the inventory tables. The 3D page joins the two by location_id at render time.
- Occupancy is computed live from inventory balances (bins with stock ÷ total bins) — that is why colors change without anyone redrawing anything.
Two safety nets keep it fresh#
- Realtime subscription: switch the top bar to live mode and bin colors update within seconds of a receipt, putaway, pick or count.
- 5-minute snapshot: the default mode reads a pre-computed aggregate, refreshed every 5 minutes — fast first screen, good enough for daily checks.
Changing the warehouse? Just re-publish#
- Racks moved, added or removed: edit the draft layout in the editor (drag, rotate, delete groups), then publish.
- Publishing archives the old version automatically; the 3D page switches to the new one immediately. Inventory, pick tasks and history are untouched — they reference bins by code, not by coordinates.
- Made a mistake? Roll back to any archived version from the Versions tab.