194 Commits

Author SHA1 Message Date
Yoan StAmant
b0ca9703ae [StateTree] Update compilation status when adding/removing/moving/disabling states
#jira UE-192309
#lockdown julien.marchand
#rb mikko.mononen

[CL 27149905 by Yoan StAmant in 5.3 branch]
2023-08-16 15:07:04 -04:00
yoan stamant
bfcc8840c7 [StateTree]
Updated compiler to ignore disabled states when getting next sibling states.
Fixed transition to enabled states inside a disabled parent state.
#rnx
#jira UE-192309
#rb mikko.mononen

[CL 27123326 by yoan stamant in 5.3 branch]
2023-08-15 18:06:33 -04:00
Yoan StAmant
4fc6e93d3f [StateTreeDebugger] add traces for Evaluators
#rnx
#rb maxime.mercier

[CL 26896656 by Yoan StAmant in 5.3 branch]
2023-08-07 16:01:17 -04:00
marc audy
62d50124fb Remove #pragma once from cpp file
[FYI] yoan.stamant
#rnx
#jira

[CL 26871713 by marc audy in 5.3 branch]
2023-08-05 15:16:37 -04:00
Yoan StAmant
113382ff3d Fixed minor formatting issue in StateTreeDebugggerView
#rb trivial

[CL 26856582 by Yoan StAmant in 5.3 branch]
2023-08-04 15:12:01 -04:00
Yoan StAmant
f74ec561de [StateTreeDebuggger] Frame details view update:
- replaced node details view by embedding property values in the tree view
- node exported text (e.g. Task, Conditions, etc) is no longer imported in struct or object to avoid problems with missing types or property types with specific requirements (e.g. Object base property needs to find the specified value). Goal is to always be able to inspect key/value pairs.
- improved hierarchy of event to improve readibility
- started adding some custom row widgets for the different event types
- reworked the toolbar to regroup the different concepts (Simulation controls, Trace recording, Trace analyzing)
#rnx
#rb mikko.mononen

[CL 26854347 by Yoan StAmant in 5.3 branch]
2023-08-04 14:23:12 -04:00
Yoan StAmant
1a63ebb09b [StateTreeDebugger]
- Tracks are no longer cleared when running multiple consecutive PIE sessions unless 'bShouldDebuggerResetDataOnNewPIESession' is set to true in the StateTree Editor Settings. Non editor session analysis will always clear tracks.
- Added dedicated button to clear track data.
- Since tracks can be preserved between PIE session clamp range of the timelines is now the longest recording duration instead of the current session duration.
- Allow goto previous active states when scrubbing past the recording duration of the current analysis session
- Scrub buttons can now be used when the session is no longer active, regardless of the autoscroll state
- Manual scrubbing no longer change auto scroll status if session is not active
#rnx
#rb mieszko.zielinski
#jira UE-191087

[CL 26641706 by Yoan StAmant in 5.3 branch]
2023-07-27 11:23:42 -04:00
yoan stamant
6c1aa5da6b Reuse existing View in StateTreeEditor when debugger tab is reopened
#jira UE-189899
#rb trivial

[CL 26413131 by yoan stamant in 5.3 branch]
2023-07-17 14:39:17 -04:00
Yoan StAmant
cb7d42aa5f Fix CIS 328889: Localization warnings
#rb trivial

[CL 26406893 by Yoan StAmant in 5.3 branch]
2023-07-17 10:19:21 -04:00
yoan stamant
5814011fb3 [StateTreeDebugger]
- active states text is truncated to the window size in the timeline
- fixed cursor tracking when scrubbing with the buttons
- fixed TrackedCursor when scrubbing to the beginning of the timeline
- replaced toggle pause button by a single button changing icon
#rb maxime.mercier

[CL 26344148 by yoan stamant in 5.3 branch]
2023-06-30 10:39:23 -04:00
yoan stamant
afa594ac18 [StateTreeDebugger] added missing transaction when toggling Transition breakpoints (undo/redo). Also prevented State and Task breakpoint toggle from dirtying the asset.
[CL 26322116 by yoan stamant in 5.3 branch]
2023-06-29 14:41:22 -04:00
Yoan StAmant
4fbe8e0313 [StateTree] ResolveLeafValueStructType returns nullptr for data view with type only (null memory)
#jira none
#rb mikko.mononen

[CL 26290623 by Yoan StAmant in 5.3 branch]
2023-06-28 13:26:46 -04:00
yoan stamant
5e9512369a [StateTreeDebugger]
- On breakpoint hit the tree view will select and focus on the associated state and event treeview will select the event that triggered the breakpoint
- added missing trace for exiting tasks
- scrub to the record time when breakpoint is hit so events tree view is synchronized to the right time (not the latest processed time)
#rb mikko.mononen

[CL 26268572 by yoan stamant in 5.3 branch]
2023-06-27 15:58:50 -04:00
Yoan StAmant
7b40eaa0b6 Fixed duplicated ID in statetree asset
#jira UE-189371
#jira UE-189653
#rb none
#changelist validated

