34 Commits

Author SHA1 Message Date
mikko mononen
f11c06c22d StateTree: Manually merge ST debugger fixes from CLs 32255537, 3285098, and, 33030882.
#jira UE-213413
#rb Mieszko.Zielinski

[CL 33515514 by mikko mononen in 5.4 branch]
2024-05-08 14:48:13 -04:00
juan portillo
756afecf52 State Tree Details:
- Disable Category Row Buttons if Property Editing is disabled

#rb mikko.mononen
#jira UE-204437

[CL 30764358 by juan portillo in ue5-main branch]
2024-01-22 03:26:23 -05:00
steve robb
6d5b974842 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30735396 by steve robb in ue5-main branch]
2024-01-19 19:41:56 -05:00
mikko mononen
e669bb6cd9 StateTree: Added property references (get pointer to a property based on binding)
- Added FStateTreePropertyRef which allows to get pointer to bindable output properties in the StateTree
- This will eventually supercede FStateTreeStructRef

[CL 30563615 by mikko mononen in ue5-main branch]
2024-01-11 04:24:45 -05:00
yoan stamant
8033d0dd79 [StateTreeDebugger] added trace event for conditions forced to a given result, either from an internal failure to access source data or from the evaluation mode set.
#jira UE-200473
#rb mikko.mononen

[CL 30480397 by yoan stamant in ue5-main branch]
2024-01-08 09:52:36 -05:00
yoan stamant
ee861bd116 [StatetreeDebugger] fixed empty lines in some node details
#rb mikko.mononen

[CL 30383791 by yoan stamant in ue5-main branch]
2023-12-18 17:28:38 -05:00
yoan stamant
291f8bc9e0 [StateTreeDebugger] support for linked tree assets
- added new dedicated section for completed states
#rb mikko.mononen

[CL 30293000 by yoan stamant in ue5-main branch]
2023-12-13 10:21:13 -05:00
yoan stamant
ce114b5c09 [StateTreeDebugger] minor changes to improve timeline visualization and to properly handle unbound delegates.
#rb Mieszko.Zielinski, mikko.mononen
#rb mieszko.zielinski

[CL 29888621 by yoan stamant in ue5-main branch]
2023-11-22 10:29:04 -05:00
yoan stamant
a788975f6b Fixed type conversion warnings
#rb mikko.mononen

[CL 27890994 by yoan stamant in ue5-main branch]
2023-09-14 15:23:22 -04:00
yoan stamant
b2ca0f5c59 [StateTreeDebugger] allow debugger commands to intercept KeyEvent when debugger tab is the active widget.
Also allow user to use the scrubbing buttons at any time the same way he can manually scrub. It will then disable auto-scrolling.
#rnx
#rb mikko.mononen
#jira UE-192308
#jira UE-192323

[CL 27199010 by yoan stamant in ue5-main branch]
2023-08-18 07:32:06 -04:00
yoan stamant
f027516a12 [StateTreeDebugger] added trace status changed delegate that gets broadcasted by the StateTree module when traces are started or stopped. Debugger view can then keep recording button in sync.
#jira UE-192336
#rnx

[CL 27173965 by yoan stamant in ue5-main branch]
2023-08-17 11:23:30 -04:00
yoan stamant
6e26cbb348 [StateTreeDebugger] add traces for Evaluators
#rnx
#rb maxime.mercier

[CL 26901368 by yoan stamant in ue5-main branch]
2023-08-07 18:06:40 -04:00
marc audy
284724b39e Remove #pragma once from cpp file
[FYI] yoan.stamant
#rnx
#jira

[CL 26871685 by marc audy in ue5-main branch]
2023-08-05 15:15:12 -04:00
yoan stamant
9f9d95d4b3 Fixed minor formatting issue in StateTreeDebugggerView
#rb trivial

[CL 26858510 by yoan stamant in ue5-main branch]
2023-08-04 15:50:38 -04:00
yoan stamant
8aba578f59 [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 26855639 by yoan stamant in ue5-main branch]
2023-08-04 14:55:23 -04:00
yoan stamant
17811fc0e8 [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 26641868 by yoan stamant in ue5-main branch]
2023-07-27 11:27:43 -04:00
yoan stamant
d5a434e9b3 Fix CIS 328889: Localization warnings
#rb trivial

[CL 26405475 by yoan stamant in ue5-main branch]
2023-07-17 09:12:26 -04:00
yoan stamant
1f7269cb0d [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 26344112 by yoan stamant in ue5-main branch]
2023-06-30 10:38:20 -04:00
yoan stamant
b37a531b65 [StateTreeDebugger] added missing transaction when toggling Transition breakpoints (undo/redo). Also prevented State and Task breakpoint toggle from dirtying the asset.
[CL 26321894 by yoan stamant in ue5-main branch]
2023-06-29 14:37:16 -04:00
yoan stamant
3f326b2c0a [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 26268463 by yoan stamant in ue5-main branch]
2023-06-27 15:55:11 -04:00
yoan stamant
79ed0fe3c4 Fixed CIS Issue 326584
[CL 26256163 by yoan stamant in ue5-main branch]
2023-06-27 09:42:30 -04:00
yoan stamant
6653455ac2 [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 26188376 by yoan stamant in ue5-main branch]
2023-06-22 14:18:20 -04:00
yoan stamant
8a9af22b42 Static Analysis fix
#rb trivial

[CL 26131049 by yoan stamant in ue5-main branch]
2023-06-20 15:24:27 -04:00
yoan stamant
7d4961a65f [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 26128077 by yoan stamant in ue5-main branch]
2023-06-20 13:49:25 -04:00
yoan stamant
869839957a [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 26016378 by yoan stamant in ue5-main branch]
2023-06-15 11:38:28 -04:00