feat: expose canvas integration and camera APIs - #285
Conversation
|
The matrix found and helped fix two portability regressions in Two teardown-only jobs remain red and need a maintainer rerun (GitHub does not allow the fork author to rerun upstream jobs):
Neither reports an assertion failure in the integration APIs. Locally the complete suite is 190 passed / 14 skipped, including the new empty-scene regression test. |
Codecov Report❌ Patch coverage is
❌ Your patch check has failed because the patch coverage (82.60%) is below the target coverage (85.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #285 +/- ##
==========================================
- Coverage 85.20% 85.08% -0.12%
==========================================
Files 53 53
Lines 7192 7256 +64
==========================================
+ Hits 6128 6174 +46
- Misses 1064 1082 +18 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
thank you for this @kephale! I'm glad to see you're still playing around with ndv. I apologize for the delayed response. I'm buried under a backlog of things to respond to after my move. I can say up front that exposing camera APIs is a known high priority... and it touches stuff that @gselzer has been doing it abstracting away the heart of ndv into scenex... so i know there will be some overlap with #276 i apologize that i likely won't be able to give concrete feedback on this very soon. maybe @gselzer, who has been looking at these things more recently, might have thoughts on how to get you what you need (or perhaps even just merge this idea as is) without waiting for the whole refactor to land |
|
yay, hey @tlambert03! no worries on my side, this is a slower push from me so I can wait on @gselzer and adapt my implementation accordingly. my intention is just to get progressive loading support into the world. that said, i did find ndv to be one of the snappiest viewers with this implementation so it might become my main testing vehicle while investigating the chunk sampling/prioritization strategies. |
Human Kyle: I got here when working on a viewer-agnostic progressive loading module. I'm not pushy about any of this and can pull it down if you'd like. It is still a work in progress, but seems to be working reasonably-ish in ndv with both vispy+pygfx.
Summary
ArrayViewer.canvasintegration surface and application-thread dispatch hookThese APIs let renderer-neutral streaming engines integrate without importing private VisPy or PyGFX implementation details. The branch is consumed by Lodstone's experimental ndv adapter, but ndv does not depend on Lodstone.
Validation
189 passed, 14 skippedThe full local pre-commit run additionally reports five existing wx typing diagnostics in
_wx/range_slider.pyand_wx/_array_view.py; none are in this PR's changed files.