@bitmagic/cli 0.1.40 → 0.1.42
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/commands/forge.js +1 -1
- package/dist/commands/forge.js.map +1 -1
- package/dist/editor/asset-detail-panel.d.ts +8 -3
- package/dist/editor/asset-detail-panel.js +31 -25
- package/dist/editor/asset-detail-panel.js.map +1 -1
- package/dist/editor/asset-preview-page.js +15 -6
- package/dist/editor/asset-preview-page.js.map +1 -1
- package/dist/editor/design.d.ts +59 -0
- package/dist/editor/design.js +217 -0
- package/dist/editor/design.js.map +1 -0
- package/dist/editor/server.js +31 -3
- package/dist/editor/server.js.map +1 -1
- package/dist/editor/shell-page.js +211 -117
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/forge/progress.d.ts +9 -1
- package/dist/forge/progress.js +8 -0
- package/dist/forge/progress.js.map +1 -1
- package/dist/forge/stream.js +6 -0
- package/dist/forge/stream.js.map +1 -1
- package/dist/project/jobs.d.ts +24 -1
- package/dist/project/jobs.js +77 -2
- package/dist/project/jobs.js.map +1 -1
- package/dist/scaffold/project-files.js +2 -0
- package/dist/scaffold/project-files.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/editor/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/editor/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAqB,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGhE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAoB,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuCpD,mFAAmF;AACnF,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvC,SAAS,QAAQ,CAAC,GAAyB;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,GAAwB;IACzC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CACf,GAAwB,EACxB,MAAc,EACd,IAAa,EACb,UAAkC,EAAE;IAEpC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACtG,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErF;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAI,mBAAmB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAA0B,CAAC,MAAM,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/B,6FAA6F;QAC7F,yBAAyB;QACzB,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,MAAc;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,kCAAkC,OAAO,cAAc,MAAM,UAAU,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,SAAiB,EAAE,OAAe;IACnD,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAA4B,EAAE,OAAO,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,QAAQ,CAAC,GAAG,SAAS,mCAAmC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAwB,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA4B;IAClE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAE/D,gFAAgF;IAChF,IAAI,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QACnC,+FAA+F;QAC/F,0FAA0F;QAC1F,mEAAmE;QACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF;;;OAGG;IACH,IAAI,KAAK,GAAsB,IAAI,CAAC;IAEpC,kFAAkF;IAClF,MAAM,WAAW,GAAG,KAAK,IAAiE,EAAE;QAC1F,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,KAAK,GAAG,MAAM,cAAc,CAChC,WAAW,EACX,oBAAoB,CAAC,WAAW,CAAC,EACjC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAChG,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CACjB,IAAiD,EACjD,OAAe,EACf,SAAiB,EACjB,MAAc,EACR,EAAE;QACR,KAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC3F,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpE,4FAA4F;QAC5F,4FAA4F;QAC5F,0FAA0F;QAC1F,6BAA6B;QAC7B,KAAK,aAAa,CAAC;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;SACzF,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,sBAAsB,CAAC;YAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO;YACP,MAAM;YACN,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;gBACf,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrB,IAAI,KAAK,EAAE,MAAM,KAAK,SAAS;oBAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAClB,cAAc,EAAE,CAAC;YACjB,KAAK,GAAG;gBACN,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC1C,OAAO,EAAE,cAAc,MAAM,CAAC,aAAa,kBAAkB;sBACzD,GAAG,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,iCAAiC;aAC9E,CAAC;YACF,OAAO,CAAC,MAAM,CAAC;gBACb,KAAK,EAAE,cAAc;gBACrB,OAAO;gBACP,SAAS;gBACT,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,KAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAClE,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAyB,EAAE,GAAwB,EAAiB,EAAE;QAC9F,IAAI,OAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAiB,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvC,wFAAwF;YACxF,wCAAwC;YACxC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,IAAI,aAAa,CAAC;QAClB,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,4FAA4F;YAC5F,uEAAuE;YACvE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACpC,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,2BAA2B,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;YACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACpE,cAAc,EAAE,CAAC;YACjB,yFAAyF;YACzF,yDAAyD;YACzD,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;YAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,kBAAkB;aACjC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uFAAuF;YACvF,2FAA2F;YAC3F,2EAA2E;YAC3E,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACzC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,eAAe,GAAG,KAAK,EAAE,GAAyB,EAAE,GAAwB,EAAiB,EAAE;QACnG,IAAI,IAA+D,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAA8D,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACzG,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,yBAAyB,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,CAAC,QAAQ,CAAC;oBAChB,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO;oBACnE,0FAA0F;oBAC1F,oEAAoE;oBACpE,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;iBAC7E,CAAC,CAAC,CAAC;YACJ,cAAc,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,+CAA+C,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;YAC1E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,2FAA2F;QAC3F,2FAA2F;QAC3F,+FAA+F;QAC/F,4FAA4F;QAC5F,yDAAyD;QACzD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,YAAY,SAAS,mEAAmE,CAAC,CAAC;YAC9F,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,mEAAmE;sBACvE,6CAA6C;gBACjD,YAAY,EAAE,kBAAkB;aACjC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,uBAAuB,KAAK,CAAC,SAAS,oBAAoB;aACjE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,2FAA2F;QAC3F,2FAA2F;QAC3F,4FAA4F;QAC5F,IAAI,IAAI,GAAuD,IAAI,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC;gBACb,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;aACzG,CAAC,CAAC;YACH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,EAAE,EAAE,IAAI;gBACR,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,oEAAoE;sBACxE,+CAA+C;gBACnD,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBACxC,YAAY,EAAE,kBAAkB;aACjC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAClD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,cAAc,GAAG,CAAC,GAAwB,EAAQ,EAAE;QACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5C,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,aAAa,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9E,OAAO;YACT,CAAC;YAED,iFAAiF;YACjF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;gBACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;qBAC/D,GAAG,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAED;;;;;;eAMG;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBACzD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;wBACjB,cAAc,EAAE,gCAAgC;wBAChD,eAAe,EAAE,UAAU;qBAC5B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,sFAAsF;oBACtF,mEAAmE;oBACnE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;gBACrD,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,qEAAqE;wBACrE,oFAAoF;wBACpF,4BAA4B;wBAC5B,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;wBACvE,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,0FAA0F;YAC1F,qCAAqC;YACrC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,0FAA0F;YAC1F,6FAA6F;YAC7F,kCAAkC;YAClC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBACnD,IAAI,MAAM,GAAG,WAAW,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAyB,CAAC;oBACrE,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;wBAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAClF,CAAC;gBAAC,MAAM,CAAC;oBACP,+EAA+E;gBACjF,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC1D,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,2FAA2F;YAC3F,2FAA2F;YAC3F,mFAAmF;YACnF,EAAE;YACF,+FAA+F;YAC/F,kEAAkE;YAClE,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/E,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBAC7D,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;wBACnC,uFAAuF;wBACvF,qBAAqB;wBACrB,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;wBACpC,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;qBACtC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uFAAuF;oBACvF,0FAA0F;oBAC1F,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;wBACjB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO;qBACxF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YAED,wFAAwF;YACxF,0FAA0F;YAC1F,0BAA0B;YAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,KAAK,qBAAqB,EAAE,CAAC;gBAC3D,IAAI,IAA4C,CAAC;gBACjD,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAA2C,CAAC;gBACnF,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;oBAC3E,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpE,6FAA6F;gBAC7F,mFAAmF;gBACnF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnG,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,uFAAuF;gBACvF,0FAA0F;gBAC1F,qCAAqC;gBACrC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;YAED;;;;;;;;;;;;;;;;eAgBG;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACtF,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;oBACxC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;wBACvF,OAAO;oBACT,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;oBACvE,IAAI,QAAQ,GAAG,sBAAsB,EAAE,CAAC;wBACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;wBAC/E,OAAO;oBACT,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;oBACxD,yFAAyF;oBACzF,2EAA2E;oBAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;wBAC1C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;wBAC/E,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;wBACjB,cAAc,EAAE,0BAA0B;wBAC1C,gBAAgB,EAAE,KAAK,CAAC,MAAM;wBAC9B,eAAe,EAAE,aAAa;qBAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpF,CAAC;gBAAQ,OAAO;YAClB,CAAC;YAED,2FAA2F;YAC3F,qFAAqF;YACrF,0EAA0E;YAC1E,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpF,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpF,2FAA2F;gBAC3F,4EAA4E;gBAC5E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,KAAK,EAAE,EAAE,CAAC,CAAC;oBACnE,OAAO;gBACT,CAAC;gBACD,wFAAwF;gBACxF,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,0BAA0B,EAAE,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBACjD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACjB,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC;oBACrC,kBAAkB;iBACnB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;gBACvD,MAAM,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;gBAC9D,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;gBAC5D,cAAc,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAgC,EAAE,EAAE;YACxD,MAAM,CACJ,KAAK,CAAC,IAAI,KAAK,YAAY;gBACzB,CAAC,CAAC,IAAI,QAAQ,CACV,QAAQ,OAAO,CAAC,IAAI,kDAAkD;sBACpE,qDAAqD,CACxD;gBACH,CAAC,CAAC,IAAI,QAAQ,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CACxE,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;OAUG;IACH,IAAI,WAAW,GAAwB,IAAI,CAAC;IAC5C,IAAI,YAAY,GAAyC,IAAI,CAAC;IAC9D,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE;YACrD,4FAA4F;YAC5F,mEAAmE;YACnE,IAAI,YAAY;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7C,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACvC,GAAG,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8FAA8F;QAC9F,8DAA8D;QAC9D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,0CAA0C,OAAO,wCAAwC,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,OAAO,CAAC,IAAI,GAAG,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,oBAAoB,OAAO,CAAC,QAAQ,GAAG;QAChD,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,OAAO;QACL,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,8FAA8F;QAC9F,gGAAgG;QAChG,2EAA2E;QAC3E,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,YAAY;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7C,WAAW,EAAE,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -48,9 +48,40 @@
|
|
|
48
48
|
* nothing. Polling `CHECK_SCENE_CHANGES` is what the Creator does too, just on tab switch
|
|
49
49
|
* instead of on a timer, and it covers drags, deletes, adds and inspector edits with one path.
|
|
50
50
|
*/
|
|
51
|
+
import { decodeForgeMapHeights, renderForgeMapRgba, } from '@bitmagic/world-forger/pipeline/forge-map-render.js';
|
|
52
|
+
import { FORGE_MAP_PALETTE } from '@bitmagic/world-forger/pipeline/layout-map.js';
|
|
51
53
|
import { ASSET_DETAIL_CSS, ASSET_DETAIL_HTML } from './asset-detail-panel.js';
|
|
54
|
+
import { BITMAGIC_CONTROLS_CSS, BITMAGIC_FONT_LINK, BITMAGIC_TOKENS_CSS } from './design.js';
|
|
52
55
|
/** How often the shell asks the engine whether anything changed. A `Set` read; effectively free. */
|
|
53
56
|
const POLL_INTERVAL_MS = 500;
|
|
57
|
+
/**
|
|
58
|
+
* What the map is drawn at, in device pixels — about twice the assets panel's inner width.
|
|
59
|
+
*
|
|
60
|
+
* Deliberately larger than it displays. A 128-sample raster drawn 1:1 and then stretched to the
|
|
61
|
+
* panel gives single-pixel object dots blown up to blocks; drawn at 2-3x and scaled DOWN by the
|
|
62
|
+
* browser, the same dots land as clean marks and the terrain keeps its shading.
|
|
63
|
+
*/
|
|
64
|
+
const MAP_CANVAS_WIDTH = 464;
|
|
65
|
+
/**
|
|
66
|
+
* The forge map's renderer, as SOURCE, so this page and the Creator draw the same picture.
|
|
67
|
+
*
|
|
68
|
+
* This page has no module loader — it is a string this file assembles — so it cannot import the
|
|
69
|
+
* way the Creator does. The alternative to shipping the function's own text is a hand-written
|
|
70
|
+
* second implementation, and the first time the hillshade is tuned the two maps stop agreeing
|
|
71
|
+
* about what a level looks like.
|
|
72
|
+
*
|
|
73
|
+
* Two things make this safe rather than clever: `cli` builds with plain `tsc` and never minifies,
|
|
74
|
+
* and `forge-map-render.ts` is written to have no free identifiers (its header says so and says
|
|
75
|
+
* why), so its text is complete on its own. A test round-trips the interpolated copy against the
|
|
76
|
+
* imported one, so a change that breaks the trick fails there rather than in a creator's browser.
|
|
77
|
+
*/
|
|
78
|
+
function forgeMapRendererSource() {
|
|
79
|
+
return [
|
|
80
|
+
`const FORGE_MAP_PALETTE = ${JSON.stringify(FORGE_MAP_PALETTE)};`,
|
|
81
|
+
`const decodeForgeMapHeights = ${decodeForgeMapHeights.toString()};`,
|
|
82
|
+
`const renderForgeMapRgba = ${renderForgeMapRgba.toString()};`,
|
|
83
|
+
].join('\n ');
|
|
84
|
+
}
|
|
54
85
|
/**
|
|
55
86
|
* How recently a scene save must have landed for the creator to count as "still working".
|
|
56
87
|
*
|
|
@@ -74,131 +105,143 @@ export function renderEditorShell(options) {
|
|
|
74
105
|
<head>
|
|
75
106
|
<meta charset="utf-8">
|
|
76
107
|
<title>bitmagic dev — ${escapeAttr(options.gameId)}</title>
|
|
108
|
+
${BITMAGIC_FONT_LINK}
|
|
77
109
|
<style>
|
|
78
|
-
|
|
110
|
+
${BITMAGIC_TOKENS_CSS}
|
|
111
|
+
${BITMAGIC_CONTROLS_CSS}
|
|
79
112
|
* { box-sizing: border-box; }
|
|
80
113
|
/* Flex column rather than calc() heights: the banners come and go, and three of them at once
|
|
81
114
|
must not push the viewport into a scrollbar. */
|
|
82
115
|
body { margin: 0; height: 100vh; display: flex; flex-direction: column;
|
|
83
|
-
background:
|
|
84
|
-
#bar { display: flex; align-items: center; gap: 12px; height:
|
|
85
|
-
background:
|
|
86
|
-
|
|
116
|
+
background: var(--bm-bg); color: var(--bm-text); font: 400 14px/1.5 var(--bm-font); }
|
|
117
|
+
#bar { display: flex; align-items: center; gap: 12px; height: 44px; flex: none; padding: 0 16px;
|
|
118
|
+
background: var(--bm-surface); border-bottom: 1px solid var(--bm-border-muted); }
|
|
119
|
+
/* The wordmark speaks in the brand's headline voice: uppercase, bold, tracked. */
|
|
120
|
+
#bar .wordmark { font-size: 14px; font-weight: 700; text-transform: uppercase;
|
|
121
|
+
letter-spacing: 1.6px; }
|
|
122
|
+
#bar .id { color: var(--bm-text-dim); font-family: var(--bm-font-mono); font-size: 12px; }
|
|
87
123
|
#bar .spacer { flex: 1; }
|
|
88
|
-
#tabs { display: flex; gap:
|
|
89
|
-
padding:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
.tab
|
|
93
|
-
.tab.active { background:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
#
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
124
|
+
#tabs { display: flex; gap: 4px; background: var(--bm-surface-alt); border-radius: 9999px;
|
|
125
|
+
padding: 3px; }
|
|
126
|
+
/* A tab is a .bm-pill that starts invisible; the ACTIVE one is what the accent is for —
|
|
127
|
+
DESIGN.md gives Aquamarine to primary actions and active states alike. */
|
|
128
|
+
.tab { background: transparent; border-color: transparent; color: var(--bm-text-muted); }
|
|
129
|
+
.tab:hover:not(.active) { background: var(--bm-surface-card); border-color: transparent;
|
|
130
|
+
color: var(--bm-text); }
|
|
131
|
+
.tab.active, .tab.active:hover { background: var(--bm-aqua); border-color: var(--bm-aqua);
|
|
132
|
+
color: #000000; }
|
|
133
|
+
#status { display: flex; align-items: center; gap: 8px; font-size: 12px;
|
|
134
|
+
color: var(--bm-text-muted); }
|
|
135
|
+
/* Working is Pumpkin, done is Aquamarine, failed is Shocking Pink — the same three the steps,
|
|
136
|
+
the progress bar and the banners below use, so one colour never means two things. */
|
|
137
|
+
#dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bm-border); }
|
|
138
|
+
#dot.saving { background: var(--bm-pumpkin); }
|
|
139
|
+
#dot.saved { background: var(--bm-aqua); }
|
|
140
|
+
#dot.error { background: var(--bm-pink); }
|
|
141
|
+
#auto { display: flex; align-items: center; gap: 6px; font-size: 12px;
|
|
142
|
+
color: var(--bm-text-muted); cursor: pointer; }
|
|
143
|
+
#auto input { margin: 0; accent-color: var(--bm-aqua); }
|
|
144
|
+
.banner { display: none; align-items: center; gap: 12px; flex: none; padding: 10px 16px;
|
|
145
|
+
background: var(--bm-tint-warning); border-bottom: 1px solid var(--bm-pumpkin);
|
|
146
|
+
color: var(--bm-text); }
|
|
109
147
|
.banner.show { display: flex; }
|
|
110
|
-
|
|
111
|
-
#build-banner
|
|
148
|
+
/* A lost edit and a broken build are worse than out-of-date, and read as negative states. */
|
|
149
|
+
#terrain-banner, #build-banner { background: var(--bm-tint-negative);
|
|
150
|
+
border-bottom-color: var(--bm-pink); }
|
|
151
|
+
#build-banner code, #terrain-banner code { font-family: var(--bm-font-mono); }
|
|
112
152
|
/* The game and the panel share one row, so the panel takes width from the game rather than
|
|
113
153
|
overlaying it — an overlay would cover the thing you opened the panel to watch. */
|
|
114
154
|
#stage { flex: 1; display: flex; min-height: 0; }
|
|
115
155
|
#frame { display: block; flex: 1; border: 0; min-width: 0; height: 100%; }
|
|
116
|
-
#assets { width:
|
|
117
|
-
border-left: 1px solid
|
|
156
|
+
#assets { width: 280px; flex: none; overflow-y: auto; background: var(--bm-surface);
|
|
157
|
+
border-left: 1px solid var(--bm-border-muted); }
|
|
118
158
|
body.assets-closed #assets { display: none; }
|
|
119
|
-
#assets-head { position: sticky; top: 0; display: flex; align-items: center; gap: 8px;
|
|
120
|
-
padding:
|
|
121
|
-
|
|
122
|
-
#assets-head .count { margin-left: auto; color:
|
|
123
|
-
#assets-empty { padding:
|
|
124
|
-
.row { display: flex; gap:
|
|
159
|
+
#assets-head { position: sticky; top: 0; display: flex; align-items: center; gap: 8px; z-index: 1;
|
|
160
|
+
padding: 12px; background: var(--bm-surface-alt);
|
|
161
|
+
border-bottom: 1px solid var(--bm-border-muted); }
|
|
162
|
+
#assets-head .count { margin-left: auto; color: var(--bm-text-dim); letter-spacing: 0; }
|
|
163
|
+
#assets-empty { padding: 16px 12px; color: var(--bm-text-dim); font-size: 12px; }
|
|
164
|
+
.row { display: flex; gap: 12px; padding: 10px 12px;
|
|
165
|
+
border-bottom: 1px solid var(--bm-border-muted); }
|
|
125
166
|
.row.clickable { cursor: pointer; }
|
|
126
|
-
.row.clickable:hover, .row.clickable:focus-visible { background:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
167
|
+
.row.clickable:hover, .row.clickable:focus-visible { background: var(--bm-surface-card);
|
|
168
|
+
outline: none; }
|
|
169
|
+
.row .thumb { width: 48px; height: 48px; flex: none; border-radius: 6px;
|
|
170
|
+
background: var(--bm-surface-alt); display: flex; align-items: center;
|
|
171
|
+
justify-content: center; font-size: 18px; color: var(--bm-text-dim);
|
|
172
|
+
overflow: hidden; }
|
|
130
173
|
.row .thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
|
|
131
174
|
.row .body { min-width: 0; flex: 1; }
|
|
132
|
-
.row .name { color:
|
|
133
|
-
.row .meta { color: #6a6a7a; font-size: 11px; overflow: hidden; text-overflow: ellipsis;
|
|
175
|
+
.row .name { color: var(--bm-text); overflow: hidden; text-overflow: ellipsis;
|
|
134
176
|
white-space: nowrap; }
|
|
135
|
-
.row .
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
177
|
+
.row .name .bm-badge { margin-left: 6px; }
|
|
178
|
+
.row .meta { color: var(--bm-text-dim); font-size: 12px; overflow: hidden;
|
|
179
|
+
text-overflow: ellipsis; white-space: nowrap; }
|
|
180
|
+
/* A new asset during a forge is the whole show, so it announces itself with the Aquamarine
|
|
181
|
+
"something landed" flourish and then settles. */
|
|
140
182
|
.row.fresh { animation: landed 2.4s ease-out; }
|
|
141
|
-
@keyframes landed { from { background:
|
|
142
|
-
.row.job .thumb { color:
|
|
143
|
-
.row.job .message { color:
|
|
144
|
-
white-space: nowrap; }
|
|
145
|
-
.row.job.failed .thumb { color: #e0564f; }
|
|
146
|
-
.row.job.failed .message { color: #e0938e; white-space: normal; }
|
|
183
|
+
@keyframes landed { from { background: var(--bm-tint-success); } to { background: transparent; } }
|
|
184
|
+
.row.job .thumb { color: var(--bm-pumpkin); }
|
|
185
|
+
.row.job .message { color: var(--bm-text-muted); font-size: 12px; overflow: hidden;
|
|
186
|
+
text-overflow: ellipsis; white-space: nowrap; }
|
|
147
187
|
/* The forge's five steps. A whole run is half an hour, so this is what the panel is for. */
|
|
148
|
-
.steps { margin-top:
|
|
149
|
-
.step { display: flex; align-items: baseline; gap:
|
|
150
|
-
|
|
151
|
-
.step.
|
|
152
|
-
.step.
|
|
153
|
-
.step .glyph { width:
|
|
188
|
+
.steps { margin-top: 6px; font-size: 12px; }
|
|
189
|
+
.step { display: flex; align-items: baseline; gap: 6px; color: var(--bm-text-dim);
|
|
190
|
+
line-height: 1.6; }
|
|
191
|
+
.step.running { color: var(--bm-text); }
|
|
192
|
+
.step.done { color: var(--bm-aqua); }
|
|
193
|
+
.step .glyph { width: 10px; flex: none; text-align: center; }
|
|
154
194
|
.step .label { flex: none; }
|
|
155
195
|
.step .tail { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis;
|
|
156
|
-
white-space: nowrap; color:
|
|
157
|
-
.step.running .tail { color:
|
|
158
|
-
.bar { height: 3px; margin:
|
|
159
|
-
overflow: hidden; }
|
|
160
|
-
.bar .fill { height: 100%; background:
|
|
196
|
+
white-space: nowrap; color: var(--bm-text-dim); }
|
|
197
|
+
.step.running .tail { color: var(--bm-text-muted); }
|
|
198
|
+
.bar { height: 3px; margin: 4px 0 4px 16px; border-radius: 2px;
|
|
199
|
+
background: var(--bm-surface-card); overflow: hidden; }
|
|
200
|
+
.bar .fill { height: 100%; background: var(--bm-pumpkin); }
|
|
201
|
+
/* The level's shape, drawn from the forge artifact — twenty-plus minutes before it is playable.
|
|
202
|
+
image-rendering: pixelated because the canvas is drawn at an integer multiple of the raster
|
|
203
|
+
and any further scaling should keep the object dots as dots. */
|
|
204
|
+
.job-map { margin-top: 8px; }
|
|
205
|
+
.job-map canvas { display: block; width: 100%; height: auto; border-radius: 6px;
|
|
206
|
+
border: 1px solid var(--bm-border-muted); image-rendering: pixelated; }
|
|
161
207
|
/* What the level being built contains — known minutes before the level itself exists. */
|
|
162
|
-
.job-summary { margin-top:
|
|
163
|
-
|
|
164
|
-
|
|
208
|
+
.job-summary { margin-top: 8px; padding-top: 8px;
|
|
209
|
+
border-top: 1px solid var(--bm-border-muted); color: var(--bm-text-muted);
|
|
210
|
+
font-size: 12px; line-height: 1.6; }
|
|
211
|
+
.job-summary .objects { color: var(--bm-text-dim); overflow: hidden; text-overflow: ellipsis;
|
|
165
212
|
white-space: nowrap; }
|
|
166
213
|
.spin { display: inline-block; animation: spin 1.4s linear infinite; }
|
|
167
214
|
@keyframes spin { to { transform: rotate(360deg); } }
|
|
168
|
-
#hq-overlay {
|
|
169
|
-
|
|
170
|
-
#hq-
|
|
171
|
-
#hq-
|
|
172
|
-
|
|
173
|
-
#hq-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
background: #101014; color: #e6e6ea; border: 1px solid #34343f; font: inherit; }
|
|
177
|
-
#hq-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
|
|
178
|
-
#hq-confirm { background: #3352c4; border-color: #3f61d8; }
|
|
179
|
-
#hq-note { display: none; margin-top: 10px; padding: 10px; border-radius: 6px;
|
|
180
|
-
background: #101014; border: 1px solid #26262e; }
|
|
215
|
+
#hq-overlay { z-index: 10; }
|
|
216
|
+
#hq-dialog { width: min(560px, 92vw); padding: 20px; }
|
|
217
|
+
#hq-dialog p { margin: 0 0 16px; color: var(--bm-text-muted); }
|
|
218
|
+
#hq-prompt { width: 100%; min-height: 88px; resize: vertical; }
|
|
219
|
+
#hq-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
|
|
220
|
+
#hq-note { display: none; margin-top: 12px; padding: 12px; border-radius: 6px; font-size: 12px;
|
|
221
|
+
background: var(--bm-surface-alt); border: 1px solid var(--bm-border-muted);
|
|
222
|
+
color: var(--bm-text-muted); }
|
|
181
223
|
#hq-note.show { display: block; }
|
|
182
|
-
#hq-note code { display: block; margin-top: 6px; color:
|
|
224
|
+
#hq-note code { display: block; margin-top: 6px; color: var(--bm-aqua);
|
|
225
|
+
font-family: var(--bm-font-mono); word-break: break-all; }
|
|
183
226
|
${ASSET_DETAIL_CSS}
|
|
184
227
|
</style>
|
|
185
228
|
</head>
|
|
186
229
|
<body>
|
|
187
230
|
<div id="bar">
|
|
188
|
-
<
|
|
231
|
+
<span class="wordmark">bitmagic dev</span>
|
|
189
232
|
<span class="id">${escapeAttr(options.gameId)}</span>
|
|
190
233
|
<div id="tabs">
|
|
191
|
-
<button class="tab active" type="button" data-tab="game">Game</button>
|
|
192
|
-
<button class="tab" type="button" data-tab="editor">Editor</button>
|
|
234
|
+
<button class="tab bm-pill active" type="button" data-tab="game">Game</button>
|
|
235
|
+
<button class="tab bm-pill" type="button" data-tab="editor">Editor</button>
|
|
193
236
|
</div>
|
|
194
237
|
<span class="spacer"></span>
|
|
195
238
|
<label id="auto" title="Reload the game when the project changes on disk">
|
|
196
239
|
<input id="auto-toggle" type="checkbox" checked> Auto-reload
|
|
197
240
|
</label>
|
|
198
241
|
<span id="status"><span id="dot"></span><span id="status-text">Loading…</span></span>
|
|
199
|
-
<button id="assets-toggle" type="button" title="Show the assets in this project and what is being
|
|
200
|
-
<button id="shot" type="button" title="Copy the current frame to the clipboard">Screenshot</button>
|
|
201
|
-
<button id="reload" type="button">Reload</button>
|
|
242
|
+
<button id="assets-toggle" class="bm-pill" type="button" title="Show the assets in this project and what is being made">Assets</button>
|
|
243
|
+
<button id="shot" class="bm-pill" type="button" title="Copy the current frame to the clipboard">Screenshot</button>
|
|
244
|
+
<button id="reload" class="bm-pill" type="button">Reload</button>
|
|
202
245
|
</div>
|
|
203
246
|
<div id="build-banner" class="banner">
|
|
204
247
|
<span id="build-message"></span>
|
|
@@ -206,32 +249,32 @@ ${ASSET_DETAIL_CSS}
|
|
|
206
249
|
</div>
|
|
207
250
|
<div id="banner" class="banner">
|
|
208
251
|
<span>src/work/world.json changed on disk — this scene is out of date.</span>
|
|
209
|
-
<button id="banner-reload" type="button">Reload scene</button>
|
|
252
|
+
<button id="banner-reload" class="bm-pill" type="button">Reload scene</button>
|
|
210
253
|
</div>
|
|
211
254
|
<div id="terrain-banner" class="banner">
|
|
212
255
|
<span><strong>Terrain edits are not saved yet.</strong>
|
|
213
256
|
Sculpting the ground needs an asset upload that <code>bitmagic dev</code> does not do — these
|
|
214
257
|
voxel changes will be lost. Discard them, or press Cancel in the terrain toolbar.</span>
|
|
215
|
-
<button id="terrain-discard" type="button">Discard terrain edits</button>
|
|
258
|
+
<button id="terrain-discard" class="bm-pill bm-pill--destructive" type="button">Discard terrain edits</button>
|
|
216
259
|
</div>
|
|
217
260
|
<div id="stage">
|
|
218
261
|
<iframe id="frame" allow="autoplay; fullscreen; xr-spatial-tracking; clipboard-write"></iframe>
|
|
219
262
|
<aside id="assets">
|
|
220
|
-
<div id="assets-head">Assets<span class="count" id="assets-count"></span></div>
|
|
263
|
+
<div id="assets-head" class="bm-label">Assets<span class="count" id="assets-count"></span></div>
|
|
221
264
|
<div id="assets-jobs"></div>
|
|
222
265
|
<div id="assets-list"></div>
|
|
223
|
-
<div id="assets-empty">Nothing yet. Assets appear here as they are
|
|
266
|
+
<div id="assets-empty">Nothing yet. Assets appear here as they are made.</div>
|
|
224
267
|
</aside>
|
|
225
268
|
</div>
|
|
226
|
-
<div id="hq-overlay">
|
|
227
|
-
<div id="hq-dialog">
|
|
228
|
-
<h2>
|
|
269
|
+
<div id="hq-overlay" class="bm-overlay">
|
|
270
|
+
<div id="hq-dialog" class="bm-dialog">
|
|
271
|
+
<h2>Make a high-quality <span id="hq-name"></span></h2>
|
|
229
272
|
<p>Describe what this object should be. The text is saved as the asset's description and
|
|
230
|
-
used as the
|
|
231
|
-
<textarea id="hq-prompt" placeholder="e.g. a weathered stone archway covered in moss"></textarea>
|
|
273
|
+
used as the prompt it is made from.</p>
|
|
274
|
+
<textarea id="hq-prompt" class="bm-input" placeholder="e.g. a weathered stone archway covered in moss"></textarea>
|
|
232
275
|
<div id="hq-actions">
|
|
233
|
-
<button id="hq-cancel" type="button">Close</button>
|
|
234
|
-
<button id="hq-confirm" type="button">
|
|
276
|
+
<button id="hq-cancel" class="bm-pill bm-pill--ghost" type="button">Close</button>
|
|
277
|
+
<button id="hq-confirm" class="bm-pill bm-pill--primary" type="button">Make it</button>
|
|
235
278
|
</div>
|
|
236
279
|
<div id="hq-note">
|
|
237
280
|
<span id="hq-note-text"></span>
|
|
@@ -246,6 +289,9 @@ ${ASSET_DETAIL_HTML}
|
|
|
246
289
|
var GAME_URL = ${JSON.stringify(gameUrl)};
|
|
247
290
|
var POLL_MS = ${POLL_INTERVAL_MS};
|
|
248
291
|
var ACTIVE_EDIT_MS = ${ACTIVE_EDIT_WINDOW_MS};
|
|
292
|
+
var MAP_CANVAS_WIDTH = ${MAP_CANVAS_WIDTH};
|
|
293
|
+
// The forge map's renderer, shared verbatim with the Creator — see forgeMapRendererSource().
|
|
294
|
+
${forgeMapRendererSource()}
|
|
249
295
|
var TAB_KEY = 'bitmagic.dev.tab';
|
|
250
296
|
var AUTO_KEY = 'bitmagic.dev.autoReload';
|
|
251
297
|
var ASSETS_KEY = 'bitmagic.dev.assets';
|
|
@@ -848,7 +894,7 @@ ${ASSET_DETAIL_HTML}
|
|
|
848
894
|
return typeof value === 'number' && isFinite(value) ? value.toLocaleString() : '';
|
|
849
895
|
}
|
|
850
896
|
|
|
851
|
-
var STEP_GLYPHS = { pending: '○', running: '⟳', done: '✓'
|
|
897
|
+
var STEP_GLYPHS = { pending: '○', running: '⟳', done: '✓' };
|
|
852
898
|
|
|
853
899
|
/**
|
|
854
900
|
* The trailing text for one step: its duration once finished, its counts while it runs.
|
|
@@ -873,14 +919,11 @@ ${ASSET_DETAIL_HTML}
|
|
|
873
919
|
* snapshot (cli/src/forge/progress.ts), so this draws one list and never has to know which
|
|
874
920
|
* machine a row came from.
|
|
875
921
|
*/
|
|
876
|
-
function stepsBlock(progress
|
|
922
|
+
function stepsBlock(progress) {
|
|
877
923
|
var block = el('div', 'steps');
|
|
878
924
|
for (var i = 0; i < progress.steps.length; i++) {
|
|
879
925
|
var step = progress.steps[i];
|
|
880
|
-
|
|
881
|
-
// say otherwise. The job's own status is the authority, so the row that was in flight is the
|
|
882
|
-
// one that stopped.
|
|
883
|
-
var status = jobFailed && step.status === 'running' ? 'stopped' : step.status;
|
|
926
|
+
var status = step.status;
|
|
884
927
|
var line = el('div', 'step ' + status);
|
|
885
928
|
line.appendChild(el('span', 'glyph' + (status === 'running' ? ' spin' : ''), STEP_GLYPHS[status]));
|
|
886
929
|
line.appendChild(el('span', 'label', step.label + (step.resumed ? ' (resumed)' : '')));
|
|
@@ -900,6 +943,53 @@ ${ASSET_DETAIL_HTML}
|
|
|
900
943
|
return block;
|
|
901
944
|
}
|
|
902
945
|
|
|
946
|
+
/**
|
|
947
|
+
* A forge's map, fetched once per job and drawn into a canvas.
|
|
948
|
+
*
|
|
949
|
+
* Fetched rather than carried on the job record, because the record is re-read at 1 Hz for the
|
|
950
|
+
* whole run and the map never changes after it arrives. Cached by job id so the panel's rebuild
|
|
951
|
+
* (which throws every row away and makes new ones) does not re-request it every second.
|
|
952
|
+
*/
|
|
953
|
+
var mapCache = {};
|
|
954
|
+
var mapFetching = {};
|
|
955
|
+
|
|
956
|
+
function drawMap(canvas, map) {
|
|
957
|
+
var scale = Math.max(1, Math.floor(MAP_CANVAS_WIDTH / Math.max(map.width, map.height)));
|
|
958
|
+
var render = renderForgeMapRgba(map, decodeForgeMapHeights(map), FORGE_MAP_PALETTE, scale);
|
|
959
|
+
canvas.width = render.width;
|
|
960
|
+
canvas.height = render.height;
|
|
961
|
+
var ctx = canvas.getContext('2d');
|
|
962
|
+
if (!ctx) return;
|
|
963
|
+
var image = ctx.createImageData(render.width, render.height);
|
|
964
|
+
image.data.set(render.rgba);
|
|
965
|
+
ctx.putImageData(image, 0, 0);
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
function mapBlock(jobId) {
|
|
969
|
+
var block = el('div', 'job-map');
|
|
970
|
+
var canvas = document.createElement('canvas');
|
|
971
|
+
block.appendChild(canvas);
|
|
972
|
+
var cached = mapCache[jobId];
|
|
973
|
+
if (cached) {
|
|
974
|
+
drawMap(canvas, cached);
|
|
975
|
+
return block;
|
|
976
|
+
}
|
|
977
|
+
if (!mapFetching[jobId]) {
|
|
978
|
+
mapFetching[jobId] = true;
|
|
979
|
+
fetch('/api/jobs/' + encodeURIComponent(jobId) + '/layout')
|
|
980
|
+
.then(function (r) { return r.ok ? r.json() : null; })
|
|
981
|
+
.then(function (payload) {
|
|
982
|
+
if (!payload || !payload.layout) return;
|
|
983
|
+
mapCache[jobId] = payload.layout;
|
|
984
|
+
// Re-render rather than drawing into this canvas: by the time the fetch lands the 1 Hz
|
|
985
|
+
// ticker has almost certainly replaced the row this element belongs to.
|
|
986
|
+
void refreshAssets();
|
|
987
|
+
})
|
|
988
|
+
.catch(function () { /* no map is a panel without a picture, never an error to show */ });
|
|
989
|
+
}
|
|
990
|
+
return block;
|
|
991
|
+
}
|
|
992
|
+
|
|
903
993
|
/** What the level contains — the answer that exists long before the level does. */
|
|
904
994
|
function summaryBlock(summary) {
|
|
905
995
|
var headline = [];
|
|
@@ -923,27 +1013,30 @@ ${ASSET_DETAIL_HTML}
|
|
|
923
1013
|
return block;
|
|
924
1014
|
}
|
|
925
1015
|
|
|
1016
|
+
/**
|
|
1017
|
+
* A generation in flight. Only ever in flight: the sidecar serves running jobs and nothing else,
|
|
1018
|
+
* because a failure is a tool diagnostic for whoever ran the command — see project/jobs.ts. A job
|
|
1019
|
+
* that fails leaves this list the same way one that succeeds does, by no longer being in it.
|
|
1020
|
+
*/
|
|
926
1021
|
function jobRow(job) {
|
|
927
|
-
var
|
|
928
|
-
var row = el('div', 'row job' + (failed ? ' failed' : ''));
|
|
1022
|
+
var row = el('div', 'row job');
|
|
929
1023
|
var thumb = el('div', 'thumb');
|
|
930
|
-
thumb.appendChild(el('span',
|
|
1024
|
+
thumb.appendChild(el('span', 'spin', '⟳'));
|
|
931
1025
|
row.appendChild(thumb);
|
|
932
1026
|
var body = el('div', 'body');
|
|
933
1027
|
body.appendChild(el('div', 'name', job.label || job.kind));
|
|
934
|
-
|
|
935
|
-
body.appendChild(meta);
|
|
1028
|
+
body.appendChild(el('div', 'meta', job.kind + ' · ' + formatElapsed(job.startedAt)));
|
|
936
1029
|
var progress = job.progress;
|
|
937
1030
|
var hasSteps = progress && Array.isArray(progress.steps) && progress.steps.length > 0;
|
|
938
|
-
//
|
|
939
|
-
//
|
|
940
|
-
if (failed || !hasSteps) {
|
|
941
|
-
body.appendChild(el('div', 'message', failed ? (job.error || 'Failed') : (job.message || '')));
|
|
942
|
-
}
|
|
1031
|
+
// A forge is the one kind with more than a sentence to say. Everything else keeps the single
|
|
1032
|
+
// line, which for those is the whole story.
|
|
943
1033
|
if (hasSteps) {
|
|
944
|
-
body.appendChild(stepsBlock(progress
|
|
1034
|
+
body.appendChild(stepsBlock(progress));
|
|
945
1035
|
var summary = progress.summary ? summaryBlock(progress.summary) : null;
|
|
946
1036
|
if (summary) body.appendChild(summary);
|
|
1037
|
+
if (job.hasLayout) body.appendChild(mapBlock(job.jobId));
|
|
1038
|
+
} else {
|
|
1039
|
+
body.appendChild(el('div', 'message', job.message || ''));
|
|
947
1040
|
}
|
|
948
1041
|
row.appendChild(body);
|
|
949
1042
|
return row;
|
|
@@ -1018,8 +1111,9 @@ ${ASSET_DETAIL_HTML}
|
|
|
1018
1111
|
|
|
1019
1112
|
var body = el('div', 'body');
|
|
1020
1113
|
var name = el('div', 'name', asset.name || asset.id || 'unnamed');
|
|
1021
|
-
|
|
1022
|
-
|
|
1114
|
+
// Success and warning, never both: an asset is either the good version or standing in for it.
|
|
1115
|
+
if (asset.hqGeneratedAt) name.appendChild(el('span', 'bm-badge bm-badge--success', 'HQ'));
|
|
1116
|
+
else if (asset.placeholder === true) name.appendChild(el('span', 'bm-badge bm-badge--warning', 'placeholder'));
|
|
1023
1117
|
body.appendChild(name);
|
|
1024
1118
|
var bits = [asset.type || 'unknown'];
|
|
1025
1119
|
var size = formatSize(asset.size);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-page.js","sourceRoot":"","sources":["../../src/editor/shell-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-page.js","sourceRoot":"","sources":["../../src/editor/shell-page.ts"],"names":[],"mappings":"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"}
|
package/dist/forge/progress.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* (`ForgeTransportOptions.onProgress`), so the counts arrive as ordinary step events and the
|
|
26
26
|
* second, parallel path is gone.
|
|
27
27
|
*/
|
|
28
|
-
import { type ForgeProgressEvent, type ForgeProgressSummary, type ForgeStepKey } from '@bitmagic/world-forger/pipeline/index.js';
|
|
28
|
+
import { type ForgeLayoutMap, type ForgeProgressEvent, type ForgeProgressSummary, type ForgeStepKey } from '@bitmagic/world-forger/pipeline/index.js';
|
|
29
29
|
export type ForgeStepStatus = 'pending' | 'running' | 'done';
|
|
30
30
|
export interface ForgeStepState {
|
|
31
31
|
key: ForgeStepKey;
|
|
@@ -59,6 +59,14 @@ export interface ForgeProgressTrackerOptions {
|
|
|
59
59
|
log: (message: string) => void;
|
|
60
60
|
/** Job-record writer. Receives a fresh snapshot; may be omitted when nothing is watching. */
|
|
61
61
|
report?: (snapshot: ForgeProgressSnapshot) => void;
|
|
62
|
+
/**
|
|
63
|
+
* The level's map, handed over the once it arrives.
|
|
64
|
+
*
|
|
65
|
+
* A separate sink rather than a field on the snapshot, and that is the point: the snapshot is
|
|
66
|
+
* rewritten on every tick, and ~25KB of raster in it would be rewritten with it for the rest of
|
|
67
|
+
* a thirty-minute run. Routing it out here makes "written once" structural.
|
|
68
|
+
*/
|
|
69
|
+
onLayout?: (layout: ForgeLayoutMap) => void;
|
|
62
70
|
now?: () => number;
|
|
63
71
|
/** Overridden in tests. */
|
|
64
72
|
logIntervalMs?: number;
|