DOCS: Replacing architecture diagrams - #2448
Conversation
|
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ @@ Coverage Diff @@
## develop #2448 +/- ##
============================================
- Coverage 78.95% 58.37% -20.59%
============================================
Files 767 738 -29
Lines 140780 136459 -4321
============================================
- Hits 111153 79656 -31497
- Misses 29627 56803 +27176
Flags with carried forward coverage won't be shown. Click here to find out more. |
There was a problem hiding this comment.
💡 Harness Review
The new Mermaid diagrams make the architecture more explicit, but the runtime-flow description now misrepresents how action callbacks and action-state data are connected to the implementation.
Reviewed commit 8efe30b
🤖 Helpful? 👍/👎
| space -->|"state change monitor"| ctrl | ||
|
|
||
| %% ---------- Callback out to the scene ---------- | ||
| trig -->|triggers| IU["InputUser"] |
There was a problem hiding this comment.
InputUser is not the intermediary that invokes PlayerInput.OnActionTriggered(). PlayerInput installs its OnActionTriggered delegate directly on each InputActionMap.actionTriggered event; InputUser manages user/device/action association. As drawn, a reader tracing a normal PlayerInput action will look for a callback route that does not exist. Replace this edge with the action/map callback flowing directly to PlayerInput (and present InputUser separately as the device-pairing layer).
🤖 Helpful? 👍/👎
| %% ---------- Action state ---------- | ||
| AState(["InputActionState | ||
| NotifyControlStateChanged()"]) | ||
| trig["triggerStates[]"] |
There was a problem hiding this comment.
This diagram and the preceding text name a triggerStates[] array, but InputActionState actually exposes actionStates (whose element type is TriggerState), alongside bindingStates and controls. Also, state-change monitors call into ProcessControlStateChange; they do not update the binding/control arrays shown by the incoming arrows. This makes the new architecture diagram impossible to reconcile with the source and incorrectly suggests binding resolution happens for every state event. Rename the action-state array and draw the monitor as invoking action-state processing while the resolved binding/control arrays are read from it.
🤖 Helpful? 👍/👎
Description
manual/Architecture.html has two old diagrams. They're very hard to read, and we've had user complaints about that.
This is an attempt to replace them with Mermaid diagrams.
Testing status & QA
Docs only
Overall Product Risks
None: docs only
Comments to reviewers
Very different way to construct the diagrams, so requires careful review.
Checklist
Before review:
Changed,Fixed,Addedsections.Area_CanDoX,Area_CanDoX_EvenIfYIsTheCase,Area_WhenIDoX_AndYHappens_ThisIsTheResult.During merge:
NEW: ___.FIX: ___.DOCS: ___.CHANGE: ___.RELEASE: 1.1.0-preview.3.