pipeworks_mud_mapper.layout.main_layout

Main application layout assembly.

This module assembles all layout components into the complete application layout. It combines the file browser, map panel, Ollama panel, properties panel, and action bar with the necessary state stores and modal dialogs.

Application Structure

┌─────────────────────────────────────────────────────────────────────┐
│ 🗺️ PipeWorks MUD Mapper                           Zone: zone_name  │
├─────────┬─────────────────────────────────────────────┬─────────────┤
│  File   │                                             │    Room     │
│ Browser │              Map Panel                      │ Properties  │
│  (2/12) │               (7/12)                        │   (3/12)    │
│         │                                             │             │
│ 📁 data/│         [Interactive Map]                   │ Room ID: _  │
│  file1  │                                             │ Name: _____ │
│  file2  │         Layer (Z): ○-1 ●0 ○+1               │ Coords: XYZ │
│         ├─────────────────────────────────────────────┤             │
│         │         🤖 LLM Assistant (Ollama)           │             │
│         │         [Template] [Model] [Generate]       │             │
├─────────┴─────────────────────────────────────────────┴─────────────┤
│ [Validate] [Export Zone JSON] [Save Map]          ● Status message  │
└─────────────────────────────────────────────────────────────────────┘

State Stores

The layout includes hidden dcc.Store components for application state:

  • zones-files-store: List of exported zone file names

  • current-zone-data: Currently loaded zone data (dict)

  • selected-file: Currently selected file name

  • selected-room: Currently selected room ID

  • has-unsaved-changes: Boolean flag for save status

  • delete-undo-data: Undo data for room deletion (room + removed exits)

  • validation-report: Most recent validation report (dict)

Functions

create_app_layout()

Create the complete application layout.

Module Contents

pipeworks_mud_mapper.layout.main_layout.create_app_layout()[source]

Create the complete application layout.

Assembles all layout components into a responsive three-column layout with header and action bar.

Returns:

  • dbc.Container – Bootstrap Container with the complete application layout.

  • Layout Structure

  • ----------------

  • - **State Stores** (Hidden dcc.Store components for app state)

  • - **Modal Dialogs** (New Map creation modal)

  • - **Header Row** (App title and current zone name)

  • - **Three-Column Layout** (File browser, map, properties panel)

  • - **Action Bar** (Save button and status indicator)

Return type:

dash_bootstrap_components.Container

Notes

  • Uses Bootstrap 12-column grid: 2 + 7 + 3 = 12

  • Container is fluid (full-width) and fills viewport height

  • dcc.Interval triggers initial file list load