[Remote rendering 3.5] Server-authoritative color variable lookup tables
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 35/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- python, wasm
研究方向
從 RuntimeAppState 和 main 上目前由 client 擁有的 LUT 路徑開始,然後將其與 round-trip spike branch 以及 mapper/lookup-table 的職責進行比較。使用 SelectColorArray(name)、VectorMode 和 VectorComponent 移動元件選擇,同時檢查已知的 framework cache 行為。當伺服器套用的 LUT 在 refresh 或 reconnect 後仍然保留,且與 main 相比沒有視覺差異時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
📝 Description of the feature
Intent: The lookup table backing each color variable, the color mapping itself rather than a part's reference to it, becomes server-owned. This is the last piece of the state to invert.
Context: Story 3.1 makes each part's reference server-authoritative: which color variable it uses, which component, over what range. the lookup table that reference resolves against still lives client-side on the wasm path, so the server cannot reconstruct what a scene actually looks like, and a user-modiifed color mapping is lost on reload. RuntimeAppState reserves a slot for this; this story fills it.
Also move component selection from the mapper to the lookup table (SelectColorArray(name) plus VectorMode / VectorComponent), which is required for magnitude coloring of vector variables. The serialized reference can stay as it is, since component: -1 already means magnitude, but decide whether to keep that sentinel or mirror VTK's two-field shape.
Known risk: the lookup table sync issue: On the round-trip spike branch, the LUT state failed to reach the renderer correctly: the framework's client-side cache applied a stale snapshot instead of the state the server delivered. It was diagnosed as a framework-level issue, with no viable local workaround, and has not been retested since.
What kept this from being an issue on main is that the client rebuilds its own LUT on every color change, which creates a fresh object (and object ID) every time, and the framework's stale cache is keyed on object ID. This story removes that, so this is the story that creates that condition; it is therefore expected here. See the first comment below for more details on diagnosing the issue.
If we do encounter a similar issue in this user story, it can be deferred until 6.2 [to add link to user story once it's created] - where we retest after bumping the vtk-wasm and trame-vtklocal versions to be current (we are currently a major version behind on both dependencies). Defer by leaving the client owning its own LUT on the wasm path, which is what main does today. The spike branch tried making the server own the LUT state and adding a client-side reapply to compensate; this did not reliably work, so is not a recommended stop-gap.
The remote rendering work that follows in Phase 4 and Phase 5 is not dependent on the present user story.
Acceptance Criteria
- Color LUT is applied on the server side, so on a refresh or reconnect, the LUT is preserved.
- No in-visualizer differences from main.
💵 Business Value
No response
🔗 Useful links and references
No response
- 主要語言
- Python
- 星號
- 1
- 分支
- 0
- 平均合併
- 1 天 10 小時
- 30 天內合併 PR
- 31
環境準備
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
ansys/Visual-Interactive-Simulation-Object-Renderer 的其他 Issue
-
Upgrade Python VTK package to 9.7.0 in VISOR可能已有人在做 @LKasianAnsys 於 3 天前認領。 未關閉
ansys/Visual-Interactive-Simulation-Object-Renderer#145 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
難度 3/5 1-2 天 新手友好度 50/100
ansys/Visual-Interactive-Simulation-Object-Renderer#140 ·
維護者通常 1 天內回覆
-
Library updates可能已有人在做 @margalva 於 6 天前認領。 未關閉technical
ansys/Visual-Interactive-Simulation-Object-Renderer#136 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
[User Story]: Fix workflows可能已有人在做 @margalva 於 6 天前認領。 未關閉maintenance
ansys/Visual-Interactive-Simulation-Object-Renderer#131 · 已指派 1 人 ·
維護者通常 1 天內回覆
-
Release 1.0.2可能已有人在做 @margalva 於 6 天前認領。 未關閉maintenance
ansys/Visual-Interactive-Simulation-Object-Renderer#130 · 已指派 1 人 ·
維護者通常 1 天內回覆
查看 ansys/Visual-Interactive-Simulation-Object-Renderer 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 88/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
spec-kitty/spec-kitty#5319 ·
維護者通常 1 天內回覆
-
backend::vllm diffusion multimodal
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
openai/openai-agents-python#5229 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
維護者通常 1 天內回覆