Files
PS_ProserveEditor/.claude/memory/project_ps_editor.md
j.foucher 48505bfb82 Add rotation arc rings, scale cubes, and gizmo improvements
Rotation gizmo:
- Quarter-arc rings via UProceduralMeshComponent (3D solid with depth)
- Dynamic arc facing: arcs flip to face camera based on octant
- Grey guide lines from center to arc endpoints
- Screen-space rotation direction (correct from any camera angle)

Scale gizmo:
- Arrow shafts + cube tips for per-axis scale
- Center cube (grey) for uniform XYZ scale
- Local space orientation (gizmo aligns with actor rotation)

Other:
- Runtime confirmation dialog (replaces FMessageDialog)
- ProceduralMeshComponent plugin dependency added

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 11:47:03 +02:00

2.3 KiB

name, description, type
name description type
PS_Editor plugin project Runtime editor plugin for UE 5.5 - object placement, scene editing, JSON save/load in packaged builds project

PS_Editor is a runtime editor plugin for Unreal Engine 5.5 for the PROSERVE project.

Key decisions:

  • UI: UMG driven by C++ (Slate)
  • Gizmos: Custom actor with BasicShapes + unlit material (ITF is editor-only)
  • Serialization: JSON via Json/JsonUtilities (FJsonObjectConverter)
  • Naming: PS_Editor_ prefix on all files/classes
  • Plugin path: Unreal/Plugins/PS_Editor/
  • AZERTY keyboard: arrows + A/Q for movement, E/R/T for modes
  • Selection outline: auto-generated post-process material (C++), 8-neighbor edge detection on CustomStencil

Completed Phases

Phase 1 - GameMode + Camera

  • Camera: Fly (RMB), Pan (LMB drag), Orbit (Alt+LMB / MMB)
  • Movement: arrows + A (up) / Q (down)

Phase 2 - Selection + Transform + Undo

  • Click-to-select (Movable actors only), Ctrl+click multi-select
  • Custom gizmo (R/G/B arrows + cones, SDPG_Foreground, constant screen size)
  • Translate/Rotate/Scale via gizmo drag, hotkeys E/R/T
  • Snap to ground (End), soft-delete (Delete + confirmation dialog)
  • Undo/Redo (Ctrl+Z/Y, 50 action stack)
  • Properties panel + toolbar UI
  • Materials: M_PS_Editor_Gizmo (Unlit, "Color" param, Translucent, Disable Depth Test)
  • Selection outline: auto-generated PP material, BL_SceneColorAfterDOF, Lerp blend, color AF1500, 1px
  • Outline material auto-created via OnPostEngineInit, uses InvSize for resolution-independent offsets

Phase 3 - Object Spawning

  • SpawnableComponent: marker on BPs (name, category, thumbnail)
  • SpawnCatalog DataAsset + Factory for easy creation
  • SpawnManager: spawns in front of camera, tracks all spawned actors
  • Catalogue UI: thumbnail cards (80x80), click to spawn, grouped by category
  • CaptureAllThumbnails on DataAsset: auto-generates from UE thumbnails
  • Spawn undo/redo, auto-deselect hidden actors

Phase 4 - JSON Serialization

  • SceneData USTRUCT (Version, SceneName, Timestamp, Actors[ClassPath, Location, Rotation, Scale])
  • SceneSerializer: Save/Load/Clear/GetSavedSceneNames
  • Files in Saved/PS_Editor/Scenes/{name}.json
  • UI: Save field + button, New Scene, saved scenes list with click-to-load

Next: Phase 5 - Advanced Editing

  • Splines, lighting, AI characters, property editing, duplication (Ctrl+D)