Commit Graph

169 Commits

Author SHA1 Message Date
yoan stamant
b8edc8af08 [StateTreeDebugger]
- Added buffered instance lifetime event in case recording is started of channel enabled after simulation is running with ticking instances.
- Fixed display issue for inactive instances
- Fixed edge case where we receive StateTree events before the first game frame of the FrameProvider for late recording sessions.
#rnx
#rb mikko.mononen

[CL 25898111 by yoan stamant in ue5-main branch]
2023-06-09 13:20:39 -04:00
yoan stamant
4556fc6dd3 [StateTreeDebugger]
- Added owner track to hold instance tracks as sub tracks. This will regroup all statetree instances running on the same owner during a recorded session.
   - Instance tracks are marked as stale at the end of the session but owner track can be reactivated from a subsequent PIE sessions (i.e. same owners as previous session)
- Added some placeholders icons for the two track types
#rnx
#rb mikko.mononen

[CL 25895424 by yoan stamant in ue5-main branch]
2023-06-09 11:45:15 -04:00
yoan stamant
08a5a8f2c6 [StateTreeDebugger] QOL improvements for PIE debugging
- improved the connection to the next live session in case other live traces are actives
- give priority to the Editor actions (e.g. start/stop recording or auto-record on PIE start) even if an analysis was active (remote process). This will stop current analysis and connect to the new live trace.
#rnx
#rb mikko.mononen

[CL 25894628 by yoan stamant in ue5-main branch]
2023-06-09 11:20:16 -04:00
mikko mononen
59ad526e8d StateTree: Fix source binding path validation for context structs.
[CL 25869233 by mikko mononen in ue5-main branch]
2023-06-08 08:57:12 -04:00
mikko mononen
2d3a68ef3a StateTree: Added handling bindings from instanced sources.
#rb mikko.mononen, thomas.sarkanen

[CL 25842554 by mikko mononen in ue5-main branch]
2023-06-07 09:02:19 -04:00
yoan stamant
fe0d176e22 [StateTree]
- fixed scrub state not refreshed when selecting another instance
 -added GetInstanceName and using it instead of GetInstanceDescription for the instance tree view to get lighter UI
- used a single external scrollbar for instances and timelines treeviews
#rnx
#rb mikko.mononen

[CL 25817285 by yoan stamant in ue5-main branch]
2023-06-06 11:25:12 -04:00
yoan stamant
3c2bc6ed80 Fix CIS Issue 314921
#rnx
#rb none

[CL 25797155 by yoan stamant in ue5-main branch]
2023-06-05 13:30:38 -04:00
yoan stamant
dfdc26f0d4 [StateTree] added possibility to disable States and Tasks. Also possible to force condition result to true/false.
#jira UE-187154
#rb mikko.mononen

[CL 25796491 by yoan stamant in ue5-main branch]
2023-06-05 13:12:19 -04:00
mikko mononen
0a2641b902 StateTree: Fix parameter sync in State Tree reference
- Remove transaction that was needed when instanced struct UI was buffered (causes infinite refresh loop now)

#preflight 64783ed75d23eca37d68062a

[CL 25722474 by mikko mononen in ue5-main branch]
2023-06-01 06:08:20 -04:00
yoan stamant
05bc614a8e [StateTreeDebugger]
- Added trace event for Phase (Push + Pop) to make it easier to recreate the event hierarchy when analyzing the traces.
- Merged enums EStateTreeTraceInstanceEventType and EStateTreeTraceNodeEventType to EStateTreeTraceEventType which is mainly a list of verbs that could be reused for different events (States, Instances, Tasks, etc.)
- EStateTreeUpdatePhase is no longer used as flags and reduced to uint8
- Phase events are stacked when producing traces and sent only if meaningful events (Task, State, Transition, etc.) are sent during their scope. This is to avoid sending useless events when the StateTree is ticked without any changes
#rnx
#rb mikko.mononen
#preflight 6474a5e62e05bcc3309d093e

[CL 25663847 by yoan stamant in ue5-main branch]
2023-05-29 10:13:21 -04:00
yoan stamant
125652a833 [StateTreeDebugger] added missing icon for Add Breakpoint command
#rnx
#rb trivial
#preflight skip

[CL 25652342 by yoan stamant in ue5-main branch]
2023-05-26 16:30:31 -04:00
mikko mononen
70c9493717 StructUtils: Added User Defined Struct support for instanced struct and property bag
- Enabled UDS in the struct/property pickers
- Added support for reinstancing instanced struct & co when UDS layout changes

#preflight 64707629c34463d6e8bd9304

