Files
PS_ProserveEditor/.claude/memory/project_ps_editor.md
2026-04-11 12:46:02 +02:00

2.4 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 (BasicShapes + ProceduralMeshComponent for arcs)
  • 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 movement, Z/E/R for translate/rotate/scale
  • 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
  • Gizmo modes:
    • Translate (Z): arrows + cones, world or local space
    • 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)
  • Properties panel + toolbar UI
  • Selection outline: auto-generated PP material, BL_SceneColorAfterDOF, color AF1500, 1px
  • Rotation: screen-space direction with magnitude speed, fixed axis during drag

Phase 3 - Object Spawning

  • SpawnableComponent: marker on BPs (name, category, thumbnail)
  • SpawnCatalog DataAsset + Factory
  • CaptureAllThumbnails on DataAsset
  • Catalogue UI: thumbnail cards (80x80), grouped by category

Phase 4 - JSON Serialization

  • SceneSerializer: Save/Load/Clear/GetSavedSceneNames
  • Files in Saved/PS_Editor/Scenes/{name}.json
  • 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

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