User Manual
Help Center/User Manual/Layout ↔ data: draw once, it stays fresh forever

Layout ↔ data: draw once, it stays fresh forever

Last updated 2026-10-16

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#

  1. Racks moved, added or removed: edit the draft layout in the editor (drag, rotate, delete groups), then publish.
  2. 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.
  3. Made a mistake? Roll back to any archived version from the Versions tab.
Known limitation: regenerating a layout overwrites the previous coordinates. Rolling back to an overwritten older version may show an empty 3D scene — expected behavior. Preview the new version before retiring the old one.