Restore public API and both streaming interfaces after merge - #56
Merged
Merged
Conversation
frozzzen3
pushed a commit
that referenced
this pull request
Sep 25, 2026
Restore public API and both streaming interfaces after merge
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.
What changed
After merging the API work with the browser streamer,
import open4dno longer exposed several documented codec, Gaussian, metric and reconstruction functions. Installed-wheel tests also called the original TCPstreamAPI through the new browser-only implementation. This restores the exports and supports both streaming interfaces.open4d.sendfor TCP. Existing iterable/host/portstreamcalls retain TCP behavior; paths and browser options select bundle export and HTTP serving.This repairs the
mainsource used by #55. The Open3D compatibility fix is also on #54, whose 24 CI jobs now pass. No CI jobs were disabled or weakened.Verification
GitHub CI: all 24 jobs pass on
d6440c8, including Python 3.10–3.13 and clean-wheel installation on Linux, macOS and Windows.On macOS / Apple Silicon:
Regression tests transfer mesh frames over actual loopback sockets through
sendandstream, with positional and keyword addresses, and verify geometry and timestamps while the optional browser package is unavailable. Browser tests separately exercise bundle export and serving. Counts above overlap and are not a combined unique-test total.The HTTP test fetched actual default-Draco, 8-bit Draco and PLY payloads, then decoded them in a fresh process. All 144 vertices and 242 triangles per frame matched the reference within quantization tolerances; PLY was exact. All six time steps had distinct Draco payloads. The vendored decoder JS/WASM were served with correct MIME types. This is native fresh-process decoding of HTTP-delivered data, not a browser-rendering claim.
The five previously failing reconstruction cases also pass with Open3D 0.19 and the same NumPy 2.5.3 used in the 0.20 reproduction. Eight standalone native TSDF experiments varied integer/float input, sampling stride and integration count to isolate the upstream behavior from Open4D.
Safety checklist
Remaining limitations
Open3D 0.20 legacy TSDF reconstruction is unsupported pending an upstream correction and validation. Browser streaming still requires the separate source-installed
open4d-streamerpackage. The 17 full-suite skips require external native codecs, datasets, CUDA or a display; the prior CUDA/Gaussian audit is documented in #54, and no CUDA implementation changes are made here.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.