Warehouse Theatre 3D
See your warehouse in 3D — built on the hierarchy you already have
- Author: aravindsprint
- Repository: https://github.com/aravindsprint/warehouse_theatre_3d
- GitHub stars: 12
- Forks: 11
- License: MIT
- Category: Developer Tools
- Maintenance: Actively Maintained
Install Warehouse Theatre 3D
bench get-app https://github.com/aravindsprint/warehouse_theatre_3d
Add the Frappe Gems badge to your README
Maintain Warehouse Theatre 3D? Paste this into your README:
[](https://frappegems.com/gems/apps/aravindsprint/warehouse_theatre_3d)
About Warehouse Theatre 3D
🏭 Warehouse Theatre 3D
Free 3D & 2D warehouse storage visualization for ERPNext — works with the warehouse hierarchy you already have
What it does
Most ERPNext warehouse setups are just a flat list of names in the Warehouse tree. Warehouse Theatre 3D turns that tree into a navigable 3D and 2D warehouse you can walk through, search, and inspect — stock levels, fill percentage, and item detail, all live from your existing Bin data.
No relabeling required. A one-time setup wizard reads the warehouse hierarchy you already have and asks you to assign a role (Building, Floor, Slot, Bin) to each level it finds — it never renames or moves anything.
✨ Features
| Feature | Description |
|---|---|
| Setup wizard | Scans your existing warehouse tree by depth, lets you assign Building/Floor/Slot/Bin roles, and is done in under two minutes |
| 3D view | Interactive Three.js rack visualization — orbit, pan, zoom |
| 2D floor view | Section grid with slot tiles and per-level fill indicators |
| Aisle walk-through | First-person view — stand inside any aisle gap and walk it with WASD or on-screen controls |
| Live stock data | Real-time quantity, UOM fill percentage, and stock value straight from ERPNext Bins |
| Item search | Filter by item code or item name across all views |
| Detail panel & item modal | Single click for a quick side panel, double click for the full item table |
| Configure stack levels | Add or remove Bin levels per Slot without touching the Warehouse list view |
| Floor plan editor | Drag-and-place row/column layout with adjustable aisle gaps |
| Dark / light theme | One click |
| PWA support | Installable, works offline with cached data |
| Mobile responsive | Touch orbit/zoom, collapsible sidebar, on-screen aisle controls |
| Role-based access | System Manager can edit; Stock Manager and Stock User get full view-only access |
🏗️ How the hierarchy works
The app uses a generic 4-role model — Building → Floor → Slot → Bin — but it adapts to your existing tree depth instead of requiring a specific naming convention:
Whatever you already have → Role you assign in the wizard
─────────────────────────────────────────────────────────────────
Depth 1 (e.g. "Main Campus") → Building (optional)
Depth 2 (e.g. "Ground Floor") → Floor
Depth 3 (e.g. "A1", "A2", "B1") → Slot (renders as a rack)
Depth 4 (e.g. "L1", "L2", "L3") → Bin (renders as a shelf level)
If your tree is only 3 levels deep, skip Building. If a level doesn't map cleanly, mark it "Skip" — the wizard handles uneven trees by letting you review every depth before committing.
Stock is tracked at the Bin level, same as standard ERPNext. The app reads
tabBindirectly — no data migration.
📦 Installation
Available on the Frappe Cloud Marketplace — install it directly from your site's Marketplace Apps page, no manual setup required.
For self-hosted benches, install it the same way you install any other Frappe app for your bench/site.
Then open the app from the /apps screen, or go directly to /warehouse-theatre-3d.
🚀 First-time setup
- Open the app — if no warehouse has been mapped yet, the setup wizard launches automatically
- Step 1 — Scan: the app reads your existing
Warehousetree and groups warehouses by depth - Step 2 — Map levels: assign Building / Floor / Slot / Bin (or Skip) to each depth shown
- Step 3 — Done: review the counts, then jump straight into the 3D view
No SQL, no manual custom field setup, no need to rename any warehouse.
🎮 Controls
3D view
| Action | Control |
|---|---|
| Orbit | Left mouse drag |
| Pan | Right mouse drag |
| Zoom | Scroll wheel |
| Highlight + side panel | Single click |
| Full stock details | Double click |
Aisle walk-through
| Action | Control |
|---|---|
| Enter | Click 👁 Aisle View, choose an aisle from the picker |
| Look around | Mouse drag |
| Walk | W/S or ▲▼ buttons |
| Strafe | A/D or ◄► buttons |
| Exit | ✕ Exit Aisle or Escape |
2D view
| Action | Control |
|---|---|
| Open stock details | Click a slot tile |
| View a specific level | Click the level row inside the tile |
🔌 API reference
All methods are under warehouse_theatre_3d.warehouse_theatre_3d.api:
| Module | Method | Description |
|---|---|---|
setup |
scan_warehouse_tree |
Groups existing warehouses by tree depth |
setup |
apply_depth_mapping |
Writes the role assigned to each depth |
setup |
get_setup_summary |
Returns counts per role for the wizard's review step |
api |
get_warehouse_groups |
Floor warehouses for the sidebar |
api |
get_slots |
Slot warehouses with levels and live stock data |
api |
save_slot_position |
Updates floor plan row/col/gap |
api |
save_stack_config |
Adds/disables Bin levels for a Slot |
api |
save_uom_capacity |
Sets per-UOM capacity for fill % |
api |
check_app_permission |
Controls visibility on the /apps screen |
api |
get_user_access |
Returns the current user's view/edit/setup status |
🛠️ Tech stack
| Layer | Technology |
|---|---|
| Frontend | Vue 3 via CDN — no build step |
| 3D engine | Three.js r128 |
| Backend | Frappe / ERPNext v15 |
| PWA | Web App Manifest + Service Worker |
💸 Pricing
Free. Always. Listed on the Frappe Cloud Marketplace under Frappe's revenue-sharing program for free apps — install it, use it, no license keys.
🐛 Troubleshooting
| Problem | Fix |
|---|---|
| Setup wizard shows no warehouses | Create at least one Warehouse in Stock settings first |
| Slots overlapping in 3D | Use Edit floor plan to set row/column positions if the wizard's defaults need adjusting |
| Bins not appearing as levels | Confirm the Bin-role depth in setup actually contains the warehouses meant to be shelf levels |
| App not on /apps screen | Confirm your role is System Manager, Stock Manager, or Stock User |
🏢 Publisher
Aravind G GitHub: aravindsprint/warehousetheatre3d
📄 License
MIT
Related Developer Tools apps for Frappe & ERPNext
- Frappe — Low code web framework for real world applications, in Python and Javascript
- Frappe Docker — Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
- Builder — Craft beautiful websites effortlessly with an intuitive visual builder and publish them instantly
- Bench — CLI to manage Multi-tenant deployments for Frappe apps
- Frappe Ui — A set of components and utilities for rapid UI development
- Press — Full service cloud hosting for the Frappe stack - powers Frappe Cloud
- Gameplan — Open Source Discussions Platform for Remote Teams
- Doppio — A Frappe app (CLI) to magically setup single page applications and Vue/React powered desk pages on your custom Frappe apps.