Update project memory with Phase 2 gizmo details
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,11 +8,11 @@ PS_Editor is a runtime editor plugin for Unreal Engine 5.5 for the PROSERVE proj
|
|||||||
|
|
||||||
Key decisions:
|
Key decisions:
|
||||||
- UI: UMG driven by C++ (Slate)
|
- UI: UMG driven by C++ (Slate)
|
||||||
- Gizmos: Custom actor with BasicShapes + unlit material (ITF is editor-only)
|
- Gizmos: Custom actor (BasicShapes + ProceduralMeshComponent for arcs)
|
||||||
- Serialization: JSON via Json/JsonUtilities (FJsonObjectConverter)
|
- Serialization: JSON via Json/JsonUtilities (FJsonObjectConverter)
|
||||||
- Naming: PS_Editor_ prefix on all files/classes
|
- Naming: PS_Editor_ prefix on all files/classes
|
||||||
- Plugin path: Unreal/Plugins/PS_Editor/
|
- Plugin path: Unreal/Plugins/PS_Editor/
|
||||||
- AZERTY keyboard: arrows + A/Q for movement, E/R/T for modes
|
- AZERTY keyboard: arrows + A/Q movement, Z/E/R for translate/rotate/scale
|
||||||
- Selection outline: auto-generated post-process material (C++), 8-neighbor edge detection on CustomStencil
|
- Selection outline: auto-generated post-process material (C++), 8-neighbor edge detection on CustomStencil
|
||||||
|
|
||||||
## Completed Phases
|
## Completed Phases
|
||||||
@@ -23,28 +23,32 @@ Key decisions:
|
|||||||
|
|
||||||
### Phase 2 - Selection + Transform + Undo
|
### Phase 2 - Selection + Transform + Undo
|
||||||
- Click-to-select (Movable actors only), Ctrl+click multi-select
|
- Click-to-select (Movable actors only), Ctrl+click multi-select
|
||||||
- Custom gizmo (R/G/B arrows + cones, SDPG_Foreground, constant screen size)
|
- Gizmo modes:
|
||||||
- Translate/Rotate/Scale via gizmo drag, hotkeys E/R/T
|
- Translate (Z): arrows + cones, world or local space
|
||||||
- Snap to ground (End), soft-delete (Delete + confirmation dialog)
|
- Rotate (E): quarter-arc rings (ProceduralMesh), dynamic octant facing, local orientation during drag
|
||||||
|
- Scale (R): arrows + cubes + center cube (uniform), always local space
|
||||||
|
- World/Local space toggle (UI button), Scale always local
|
||||||
|
- Snap system: configurable translation/rotation/scale snapping (UI toggle + value field)
|
||||||
|
- Snap to ground (End), soft-delete (Delete + in-game confirmation dialog)
|
||||||
- Undo/Redo (Ctrl+Z/Y, 50 action stack)
|
- Undo/Redo (Ctrl+Z/Y, 50 action stack)
|
||||||
- Properties panel + toolbar UI
|
- Properties panel + toolbar UI
|
||||||
- Materials: M_PS_Editor_Gizmo (Unlit, "Color" param, Translucent, Disable Depth Test)
|
- Selection outline: auto-generated PP material, BL_SceneColorAfterDOF, color AF1500, 1px
|
||||||
- Selection outline: auto-generated PP material, BL_SceneColorAfterDOF, Lerp blend, color AF1500, 1px
|
- Rotation: screen-space direction with magnitude speed, fixed axis during drag
|
||||||
- Outline material auto-created via OnPostEngineInit, uses InvSize for resolution-independent offsets
|
|
||||||
|
|
||||||
### Phase 3 - Object Spawning
|
### Phase 3 - Object Spawning
|
||||||
- SpawnableComponent: marker on BPs (name, category, thumbnail)
|
- SpawnableComponent: marker on BPs (name, category, thumbnail)
|
||||||
- SpawnCatalog DataAsset + Factory for easy creation
|
- SpawnCatalog DataAsset + Factory
|
||||||
- SpawnManager: spawns in front of camera, tracks all spawned actors
|
- CaptureAllThumbnails on DataAsset
|
||||||
- Catalogue UI: thumbnail cards (80x80), click to spawn, grouped by category
|
- Catalogue UI: thumbnail cards (80x80), grouped by category
|
||||||
- CaptureAllThumbnails on DataAsset: auto-generates from UE thumbnails
|
|
||||||
- Spawn undo/redo, auto-deselect hidden actors
|
|
||||||
|
|
||||||
### Phase 4 - JSON Serialization
|
### Phase 4 - JSON Serialization
|
||||||
- SceneData USTRUCT (Version, SceneName, Timestamp, Actors[ClassPath, Location, Rotation, Scale])
|
|
||||||
- SceneSerializer: Save/Load/Clear/GetSavedSceneNames
|
- SceneSerializer: Save/Load/Clear/GetSavedSceneNames
|
||||||
- Files in Saved/PS_Editor/Scenes/{name}.json
|
- Files in Saved/PS_Editor/Scenes/{name}.json
|
||||||
- UI: Save field + button, New Scene, saved scenes list with click-to-load
|
- UI: Save field + button, New Scene, saved scenes list
|
||||||
|
|
||||||
|
## Materials (plugin Content/)
|
||||||
|
- M_PS_Editor_Gizmo: Unlit, "Color" Vector Parameter, Translucent, Disable Depth Test
|
||||||
|
- M_PS_Editor_SelectionOutline: auto-generated via C++ OnPostEngineInit
|
||||||
|
|
||||||
## Next: Phase 5 - Advanced Editing
|
## Next: Phase 5 - Advanced Editing
|
||||||
- Splines, lighting, AI characters, property editing, duplication (Ctrl+D)
|
- Splines, lighting, AI characters, property editing, duplication (Ctrl+D)
|
||||||
|
|||||||
Reference in New Issue
Block a user