Sidewalk Spline Editor
Editor tool for placing sidewalk meshes along splines - uses mesh kits with base pieces and variations, supports distribution control (round-robin/random with weights), terrain conforming/terraforming
Editor tool for placing sidewalk meshes along splines - uses mesh kits with base pieces and variations, supports distribution control (round-robin/random with weights), terrain conforming/terraforming, and undo/redo.
Public API
| Function | Signature | Description |
|---|---|---|
M.setSelectedSplineIdx | (idx) | Sets the selected spline index for cross-tool selection |
M.setSelectedNodeIdx | (idx) | Sets the selected node index |
M.onSerialize | () | Serializes all sidewalk splines for session persistence |
M.onDeserialized | (data) | Restores sidewalk splines from serialized data |
M.onEditorGui | () | Main editor GUI - renders UI and handles spline input |
M.onEditorInitialized | () | Registers the sidewalkSplineEditMode edit mode and window |
M.onClientEndMission | () | Cleans up all sidewalk splines when leaving map |
Key Features
- Mesh kit system: Load sidewalk mesh kits from folders containing
.daefiles - Piece variations: Base meshes with named variations (
*_var1.dae,*_var2.dae) - Distribution control: Round-robin or weighted random selection per piece family
- Spline properties: Vertical offset, jitter, alignment priority, random seed
- Terrain integration: Conform to terrain surface or terraform terrain to match spline
- Profile save/load: Save/load sidewalk spline templates as JSON
- Split/join/flip: Standard spline manipulation operations
- Lock shape mode: Move all nodes rigidly together
Tabs
| Tab | Content |
|---|---|
| Sidewalk Kit | Kit folder selection, component list with enable/disable per piece and variation |
| Distribution | Round-robin vs random toggle, weight sliders per base/variation |
| Terrain | DOI, margin, falloff, roughness, scale sliders; conform/terraform buttons |
Dependencies
| Module | Purpose |
|---|---|
editor/sidewalkSpline/kit | Mesh kit loading and building |
editor/sidewalkSpline/populate | Sidewalk mesh placement along splines |
editor/sidewalkSpline/splineMgr | Spline CRUD, undo/redo, serialization |
editor/toolUtilities/splineInput | Shared spline input handling |
editor/terraform/terraform | Terrain modification |
Usage Example
-- Activate the sidewalk spline editor:
editor.selectEditMode(editor.editModes.sidewalkSplineEditMode)
-- The tool uses a folder-based mesh kit system:
-- 1. Select a folder containing .dae sidewalk pieces
-- 2. Place spline nodes to define the path
-- 3. Meshes are automatically placed along the splineSee Also
- Editor AI Tests - Related reference
- Editor AI Visualization - Related reference
- Editor – Assembly Spline Tool - Related reference
- World Editor Guide - Guide
Shortcut Legend
Displays a context-sensitive keyboard/mouse shortcut legend bar at the bottom of the editor, showing all available shortcuts for the current edit mode.
Sites Editor
Main editor extension for creating/editing gameplay sites (locations, zones, parking spots). Provides an ImGui-based editor window with tabs, file I/O, sorting tools, and sites manager integration.