Two cleanups in one pass:
1. Replace `Category = "ASTERION|PS_Editor"` (and its sub-pipe variants like
"...|Timeline", "...|Spline", "...|UI", "...|Child Movable") with a single
flat `Category = "PS_Editor"` everywhere — UFUNCTIONs and class-level
UPROPERTYs alike. The pipe-separated hierarchy was redundant (the plugin
already lives in a "PS_Editor" namespace), and the BP right-click search
gets a cleaner single-segment grouping.
2. Drop the `Category` attribute from struct field UPROPERTYs in
FPS_Editor_SpawnEntry, FPS_Editor_BaseLevelEntry, and
FPS_Editor_EditablePropertyEntry. Struct fields don't need a category —
they inherit display from the parent property's category. Keeping a
category on inner fields was causing the SpawnCatalog details panel to
render the Entries array TWICE (once under the literal "ASTERION|PS Editor"
header pulled from the inner ActorClass field, once under the proper
"ASTERION > PS_Editor" hierarchy from the outer Entries property).
Also normalize the two `UCLASS(ClassGroup = "ASTERION|PS Editor")` declarations
on EditableComponent and SpawnableComponent to `ClassGroup = "PS Editor"` for
consistency.
Touches 13 header files; no behavior change — Categories are purely cosmetic
(Details panel grouping, BP right-click menu organization).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>