@puzzmo/sdk 1.0.31 → 1.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts.cjs +0 -0
- package/dist/contracts.d.ts +95 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +0 -0
- package/dist/{createSimulator-xa9RclNq.js → createSimulator-COj3lAeu.js} +198 -197
- package/dist/{createSimulator-xa9RclNq.js.map → createSimulator-COj3lAeu.js.map} +1 -1
- package/dist/{createSimulator-GzKfEQWQ.cjs → createSimulator-DIT36V1k.cjs} +21 -21
- package/dist/{createSimulator-GzKfEQWQ.cjs.map → createSimulator-DIT36V1k.cjs.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -90
- package/dist/index.js.map +1 -1
- package/dist/plugins.d.ts +2 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.spec.d.ts +2 -0
- package/dist/plugins.spec.d.ts.map +1 -0
- package/dist/sdk.d.ts +7 -2
- package/dist/sdk.d.ts.map +1 -1
- package/dist/simulator/createSimulator.d.ts.map +1 -1
- package/dist/simulator/index.cjs +1 -1
- package/dist/simulator/index.d.ts +1 -1
- package/dist/simulator/index.d.ts.map +1 -1
- package/dist/simulator/index.js +1 -1
- package/dist/simulator/standalone.cjs +1 -1
- package/dist/simulator/standalone.js +1 -1
- package/dist/simulator/types.d.ts +6 -0
- package/dist/simulator/types.d.ts.map +1 -1
- package/package.json +6 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DANjdFmB.cjs`),n=[{name:`Puzzmo (light)`,type:`light`,key:`#FFAAAC`,keyFG:`#000000`,keyStrong:`#F7868B`,keyLight:`#FFD2D3`,g_key:`#FFAAAC`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#98B389`,alt2:`#FAC16C`,alt3:`#D298FF`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#FFFFFF`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#F2F2F2`,a_bgAlt:`#ECECEC`,a_puzmo:`#FFC000`,a_headerText:`#000000`,a_table:`#F9F9F9`,a_tableAlt:`#F6F4F4`,a_inlineTag:`#D9D9D9`,a_anchor:`#1F97EE`,a_infoBG:`#FFFFFF`},{name:`Puzzmo (dark)`,type:`dark`,key:`#FFAAAC`,keyFG:`#000000`,keyStrong:`#F7868B`,keyLight:`#FFD2D3`,g_key:`#FFAAAC`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,subBrand:`#FFC000`,subBrandFG:`#000000`,alt1:`#98B389`,alt2:`#FAC16C`,alt3:`#D298FF`,error:`#FF3C3C`,fg:`#ECECEC`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#374351`,g_bgAlt:`#333D49`,g_bgDark:`#2C2F33`,g_textDark:`#F2F2F2`,g_textLight:`#20180E`,g_blank:`#000000`,g_unsolved:`#747474`,g_outline:`#646464`,a_bg:`#141620`,a_bgAlt:`#202433`,a_puzmo:`#FFC000`,a_headerText:`#A1BAD4`,a_table:`#303246`,a_tableAlt:`#393b52`,a_inlineTag:`#ECECEC`,a_anchor:`#1F97EE`,a_infoBG:`#282C3A`},{name:`Foshay`,type:`light`,key:`#98B389`,keyFG:`#313540`,keyStrong:`#87BD69`,keyLight:`#809B77`,g_key:`#98B389`,player:`#3EC0E5`,subBrand:`#FFC000`,subBrandFG:`#000000`,playerFG:`#292B35`,playerLight:`#A8B5D6`,alt1:`#D87DA4`,alt2:`#E3A54F`,alt3:`#D298FF`,error:`#FF3C3C`,fg:`#292B35`,alwaysDark:`#292B35`,alwaysLight:`#D1DBF2`,g_bg:`#949EBA`,g_bgAlt:`#8891AB`,g_bgDark:`#7B839B`,g_textDark:`#292B35`,g_textLight:`#FFFFFF`,g_blank:`#292B35`,g_unsolved:`#B6B7BA`,g_outline:`#676F83`,a_bg:`#828CA3`,a_bgAlt:`#7F889F`,a_puzmo:`#FFC000`,a_headerText:`#292B35`,a_table:`#7A8399`,a_tableAlt:`#767E94`,a_inlineTag:`#ECECEC`,a_anchor:`#56C9E9`,a_infoBG:`#767F95`},{name:`Bright white`,type:`light`,key:`#67ced2`,keyFG:`#000000`,keyStrong:`#26a0a5`,keyLight:`#ade6e9`,g_key:`#67ced2`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#d26767`,alt2:`#fac16c`,alt3:`#7580bd`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#111111`,alwaysLight:`#FFFFFF`,g_bg:`#f6f6f6`,g_bgAlt:`#F4F4F4`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FFFFFF`,a_bgAlt:`#f8fbfc`,a_puzmo:`#FFC000`,a_headerText:`#000000`,a_table:`#EDEDED`,a_tableAlt:`#DBDBDB`,a_inlineTag:`#D9D9D9`,a_anchor:`#1F97EE`,a_infoBG:`#f6f6f6`},{name:`Submersible`,type:`dark`,key:`#CD6DC6`,keyFG:`#031698`,keyStrong:`#FF7ABC`,keyLight:`#B467CB`,g_key:`#CD6DC6`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#4AB1D1`,playerFG:`#071D47`,playerLight:`#3C99D7`,alt1:`#8BA964`,alt2:`#C69A58`,alt3:`#7644B5`,fg:`#FFEBFF`,error:`#FF3C3C`,alwaysDark:`#031698`,alwaysLight:`#FFEBFF`,g_bg:`#043BED`,g_bgAlt:`#0A31CC`,g_bgDark:`#0E2DA8`,g_textDark:`#031698`,g_textLight:`#FFEBFF`,g_blank:`#031698`,g_unsolved:`#3662F1`,g_outline:`#031698`,a_bg:`#043BED`,a_bgAlt:`#0A31CC`,a_puzmo:`#FFC000`,a_headerText:`#FFEBFF`,a_table:`#043BED`,a_tableAlt:`#0A31CC`,a_inlineTag:`#FF7ABC`,a_anchor:`#FF7ABC`,a_infoBG:`#0A31CC`},{name:`Hot Dog (beta)`,type:`light`,key:`#FFFF00`,keyFG:`#000000`,keyStrong:`#FFE600`,keyLight:`#FFEC44`,g_key:`#FFFF00`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#FF7A00`,playerFG:`#000000`,playerLight:`#FFA450`,alt1:`#3ABC5E`,alt2:`#5C3ABC`,alt3:`#BC3AAF`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#EBFF00`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FF0000`,a_bgAlt:`#E50000`,a_puzmo:`#FFC000`,a_headerText:`#FFFFFF`,a_table:`#E50000`,a_tableAlt:`#FF2525`,a_inlineTag:`#000000`,a_anchor:`#000000`,a_infoBG:`#C6C6C6`},{name:`Outlook Hayesy`,type:`light`,key:`#DAB98C`,keyFG:`#000000`,keyStrong:`#B99368`,keyLight:`#DAB98C`,subBrand:`#FFC000`,subBrandFG:`#000000`,g_key:`#DAB98C`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#5EC386`,alt2:`#5E93C3`,alt3:`#C35E5E`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#5E390F`,alwaysLight:`#FFF3E4`,g_bg:`#FFFFFF`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FEF5E8`,a_bgAlt:`#ffffff`,a_puzmo:`#FAC7CE`,a_headerText:`#000000`,a_table:`#FAE8D3`,a_tableAlt:`#EED7BC`,a_inlineTag:`#D9D9D9`,a_anchor:`#B99368`,a_infoBG:`#FFFFFF`},{name:`Console (beta)`,type:`dark`,key:`#957df9`,keyFG:`#000000`,keyStrong:`#590FF5`,keyLight:`#590FF5`,subBrand:`#FFC000`,subBrandFG:`#000000`,g_key:`#FFFF00`,player:`#ffffff`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#590ff5`,alt2:`#00e200`,alt3:`#ff8a02`,fg:`#00e200`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#00e200`,g_bg:`#101428`,g_bgAlt:`#101428`,g_bgDark:`#00e200`,g_textDark:`#00e200`,g_textLight:`#590ff5`,g_blank:`#00e200`,g_unsolved:`#0000ff`,g_outline:`#00e200`,a_bg:`#000000`,a_bgAlt:`#112211`,a_puzmo:`#ffffff`,a_headerText:`#00e200`,a_table:`#000000`,a_tableAlt:`#002200`,a_inlineTag:`#D9D9D9`,a_anchor:`#957df9`,a_infoBG:`#001900`}];var r={collapsed:`simulator-collapsed`,tab:`simulator-tab`,theme:`simulator-theme`,fixtureCategory:`simulator-fixture-category`,fixturePuzzle:`simulator-fixture-puzzle`,renderHost:`simulator-render-host`,renderContext:`simulator-render-context`,gameSettings:`simulator-game-settings`};function i(){let e=localStorage.getItem(r.gameSettings);if(!e)return{};try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch(e){}return{}}function a(){let e=localStorage.getItem(r.theme);if(e){let t=n.find(t=>t.name===e);if(t)return t}return n[0]}function o(e){var t;let n=localStorage.getItem(r.tab);return n&&e.includes(n)?n:(t=e[0])==null?`ctrl`:t}function s(e){let t=localStorage.getItem(r.collapsed);return t===null?e:t===`true`}function c(){let e=localStorage.getItem(r.renderHost);return e&&[`game`,`app`,`opengraph`].includes(e)?e:`game`}function l(){let e=localStorage.getItem(r.renderContext);if(e&&[`preview`,`share`,`completed`,`timeline`].includes(e))return e}function u(e,t,n){var u,d;let f=localStorage.getItem(r.fixtureCategory),p=localStorage.getItem(r.fixturePuzzle);return{isCollapsed:s((u=e.collapsed)==null?!0:u),isPaused:!1,hasStarted:!1,activeTab:o(n),puzzleData:null,originalPuzzle:``,currentInputStr:``,completionData:null,selectedTheme:a(),selectedCategory:f&&t.includes(f)?f:(d=t[0])==null?null:d,selectedPuzzle:p==null?null:p,renderHost:c(),renderContext:l(),gameSettings:i(),settingsComponents:null}}function d(e){localStorage.setItem(r.gameSettings,JSON.stringify(e))}function f(){localStorage.removeItem(r.gameSettings)}function p(e){localStorage.setItem(r.collapsed,String(e))}function m(e){localStorage.setItem(r.tab,e)}function h(e){localStorage.setItem(r.theme,e)}function g(e){localStorage.setItem(r.fixtureCategory,e)}function _(e){localStorage.setItem(r.fixturePuzzle,e)}function
|
|
1
|
+
const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DANjdFmB.cjs`),n=[{name:`Puzzmo (light)`,type:`light`,key:`#FFAAAC`,keyFG:`#000000`,keyStrong:`#F7868B`,keyLight:`#FFD2D3`,g_key:`#FFAAAC`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#98B389`,alt2:`#FAC16C`,alt3:`#D298FF`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#FFFFFF`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#F2F2F2`,a_bgAlt:`#ECECEC`,a_puzmo:`#FFC000`,a_headerText:`#000000`,a_table:`#F9F9F9`,a_tableAlt:`#F6F4F4`,a_inlineTag:`#D9D9D9`,a_anchor:`#1F97EE`,a_infoBG:`#FFFFFF`},{name:`Puzzmo (dark)`,type:`dark`,key:`#FFAAAC`,keyFG:`#000000`,keyStrong:`#F7868B`,keyLight:`#FFD2D3`,g_key:`#FFAAAC`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,subBrand:`#FFC000`,subBrandFG:`#000000`,alt1:`#98B389`,alt2:`#FAC16C`,alt3:`#D298FF`,error:`#FF3C3C`,fg:`#ECECEC`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#374351`,g_bgAlt:`#333D49`,g_bgDark:`#2C2F33`,g_textDark:`#F2F2F2`,g_textLight:`#20180E`,g_blank:`#000000`,g_unsolved:`#747474`,g_outline:`#646464`,a_bg:`#141620`,a_bgAlt:`#202433`,a_puzmo:`#FFC000`,a_headerText:`#A1BAD4`,a_table:`#303246`,a_tableAlt:`#393b52`,a_inlineTag:`#ECECEC`,a_anchor:`#1F97EE`,a_infoBG:`#282C3A`},{name:`Foshay`,type:`light`,key:`#98B389`,keyFG:`#313540`,keyStrong:`#87BD69`,keyLight:`#809B77`,g_key:`#98B389`,player:`#3EC0E5`,subBrand:`#FFC000`,subBrandFG:`#000000`,playerFG:`#292B35`,playerLight:`#A8B5D6`,alt1:`#D87DA4`,alt2:`#E3A54F`,alt3:`#D298FF`,error:`#FF3C3C`,fg:`#292B35`,alwaysDark:`#292B35`,alwaysLight:`#D1DBF2`,g_bg:`#949EBA`,g_bgAlt:`#8891AB`,g_bgDark:`#7B839B`,g_textDark:`#292B35`,g_textLight:`#FFFFFF`,g_blank:`#292B35`,g_unsolved:`#B6B7BA`,g_outline:`#676F83`,a_bg:`#828CA3`,a_bgAlt:`#7F889F`,a_puzmo:`#FFC000`,a_headerText:`#292B35`,a_table:`#7A8399`,a_tableAlt:`#767E94`,a_inlineTag:`#ECECEC`,a_anchor:`#56C9E9`,a_infoBG:`#767F95`},{name:`Bright white`,type:`light`,key:`#67ced2`,keyFG:`#000000`,keyStrong:`#26a0a5`,keyLight:`#ade6e9`,g_key:`#67ced2`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#d26767`,alt2:`#fac16c`,alt3:`#7580bd`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#111111`,alwaysLight:`#FFFFFF`,g_bg:`#f6f6f6`,g_bgAlt:`#F4F4F4`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FFFFFF`,a_bgAlt:`#f8fbfc`,a_puzmo:`#FFC000`,a_headerText:`#000000`,a_table:`#EDEDED`,a_tableAlt:`#DBDBDB`,a_inlineTag:`#D9D9D9`,a_anchor:`#1F97EE`,a_infoBG:`#f6f6f6`},{name:`Submersible`,type:`dark`,key:`#CD6DC6`,keyFG:`#031698`,keyStrong:`#FF7ABC`,keyLight:`#B467CB`,g_key:`#CD6DC6`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#4AB1D1`,playerFG:`#071D47`,playerLight:`#3C99D7`,alt1:`#8BA964`,alt2:`#C69A58`,alt3:`#7644B5`,fg:`#FFEBFF`,error:`#FF3C3C`,alwaysDark:`#031698`,alwaysLight:`#FFEBFF`,g_bg:`#043BED`,g_bgAlt:`#0A31CC`,g_bgDark:`#0E2DA8`,g_textDark:`#031698`,g_textLight:`#FFEBFF`,g_blank:`#031698`,g_unsolved:`#3662F1`,g_outline:`#031698`,a_bg:`#043BED`,a_bgAlt:`#0A31CC`,a_puzmo:`#FFC000`,a_headerText:`#FFEBFF`,a_table:`#043BED`,a_tableAlt:`#0A31CC`,a_inlineTag:`#FF7ABC`,a_anchor:`#FF7ABC`,a_infoBG:`#0A31CC`},{name:`Hot Dog (beta)`,type:`light`,key:`#FFFF00`,keyFG:`#000000`,keyStrong:`#FFE600`,keyLight:`#FFEC44`,g_key:`#FFFF00`,subBrand:`#FFC000`,subBrandFG:`#000000`,player:`#FF7A00`,playerFG:`#000000`,playerLight:`#FFA450`,alt1:`#3ABC5E`,alt2:`#5C3ABC`,alt3:`#BC3AAF`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#FFFFFF`,g_bg:`#EBFF00`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FF0000`,a_bgAlt:`#E50000`,a_puzmo:`#FFC000`,a_headerText:`#FFFFFF`,a_table:`#E50000`,a_tableAlt:`#FF2525`,a_inlineTag:`#000000`,a_anchor:`#000000`,a_infoBG:`#C6C6C6`},{name:`Outlook Hayesy`,type:`light`,key:`#DAB98C`,keyFG:`#000000`,keyStrong:`#B99368`,keyLight:`#DAB98C`,subBrand:`#FFC000`,subBrandFG:`#000000`,g_key:`#DAB98C`,player:`#5DBAFC`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#5EC386`,alt2:`#5E93C3`,alt3:`#C35E5E`,fg:`#000000`,error:`#FF3C3C`,alwaysDark:`#5E390F`,alwaysLight:`#FFF3E4`,g_bg:`#FFFFFF`,g_bgAlt:`#EBEBEB`,g_bgDark:`#D6D6D6`,g_textDark:`#1B1B28`,g_textLight:`#FFFFFF`,g_blank:`#000000`,g_unsolved:`#C2C2C2`,g_outline:`#1B1D29`,a_bg:`#FEF5E8`,a_bgAlt:`#ffffff`,a_puzmo:`#FAC7CE`,a_headerText:`#000000`,a_table:`#FAE8D3`,a_tableAlt:`#EED7BC`,a_inlineTag:`#D9D9D9`,a_anchor:`#B99368`,a_infoBG:`#FFFFFF`},{name:`Console (beta)`,type:`dark`,key:`#957df9`,keyFG:`#000000`,keyStrong:`#590FF5`,keyLight:`#590FF5`,subBrand:`#FFC000`,subBrandFG:`#000000`,g_key:`#FFFF00`,player:`#ffffff`,playerFG:`#000000`,playerLight:`#9EDDFF`,alt1:`#590ff5`,alt2:`#00e200`,alt3:`#ff8a02`,fg:`#00e200`,error:`#FF3C3C`,alwaysDark:`#1B1D29`,alwaysLight:`#00e200`,g_bg:`#101428`,g_bgAlt:`#101428`,g_bgDark:`#00e200`,g_textDark:`#00e200`,g_textLight:`#590ff5`,g_blank:`#00e200`,g_unsolved:`#0000ff`,g_outline:`#00e200`,a_bg:`#000000`,a_bgAlt:`#112211`,a_puzmo:`#ffffff`,a_headerText:`#00e200`,a_table:`#000000`,a_tableAlt:`#002200`,a_inlineTag:`#D9D9D9`,a_anchor:`#957df9`,a_infoBG:`#001900`}];var r={collapsed:`simulator-collapsed`,tab:`simulator-tab`,theme:`simulator-theme`,fixtureCategory:`simulator-fixture-category`,fixturePuzzle:`simulator-fixture-puzzle`,renderHost:`simulator-render-host`,renderContext:`simulator-render-context`,gameSettings:`simulator-game-settings`};function i(){let e=localStorage.getItem(r.gameSettings);if(!e)return{};try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch(e){}return{}}function a(){let e=localStorage.getItem(r.theme);if(e){let t=n.find(t=>t.name===e);if(t)return t}return n[0]}function o(e){var t;let n=localStorage.getItem(r.tab);return n&&e.includes(n)?n:(t=e[0])==null?`ctrl`:t}function s(e){let t=localStorage.getItem(r.collapsed);return t===null?e:t===`true`}function c(){let e=localStorage.getItem(r.renderHost);return e&&[`game`,`app`,`opengraph`].includes(e)?e:`game`}function l(){let e=localStorage.getItem(r.renderContext);if(e&&[`preview`,`share`,`completed`,`timeline`].includes(e))return e}function u(e,t,n){var u,d;let f=localStorage.getItem(r.fixtureCategory),p=localStorage.getItem(r.fixturePuzzle);return{isCollapsed:s((u=e.collapsed)==null?!0:u),isPaused:!1,hasStarted:!1,activeTab:o(n),puzzleData:null,originalPuzzle:``,currentInputStr:``,completionData:null,selectedTheme:a(),selectedCategory:f&&t.includes(f)?f:(d=t[0])==null?null:d,selectedPuzzle:p==null?null:p,renderHost:c(),renderContext:l(),gameSettings:i(),settingsComponents:null}}function d(e){localStorage.setItem(r.gameSettings,JSON.stringify(e))}function f(){localStorage.removeItem(r.gameSettings)}function p(e){localStorage.setItem(r.collapsed,String(e))}function m(e){localStorage.setItem(r.tab,e)}function h(e){localStorage.setItem(r.theme,e)}function g(e){localStorage.setItem(r.fixtureCategory,e)}function _(e){localStorage.setItem(r.fixturePuzzle,e)}function v(){localStorage.removeItem(r.fixturePuzzle)}function y(e){e?localStorage.setItem(r.renderHost,e):localStorage.removeItem(r.renderHost)}function b(e){e?localStorage.setItem(r.renderContext,e):localStorage.removeItem(r.renderContext)}function ee(e){let t=[];return{log(n,r,i){let a={type:n,data:r,time:new Date().toLocaleTimeString(`en-US`,{hour12:!1,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),direction:i};t.push(a),t.length>100&&t.shift(),e==null||e(a)},clear(){t.length=0},getLog(){return t}}}function te(e,t,n){console.log(`Simulator sending:`,e,t),n==null||n.log(e,t,`out`),window.postMessage({type:e,data:t},`*`)}function ne(e,t){let n=n=>{var r,i,a;if(!(!(n==null||(r=n.data)==null)&&r.type))return;let o=n.data.type,s=(i=(a=n.data.data)==null?n.data.json:a)==null?{}:i;[`TIMER_TICK`,`TIMER_SYNC`].includes(o)||t==null||t.log(o,s,`in`),e(o,s)};return window.addEventListener(`message`,n),()=>window.removeEventListener(`message`,n)}function re(e){let t=new Map;console.log(`Simulator: Parsing fixtures`,Object.keys(e));for(let[o,s]of Object.entries(e)){var n,r,i,a;let e=o.split(`/`),c=(n=(r=e.pop())==null?void 0:r.replace(/\.[^.]+$/,``))==null?``:n,l=(i=e.pop())==null?`default`:i;t.has(l)||t.set(l,new Map);let u=(a=s.default)==null?s:a;t.get(l).set(c,u)}return t.forEach((e,n)=>{let r=new Map(Array.from(e.entries()).sort((e,t)=>{var n,r,i,a;return parseInt((n=(r=e[0].match(/\d+/))==null?void 0:r[0])==null?`0`:n)-parseInt((i=(a=t[0].match(/\d+/))==null?void 0:a[0])==null?`0`:i)}));t.set(n,r)}),t}function ie(e,t){return e.length===0?``:`
|
|
2
2
|
<div class="simulator-fixtures">
|
|
3
3
|
<div class="simulator-field">
|
|
4
4
|
<label class="simulator-label">Category</label>
|
|
@@ -24,7 +24,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
24
24
|
<div class="simulator-row">
|
|
25
25
|
<button class="simulator-btn danger" id="simulator-retry" disabled>Retry</button>
|
|
26
26
|
</div>
|
|
27
|
-
`},bind(e){let t=e.getElement(`#simulator-start`),n=e.getElement(`#simulator-pause`),r=e.getElement(`#simulator-retry`),i=e.getElement(`#simulator-fixtures-container`);if(console.log(`Simulator: CtrlView.bind called`,{hasFixtures:!!e.fixtures,categories:e.fixtureCategories,selectedCategory:e.state.selectedCategory,selectedPuzzle:e.state.selectedPuzzle}),e.fixtures&&e.fixtureCategories.length>0&&i){i.innerHTML=
|
|
27
|
+
`},bind(e){let t=e.getElement(`#simulator-start`),n=e.getElement(`#simulator-pause`),r=e.getElement(`#simulator-retry`),i=e.getElement(`#simulator-fixtures-container`);if(console.log(`Simulator: CtrlView.bind called`,{hasFixtures:!!e.fixtures,categories:e.fixtureCategories,selectedCategory:e.state.selectedCategory,selectedPuzzle:e.state.selectedPuzzle}),e.fixtures&&e.fixtureCategories.length>0&&i){i.innerHTML=ie(e.fixtureCategories,e.state.selectedCategory);let t=e.getElement(`#simulator-fixture-category`),n=e.getElement(`#simulator-fixture-puzzle`);if(t&&n&&e.state.selectedCategory){e.state.selectedPuzzle=x(n,e.fixtures,e.state.selectedCategory,e.state.selectedPuzzle);let r=S(e.fixtures,e.state.selectedCategory,e.state.selectedPuzzle);console.log(`Simulator: Loading fixture puzzle`,{category:e.state.selectedCategory,puzzle:e.state.selectedPuzzle,hasPuzzleData:!!r}),r&&(e.state.puzzleData=r,e.state.originalPuzzle=r,e.state.selectedCategory&&g(e.state.selectedCategory),e.state.selectedPuzzle&&_(e.state.selectedPuzzle)),t.addEventListener(`change`,()=>{console.log(`Simulator: Category changed, reloading...`,t.value),g(t.value),v(),window.location.reload()}),n.addEventListener(`change`,()=>{console.log(`Simulator: Puzzle changed, reloading...`,n.value),_(n.value),window.location.reload()})}}t==null||t.addEventListener(`click`,()=>{e.state.isPaused?(e.sendToGame(`RESUME_GAME`,{}),e.state.isPaused=!1,n&&(n.textContent=`Pause`),e.updateStatus(`Running`,`ready`)):(e.sendToGame(`START_GAME`,void 0),e.state.hasStarted=!0,n&&(n.disabled=!1),t&&(t.textContent=`Resume`),e.updateStatus(`Running`,`ready`))}),n==null||n.addEventListener(`click`,()=>{e.state.isPaused?(e.sendToGame(`RESUME_GAME`,{}),e.state.isPaused=!1,n.textContent=`Pause`,e.updateStatus(`Running`,`ready`)):(e.sendToGame(`PAUSE_GAME`,{}),e.state.isPaused=!0,n.textContent=`Resume`,e.updateStatus(`Paused`,`paused`))}),r==null||r.addEventListener(`click`,()=>{e.sendToGame(`RETRY_PUZZLE`,{}),e.state.hasStarted=!1,e.state.isPaused=!1,n&&(n.disabled=!0,n.textContent=`Pause`),t&&(t.textContent=`Start`),e.updateStatus(`Ready to retry`,`ready`)})},onMessage(e,t,n){let r=n.getElement(`#simulator-start`),i=n.getElement(`#simulator-pause`),a=n.getElement(`#simulator-retry`);e===`READY_GAME_LOADED`&&(r&&(r.disabled=!1),a&&(a.disabled=!1),n.updateStatus(`Ready`,`ready`)),e===`GAME_COMPLETED`&&(n.state.hasStarted=!1,i&&(i.disabled=!0),r&&(r.disabled=!0),n.updateStatus(`Completed!`,`complete`))}}}var C=`simulator-saved-states`;function w(){let e=globalThis;for(let t of Object.keys(e))if(t.endsWith(`Thumbnail`)&&typeof e[t]==`function`)return{name:t,fn:e[t]};return null}function T(e,t){let n=w();if(!n)return``;try{var r;let i=(r=e.state.puzzleData)==null?``:r,a={viewerIsOwner:!0,theme:e.state.selectedTheme,strict:!0,renderHost:`game`};return n.fn(i,t,a)}catch(e){return``}}var E=[];function D(e,t=8){let n=14*t+8+4;e.style.height=`auto`;let r=Math.min(Math.max(e.scrollHeight,40),n);e.style.height=`${r}px`}function oe(){let e=``,t=``;return{id:`data`,label:`Data`,render(){return`
|
|
28
28
|
<div class="data-view-container">
|
|
29
29
|
<div class="data-subtabs">
|
|
30
30
|
<button class="data-subtab active" data-subtab="edit">Edit</button>
|
|
@@ -185,7 +185,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
185
185
|
</select>
|
|
186
186
|
</div>
|
|
187
187
|
</div>
|
|
188
|
-
`},bind(e){let t=e.getElement(`#simulator-thumb-refresh`);t==null||t.addEventListener(`click`,()=>e.updateThumbnail());let n=e.getElement(`#simulator-render-host-select`),r=e.getElement(`#simulator-render-context-select`),i=e.getElement(`#simulator-render-context-field`),a=()=>{i&&(i.style.display=e.state.renderHost===`opengraph`?`block`:`none`)};n&&(e.state.renderHost||(e.state.renderHost=`game`,
|
|
188
|
+
`},bind(e){let t=e.getElement(`#simulator-thumb-refresh`);t==null||t.addEventListener(`click`,()=>e.updateThumbnail());let n=e.getElement(`#simulator-render-host-select`),r=e.getElement(`#simulator-render-context-select`),i=e.getElement(`#simulator-render-context-field`),a=()=>{i&&(i.style.display=e.state.renderHost===`opengraph`?`block`:`none`)};n&&(e.state.renderHost||(e.state.renderHost=`game`,y(e.state.renderHost)),n.value=e.state.renderHost||`game`,n.addEventListener(`change`,()=>{e.state.renderHost=n.value,y(e.state.renderHost),a(),e.updateThumbnail()})),r&&(e.state.renderContext||(e.state.renderContext=`preview`,b(e.state.renderContext)),r.value=e.state.renderContext||`preview`,r.addEventListener(`change`,()=>{e.state.renderContext=r.value,b(e.state.renderContext),e.updateThumbnail()})),a()},onActivate(e){setTimeout(()=>e.updateThumbnail(),0)},updatePreview:e=>{let t=e.getElement(`#simulator-thumb-preview`),n=e.getElement(`#simulator-thumb-fn`);t==null||t.style.setProperty(`--sim-thumb-bg`,e.state.selectedTheme.g_bg);let r=P();if(!r){t&&(t.innerHTML=`<span class="simulator-empty">No thumbnail function found</span>`),n&&(n.textContent=``);return}n&&(n.textContent=`Using: ${r.name}()`);try{var i;let n=(i=e.state.puzzleData)==null?``:i,a={viewerIsOwner:!0,theme:e.state.selectedTheme,strict:!0,renderHost:e.state.renderHost,renderContext:e.state.renderContext},o=r.fn(n,e.state.currentInputStr,a);t&&(t.innerHTML=o)}catch(e){console.error(`Simulator: Thumbnail error`,e),t&&(t.innerHTML=`<span class="simulator-empty">Error: ${e}</span>`)}}}}function F(e){let t=[e.key,e.subBrand,e.player,e.alt1,e.alt2,e.alt3].map(e=>`<div class="simulator-theme-preview-cell" style="background: ${e}"></div>`).join(``);return`<div class="simulator-theme-preview" style="background: ${e.g_bg}">${t}</div>`}function de(){return{id:`theme`,label:`Theme`,render(){return`
|
|
189
189
|
<div class="theme-view-container">
|
|
190
190
|
<div class="theme-header">
|
|
191
191
|
<span class="simulator-label">Select Theme</span>
|
|
@@ -196,7 +196,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
196
196
|
${F(n)}
|
|
197
197
|
<div class="simulator-theme-name">${n.name}</div>
|
|
198
198
|
<div class="simulator-theme-type">${n.type}</div>
|
|
199
|
-
`,r.addEventListener(`click`,()=>{console.log(`Simulator: Theme changed, reloading...`,n.name),h(n.name),window.location.reload()}),t.appendChild(r)})}}}var I=`puzzmo_sim_api_mode`,L=`http://localhost:8911`,R=`https://api.puzzmo.com`,z=()=>localStorage.getItem(I)===`dev`?`dev`:`prod`,
|
|
199
|
+
`,r.addEventListener(`click`,()=>{console.log(`Simulator: Theme changed, reloading...`,n.name),h(n.name),window.location.reload()}),t.appendChild(r)})}}}var I=`puzzmo_sim_api_mode`,L=`http://localhost:8911`,R=`https://api.puzzmo.com`,z=()=>localStorage.getItem(I)===`dev`?`dev`:`prod`,B=e=>{localStorage.setItem(I,e)},V=null,fe=function(){var e=t.t(function*(){if(V!==null)return V;try{let e=new AbortController,t=setTimeout(()=>e.abort(),1e3),n=yield fetch(`${L}/healthz`,{signal:e.signal});return clearTimeout(t),V=n.ok,V}catch(e){return V=!1,!1}});return function(){return e.apply(this,arguments)}}(),H=()=>({apiURL:z()===`dev`?L:R,clientID:`protosdk:oauthclient`,redirectUri:`${window.location.origin}/oauth/callback`}),pe=()=>{let e=new Uint8Array(32);return crypto.getRandomValues(e),Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)},U=`puzzmo_sim_oauth_token`,W=`puzzmo_sim_oauth_refresh_token`,me=e=>localStorage.setItem(U,e),he=e=>localStorage.setItem(W,e),G=()=>{let e=localStorage.getItem(U);return e&&`${e.substring(0,20)}`,e},K=()=>localStorage.getItem(W),q=()=>{localStorage.removeItem(U),localStorage.removeItem(W)},ge=()=>{let e=H(),t=pe();sessionStorage.setItem(`oauth_state`,t),sessionStorage.setItem(`oauth_return_url`,window.location.href);let n=new URL(`${e.apiURL}/oauth/auth`);n.searchParams.set(`client_id`,e.clientID),n.searchParams.set(`response_type`,`code`),n.searchParams.set(`redirect_uri`,e.redirectUri),n.searchParams.set(`state`,t),window.location.href=n.toString()},_e=e=>{try{let t=e.split(`.`);if(t.length!==3)return!0;let n=JSON.parse(atob(t[1])).exp;return n?Date.now()>=n*1e3-300*1e3:!0}catch(e){return!0}},ve=function(){var e=t.t(function*(){let e=K();if(!e)return!1;let t=H();try{let n=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:t.clientID}),r=yield fetch(`${t.apiURL}/oauth/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n.toString()});if(!r.ok)return r.statusText,!1;let i=yield r.json(),a=i.access_token||i.accessToken;if(!a)return!1;me(a);let o=i.refresh_token||i.refreshToken;return o&&he(o),!0}catch(e){return!1}});return function(){return e.apply(this,arguments)}}(),ye=function(){var e=t.t(function*(e,t){let n=H(),r=sessionStorage.getItem(`oauth_state`);if(!r||r!==t)return null;sessionStorage.removeItem(`oauth_state`);try{let t=new URLSearchParams({grant_type:`authorization_code`,code:e,client_id:n.clientID,redirect_uri:n.redirectUri}),r=yield fetch(`${n.apiURL}/oauth/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t.toString()});return r.ok?yield r.json():(r.statusText,null)}catch(e){return null}});return function(t,n){return e.apply(this,arguments)}}(),be=function(){var e=t.t(function*(e,t={}){let n=H(),r=G();if(!r)throw Error(`Not authenticated`);if(_e(r))if(yield ve()){if(r=G(),!r)throw Error(`Token refresh succeeded but no token available`)}else throw q(),Error(`Session expired. Please log in again.`);let i=yield fetch(`${n.apiURL}/graphql`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`,"auth-provider":`custom`},body:JSON.stringify({query:e,variables:t})});if(!i.ok)throw Error(`API request failed: ${i.statusText}`);return i.json()});return function(t){return e.apply(this,arguments)}}(),xe=e=>{try{let t=e.split(`.`);return t.length,t.length===3?JSON.parse(atob(t[1])):null}catch(e){return null}};function Se(){let e=!1;return{id:`auth`,label:`Auth`,render(){let e=G(),t=!!e,n=z(),r=n===`dev`?L:R,i=`<button class="simulator-btn tiny" id="auth-dev-toggle" style="display: none;">${n===`dev`?`Using Dev`:`Dev`}</button>`;if(t){let t=xe(e),n=t!=null&&t.exp?new Date(t.exp*1e3).toLocaleString():`Unknown`,a=!!K(),o=a?xe(K()):null,s=o!=null&&o.exp?new Date(o.exp*1e3).toLocaleString():null;return`
|
|
200
200
|
<div class="simulator-section">
|
|
201
201
|
<div class="simulator-section-title auth-title-row">
|
|
202
202
|
<span>Puzzmo Authentication</span>
|
|
@@ -241,7 +241,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
241
241
|
</div>
|
|
242
242
|
<div id="auth-error" class="auth-error"></div>
|
|
243
243
|
</div>
|
|
244
|
-
`},bind(n){let r=n.getElement(`#auth-login`),i=n.getElement(`#auth-logout`),a=n.getElement(`#auth-refresh`),o=n.getElement(`#auth-test-api`),s=n.getElement(`#auth-api-result`),c=n.getElement(`#auth-dev-toggle`);e?
|
|
244
|
+
`},bind(n){let r=n.getElement(`#auth-login`),i=n.getElement(`#auth-logout`),a=n.getElement(`#auth-refresh`),o=n.getElement(`#auth-test-api`),s=n.getElement(`#auth-api-result`),c=n.getElement(`#auth-dev-toggle`);e?V&&c&&(c.style.display=``,z()===`dev`&&c.classList.add(`active`)):(e=!0,fe().then(e=>{e&&c&&(c.style.display=``,z()===`dev`&&c.classList.add(`active`))})),c==null||c.addEventListener(`click`,()=>{B(z()===`dev`?`prod`:`dev`),q(),window.location.reload()}),r==null||r.addEventListener(`click`,()=>{ge()}),i==null||i.addEventListener(`click`,()=>{q(),window.location.reload()}),a==null||a.addEventListener(`click`,t.t(function*(){a.disabled=!0,a.textContent=`Refreshing...`,(yield ve())?window.location.reload():(a.textContent=`Refresh Failed`,a.disabled=!1)})),o==null||o.addEventListener(`click`,t.t(function*(){if(s){s.innerHTML=`<div class="loading">Loading...</div>`;try{let t=yield be(`
|
|
245
245
|
query {
|
|
246
246
|
currentUser {
|
|
247
247
|
id
|
|
@@ -250,7 +250,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
250
250
|
name
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
|
-
`);if(t.errors){var e;s.innerHTML=`<div class="error">Error: ${((e=t.errors[0])==null?void 0:e.message)||`Unknown error`}</div>`}else s.innerHTML=`<pre>${JSON.stringify(t.data,null,2)}</pre>`}catch(e){s.innerHTML=`<div class="error">Error: ${e instanceof Error?e.message:`Unknown error`}</div>`}}}))},onActivate(e){return t.t(function*(){let t=new URLSearchParams(window.location.search),n=t.get(`code`),r=t.get(`state`),i=t.get(`error`);if(i){let t=e.getElement(`#auth-error`);t&&(t.innerHTML=`<div class="error">OAuth error: ${i}</div>`),window.history.replaceState({},``,window.location.pathname);return}if(n&&r){let t=e.getElement(`#auth-status`);t&&(t.innerHTML=`<span class="indicator waiting"></span><span>Exchanging code...</span>`);let i=yield
|
|
253
|
+
`);if(t.errors){var e;s.innerHTML=`<div class="error">Error: ${((e=t.errors[0])==null?void 0:e.message)||`Unknown error`}</div>`}else s.innerHTML=`<pre>${JSON.stringify(t.data,null,2)}</pre>`}catch(e){s.innerHTML=`<div class="error">Error: ${e instanceof Error?e.message:`Unknown error`}</div>`}}}))},onActivate(e){return t.t(function*(){let t=new URLSearchParams(window.location.search),n=t.get(`code`),r=t.get(`state`),i=t.get(`error`);if(i){let t=e.getElement(`#auth-error`);t&&(t.innerHTML=`<div class="error">OAuth error: ${i}</div>`),window.history.replaceState({},``,window.location.pathname);return}if(n&&r){let t=e.getElement(`#auth-status`);t&&(t.innerHTML=`<span class="indicator waiting"></span><span>Exchanging code...</span>`);let i=yield ye(n,r);if(window.history.replaceState({},``,window.location.pathname),i){let e=i.access_token||i.accessToken;if(e){me(e);let t=i.refresh_token||i.refreshToken;t&&he(t)}window.location.reload()}else{let t=e.getElement(`#auth-error`);t&&(t.innerHTML=`<div class="error">Failed to exchange code for token</div>`)}}})()}}}var Ce=`puzzmo_sim_api_mode`,we=`http://localhost:8911`,Te=`https://api.puzzmo.com`,J=`puzzmo_sim_oauth_token`,Y=`puzzmo_sim_oauth_refresh_token`,Ee=()=>localStorage.getItem(Ce)===`dev`?`dev`:`prod`,X=()=>localStorage.getItem(J),De=()=>localStorage.getItem(Y),Oe=e=>localStorage.setItem(J,e),ke=e=>localStorage.setItem(Y,e),Ae=()=>{localStorage.removeItem(J),localStorage.removeItem(Y)},je=e=>{try{let t=e.split(`.`);if(t.length!==3)return!0;let n=JSON.parse(atob(t[1])).exp;return n?Date.now()>=n*1e3-300*1e3:!0}catch(e){return!0}},Me=function(){var e=t.t(function*(){let e=De();if(!e)return!1;let t=Ee()===`dev`?we:Te;try{let n=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:`protosdk:oauthclient`}),r=yield fetch(`${t}/oauth/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n.toString()});if(!r.ok)return!1;let i=yield r.json(),a=i.access_token||i.accessToken;if(!a)return!1;Oe(a);let o=i.refresh_token||i.refreshToken;return o&&ke(o),!0}catch(e){return!1}});return function(){return e.apply(this,arguments)}}(),Ne=function(){var e=t.t(function*(e,t={}){let n=Ee()===`dev`?we:Te,r=X();if(!r)throw Error(`Not authenticated`);if(je(r))if(yield Me()){if(r=X(),!r)throw Error(`Token refresh succeeded but no token available`)}else throw Ae(),Error(`Session expired. Please log in again.`);let i=yield fetch(`${n}/graphql`,{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${r}`,"auth-provider":`custom`},body:JSON.stringify({query:e,variables:t})});if(!i.ok)throw Error(`API request failed: ${i.statusText}`);return i.json()});return function(t){return e.apply(this,arguments)}}(),Pe=`
|
|
254
254
|
query GameFeaturesQuery($slug: ID!) {
|
|
255
255
|
game(id: $slug) {
|
|
256
256
|
id
|
|
@@ -268,7 +268,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
`,
|
|
271
|
+
`,Fe=`
|
|
272
272
|
mutation ToggleFeatureMutation($gameSlug: ID!, $input: UpdateGameInput!) {
|
|
273
273
|
updateGame(id: $gameSlug, input: $input) {
|
|
274
274
|
id
|
|
@@ -284,7 +284,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
|
-
`,
|
|
287
|
+
`,Ie=(e,t)=>{let n=t-1,r=Math.floor(n/31),i=n%31,a=[...e];for(;a.length<=r;)a.push(0);return a[r]=a[r]^1<<i,a};const Le=()=>!!X();function Re(){let n=null,r=!1,i=null,a=function(){var e=t.t(function*(e){r=!0,i=null;try{var t;let r=yield Ne(Pe,{slug:e});if(r.errors){var a;i=((a=r.errors[0])==null?void 0:a.message)||`Unknown error`,n=null}else (t=r.data)!=null&&t.game?n=r.data.game:(i=`Game not found`,n=null)}catch(e){i=e instanceof Error?e.message:`Unknown error`,n=null}finally{r=!1}});return function(t){return e.apply(this,arguments)}}(),o=function(){var r=t.t(function*(t){if(!n)return;let r=Ie(n.featuresArr,t);try{var i;let t=yield Ne(Fe,{gameSlug:n.slug,input:{featuresArr:r}});if(t.errors){var a;console.error(`Failed to toggle feature:`,(a=t.errors[0])==null?void 0:a.message)}else (i=t.data)!=null&&i.updateGame&&(n=e.t(e.t({},n),{},{featuresArr:t.data.updateGame.featuresArr,gameFeatures:t.data.updateGame.gameFeatures}))}catch(e){console.error(`Failed to toggle feature:`,e)}});return function(e){return r.apply(this,arguments)}}(),s=()=>{if(r)return`<div class="features-loading">Loading features...</div>`;if(i)return`<div class="features-error">${i}</div>`;if(!n)return`<div class="features-empty">Enter your game slug above to load features</div>`;let e=n.gameFeatures.map(e=>{let t=e.features.map(e=>{let t=e.isEnabled?`enabled`:`disabled`,n=e.isEnabled?`✓`:`✗`;return`
|
|
288
288
|
<div class="feature-item ${t}" data-feature-id="${e.featureID}">
|
|
289
289
|
<span class="feature-status">${n}</span>
|
|
290
290
|
<span class="feature-title">${e.title}</span>
|
|
@@ -297,7 +297,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
297
297
|
`}).join(``);return`
|
|
298
298
|
<div class="features-game-name">${n.displayName}</div>
|
|
299
299
|
${e}
|
|
300
|
-
`};return{id:`features`,label:`Features`,render(){return
|
|
300
|
+
`};return{id:`features`,label:`Features`,render(){return Le()?`
|
|
301
301
|
<div class="features-view-container">
|
|
302
302
|
<div class="simulator-section">
|
|
303
303
|
<div class="simulator-section-title">Game Features</div>
|
|
@@ -321,13 +321,13 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
321
321
|
</div>
|
|
322
322
|
</div>
|
|
323
323
|
</div>
|
|
324
|
-
`},bind(e){let r=e.getElement(`#features-load-btn`),i=e.getElement(`#features-game-slug`),c=e.getElement(`#features-content`),l=()=>{c&&(c.innerHTML=s(),u())},u=()=>{var n;let r=(n=e.getElement(`#features-content`))==null?void 0:n.querySelectorAll(`.feature-item`);r==null||r.forEach(e=>{e.addEventListener(`click`,t.t(function*(){let t=parseInt(e.getAttribute(`data-feature-id`)||`0`);t>0&&(e.classList.add(`updating`),yield o(t),l())}))})},d=function(){var e=t.t(function*(e){e&&(r&&(r.disabled=!0,r.textContent=`Loading...`),yield a(e),l(),r&&(r.disabled=!1,r.textContent=`Load`))});return function(t){return e.apply(this,arguments)}}();r==null||r.addEventListener(`click`,t.t(function*(){let e=i==null?void 0:i.value.trim();e&&(yield d(e))})),i==null||i.addEventListener(`keypress`,e=>{e.key===`Enter`&&(r==null||r.click())}),console.log(`[FeaturesView] bind called, ctx.gameSlug:`,e.gameSlug,`slugInput:`,i),e.gameSlug&&i&&(i.value=e.gameSlug,
|
|
324
|
+
`},bind(e){let r=e.getElement(`#features-load-btn`),i=e.getElement(`#features-game-slug`),c=e.getElement(`#features-content`),l=()=>{c&&(c.innerHTML=s(),u())},u=()=>{var n;let r=(n=e.getElement(`#features-content`))==null?void 0:n.querySelectorAll(`.feature-item`);r==null||r.forEach(e=>{e.addEventListener(`click`,t.t(function*(){let t=parseInt(e.getAttribute(`data-feature-id`)||`0`);t>0&&(e.classList.add(`updating`),yield o(t),l())}))})},d=function(){var e=t.t(function*(e){e&&(r&&(r.disabled=!0,r.textContent=`Loading...`),yield a(e),l(),r&&(r.disabled=!1,r.textContent=`Load`))});return function(t){return e.apply(this,arguments)}}();r==null||r.addEventListener(`click`,t.t(function*(){let e=i==null?void 0:i.value.trim();e&&(yield d(e))})),i==null||i.addEventListener(`keypress`,e=>{e.key===`Enter`&&(r==null||r.click())}),console.log(`[FeaturesView] bind called, ctx.gameSlug:`,e.gameSlug,`slugInput:`,i),e.gameSlug&&i&&(i.value=e.gameSlug,Le()&&!n&&d(e.gameSlug)),u()},onActivate(e){let t=e.getElement(`#simulator-tab-features`);t&&(t.innerHTML=this.render(),this.bind(e))}}}var ze=(e,t)=>{var n,r;let i=(n=t.symbols[e])==null?e:n,a=t.disabled.includes(e),o=t.highlight.includes(e),s=t.xl.includes(e),c=t.l.includes(e),l=(r=t.flexGrowSymbols)==null?void 0:r.includes(e);return`<button class="${[`sim-kb-key`,a?`disabled`:``,o?`highlight`:``,s?`xl`:``,c?`l`:``,l?`grow`:``].filter(Boolean).join(` `)}" data-key="${e}" ${a?`disabled`:``}>${i}</button>`},Be=e=>`<div class="sim-kb">${e.layout.filter(e=>e!=null).map(t=>`<div class="sim-kb-row">${[...t].map(t=>ze(t,e)).join(``)}</div>`).join(``)}</div>`;function Ve(){let e=null,t=()=>e?Be(e):`<div class="sim-kb-empty">No keyboard config received from game yet.<br>The game calls <code>sdk.keyboard.show(config)</code> to display a keyboard.</div>`;return{id:`kbd`,label:`Kbd`,render(){return`
|
|
325
325
|
<div class="keyboard-view-container">
|
|
326
326
|
<div id="sim-kb-content">
|
|
327
327
|
${t()}
|
|
328
328
|
</div>
|
|
329
329
|
</div>
|
|
330
|
-
`},bind(e){
|
|
330
|
+
`},bind(e){He(e)},onMessage(n,r,i){var a;if(n!==`KEYBOARD_UPDATE_CONFIG`)return;e=!(!(r==null||(a=r.layout)==null)&&a.length)||r.layout.every(e=>!e)?null:r;let o=i.getElement(`#sim-kb-content`);o&&(o.innerHTML=t(),He(i)),i.updateBadge(`kbd`,void 0)}}}function He(e){var t;let n=(t=e.getElement(`#sim-kb-content`))==null?void 0:t.querySelectorAll(`.sim-kb-key`);n==null||n.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.getAttribute(`data-key`);n&&e.sendToGame(`KEYBOARD_KEY_PRESS`,{key:n})})})}function Ue(){let t=e=>{let t=e.state.settingsComponents;return!t||t.length===0?`<div class="sim-settings-empty">No settings registered by the game yet.<br>The game calls <code>sdk.settings.initialize(components)</code> to describe its settings UI.</div>`:`<div class="sim-settings-form">${t.map(t=>We(t,e.state.gameSettings)).join(``)}</div><div class="sim-settings-actions"><button class="simulator-btn tiny" id="sim-settings-reset">Reset to defaults</button></div>`},n=e=>{let n=e.getElement(`#sim-settings-content`);n&&(n.innerHTML=t(e),i(e))},r=e=>{d(e.state.gameSettings),e.sendToGame(`SETTINGS_UPDATE`,e.state.gameSettings)},i=t=>{var i;let a=t.getElement(`#sim-settings-content`);a&&(a.querySelectorAll(`[data-setting]`).forEach(n=>{let i=n.getAttribute(`data-setting`),o=n.getAttribute(`data-setting-type`);n.addEventListener(`change`,()=>{let s;if(o===`multiselect`){let e=a.querySelectorAll(`input[data-multiselect="${i}"]`);s=Array.from(e).filter(e=>e.checked).map(e=>e.value)}else s=n instanceof HTMLInputElement&&n.type===`checkbox`?n.checked:o===`number`?Number(n.value):n.value;t.state.gameSettings=e.t(e.t({},t.state.gameSettings),{},{[i]:s}),r(t)})}),(i=a.querySelector(`#sim-settings-reset`))==null||i.addEventListener(`click`,()=>{var e;f(),t.state.gameSettings=Ge((e=t.state.settingsComponents)==null?[]:e),r(t),n(t)}))};return{id:`settings`,label:`Set`,render(){return`
|
|
331
331
|
<div class="settings-view-container">
|
|
332
332
|
<div id="sim-settings-content"></div>
|
|
333
333
|
</div>
|
|
@@ -358,7 +358,7 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
358
358
|
<div class="simulator-field">
|
|
359
359
|
${Z(e)}
|
|
360
360
|
${r}
|
|
361
|
-
</div>`}default:return`<div class="sim-settings-unsupported">Unsupported component type: ${Q(e.type)}</div>`}}function Z(e){let t=e.subtitle?`<div class="sim-settings-subtitle">${Q(e.subtitle)}</div>`:``;return`<span class="simulator-label">${Q(e.title)}</span>${t}`}function Ge(e){let t={};for(let n of e)n.type===`split`?Object.assign(t,Ge(n.content)):`name`in n&&(t[n.name]=n.defaultValue);return t}function Q(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var $=null;function Ke(e={}){var n,r;if(console.log(`[Simulator] createSimulator called with config:`,{slug:e.slug,hasFixtures:!!e.fixtures}),$)return e.fixtures&&(console.log(`[Simulator] Instance already exists, updating fixtures`),$.updateFixtures(e.fixtures)),$;let
|
|
361
|
+
</div>`}default:return`<div class="sim-settings-unsupported">Unsupported component type: ${Q(e.type)}</div>`}}function Z(e){let t=e.subtitle?`<div class="sim-settings-subtitle">${Q(e.subtitle)}</div>`:``;return`<span class="simulator-label">${Q(e.title)}</span>${t}`}function Ge(e){let t={};for(let n of e)n.type===`split`?Object.assign(t,Ge(n.content)):`name`in n&&(t[n.name]=n.defaultValue);return t}function Q(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}var $=null;function Ke(e={}){var n,r,i;if(console.log(`[Simulator] createSimulator called with config:`,{slug:e.slug,hasFixtures:!!e.fixtures}),$)return e.fixtures&&(console.log(`[Simulator] Instance already exists, updating fixtures`),$.updateFixtures(e.fixtures)),$;let a=(n=e.autoStart)==null?!0:n,o=e.fixtures?re(e.fixtures):null,s=o?Array.from(o.keys()).sort():[],c=se(),l=ue(),d=[ae(),oe(),c,ce(),le(),l,de(),Se(),Re(),Ve(),Ue(),...(r=e.views)==null?[]:r],f=d.map(e=>e.id),h=u(e,s,f),g={pause:`<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><rect x="1" y="1" width="3" height="8"/><rect x="6" y="1" width="3" height="8"/></svg>`,play:`<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><polygon points="2,1 9,5 2,9"/></svg>`,retry:`<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M5 1C2.8 1 1 2.8 1 5s1.8 4 4 4c1.8 0 3.3-1.2 3.8-2.8H7.5c-.4.9-1.3 1.5-2.5 1.5-1.5 0-2.7-1.2-2.7-2.7S3.5 2.3 5 2.3c.7 0 1.4.3 1.9.8L5.5 4.5H9V1L7.6 2.4C6.9 1.5 5.9 1 5 1z"/></svg>`,cog:`<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><path d="M9.5 5.8l-.8-.5c0-.2.1-.5.1-.8s0-.5-.1-.8l.8-.5c.1-.1.2-.2.1-.4l-.8-1.4c-.1-.1-.2-.2-.4-.1l-1 .3c-.3-.3-.7-.5-1.1-.6L6.1.2C6.1.1 6 0 5.8 0H4.2c-.2 0-.3.1-.3.2l-.2 1c-.4.1-.7.3-1.1.6l-1-.3c-.2 0-.3 0-.4.1l-.8 1.4c-.1.2 0 .3.1.4l.8.5c0 .2-.1.5-.1.8s0 .5.1.8l-.8.5c-.1.1-.2.2-.1.4l.8 1.4c.1.1.2.2.4.1l1-.3c.3.3.7.5 1.1.6l.2 1c0 .1.1.2.3.2h1.6c.2 0 .3-.1.3-.2l.2-1c.4-.1.7-.3 1.1-.6l1 .3c.2 0 .3 0 .4-.1l.8-1.4c.1-.2 0-.3-.1-.4zM5 6.5c-.8 0-1.5-.7-1.5-1.5S4.2 3.5 5 3.5 6.5 4.2 6.5 5 5.8 6.5 5 6.5z"/></svg>`,minimize:`<svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor"><rect x="1" y="4" width="8" height="2"/></svg>`,expand:`<svg width="8" height="8" viewBox="0 0 8 8" fill="currentColor"><polygon points="1,1 7,4 1,7"/></svg>`},_=document.createElement(`div`);_.id=`simulator`,_.innerHTML=`
|
|
362
362
|
<style>
|
|
363
363
|
:root {
|
|
364
364
|
--sim-bg: #1a1a2e;
|
|
@@ -1595,15 +1595,15 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
1595
1595
|
border-top: 2px solid var(--sim-border);
|
|
1596
1596
|
}
|
|
1597
1597
|
</style>
|
|
1598
|
-
<div id="simulator-panel" class="${
|
|
1598
|
+
<div id="simulator-panel" class="${h.isCollapsed?`collapsed`:``}">
|
|
1599
1599
|
<div id="simulator-header">
|
|
1600
1600
|
<span id="simulator-title">PUZZMO SIMULATOR</span>
|
|
1601
1601
|
<span class="header-sep">|</span>
|
|
1602
1602
|
<div id="simulator-timer">--:--</div>
|
|
1603
1603
|
<span class="header-sep">|</span>
|
|
1604
1604
|
<div id="simulator-header-controls">
|
|
1605
|
-
<button id="simulator-header-pause" class="header-icon-btn" title="Pause" disabled>${
|
|
1606
|
-
<button id="simulator-header-retry" class="header-icon-btn" title="Retry" disabled>${
|
|
1605
|
+
<button id="simulator-header-pause" class="header-icon-btn" title="Pause" disabled>${g.pause}</button>
|
|
1606
|
+
<button id="simulator-header-retry" class="header-icon-btn" title="Retry" disabled>${g.retry}</button>
|
|
1607
1607
|
</div>
|
|
1608
1608
|
<span class="header-sep">|</span>
|
|
1609
1609
|
<div id="simulator-header-status">
|
|
@@ -1611,17 +1611,17 @@ const e=require(`./objectSpread2-CuluYLUL.cjs`),t=require(`./asyncToGenerator-DA
|
|
|
1611
1611
|
<span id="simulator-header-status-text">Waiting...</span>
|
|
1612
1612
|
</div>
|
|
1613
1613
|
<span class="header-spacer"></span>
|
|
1614
|
-
<button id="simulator-header-settings" class="header-icon-btn" title="Settings">${
|
|
1615
|
-
<button id="simulator-toggle" class="header-icon-btn" title="Minimize">${
|
|
1614
|
+
<button id="simulator-header-settings" class="header-icon-btn" title="Settings">${g.cog}</button>
|
|
1615
|
+
<button id="simulator-toggle" class="header-icon-btn" title="Minimize">${g.minimize}</button>
|
|
1616
1616
|
</div>
|
|
1617
1617
|
<div id="simulator-body">
|
|
1618
1618
|
<div id="simulator-tabs">
|
|
1619
|
-
${
|
|
1619
|
+
${d.filter(e=>e.id!==`auth`).map(e=>`<button class="simulator-tab" data-tab="${e.id}">${e.label}<span class="simulator-tab-badge" data-badge="${e.id}"></span></button>`).join(``)}
|
|
1620
1620
|
</div>
|
|
1621
1621
|
<div id="simulator-content" class="hidden">
|
|
1622
|
-
${
|
|
1622
|
+
${d.map(e=>`<div id="simulator-tab-${e.id}" class="simulator-tab-content">${e.render()}</div>`).join(``)}
|
|
1623
1623
|
</div>
|
|
1624
1624
|
</div>
|
|
1625
1625
|
</div>
|
|
1626
|
-
`,document.body.appendChild(
|
|
1627
|
-
//# sourceMappingURL=createSimulator-
|
|
1626
|
+
`,document.body.appendChild(_);let v=_.querySelector(`#simulator-panel`),y=_.querySelector(`#simulator-header`),b=_.querySelector(`#simulator-header-indicator`),ie=_.querySelector(`#simulator-header-status-text`),x=_.querySelector(`#simulator-header-pause`),S=_.querySelector(`#simulator-header-retry`),C=_.querySelector(`#simulator-header-settings`),w=_.querySelector(`#simulator-toggle`),T=_.querySelector(`#simulator-timer`),E=_.querySelector(`#simulator-tabs`),D=_.querySelector(`#simulator-content`),O=e=>_.querySelector(e),k=e=>{x.innerHTML=e?g.play:g.pause,x.title=e?`Resume`:`Pause`},A=(e,t)=>{let n=O(`#simulator-status .text`),r=O(`#simulator-status .indicator`),i=t===`complete`?`✓`:``;n&&(n.textContent=e),r&&(r.className=`indicator ${t}`,r.textContent=i),b.className=t,b.textContent=i,ie.textContent=e},j=(e,t)=>{t&&t!==`0`?T.innerHTML=`${e}<span class="penalty">+${t}</span>`:T.textContent=e},M=e=>{var t;h.activeTab=e,D.classList.remove(`hidden`),m(e),E.querySelectorAll(`.simulator-tab`).forEach(t=>{t.classList.toggle(`active`,t.getAttribute(`data-tab`)===e)}),_.querySelectorAll(`.simulator-tab-content`).forEach(t=>{t.classList.toggle(`active`,t.id===`simulator-tab-${e}`)}),C.classList.toggle(`active`,e===`auth`);let n=d.find(t=>t.id===e);n==null||(t=n.onActivate)==null||t.call(n,z)},N=e=>{h.isCollapsed=e,v.classList.toggle(`collapsed`,e),p(e),e?(D.classList.add(`hidden`),E.querySelectorAll(`.simulator-tab`).forEach(e=>e.classList.remove(`active`))):M(h.activeTab)},P=()=>{l.updatePreview(z)},F=function(){var e=t.t(function*(){var e,t;if(h.puzzleData)return h.puzzleData;if(!o||o.size===0)throw Error(`No fixtures configured. Add puzzle fixture files (.json or .toml) to a fixtures directory and pass fixturesGlob to the simulator.`);let n=(e=h.selectedCategory)==null?s[0]:e,r=n?o.get(n):void 0;if(!r||r.size===0)throw Error(`No puzzles found in fixture category "${n}"`);let i=(t=h.selectedPuzzle)==null?r.keys().next().value:t,a=i?r.get(i):void 0;if(!a)throw Error(`Puzzle "${i}" not found in category "${n}"`);h.puzzleData=a,console.log(`Simulator: Puzzle loaded from fixtures`,{category:n,puzzle:i}),h.originalPuzzle=a;let c=O(`#simulator-puzzle`);return c&&(c.value=h.originalPuzzle),h.activeTab===`thumb`&&P(),h.puzzleData});return function(){return e.apply(this,arguments)}}(),I=ee(e=>{c.addLogEntry(e,z)}),L=(e,t)=>{te(e,t,I)},R=(e,t)=>{let n=_.querySelector(`[data-badge="${e}"]`);n&&(n.textContent=t&&t>0?String(t):``)},z={state:h,getElement:O,sendToGame:L,logMessage:I.log,loadPuzzle:F,updateStatus:A,updateTimer:j,setCollapsed:N,switchTab:M,updateThumbnail:P,updateBadge:R,fixtures:o,fixtureCategories:s,gameSlug:(i=e.slug)==null?null:i};console.log(`[Simulator] Context created with gameSlug:`,z.gameSlug),d.forEach(e=>e.bind(z)),E.querySelectorAll(`.simulator-tab`).forEach(e=>{e.addEventListener(`click`,()=>{let t=e.getAttribute(`data-tab`);M(t),R(t,0)})}),w.addEventListener(`click`,e=>{e.stopPropagation(),N(!0)}),x.addEventListener(`click`,e=>{e.stopPropagation(),h.isPaused?(L(`RESUME_GAME`,{}),h.isPaused=!1,k(!1),A(`Running`,`ready`)):(L(`PAUSE_GAME`,{}),h.isPaused=!0,k(!0),A(`Paused`,`paused`));let t=O(`#simulator-pause`);t&&(t.textContent=h.isPaused?`Resume`:`Pause`)}),S.addEventListener(`click`,e=>{e.stopPropagation(),L(`RETRY_PUZZLE`,{}),h.hasStarted=!1,h.isPaused=!1,k(!1),x.disabled=!0,A(`Ready to retry`,`ready`);let t=O(`#simulator-pause`),n=O(`#simulator-start`);t&&(t.disabled=!0,t.textContent=`Pause`),n&&(n.textContent=`Start`)}),C.addEventListener(`click`,e=>{e.stopPropagation(),h.isCollapsed&&N(!1),M(`auth`)}),y.addEventListener(`click`,e=>{h.isCollapsed&&e.target!==w&&N(!1)}),h.isCollapsed||M(h.activeTab);let B=new URLSearchParams(window.location.search);(B.has(`code`)||B.has(`error`))&&(N(!1),M(`auth`));let V=e=>({userState:{gameSettings:h.gameSettings,id:`simulator-user`,ownerID:`simulator-owner`},currentUser:{id:`simulator-user`,name:`Simulator`,username:`simulator`,usernameID:`0000`,type:`User`,roles:``,nakamaID:null},startOrFindGameplay:{gamePlayed:{additionalTimeAddedSecs:0,boardState:h.currentInputStr,combinedTimeSecs:0,completed:!1,createdAt:new Date().toISOString(),elapsedTimeSecs:0,id:`simulator-gameplay-${Date.now()}`,ownerID:`simulator-owner`,pointsAwarded:0,slug:`simulator-game`,viewerOwnsPuzzle:!0,puzzle:{id:`simulator-puzzle`,name:`Proto Jig Puzzle`,puzzle:e,game:{displayName:`Proto Game`,jsPath:``,slug:`proto-game`},mostRecentDaily:null}}},theme:h.selectedTheme,hostContext:[{type:`app`,layout:`desktop`,host:null}],appRuntimeContract:`1.0`}),fe=function(){var e=t.t(function*(){A(`Loading puzzle...`,`waiting`);try{let e=V(yield F());A(`Sending READY_DATA...`,`waiting`),L(`READY_DATA`,e),A(`Waiting for game to load...`,`waiting`)}catch(e){A(`Error: ${e}`,`paused`)}});return function(){return e.apply(this,arguments)}}(),H=()=>{console.log(`Simulator: Game loaded, ready to start`),S.disabled=!1,d.forEach(e=>{var t;return(t=e.onMessage)==null?void 0:t.call(e,`READY_GAME_LOADED`,void 0,z)}),a&&!h.hasStarted&&setTimeout(()=>{let e=O(`#simulator-start`);e==null||e.click(),x.disabled=!1,h.hasStarted=!0,A(`Running`,`ready`)},100)};return ne((e,t)=>{var n,r;if(e===`READY`){console.log(`Simulator: Received READY from game`),fe();return}if(e===`READY_GAME_LOADED`){H();return}if(e===`TIMER_TICK`){if(t!=null&&t.display){let[e,n]=t.display;j(e,n)}return}if(e===`TIMER_SYNC`)return;if(e===`SIDEBAR_UPDATE`){console.log(`Simulator: Sidebar update`,t);return}d.forEach(n=>{var r;return(r=n.onMessage)==null?void 0:r.call(n,e,t,z)});let i=(n=t==null||(r=t.input)==null?void 0:r.boardState)==null?t==null?void 0:t.boardState:n;e===`UPLOAD_NEW_GAME_STATE`&&i&&(h.currentInputStr=i,h.activeTab===`thumb`&&P(),console.log(`Simulator: Game state uploaded`,t)),e===`GAME_COMPLETED`&&(console.log(`Simulator: Game completed!`,t),x.disabled=!0,h.hasStarted=!1,A(`Completed!`,`complete`))},I),console.log(`Simulator initialized`),$={updateFixtures:e=>{o=re(e),s=Array.from(o.keys()).sort(),z.fixtures=o,z.fixtureCategories=s;let t=localStorage.getItem(`simulator-fixture-category`);if(!h.selectedCategory||!s.includes(h.selectedCategory)){var n;h.selectedCategory=t&&s.includes(t)?t:(n=s[0])==null?null:n}let r=d.find(e=>e.id===`ctrl`);r==null||r.bind(z),console.log(`Simulator: Fixtures updated`,{categories:s,selectedCategory:h.selectedCategory})},sendToGame:L,loadPuzzle:F},$}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ke}});
|
|
1627
|
+
//# sourceMappingURL=createSimulator-DIT36V1k.cjs.map
|