From 93f2ceaabea8f7766d762edcc89634586b0860f2 Mon Sep 17 00:00:00 2001 From: funman300 Date: Mon, 18 May 2026 18:45:51 -0700 Subject: [PATCH] =?UTF-8?q?fix(web):=20rebuild=20WASM=20pkg=20=E2=80=94=20?= =?UTF-8?q?foundation=E2=86=92tableau=20moves=20now=20work?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pre-built pkg predated fix c35c045 (enable take-from-foundation by default) so the WASM game always had take_from_foundation=false, silently rejecting every drag from a foundation pile to a tableau column. Rebuilt with wasm-pack --release against current solitaire_core. Co-Authored-By: Claude Sonnet 4.6 --- solitaire_server/web/pkg/solitaire_wasm.js | 30 ++++++++++++++++-- .../web/pkg/solitaire_wasm_bg.wasm | Bin 195524 -> 194480 bytes 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/solitaire_server/web/pkg/solitaire_wasm.js b/solitaire_server/web/pkg/solitaire_wasm.js index a6fe4e9..15a8fec 100644 --- a/solitaire_server/web/pkg/solitaire_wasm.js +++ b/solitaire_server/web/pkg/solitaire_wasm.js @@ -40,20 +40,32 @@ export class ReplayPlayer { } /** * Snapshot the current `GameState` as a JS object (see `StateSnapshot`). + * + * Throws a JS string exception on serialisation failure (should never + * occur in practice — `StateSnapshot` contains only primitive types). * @returns {any} */ state() { const ret = wasm.replayplayer_state(this.__wbg_ptr); - return ret; + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); } /** * Apply the next move; returns the post-step snapshot, or `null` * once the move list is exhausted. + * + * Returns `null` (not an exception) when the replay is finished. + * Throws a JS string exception on serialisation failure. * @returns {any} */ step() { const ret = wasm.replayplayer_step(this.__wbg_ptr); - return ret; + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); } /** * 0-indexed position of the next move to apply. @@ -157,11 +169,16 @@ export class SolitaireGame { } /** * Full pile snapshot as a JS object. + * + * Throws a JS string exception on serialisation failure. * @returns {any} */ state() { const ret = wasm.solitairegame_state(this.__wbg_ptr); - return ret; + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); } /** * Undo the last move. Returns `{ok, error?, snapshot?}`. @@ -180,6 +197,13 @@ function __wbg_get_imports() { const ret = Error(getStringFromWasm0(arg0, arg1)); return ret; }, + __wbg_String_8564e559799eccda: function(arg0, arg1) { + const ret = String(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, __wbg___wbindgen_throw_9c75d47bf9e7731e: function(arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); }, diff --git a/solitaire_server/web/pkg/solitaire_wasm_bg.wasm b/solitaire_server/web/pkg/solitaire_wasm_bg.wasm index 771d9d3efd4cf737ad257d89f85d97bddea577d8..f8e5fbb7a52785903073c359c0576813a38bbf89 100644 GIT binary patch delta 26647 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 delta 26902 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