[CL 25646984 by mikko mononen in ue5-main branch]
2023-05-26 12:46:32 -04:00
yoan stamant
62bc0c3239 [StateTreeDebugger]
- timeline tracks can be marked as stale (from a previous PIE session) to change their look
- added world simulation timestamp for traces to represent the tracks in simulation time and not trace session time
- create dedicated methods on the StateTree module to Start/Stop traces
- unneeded trace channels are deactivated and restored if possible for a StateTree debug session in order to reduce trace size
- DebuggerView can now auto start new trace on a new PIE session (new settings 'bShouldDebuggerAutoRecordOnPIE'') or user can control with dedicated button (similar to RewindDebugger)
- moved StateTree editor settings under section "Plugins"
#rnx
#rb mikko.mononen
#preflight 646e18e46c2a2532b1d92984

[CL 25644105 by yoan stamant in ue5-main branch]
2023-05-26 11:59:58 -04:00
yoan stamant
8155710fd1 [StateTree debugger]
- added traces for transitions
- support for recursive state selection
- fixed breakpoints not stopping execution since timelines were added
- added meta data to types used for event visualization
- forced expansion for all treeview items in frame details
#rnx
#rb mikko.mononen
#preflight 646cb538205f5d23d5206392

[CL 25582715 by yoan stamant in ue5-main branch]
2023-05-23 10:46:16 -04:00
mikko mononen
67cd927a14 StateTree: Fix object instance data not being handled correctly when copying a state
#jira UE-185455
#preflight 64674c23d1617529a4e7f071

[CL 25542873 by mikko mononen in ue5-main branch]
2023-05-19 08:27:50 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
yoan stamant
1cd242d1dc [StateTree] debugger update
- moved debugger related files to a dedicated directory
- trace provider now allows to read all timelines associated to a given state tree asset instance
- added multiple slate widgets to manage tracks and timelines (directly inspired from RewindDebugger to make it easier to integrate the tools together eventually).
- added synchronized lists of instance names and timelines
- converted EStateTreeUpdatePhase to enum flags used to build frame details hierarchically
#preflight 645a57584c3ec54e6e65f494

[CL 25390252 by yoan stamant in ue5-main branch]
2023-05-09 12:57:56 -04:00
yoan stamant
4aa4f9b1e7 [StateTree] fixed circular pointer dependency preventing proper cleanup when closing the StateTree asset editor.
#rb mikko.mononen
#rb mieszko.zielinski
#preflight 645906806c35ad81e6196519

[CL 25373066 by yoan stamant in ue5-main branch]
2023-05-08 13:32:14 -04:00
yoan stamant
968e689a8a [StateTree] moved command list used by the tree view to the StateTreeEditor. Stored there, so that other windows (e.g. debugger) can add commands to it, even if the tree view is not spawned yet.
#rb mikko.mononen
#preflight 64491e68b208f61af86163df

[CL 25199524 by yoan stamant in ue5-main branch]
2023-04-26 11:42:00 -04:00
kirill zorin
d78d7d61ae Updating callsites of ToRawPtr{*}Unsafe in preparation for upcoming mutable TObjectPtr container restrictions.
#rb zousar.shaker
#preflight 64416b5f4f243417cd7c41d7

[CL 25130429 by kirill zorin in ue5-main branch]
2023-04-20 13:00:27 -04:00
yoan stamant
c478e602b3 [StateTree] debugger updates:
- replaced log listing by treeview (as a prototype but will be replaced by a timeline)
- added event for conditions
- added details view for Condition and Tasks instance data
#rb mikko.mononen
#preflight 644002eea35280ed4f7a6afe

[CL 25110578 by yoan stamant in ue5-main branch]
2023-04-19 13:26:23 -04:00
kirill zorin
a469aafd78 Update callsites to prepare for upcoming TArray/TArrayView<TObjectPtr<...>> restrictions
#rb zousar.shaker
#rb devin.doucette
#rb steve.robb
#rb robert.manuszewski
#rb saam.barati
#preflight 643f4c09a35280ed4f53ccb3

[CL 25100071 by kirill zorin in ue5-main branch]
2023-04-18 22:39:29 -04:00
mikko mononen
51aa286c45 State Tree: Added new selection behaviors for states
- Added selection behavior None (not selectable)
- Added selection behavior TryEnterState (enters the specific state, does not consider child states)
- Added selection behavior TryFollowTransitions (follows transitions when state is tried to be selected)
- Brushed up a bit the state representation in editor (added icons, cleaned up layout)

#preflight 6436843df12d5de705595942

[CL 25005118 by mikko mononen in ue5-main branch]
2023-04-12 07:59:16 -04:00
mikko mononen
28bbc001af StateTree: Handle nodes with instance subobjects.
#preflight 642d643eda7f958370d22791

[CL 24926775 by mikko mononen in ue5-main branch]
2023-04-05 09:28:17 -04:00