[CL 26263650 by Yoan StAmant in 5.3 branch]
2023-06-27 13:46:01 -04:00
yoan stamant
4a6fb2fb32 Fixed CIS Issue 326584
[CL 26256196 by yoan stamant in 5.3 branch]
2023-06-27 09:43:31 -04:00
mikko mononen
a455806f91 StateTree: Show mismatching property types on property binding
- Improved formatting of State Tree error messages
- Fixed GetDataViewByID to return true on null values but valid types (e.g. context data)
- Added check if property types match for property binding widget
- Cache current property binding data for binding widget

#jira UE-168333

[CL 26230631 by mikko mononen in 5.3 branch]
2023-06-26 06:36:04 -04:00
yoan stamant
f1bbb2755b [StateTreeDebugger]
- created a dedicated option to auto-scroll and converted debugger pause to control event processing
- clear tracks when selecting new valid session
- scrub buttons can now be used as soon as analysis is pause of auto-scroll disabled
- fixed potential access to invalid struct view when processing a FStateTreeTraceNodeEvent
- added return value and output parameter to IStateTreeModule::StartTraces to take appropriate actions if traces was already active or not.
- added new button to the DebuggerView to control the session analysis state (pause or not). Mainly required when performing a remove analysis of non editor target.
- added new button to the DebuggerView to toggle auto-scroll. Manual selection in the timeline will turn it off so it can now be turned back on.
#rb mikko.mononen

[CL 26188662 by yoan stamant in 5.3 branch]
2023-06-22 14:27:48 -04:00
mikko mononen
caeb7beacd StateTree: Fix out of range access when compiling empty task.
[CL 26179652 by mikko mononen in 5.3 branch]
2023-06-22 08:36:11 -04:00
mikko mononen
93e2345ccb StateTree: Fix handling of transition tasks during State Tree compile
- restored tracking of struct/object instances per state (got lost in a merge)
- fixed tracking of bHasTransitionTasks (was storing only last task)

[CL 26177569 by mikko mononen in 5.3 branch]
2023-06-22 05:27:27 -04:00
yoan stamant
f430b3aa2d [StateTreeDebugger]
- enabled by default in the StateTreeEditor
- traces can be automatically started on non-editor targets by setting 'bAutoStartDebuggerTracesOnNonEditorTargets = true in StateTreeSettings or' under [/Script/StateTreeModule.StateTreeSettings]
in the .ini config file.
- traces can be manually started/stopped using `statetree.startdebuggertraces` and `statetree.stopdebuggertraces` from the console
#rb mikko.mononen

[CL 26152392 by yoan stamant in 5.3 branch]
2023-06-21 12:08:31 -04:00
yoan stamant
0192950e8f On behalf of mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Fixed ID clash when duplicating transitions, plus misc editor fixes
- Fix duplicate state
- Fix creating new node IDs when a whole transitions is duplicated
- Fixed state ID leaking into state names, when ID debug display is on
- Fixed updating the state tree view when task type is changed

[FYI] yoan.stamant

[CL 26149436 by yoan stamant in 5.3 branch]
2023-06-21 10:41:22 -04:00
yoan stamant
f550b5b71d On behalf of mikko.mononen
Original CL Desc
-----------------------------------------------------------------
StateTree: Improved reconciling property names when they change
- Added PropertyGuid to FStateTreePropertyPathSegment to allow reconsile changed Blueprint class and User Defined Struct property names
- Changed FStateTreePropertyPath to optionally handle property redirects and BP/UDS name changes
- Renamed UpdateInstanceStructsFromValue to UpdateSegmentsFromValue to better reflect the use
- Improved State Tree editor bindings to update when BP/UDS properties are changed

#jira UE-184193, UE-168168

[CL 26148894 by yoan stamant in 5.3 branch]
2023-06-21 10:27:51 -04:00
yoan stamant
304280741e [StateTreeDebugger] breakpoint improvements
- added support for breakpoint when exiting state (was only when entering)
- added support for breakpoint when entering or exiting a task
- state breakpoints can be added from contextual menu in the TreeView or from the Debug options in the details panel
- task breakpoints can be added from the Debug options in the details panel
- added feedback labels in the details panel for states and tasks with breakpoints
#rb mikko.mononen

[CL 26147751 by yoan stamant in 5.3 branch]
2023-06-21 10:03:57 -04:00
yoan stamant
46307edf75 Static Analysis fix
#rb trivial

[CL 26147739 by yoan stamant in 5.3 branch]
2023-06-21 10:03:52 -04:00
yoan stamant
0442a17cb8 [StateTreeDebugger]
- added option to disable state transitions
- added state transition breakpoints
- fixed scrubbing not using the right time (analysis time instead of world simulation time) when hitting a breakpoint
- fixed new instance auto selection on record when previous selection is a stale subtrack
- added console variable `statetree.displayitemids` to display states, tasks and transitions Ids in the StateTreeEditor (details view and state treeview)
#rb mikko.mononen

[CL 26147565 by yoan stamant in 5.3 branch]
2023-06-21 10:02:02 -04:00