馃摑 Description of the feature
Sync back per-part visual and variable state ownership to the server. This is the first of several user stories to state inversion. Each property class is independently testable by clicking a UI button and seeing the result. Establishes the trigger pattern that all subsequent stories follow.
Visibility, opacity, diffuse color, edge visibility, color variable mapping (the per-part reference: variable ID + component + range, see note), and selection highlight become server-authoritative mutations through VtkNodePipeline. TheiaSceneBase holds the canonical per-part state store (VisorDatasetRegistry). LocalApp registers the corresponding trame controller triggers so the frontend can call them.
Client no longer reapplies the per-part visual and variable state after local_view.update() is called.
Note: this story makes the per-part reference to a color variable server-authoritative, not the lookup tables themselves. Between this story and Story 3.6, the references resolve against the client-held default lookup tables, which is sufficient because those defaults are static. User-modified lookup tables become server-authoritative in 3.6.
To add further detail in backlog grooming
Acceptance Criteria
- All tests pass
- Behaviour identical as main, except that:
- On a refresh/reconnect, the per-part visual state no longer reverts to defaults; it is preserved across a refresh or reconnect.
馃挼 Business Value
No response
馃敆 Useful links and references
No response
馃摑 Description of the feature
Sync back per-part visual and variable state ownership to the server. This is the first of several user stories to state inversion. Each property class is independently testable by clicking a UI button and seeing the result. Establishes the trigger pattern that all subsequent stories follow.
Visibility, opacity, diffuse color, edge visibility, color variable mapping (the per-part reference: variable ID + component + range, see note), and selection highlight become server-authoritative mutations through
VtkNodePipeline.TheiaSceneBaseholds the canonical per-part state store (VisorDatasetRegistry).LocalAppregisters the corresponding trame controller triggers so the frontend can call them.Client no longer reapplies the per-part visual and variable state after local_view.update() is called.
Note: this story makes the per-part reference to a color variable server-authoritative, not the lookup tables themselves. Between this story and Story 3.6, the references resolve against the client-held default lookup tables, which is sufficient because those defaults are static. User-modified lookup tables become server-authoritative in 3.6.
To add further detail in backlog grooming
Acceptance Criteria
馃挼 Business Value
No response
馃敆 Useful links and references
No response