Add Phase 3: object spawn system with catalogue UI
Spawn System: - SpawnableComponent: marker component for Blueprint actors (name, category, thumbnail) - SpawnCatalog DataAsset: lists all spawnable Blueprints with Factory for easy creation - SpawnManager: loads catalog, spawns actors in front of camera, ensures Movable mobility - Reads metadata from Blueprint component templates (no temp spawn needed) Catalogue UI: - Left panel with scrollable list grouped by category - Thumbnail cards (80x80) with name below, click to spawn - "Capture All Thumbnails" button on DataAsset: auto-generates from UE thumbnails Undo/Redo improvements: - SpawnAction: undo hides spawned actor, redo shows it - Delete confirmation dialog (Yes/No) before soft-delete - Undo/redo auto-deselects hidden actors and refreshes gizmo - Proper cleanup of hidden actors when actions pruned from stack Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,11 +8,35 @@ PS_Editor is a runtime editor plugin for Unreal Engine 5.5 that will be integrat
|
||||
|
||||
**Why:** Enable runtime scene editing in packaged builds - place objects, configure properties, define scenarios, manipulate splines, modify lighting, and save/load scenes as JSON.
|
||||
|
||||
**How to apply:** All development is incremental, phase by phase. Phase 1 = GameMode + Camera (completed). Future phases: object spawning/transform, JSON serialization, splines, lighting, AI characters.
|
||||
|
||||
Key decisions:
|
||||
- UI: UMG driven by C++ (not Blueprints)
|
||||
- Gizmos: InteractiveToolsFramework (UE5 built-in)
|
||||
- Serialization: JSON via Json/JsonUtilities modules
|
||||
- UI: UMG driven by C++ (Slate)
|
||||
- Gizmos: Custom actor with BasicShapes + unlit material (InteractiveToolsFramework is editor-only)
|
||||
- Serialization: JSON via Json/JsonUtilities modules (future)
|
||||
- Naming: PS_Editor_ prefix on all files/classes
|
||||
- Plugin path: Unreal/Plugins/PS_Editor/
|
||||
- AZERTY keyboard layout: arrows + A/Q for movement, E/R/T for modes
|
||||
|
||||
## Completed Phases
|
||||
|
||||
### Phase 1 - GameMode + Camera
|
||||
- PS_Editor_GameMode, PS_Editor_Pawn, PS_Editor_PlayerController, PS_Editor_HUD
|
||||
- Camera: Fly (RMB), Pan (LMB drag), Orbit (Alt+LMB / MMB)
|
||||
- Movement: arrows + A (up) / Q (down)
|
||||
|
||||
### Phase 2 - Selection + Transform + Undo
|
||||
- SelectionManager: raycast click-to-select, Ctrl+click multi-select, Movable actors only
|
||||
- Gizmo: custom actor with colored arrows (R/G/B), cones, SDPG_Foreground, constant screen size
|
||||
- Translate/Rotate/Scale via gizmo drag, hotkeys E/R/T
|
||||
- Snap to ground (End key), soft-delete (Delete key)
|
||||
- Undo/Redo system: custom UndoManager, Ctrl+Z / Ctrl+Y, 50 action stack
|
||||
- Properties panel: editable Location/Rotation/Scale fields
|
||||
- Toolbar: mode buttons + snap ground
|
||||
- Material: M_PS_Editor_Gizmo (Unlit, Vector Parameter "Color" → Emissive, Translucent, Disable Depth Test)
|
||||
|
||||
## Next: Phase 3 - Object Spawning
|
||||
- Catalog/list of objects to place
|
||||
- Drag & drop or click to spawn
|
||||
- Duplication of existing objects
|
||||
|
||||
## Next: Phase 4 - JSON Serialization
|
||||
- Save/load scenes as JSON
|
||||
|
||||
@@ -12,3 +12,7 @@ Build command (Editor target, Development):
|
||||
```
|
||||
|
||||
**How to apply:** Use this command to compile after code changes. Timeout should be set to 600000ms (10 min) for safety. The target name is `PS_ProserveEditorEditor` (Editor suffix) for editor builds.
|
||||
|
||||
**When to use CLI vs Live Coding:**
|
||||
- Live Coding (Ctrl+Alt+F11): .cpp only changes (no new UCLASS, USTRUCT, UENUM, UPROPERTY in headers)
|
||||
- Full CLI build (UE must be closed): new files, header changes with new reflected types, Build.cs changes
|
||||
|
||||
Reference in New Issue
Block a user