examples(wasm): wasm-enable the Ariadne host + ship the DSL volume bunny demos to the web gallery - #547
Merged
Conversation
…r demos Make the generic ariadne_hello host runnable in the browser so pure-DSL .ari demos can deploy to the web gallery (the path for the volume bunny ports, and future A/V / lsystem .ari demos): - asyncify yield (emscripten_sleep(0)) in the windowed loop under __EMSCRIPTEN__; - a compile-time default document CVC_ARIADNE_WASM_DOC used when no argv is given (the browser passes none), plus adding the MEMFS root so cvc://components/*.ari resolve at the embedded /components; - CMake: per-.ari wasm targets (<name>_ari) built from ariadne_hello.cpp with the document + the component library embedded via --embed-file, under DISTINCT slugs so they sit ALONGSIDE the compiled C++ demos, not replacing them. Deps note: deploying these needs yaml-cpp (the .ari loader) and CVC_ENABLE_SDF added to the wasm build; wired separately.
Build yaml-cpp for wasm into CVC_WASM_DEPS in build-wasm-demo.sh (idempotent, pthread-matched): it is the Ariadne .ari loader's only extra dependency and is not in the cvcpkg wasm catalog, so without it the loader degrades to a stub and the .ari demos ship blank. Add volren_bunny_ari + volslice_bunny_ari to the deploy-pages verify list and the gallery metadata, with thumbnails.
…emos # Conflicts: # src/cvcGL/examples/CMakeLists.txt # src/cvcGL/examples/ariadne_hello.cpp
transfix
enabled auto-merge (squash)
October 2, 2026 22:44
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.
Builds on #546 (the DSL volume bunny demos + mesh-SDF volume source, now on master). Makes the generic Ariadne
.arihost compile to WebAssembly so pure-DSL demos deploy to the browser gallery, and wiresvolren_bunny_ari/volslice_bunny_ariinto the deploy.What
.aridoc (CVC_ARIADNE_WASM_DOC), and the shared component library embedded into MEMFS. Per-.ariwasm targets (<name>_ari) are added alongside the C++volren_bunny/volslice_bunnydemos — additive, not replacing.build-wasm-demo.shnow builds yaml-cpp intoCVC_WASM_DEPS(idempotent, pthread-matched to the module). It is the.ariloader's only extra dependency and is not in the cvcpkg wasm catalog; without it the loader degrades to a stub and the.aridemos ship blank. One edit covers both the libcvc Pages deploy and the branded cyberpcangel deploy, since both call this script._arislugs added to the deploy verify list + gallery metadata, with thumbnails.Verified
.aridemos instantiate cleanly in-browser (runtime initialized, zero console errors, render loop running)..aridocuments render the bunny correctly via native offscreen (the gallery thumbnails).The SDF volume is computed live in the browser from the embedded Stanford mesh via one declarative
source: { sdf: { mesh } }— no baked volume asset.