Repository navigation
chore: [Remote rendering 3.6a] Cleanups after moving authority to server - #165
Draft
LKasianAnsys wants to merge 5 commits into
Draft
LKasianAnsys wants to merge 5 commits into
LKasianAnsys wants to merge 5 commits into
Conversation
LKasianAnsys
changed the base branch from
main
to
feat/3.5d-fix-color-by-vector-part
October 8, 2026 17:45
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Addresses #24
Context
Feature #19 is Phase 3 of the remote rendering epic (#15), which moves the viewer state authority from the client to the server. The first 5 user stories in this phase moved ownership of all of the pieces of the viewer state to the server. User story 3.6 is to clean up unused scaffolding and to review the save/load state workflow to ensure it works end to end as expected with the new state authority model.
This PR includes two main cleanups:
save_stateAPI. This includes frontend and backend code that can now be retired, now that the server reads its own records duringsave_state.onServerUpdateAsync. Previously, when the server received an API call and triggered anupdateon the client, the server would push stale viewer state, requiring the client to cache its previous state and reapply it after the server push. This is no longer needed now that the server is the authority on the viewer state.Manual checks:
add_dataset, viewer state looks correct for the pre-existing dataset. Start viewer with a dataset, color a part by a variable, turn on some widgets, change the camera orientation. Runadd_datasetto add a new dataset; check that the first dataset's state, and the state of widgets and camera (and UI panels and tabs) looks as it did.save_stateworks as expected. After the first check above, run thesave_stateAPI. Initialize a new VISOR instance, and start it with no dataset. Runload_stateto load the previously saved state. Check that it produces the same viewer state as the original VISOR instance.Copilot summary
This pull request removes the frontend round-trip for saving viewer state, making the server the sole authority for building and persisting the viewer state. The changes simplify the codebase by eliminating now-unnecessary async calls, models, and handlers related to client-side state retrieval. Saving now works even if no client is connected, improving robustness and maintainability.
Major changes include:
Removal of frontend authority and async state retrieval
save_statemethod inVisorVTKand theget_statemethod inVisorSceneBasehave been refactored to be synchronous and no longer await frontend responses. (F6231c12R364, F738364eR236, F738364eR272)_get_runtime_state_asyncand related frontend round-trip logic have been removed fromVisorSceneBaseand its subclasses. (F738364eR186, F4dfffcdR41)save_state_responsetrigger and handler have been removed fromLocalAppand related classes, since the server no longer expects a response from the frontend. (F0d5e153R206, F0d5e153R234, F0d5e153R242, F0d5e153R306, F6887ffeR42, F738364eR405, F4dfffcdR64)Model and code cleanup
VisorSaveStateRequestandVisorSaveStateResponsemodels, which were used for client-server state exchange, have been deleted as they are no longer needed. [1] [2]