pipeworks_mud_mapper.layout.main_layout ======================================= .. py:module:: pipeworks_mud_mapper.layout.main_layout .. autoapi-nested-parse:: 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) Modal Dialogs ------------- - ``new-map-modal``: Create new map file - ``delete-confirm-modal``: Confirm room deletion - ``validation-results-modal``: Display validation results .. seealso:: :py:obj:`-`, :py:obj:`-`, :py:obj:`-`, :py:obj:`-`, :py:obj:`-`, :py:obj:`-` Functions --------- .. autoapisummary:: pipeworks_mud_mapper.layout.main_layout.create_app_layout Module Contents --------------- .. py:function:: create_app_layout() Create the complete application layout. Assembles all layout components into a responsive three-column layout with header and action bar. :returns: * :py:class:`dbc.Container` -- Bootstrap Container with the complete application layout. * :py:class:`Layout Structure` * :py:class:`----------------` * **- **State Stores**** (:py:class:`Hidden dcc.Store components for app state`) * **- **Modal Dialogs**** (:py:class:`New Map creation modal`) * **- **Header Row**** (:py:class:`App title` and :py:class:`current zone name`) * **- **Three-Column Layout**** (:py:class:`File browser`, :py:class:`map`, :py:class:`properties panel`) * **- **Action Bar**** (:py:class:`Save button` and :py:class:`status indicator`) .. admonition:: 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