2 KiB
2 KiB
Layers And Tile Editing
What It Owns
This system owns the main world-canvas tile workflow: selecting a room layer, choosing a tile brush, painting, erasing, and editing sparse height layers in world mode.
Core Behaviors
- Freehand tile painting on the active layer.
- Shape strokes for the world canvas:
- freehand
- rectangle outline
- circle outline
- line with axis lock behavior
- Height-layer painting modes:
- single or freehand paint
- rectangle fill
- circle fill
- erase variants for the same shapes
- Background-cell editing modes:
- explicit tile stamp
- transparent hole
- inherit world background
Important UI Surfaces
- Layers sidebar
- Height layer list
- Canvas brush interactions
- Background mode button and preview
Important Files
src/worldshaperStudio/interactionController.tssrc/worldshaperStudio/sidebarController.tssrc/worldshaperStudio/runtime.tssrc/worldshaperStudio/mapDocumentController.ts
Known Tool Details
- Tile strokes register history entries with shape-specific labels such as rectangle stroke, circle stroke, brush stroke, and erase stroke.
- Height strokes register their own history labels and track the target Z layer.
- Layer editing is tightly coupled to the currently loaded chunk neighborhood in world mode.
- Brush behavior depends on catalog tile metadata resolved through runtime helpers.
Relationships
- Depends on
Content Catalog And Recordsfor tile definitions and brush metadata. - Depends on
Chunk Storage And Streamingfor the currently editable chunk neighborhood. - Depends on
Persistence And Save Pipelinefor actually writing edits back to storage. - Feeds
Rendering And Viewport, which visualizes the edited layers and sparse height patches.
Triage Hints
Requests about rectangle tools, brush behavior, height painting, active layer confusion, background stamping, and tile-placement modes should usually start here, even when they also touch rendering or chunk persistence.