feat: [wasm-geotiff-viewer-poc] PoC wasm, in-browser app#63
Draft
JustCreature wants to merge 1 commit into
Draft
feat: [wasm-geotiff-viewer-poc] PoC wasm, in-browser app#63JustCreature wants to merge 1 commit into
JustCreature wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
JustCreature
force-pushed
the
wasm-geotiff-viewer-poc
branch
from
June 19, 2026 08:46
561a5ed to
8b7525e
Compare
JustCreature
marked this pull request as draft
June 19, 2026 09:05
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.
Proof-of-concept WebAssembly build that runs the terrain renderer in the browser (viewer-only): pick a single GeoTIFF and it raymarches on WebGPU.
What's here
web/crate (excluded from the workspace; own nightly +build-stdtoolchain) that reusesrender_gpu/dem_io/terrainunchanged.wasm-bindgen-rayon(GeoTIFF parse + normals run on a worker), native<input type=file>+ File-API load, WASD/drag fly camera.coi-serviceworkerso it works on GitHub Pages.Minimal changes to existing code
render_gpu:GpuContext::new_async()(the wasm main thread can't block onpollster) + WebGPU-default limits on wasm.dem_io:parse_geotiff_auto_reader<R: Read + Seek>to parse in-memory (browser) bytes.Cargo.toml:exclude = ["web"]so native builds/CI never compile it.Scope / limits
Viewer-only — no launcher, tier streaming, or HUD. Large tiles are center-cropped to stay under WebGPU's 128 MB storage-binding limit; rendering is on-demand to avoid pinning weak GPUs.
web/README.mddocuments the build/deploy steps and the hard-won wasm-threading link flags.🤖 Generated with Claude Code