Repository navigation
Conversation
…o feat/browser-solver-package
This branch has not been deployed
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.
Wang Studio consumes Foundry's C solvers as an independent, versioned WebAssembly package on static hosting. The public JavaScript API supports square, triangular and hexagonal regions, resumable enumeration, cancellation and provenance; native APIs and canonical tiles remain unchanged.
Browser domains use arrays of 32-bit words instead of a single tile mask. Color arrays use 32-bit indices when needed, and propagation uses runtime-sized color support tables. Inputs above 32 tiles, 16 colors or 4096 cells use the private dynamic browser engine for both solver selections. Smaller inputs retain the existing native reference/optimized paths. Duplicate edge tuples remain collapsed and witnesses are checked in C and independently in JavaScript.
Release 0.3.0 uses private Wasm ABI 3. The build requires a clean checkout and Emscripten 4.0.23; normalized tar/gzip metadata makes the archive reproducible. The manifest records source revision, compiler, flags and artifact hashes. Studio remains in its own repository: https://github.com/xtraid/wang-studio.
Validation:
make -j4 check: passed native C, all 252 Python tests, serial/shared/OpenMP builds, benchmark comparisons and documentation checks (41 public routes).Operational limits remain 65536 active cells, 65536 palette/used colors and a 2 GiB Wasm linear-memory ceiling (allocation may fail earlier). The active timeout defaults to 600 seconds; zero disables it. Larger-domain performance does not claim native optimized performance. Browser deadlines can be delayed by background-tab throttling.
Release: https://github.com/xtraid/tiling-foundry/releases/tag/solver-web-v0.3.0. Two local clean rebuilds and the independently built GitHub release archive are byte-identical (SHA-256
10043becfd404944575808b092400085d12767f3159d0a3f77b9ec88898d8ad6). Source commit:cb56814760f78ee59e76e41ebfb61e3287237372.