@higgsfield/video-editor-mcp 1.0.7 → 1.1.1-dev.0
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/THIRD_PARTY_NOTICES.md +24 -24
- package/dist/cli.mjs +134 -125
- package/dist/index.html +136 -133
- package/dist/launcher.mjs +90 -90
- package/dist/server.mjs +1553 -1389
- package/node_modules/@higgsfield/higgsedit/README.md +181 -1
- package/node_modules/@higgsfield/higgsedit/dist/capture-page.js +902 -314
- package/node_modules/@higgsfield/higgsedit/dist/chunk-2JYLVSVV.mjs +1594 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-2WKNH7OL.mjs +16 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-OMKZ5BXM.mjs → chunk-5LTTL3Q3.mjs} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/chunk-7PYXSJS7.mjs +717 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-MLJAIZGP.mjs → chunk-BH2QF635.mjs} +33 -326
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-WZR5PZM7.mjs → chunk-BV5COOQZ.mjs} +250 -161
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-HTCYVKFX.mjs → chunk-C3GSB3XZ.mjs} +8 -7
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-CYH2EUQV.mjs → chunk-DVN4LUXV.mjs} +13 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-F4CMIG5G.mjs +36 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-IEPPEDEU.mjs +33 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-UVAZ6I6U.mjs → chunk-KIWGVAPJ.mjs} +16 -12
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-L6QDNSL3.mjs → chunk-L5LWBA6A.mjs} +5 -5
- package/node_modules/@higgsfield/higgsedit/dist/chunk-LMQR3DHT.mjs +37 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-LTKMGZ6T.mjs +58 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-VI6IV6JP.mjs → chunk-MV2JTTBQ.mjs} +65 -47
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-4D6AXU4B.mjs → chunk-NARTAWRN.mjs} +50 -30
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-27NBQ5FA.mjs → chunk-NUXTKQNM.mjs} +33 -21
- package/node_modules/@higgsfield/higgsedit/dist/chunk-OCIZ36XD.mjs +40 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-MK6PL7N4.mjs → chunk-OF6RMSM2.mjs} +19 -17
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-6BETMESC.mjs → chunk-P2BGHTRR.mjs} +2 -2
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-EKFC4S4M.mjs → chunk-PAHMD6SU.mjs} +5 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-QVLAEV3U.mjs → chunk-PFQYUJQL.mjs} +3 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QJTILFBS.mjs +335 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QQ3GGKDN.mjs +21 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-TH7TK67K.mjs +23 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-SIMO6I3D.mjs → chunk-UDL5AHKO.mjs} +163 -158
- package/node_modules/@higgsfield/higgsedit/dist/chunk-UMWOUQN3.mjs +60 -0
- package/node_modules/@higgsfield/higgsedit/dist/{chunk-3AIM3THH.mjs → chunk-VLM5EOWJ.mjs} +4 -4
- package/node_modules/@higgsfield/higgsedit/dist/chunk-WENFTPXQ.mjs +403 -0
- package/node_modules/@higgsfield/higgsedit/dist/chunk-YLVXQIPX.mjs +464 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/.vite/manifest.json +559 -506
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-bottom-q4hZltI-.svg +431 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/agent-corner-top-BJYI-I24.svg +431 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/confirmation-BTnwl3LS.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/drag-Bt_t4HZO.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/local-B3OTAV_A.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/menubar-2Y1Y2XJt.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/model-DdE4hCgf.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{IconText1-CzbCrP7v.css → notifications-B08L1jSe.css} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/{panel-g852pZf_.css → panel-BRN_AbBM.css} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-CYELNqrv.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DYLpT6oA.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-v84HaGTZ.css +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Bxb1Or0F.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCheckmark2Medium-daaES9uF.js → IconCheckmark2Medium-hegaz9mQ.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconChevronDownSmall-BhTBJk26.js → IconChevronDownSmall-DaruzJwU.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconClosedCaptioning-BPqcqKsD.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconCrossMedium-acfnCXOM.js → IconCrossMedium-BsPFJzc6.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconOpenaiFilled-D1fzthmi.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPause-pTeVSvUe.js → IconPause-ClNg8pao.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{IconPlayFilled-CwdgIuDG.js → IconPlayFilled-CHb-7GSx.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconSparklesSoftFilled-o7o33KRn.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-B9h-eaki.js +567 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/auto-layout-BO20Tg4B.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{button-CjG6GcgF.js → button-Cg0U0zpV.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/canvas-Bw4CVzfw.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/capabilities-BCd4-zPF.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/commands-QeSqAbCt.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-tXMtIZNL.js +51 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/confirmation-CO2PHR_z.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dom-6aoQn29n.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-Dw8b_vO2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{editing-CjWbiCxv.js → editing-Cy-SaOyB.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-CqLBqir0.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-BjBskOe3.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/factories-Bw_iQrUL.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/id3-CSR0NCRI.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-DP49i4ke.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMz9sLPe.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ingest-DsmIc415.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B5yqYJvp.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/{media-Bwjxu-0U.js → media-DQw6vU_T.js} +1 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-D31srALX.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-D0nZVEJs.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/mode-DEG6doKF.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-Duf9fszJ.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/model-DyAkLA69.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/notifications-DqWZNIrK.js +9 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-HT83gWgL.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-B5Mvm6dg.js +7 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BC90wyvd.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Bw_ZJ2JI.js +3 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DNS060Nt.js +3 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DSgxIrEq.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DgBttE5O.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-_T2bHsHW.js +771 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DfHvAt5X.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-nBZvHlkA.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-DsCpJVSt.js +327 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-CEhZwZ67.js +280 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-2_tW9Do7.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/react-dom-1uB7Vbbb.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/schemas-CddYAOcj.js +64 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-BpFeKAI2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/src-BLG3tYBa.js +2 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/styles-e2n2A_JN.js +284 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CuV0zYKd.js +24 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-XeAgs9cs.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-DbNEaSIl.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-C8Ll3qFl.js +69 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-Dv1LPFbu.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-HWSfSsp2.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-D4SOg3N_.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/value-EB7YmAdS.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-fj5rA9k3.js +1 -0
- package/node_modules/@higgsfield/higgsedit/dist/editor/editor-B-WAkLt7.js +372 -0
- package/node_modules/@higgsfield/higgsedit/dist/higgsedit.mjs +39 -24
- package/node_modules/@higgsfield/higgsedit/dist/jsx/hooks.d.ts +26 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/index.d.ts +17 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/inspect.d.ts +42 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/jsx-runtime.d.ts +28 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/svg.d.ts +9 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/time.d.ts +6 -0
- package/node_modules/@higgsfield/higgsedit/dist/jsx/types.d.ts +420 -0
- package/node_modules/@higgsfield/higgsedit/package.json +28 -20
- package/package.json +4 -3
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/plugin.json +1 -1
- package/plugin/skills/video-editing/references/caption-titling.md +1 -1
- package/plugin/skills/video-editing/references/local-setup.md +3 -3
- package/node_modules/@higgsfield/higgsedit/dist/chunk-C6SASQHE.mjs +0 -424
- package/node_modules/@higgsfield/higgsedit/dist/chunk-FZ5U36SQ.mjs +0 -83
- package/node_modules/@higgsfield/higgsedit/dist/chunk-QLPCYN6K.mjs +0 -292
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/edit-drag-D2EV5ddd.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/editor-CuRHT75g.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/assets/panel-DnuQD7ja.css +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/FieldControl-B0fenhBJ.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconChainLink1-Cwv1X7hi.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeOpen-BqTT9_VV.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconEyeSlash-Whv58c1m.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPencil-Dr17k_7e.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlay-BroH3ziH.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconPlusSmall-43T9aE3d.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconText1-BaP_p9DW.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/IconTrashCan-DX2w2AIC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/ai-composer-C-l0eIdP.js +0 -560
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/captions-Cd-bDG3G.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/clip-highlight-DpAvcA4x.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/components-e3ZbUVns.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/disposables-CwUPjcuA.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/drag-HLBkto5o.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/dropdown-BJ04G_X3.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edit-drag-Bg6LggKC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/edits-a2IixhrN.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/export-dialog-4I4gqI5V.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/face-tracker-DzVfjVOO.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/fit-imported-media-CaCB0x0b.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/generation-queue-DuL2F4-_.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/import-error-CMARA0Hy.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/jsx-runtime-B-hcVAMW.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/menubar-Bs26OdwP.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/meters-YEr9OQjq.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/paints-DS2Msf91.js +0 -67
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/palette-CcS9IcAC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-7M3uQokX.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-BBK1NyG-.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-CHZTs7By.js +0 -4
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DaSOa3MP.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-DlK3RYVo.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Dst5OKWu.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-H_ZoDiKK.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-Rn9Z7Eek.js +0 -3
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-assets-FAghGFG3.js +0 -678
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-inspector-DEqULBNF.js +0 -260
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-timeline-0GYNz1uc.js +0 -333
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/panel-viewport-DOWjJi5-.js +0 -317
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/projects-BBJc7h5_.js +0 -2
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/session-B9sZaFKC.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/supercomputer-CX-LCL6Y.js +0 -24
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/tabs-CvKQ-eas.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/toggle-CrzrwiDZ.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-BgRfk-Qq.js +0 -69
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/transport-bar-C9nqAfE2.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/typography-C5-w9LOu-kD3uLKkf.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useOpenInteractionType-DbrQ6Ehu.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/useRenderElement-bbxXdYq0.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/chunks/writeback-support-BZfNpkmB.js +0 -1
- package/node_modules/@higgsfield/higgsedit/dist/editor/editor-Csn2_T_e.js +0 -293
- package/node_modules/@higgsfield/higgsedit/dist/export-settings.mjs +0 -75
- package/node_modules/@higgsfield/higgsedit/dist/history.mjs +0 -295
- package/node_modules/@higgsfield/higgsedit/dist/media-upload.mjs +0 -381
- package/node_modules/@higgsfield/higgsedit/dist/proxy.mjs +0 -170
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./jsx-runtime-B-hcVAMW.js";var t=(e,t)=>t>=e.word.start&&t<=e.word.end,n=e=>e.map(e=>e.word.text).join(` `),r=e=>[[{text:n(e)}]];function i(e){let t=Math.ceil(n(e).length/2),r=e.length,i=1/0,a=-1;for(let n=1;n<e.length;n++){a+=e[n-1].word.text.length+1;let o=Math.abs(a-t);o<i&&(i=o,r=n)}return[e.slice(0,r),e.slice(r)]}function a(e,t,n){let[r,a]=i(e),o=a.length>0&&t>=a[0].word.start,s=[n(r,!o)];return a.length&&s.push(n(a,o)),s}var o=(e,t)=>e.map((n,r)=>({text:r<e.length-1?`${n.word.text} `:n.word.text,...t(n)}));function s(e){let[t,n,i]=e.face,[a,o]=e.box,s={width:a,height:o,align:e.place,font:{family:t,weight:n,size:i,italic:e.italic??!1,lineHeight:e.leading??1,align:e.topLeft?`left`:`center`,valign:e.topLeft?`top`:`middle`},limit:e.gather,slots:e.slots??[],lines:e.lines??r};return e.left!==void 0&&(s.x=e.left),e.textCase&&(s.textCase=e.textCase),e.shadow&&(s.shadow=e.shadow),e.composite&&(s.composite=e.composite),e.runWeights&&(s.runWeights=e.runWeights),s}var c={classic:s({face:[`Urbanist`,600,62],box:[600,100],place:`center`,gather:{seconds:.2},textCase:`lower`,shadow:{color:`#000000`,blur:28,x:0,y:5}}),whisper:s({face:[`Montserrat`,400,40],leading:1.4,box:[1e3,100],place:`bottom`,gather:{seconds:2}}),cascade:s({face:[`Inter`,300,50],leading:1.2,topLeft:!0,box:[800,200],left:100,place:`bottom`,gather:{chars:50},lines:(e,t)=>[[{text:n(e.filter(e=>e.word.start<=t))}]]}),spotlight:s({face:[`Outfit`,700,70],italic:!0,box:[700,100],place:`center`,gather:{chars:10},slots:[`#24D5FF`],lines:(e,n)=>[o(e,r=>e.length>1&&t(r,n)?{slot:0}:{})]}),paper:s({face:[`Montserrat`,300,50],runWeights:[500],leading:.9,box:[700,200],place:`center`,gather:{chars:18},lines:(e,t)=>a(e,t,(e,t)=>[{text:n(e),...t?{weight:500}:{}}])}),guinea:s({face:[`Outfit`,700,62],box:[700,200],place:`center`,gather:{chars:18},textCase:`upper`,slots:[`#F55353`,`#FEB139`,`#F6F54D`],lines:(e,n)=>a(e,n,e=>o(e,e=>t(e,n)?{scale:1.1,slot:e.index%3}:{}))}),stark:s({face:[`Figtree`,800,70],box:[700,100],place:`center`,gather:{seconds:.2},textCase:`upper`,composite:`difference`})},l=e=>c[e??`classic`]??c.classic;function u(e){return`seconds`in e?{cap:e.seconds,cost:e=>e.end-e.start}:{cap:e.chars,cost:e=>e.text.length}}var d=/[.!?,;]$/;function f(e,t){let{cap:n,cost:r}=u(t),i=[],a=0,o=0;for(let t of e){let e=!1;for(let s of t)(!e||a+r(s)>n)&&(i.push([]),a=0),i.at(-1).push({word:s,index:o++}),a+=r(s),e=!d.test(s.text)}return i}var p=new WeakMap;function m(e,t,n){let r=p.get(e);r||p.set(e,r=new Map);let i=r.get(t);return i||r.set(t,i=f(e,t.limit)),i.find(e=>n>=e[0].word.start&&n<=e.at(-1).word.end)}var h=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:t;function g(e,t){return e===`top`?100:e===`bottom`?t-100:t/2}function ee(e,t,n,r,i,a){let o=h(i,e.x??(r.width-n.width)/2),s=h(a,g(t.verticalAlign??e.align,r.height-n.height));return{x:o+h(t.offsetX,0),y:s+h(t.offsetY,0)}}var _=Symbol.for(`koota.internal`),v=4,y=8,b=20,te=(1<<v)-1,x=(1<<y)-1,S=(1<<b)-1,C=b,w=C+y;function ne(e,t,n){return(e&te)<<w|(t&x)<<C|n&S}var re=e=>e&~(x<<C)|((e>>>C&x)+1&x)<<C;function ie(e,t){return e===t||typeof e==`object`&&!!e&&typeof t==`object`&&!!t&&(()=>{let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.hasOwn(t,n)&&e[n]===t[n])})()}var T=Symbol.for(`relationPair`),ae=Symbol.for(`relation`),oe=Symbol.for(`orderedTargetsTrait`);function se(){return{worldCursor:0,releasedWorldIds:[],maxWorlds:2**v}}function ce(e){if(e.releasedWorldIds.length>0)return e.releasedWorldIds.pop();if(e.worldCursor>=e.maxWorlds)throw Error(`Koota: Too many worlds created. The maximum is ${e.maxWorlds}.`);return e.worldCursor++}function le(e,t){if(t<0||t>=e.maxWorlds)throw Error(`Invalid world ID: ${t}`);t===e.worldCursor-1?e.worldCursor--:t<e.worldCursor&&!e.releasedWorldIds.includes(t)&&e.releasedWorldIds.push(t)}var E={worlds:[],cachedQueries:new Map,worldIndex:se(),reset:()=>{E.worlds=[],E.cachedQueries=new Map,E.worldIndex=se()}},ue=Symbol(`modifier`);function de(e){let{type:t}=e;return t.includes(`added`)||t.includes(`removed`)||t.includes(`changed`)}function fe(e){let{type:t}=e;return t.includes(`added`)?`add`:t.includes(`removed`)?`remove`:t.includes(`changed`)?`change`:null}function pe(e){return e.type===`or`&&Array.isArray(e.modifiers)}var me=3;function he(){return me}function ge(e,t){let n=e[_],r=structuredClone(n.entityMasks);n.trackingSnapshots.set(t,r),n.dirtyMasks.set(t,r.map(e=>e.map(()=>0))),n.changedMasks.set(t,r.map(e=>e.map(()=>0)))}var _e=Symbol.for(`queryRef`);function ve(e,t,n){let r=t.staticBitmasks,i=t.generations,a=e[_],o=n&S;if(t.traitInstances.all.length===0)return!1;for(let e=0;e<i.length;e++){let t=i[e],n=r[e];if(!n)continue;let s=n.required,c=n.forbidden,l=n.or,u=a.entityMasks[t]?.[o]||0;if(!c&&!s&&!l||c&&(u&c)!==0||s&&(u&s)!==s||l!==0&&(u&l)===0)return!1}return!0}function ye(e,t,n){if(!ve(e,t,n))return!1;if(t.relationFilters&&t.relationFilters.length>0)for(let r of t.relationFilters){if(r.targetQueryMatches){if(!at(e,r.relation,n,r.targetQueryMatches))return!1;continue}if(!lt(e,n,r))return!1}return!0}function be(e,t,n,r,i,a){let o=t.staticBitmasks,s=t.trackingGroups,c=t.generations,l=t.traitInstances.all,u=e[_].entityMasks,d=n&S,f=c.length,p=s.length;if(l.length===0)return!1;for(let e=0;e<f;e++){let t=c[e],n=o[e];if(!n)continue;let r=n.required,i=n.forbidden,a=n.or,s=u[t],l=s?s[d]|0:0;if(i&&(l&i)!==0||r&&(l&r)!==r||a!==0&&(l&a)===0)return!1}let m=!1,h=!1;for(let e=0;e<p;e++){let t=s[e],n=t.type,o=t.logic,c=t.bitmasks,l=c[i];if(l&&l&a){if(r===`remove`){if(n===`add`||n===`change`)return!1}else if(r===`add`&&(n===`remove`||n===`change`))return!1;if(n===r){if(r===`change`){let e=u[i];if(!((e?e[d]|0:0)&a))return!1}let e=t.trackers,n=e[i];n||(n=[],e[i]=n),n[d]=n[d]|0|a}}if(o===`or`){if(m=!0,!h){let e=t.trackers,n=c.length;for(let t=0;t<n;t++){let n=c[t];if(!n)continue;let r=e[t];if((r?r[d]|0:0)&n){h=!0;break}}}}else{let e=t.trackers,n=c.length;for(let t=0;t<n;t++){let n=c[t];if(!n)continue;let r=e[t];if(((r?r[d]|0:0)&n)!==n)return!1}}}return!(m&&!h)}function xe(e,t,n,r,i,a){if(!be(e,t,n,r,i,a))return!1;if(t.relationFilters&&t.relationFilters.length>0)for(let r of t.relationFilters){if(r.targetQueryMatches){if(!at(e,r.relation,n,r.targetQueryMatches))return!1;continue}if(!lt(e,n,r))return!1}return!0}function D(e,t,n){let r,i=e[_];if(!A(e,t,n))r=void 0;else{let a=n.id;a<i.traitInstances.length&&i.traitInstances[a]!==void 0||k(e,n);let o=i.traitInstances[n.id],s=t&S,{generationId:c,bitflag:l}=o;for(let e of i.changedMasks.values())e[c]||(e[c]=[]),e[c][s]||(e[c][s]=0),e[c][s]|=l;for(let r of o.trackingQueries)r.hasChangedModifiers&&r.changedTraits.has(n)&&((r.relationFilters&&r.relationFilters.length>0?xe(e,r,t,`change`,c,l):r.checkTracking(e,t,`change`,c,l))?r.add(t):r.remove(e,t));r=o}let a=r;if(a)for(let e of a.changeSubscriptions)e(t)}function Se(e,t,n,r){let i,a=e[_];if(!A(e,t,n))i=void 0;else{let r=n.id;r<a.traitInstances.length&&a.traitInstances[r]!==void 0||k(e,n);let o=a.traitInstances[n.id],s=t&S,{generationId:c,bitflag:l}=o;for(let e of a.changedMasks.values())e[c]||(e[c]=[]),e[c][s]||(e[c][s]=0),e[c][s]|=l;for(let r of o.trackingQueries)r.hasChangedModifiers&&r.changedTraits.has(n)&&((r.relationFilters&&r.relationFilters.length>0?xe(e,r,t,`change`,c,l):r.checkTracking(e,t,`change`,c,l))?r.add(t):r.remove(e,t));i=o}let o=i;if(o)for(let e of o.changeSubscriptions)e(t,r)}function Ce(e,t){let n=e[_],r=t[oe].relation[_].trait,i=n.traitInstances[t.id];if(!i)return;let a=n.traitInstances[r.id];a||=(k(e,r),n.traitInstances[r.id]);let{generationId:o,bitflag:s,store:c}=i,{entityMasks:l,entityIndex:u}=n,d=t[_],f=e=>{let t=e&S;return l[o]?.[t]&s?d.get(t,c):void 0};a.addSubscriptions.add((e,t)=>{f(t)?._appendWithoutSync(e)}),a.removeSubscriptions.add((e,t)=>{let n=t&S,r=u.sparse[n];r!==void 0&&(u.dense[r]&S)===n&&f(t)?._removeWithoutSync(e)})}var we=class extends Array{world;parent;relation;orderedTrait;_syncing=!1;constructor(e,t,n,r,i=[]){super(...i),this.world=e,this.parent=t,this.relation=n,this.orderedTrait=r}get[Symbol.toStringTag](){return`OrderedList`}push(...e){this._syncing=!0;try{for(let t of e)Ue(this.world,t,this.relation(this.parent));let t=super.push(...e);return D(this.world,this.parent,this.orderedTrait),t}finally{this._syncing=!1}}pop(){this._syncing=!0;try{let e=super.pop();return e!==void 0&&(We(this.world,e,this.relation(this.parent)),D(this.world,this.parent,this.orderedTrait)),e}finally{this._syncing=!1}}shift(){this._syncing=!0;try{let e=super.shift();return e!==void 0&&(We(this.world,e,this.relation(this.parent)),D(this.world,this.parent,this.orderedTrait)),e}finally{this._syncing=!1}}unshift(...e){this._syncing=!0;try{for(let t of e)Ue(this.world,t,this.relation(this.parent));let t=super.unshift(...e);return D(this.world,this.parent,this.orderedTrait),t}finally{this._syncing=!1}}splice(e,t,...n){this._syncing=!0;try{let r=super.splice(e,t??0,...n);for(let e of r)We(this.world,e,this.relation(this.parent));for(let e of n)Ue(this.world,e,this.relation(this.parent));return(r.length>0||n.length>0)&&D(this.world,this.parent,this.orderedTrait),r}finally{this._syncing=!1}}sort(e){return super.sort(e),D(this.world,this.parent,this.orderedTrait),this}reverse(){return super.reverse(),D(this.world,this.parent,this.orderedTrait),this}map(e){return Array.prototype.map.call(this,e)}filter(e){return Array.prototype.filter.call(this,e)}slice(e,t){return Array.prototype.slice.call(this,e,t)}moveTo(e,t){let n=this.indexOf(e);if(n===-1)throw Error(`Item not found in OrderedList`);n!==t&&(super.splice(n,1),super.splice(t,0,e),D(this.world,this.parent,this.orderedTrait))}insert(e,t){this._syncing=!0;try{Ue(this.world,e,this.relation(this.parent)),super.splice(t,0,e),D(this.world,this.parent,this.orderedTrait)}finally{this._syncing=!1}}_appendWithoutSync(e){this._syncing||(super.push(e),D(this.world,this.parent,this.orderedTrait))}_removeWithoutSync(e){if(!this._syncing){let t=this.indexOf(e);t!==-1&&(super.splice(t,1),D(this.world,this.parent,this.orderedTrait))}}};function Te(e){if(typeof e==`function`)return[];{let t={};for(let n in e)t[n]=[];return t}}function Ee(e){let t=Object.keys(e).map(e=>`if ('${e}' in value) store.${e}[index] = value.${e};`).join(`
|
|
2
|
-
`);return Function(`index`,`store`,`value`,`
|
|
3
|
-
${t}
|
|
4
|
-
`)}function De(e){let t=Object.keys(e).map(e=>`store.${e}[index] = value.${e};`).join(`
|
|
5
|
-
`);return Function(`index`,`store`,`value`,`
|
|
6
|
-
${t}
|
|
7
|
-
`)}function Oe(e){let t=Object.keys(e).map(e=>`if (store.${e}[index] !== value.${e}) {
|
|
8
|
-
store.${e}[index] = value.${e};
|
|
9
|
-
changed = true;
|
|
10
|
-
}`).join(`
|
|
11
|
-
`);return Function(`index`,`store`,`value`,`
|
|
12
|
-
let changed = false;
|
|
13
|
-
${t}
|
|
14
|
-
return changed;
|
|
15
|
-
`)}function ke(e){let t=`{ ${Object.keys(e).map(e=>`${e}: store.${e}[index]`).join(`, `)} }`;return Function(`index`,`store`,`
|
|
16
|
-
return ${t};
|
|
17
|
-
`)}function Ae(e){return(e,t,n)=>{t[e]=n}}function je(e){return(e,t,n)=>{let r=!1;return n!==t[e]&&(t[e]=n,r=!0),r}}function Me(e){return(e,t)=>t[e]}var Ne=()=>{},Pe=()=>Ne,Fe={soa:Ee,aos:Ae,tag:Pe},Ie={soa:De,aos:Ae,tag:Pe},Le={soa:Oe,aos:je,tag:Pe},Re={soa:ke,aos:Me,tag:Pe},ze=Object.freeze({}),Be=0;function Ve(e=ze){let t=typeof e==`function`,n=!t&&Object.keys(e).length===0,r=t?`aos`:n?`tag`:`soa`;for(let t in e){let n=e[t];if(typeof n==`object`&&n)throw Error(`Koota: ${t} is an ${Array.isArray(n)?`array`:`object`}, which is not supported in traits.`)}let i=Be++,a=Object.assign(e=>[a,e],{[_]:{id:i,set:Fe[r](e),fastSet:Ie[r](e),fastSetWithChangeDetection:Le[r](e),get:Re[r](e),createStore:()=>Te(e),relation:null,type:r}});return Object.defineProperty(a,"id",{value:i,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(a,"schema",{value:e,writable:!1,enumerable:!0,configurable:!1}),a}var O=Ve;function k(e,t){let n=e[_],r=t[_],i={generationId:n.entityMasks.length-1,bitflag:n.bitflag,trait:t,store:r.createStore(),queries:new Set,trackingQueries:new Set,notQueries:new Set,relationQueries:new Set,schema:t.schema,changeSubscriptions:new Set,addSubscriptions:new Set,removeSubscriptions:new Set},a=t.id;a>=n.traitInstances.length&&(n.traitInstances.length=a+1),n.traitInstances[a]=i,e.traits.add(t),r.relation&&n.relations.add(r.relation);let o=e[_];o.bitflag*=2,o.bitflag>=2**31&&(o.bitflag=1,o.entityMasks.push([])),oe in t&&Ce(e,t)}function He(e,t,n){let r=n[oe].relation;return new we(e,t,r,n)}function Ue(e,t,...n){for(let r=0;r<n.length;r++){let i=n[r];if(i?.[T]){let n=i.relation,r=i.target;if(typeof r==`number`){let a=i.params,o=n[_],s=o.trait,c,l=e[_],u=n[_],d=u.trait,f=l.traitInstances[d.id];if(!f||!f.relationTargets)c=!1;else{let e=t&S;if(u.exclusive)c=f.relationTargets[e]===r;else{let t=f.relationTargets[e];c=t?t.includes(r):!1}}if(!c){if(o.exclusive){let i,a=e[_],o=n[_],c=a.traitInstances[o.trait.id];if(!c||!c.relationTargets)i=void 0;else{let e=t&S;i=o.exclusive?c.relationTargets[e]:c.relationTargets[e]?.[0]}let l=i;if(l!==void 0&&l!==r){let r=e[_].traitInstances[s.id];if(r)for(let e of r.removeSubscriptions)e(t,l);$e(e,n,t,l)}}let i;if(A(e,t,s))i=void 0;else{let n=e[_],r=s.id;r<n.traitInstances.length&&n.traitInstances[r]!==void 0||k(e,s);let a=n.traitInstances[s.id],{generationId:o,bitflag:c,queries:l,trackingQueries:u}=a,d=t&S;n.entityMasks[o][d]|=c;for(let e of n.dirtyMasks.values())e[o]||(e[o]=[]),e[o][d]|=c;for(let n of l)n.toRemove.remove(t),(n.relationFilters&&n.relationFilters.length>0?ye(e,n,t):n.check(e,t))?n.add(t):n.remove(e,t);for(let n of u)n.toRemove.remove(t),(n.relationFilters&&n.relationFilters.length>0?xe(e,n,t,`add`,o,c):n.checkTracking(e,t,`add`,o,c))?n.add(t):n.remove(e,t);n.entityTraits.get(t).add(s),i=a}let c=i,l=Qe(e,n,t,r);if(l!==-1){let i=c?.schema_6_$f??e[_].traitInstances[s.id].schema,o;if(s[_].type===`aos`)o=typeof i==`function`?i():null;else if(!i||typeof i==`function`||Object.keys(i).length===0)o=null;else{let e={};for(let t in i)e[t]=typeof i[t]==`function`?i[t]():i[t];o=e}let u=o;u?ot(e,t,n,l,{...u,...a}):a&&ot(e,t,n,l,a),c??=e[_].traitInstances[s.id];for(let e of c.addSubscriptions)e(t,r)}}}continue}let a,o;Array.isArray(i)?[a,o]=i:a=i;let s;if(A(e,t,a))s=void 0;else{let n=e[_],r=a.id;r<n.traitInstances.length&&n.traitInstances[r]!==void 0||k(e,a);let i=n.traitInstances[a.id],{generationId:o,bitflag:c,queries:l,trackingQueries:u}=i,d=t&S;n.entityMasks[o][d]|=c;for(let e of n.dirtyMasks.values())e[o]||(e[o]=[]),e[o][d]|=c;for(let n of l)n.toRemove.remove(t),(n.relationFilters&&n.relationFilters.length>0?ye(e,n,t):n.check(e,t))?n.add(t):n.remove(e,t);for(let n of u)n.toRemove.remove(t),(n.relationFilters&&n.relationFilters.length>0?xe(e,n,t,`add`,o,c):n.checkTracking(e,t,`add`,o,c))?n.add(t):n.remove(e,t);n.entityTraits.get(t).add(a),s=i}let c=s;if(!c)continue;let l=a[_],u;if(l.type===`aos`)u=typeof c.schema==`function`?c.schema():null;else if(!c.schema||typeof c.schema==`function`||Object.keys(c.schema).length===0)u=null;else{let e={};for(let t in c.schema)e[t]=typeof c.schema[t]==`function`?c.schema[t]():c.schema[t];u=e}let d=oe in a?He(e,t,a):u;l.type===`aos`?Ke(e,t,a,o??d,!1):d?Ke(e,t,a,{...d,...o},!1):o&&Ke(e,t,a,o,!1);for(let e of c.addSubscriptions)e(t)}}function We(e,t,...n){for(let r=0;r<n.length;r++){let i=n[r];if(i?.[T]){let n=i.relation,r=i.target,a=n[_].trait;if(A(e,t,a)){let i=e[_].traitInstances[a.id];if(r===`*`){if(i){let r,a=e[_],o=n[_],s=a.traitInstances[o.trait.id];if(!s||!s.relationTargets)r=[];else{let e=t&S;if(o.exclusive){let t=s.relationTargets[e];r=t===void 0?[]:[t]}else{let t=s.relationTargets[e];r=t===void 0?[]:t.slice()}}let c=r;for(let e of c)for(let n of i.removeSubscriptions)n(t,e)}rt(e,n,t),Je(e,t,a)}else if(typeof r==`number`){if(i)for(let e of i.removeSubscriptions)e(t,r);let{removedIndex:o,wasLastTarget:s}=$e(e,n,t,r);o===-1||s&&Je(e,t,a)}}continue}if(!A(e,t,i))continue;let a=i[_];if(a.relation){let n=e[_].traitInstances[i.id];if(n){let r,i=e[_],o=a.relation[_],s=i.traitInstances[o.trait.id];if(!s||!s.relationTargets)r=[];else{let e=t&S;if(o.exclusive){let t=s.relationTargets[e];r=t===void 0?[]:[t]}else{let t=s.relationTargets[e];r=t===void 0?[]:t.slice()}}let c=r;for(let e of c)for(let r of n.removeSubscriptions)r(t,e)}rt(e,a.relation,t)}else{let n=e[_].traitInstances[i.id];if(n)for(let e of n.removeSubscriptions)e(t)}Je(e,t,i)}}function Ge(e,t,n,r){let i=t[_].trait,a=e[_].traitInstances[i.id];if(a)for(let e of a.removeSubscriptions)e(n,r);let{removedIndex:o,wasLastTarget:s}=$e(e,t,n,r);o!==-1&&s&&Je(e,n,i)}function A(e,t,n){let r=e[_],i=r.traitInstances[n.id];if(!i)return!1;let{generationId:a,bitflag:o}=i,s=t&S;return(r.entityMasks[a][s]&o)===o}function Ke(e,t,n,r,i=!0){if(n?.[T]){let a=n.relation,o=n.target;typeof o==`number`?(st(e,t,a,o,r),i&&Se(e,t,a[_].trait,o)):result_setTraitForPair_47_$f=void 0;return}let a=n[_],o=e[_].traitInstances[n.id].store,s=t&S;r instanceof Function&&(r=r(a.get(s,o))),a.set(s,o,r),i&&D(e,t,n)}function qe(e,t,n){if(n?.[T]){let r,i=n.relation,a=n.target;return r=lt(e,t,n)&&typeof a==`number`?ct(e,t,i,a):void 0,r}let r;if(!A(e,t,n))r=void 0;else{let i=n[_],a=e[_].traitInstances[n.id].store;r=i.get(t&S,a)}return r}function Je(e,t,n){if(!A(e,t,n))return;let r=e[_],{generationId:i,bitflag:a,queries:o,trackingQueries:s}=r.traitInstances[n.id],c=t&S;r.entityMasks[i][c]&=~a;for(let e of r.dirtyMasks.values())e[i][c]|=a;for(let n of o)(n.relationFilters&&n.relationFilters.length>0?ye(e,n,t):n.check(e,t))?n.add(t):n.remove(e,t);for(let n of s)(n.relationFilters&&n.relationFilters.length>0?xe(e,n,t,`remove`,i,a):n.checkTracking(e,t,`remove`,i,a))?n.add(t):n.remove(e,t);r.entityTraits.get(t).delete(n)}var Ye=Object.freeze([]);function Xe(e,t,n){let r=e.relationSourcesByTarget??=[];(r[n&S]??=[]).push(t)}function Ze(e,t,n){let r=e.relationSourcesByTarget?.[n&S];if(!r)return;let i=r.indexOf(t);if(i===-1)return;let a=r.length-1;i!==a&&(r[i]=r[a]),r.pop()}function Qe(e,t,n,r){let i=e[_],a=t[_],o=a.trait,s=i.traitInstances[o.id];if(!s)return-1;s.relationTargets||=[];let c=n&S,l;if(a.exclusive){let e=s.relationTargets,t=e[c];if(t===r)return-1;t!==void 0&&Ze(s,n,t),e[c]=r,l=0}else{let e=s.relationTargets;if(e[c]||(e[c]=[]),e[c].indexOf(r)!==-1)return-1;l=e[c].length,e[c].push(r)}return Xe(s,n,r),et(e,t,n),l}function $e(e,t,n,r){let i=e[_],a=t[_],o=a.trait,s=i.traitInstances[o.id];if(!s||!s.relationTargets)return{removedIndex:-1,wasLastTarget:!1};let c=n&S,l=-1,u=!1;if(a.exclusive){let e=s.relationTargets;e[c]===r&&(Ze(s,n,r),e[c]=void 0,l=0,u=!1,nt(s.store,o[_].type,c,0,!0))}else{let e=s.relationTargets[c];if(e){let t=e.indexOf(r);if(t!==-1){let i=e.length-1;Ze(s,n,r),t!==i&&(e[t]=e[i]),e.pop(),tt(s.store,o[_].type,c,t,i),l=t,u=e.length>0}}}return l!==-1&&et(e,t,n),{removedIndex:l,wasLastTarget:l!==-1&&!u}}function et(e,t,n){let r=e[_],i=t[_].trait,a=r.traitInstances[i.id];if(a)for(let t of a.relationQueries)ye(e,t,n)?t.add(n):t.remove(e,n)}function tt(e,t,n,r,i){if(t===`aos`){let t=e[n];t&&(r!==i&&(t[r]=t[i]),t.pop())}else for(let t in e){let a=e[t][n];a&&(r!==i&&(a[r]=a[i]),a.pop())}}function nt(e,t,n,r,i){if(i){if(t===`aos`)e[n]=void 0;else for(let t in e)e[t][n]=void 0}}function rt(e,t,n){let r,i=e[_],a=t[_],o=i.traitInstances[a.trait.id];if(!o||!o.relationTargets)r=[];else{let e=n&S;if(a.exclusive){let t=o.relationTargets[e];r=t===void 0?[]:[t]}else{let t=o.relationTargets[e];r=t===void 0?[]:t.slice()}}let s=r;for(let r of s)$e(e,t,n,r)}function it(e,t,n){let r=e[_];if(!e.has(n))return Ye;let i=t[_].trait,a=r.traitInstances[i.id];return a?.relationSourcesByTarget?a.relationSourcesByTarget[n&S]?.slice()??Ye:Ye}function at(e,t,n,r){let i=e[_],a=t[_],o=i.traitInstances[a.trait.id];if(!o?.relationTargets)return!1;let s=n&S;if(a.exclusive){let e=o.relationTargets[s];return e!==void 0&&r.has(e)}let c=o.relationTargets[s];if(!c)return!1;for(let e=0;e<c.length;e++)if(r.has(c[e]))return!0;return!1}function ot(e,t,n,r,i){let a=n[_],o=a.trait,s=e[_].traitInstances[o.id];if(!s)return;let c=s.store,l=t&S;if(o[_].type===`aos`){a.exclusive?c[l]=i:(c[l]??=[])[r]=i;return}if(a.exclusive)for(let e in i)c[e][l]=i[e];else for(let e in i)(c[e][l]??=[])[r]=i[e]}function st(e,t,n,r,i){let a,o=e[_],s=n[_],c=s.trait,l=o.traitInstances[c.id];if(!l||!l.relationTargets)a=-1;else{let e=t&S;if(s.exclusive)a=l.relationTargets[e]===r?0:-1;else{let t=l.relationTargets[e];a=t?t.indexOf(r):-1}}let u=a;u!==-1&&ot(e,t,n,u,i)}function ct(e,t,n,r){let i=e[_],a=n[_].trait,o=i.traitInstances[a.id];if(!o)return;let s,c=e[_],l=n[_],u=l.trait,d=c.traitInstances[u.id];if(!d||!d.relationTargets)s=-1;else{let e=t&S;if(l.exclusive)s=d.relationTargets[e]===r?0:-1;else{let t=d.relationTargets[e];s=t?t.indexOf(r):-1}}let f=s;if(f===-1)return;let p=a[_],m=o.store,h=t&S,g=n[_];if(p.type===`aos`)return g.exclusive?m[h]:m[h]?.[f];{let e={},t=m;for(let n in m)e[n]=g.exclusive?t[n][h]:t[n][h]?.[f];return e}}function lt(e,t,n){let r=n.relation,i=n.target,a=n.targetQuery;if(!A(e,t,r[_].trait))return!1;if(a){let n=a?.[_e]?e.query(a):e.query(...a);if(!n.length)return!1;let i,o=e[_],s=r[_],c=o.traitInstances[s.trait.id];if(!c||!c.relationTargets)i=[];else{let e=t&S;if(s.exclusive){let t=c.relationTargets[e];i=t===void 0?[]:[t]}else{let t=c.relationTargets[e];i=t===void 0?[]:t.slice()}}let l=i;for(let e=0;e<l.length;e++)if(n.includes(l[e]))return!0;return!1}if(i===`*`)return!0;if(typeof i==`number`){let n,a=e[_],o=r[_],s=o.trait,c=a.traitInstances[s.id];if(!c||!c.relationTargets)n=!1;else{let e=t&S;if(o.exclusive)n=c.relationTargets[e]===i;else{let t=c.relationTargets[e];n=t?t.includes(i):!1}}return n}return!1}var ut=class{_dense=[];_sparse=[];_cursor=0;_denseRaw={array:this._dense,length:0};has(e){let t=this._sparse[e];return t<this._cursor&&this._dense[t]===e}add(e){this.has(e)||(this._sparse[e]=this._cursor,this._dense[this._cursor++]=e)}remove(e){if(!this.has(e))return;let t=this._sparse[e];this._cursor--;let n=this._dense[this._cursor];n!==e&&(this._dense[t]=n,this._sparse[n]=t)}clear(){for(let e=0;e<this._cursor;e++)this._sparse[this._dense[e]]=0;this._cursor=0}sort(){this._dense.sort((e,t)=>e-t);for(let e=0;e<this._dense.length;e++)this._sparse[this._dense[e]]=e}getIndex(e){return this._sparse[e]}get dense(){return this._dense.slice(0,this._cursor)}get denseRaw(){return this._denseRaw.length=this._cursor,this._denseRaw}get rawDense(){return this._dense}get length(){return this._cursor}get sparse(){return this._sparse}};function dt(e,t,n,r){let i=[],a=[];for(let t=0;t<r.length;t++){let n=r[t];if(n?.[T]){let t=n.relation[_].trait;if(t[_].type!==`tag`){i.push(t);let n=e[_].traitInstances[t.id];a.push(n.store)}continue}if(n?.[ue]){if(n.type===`not`)continue;let t=n.traits;for(let n of t){if(n[_].type===`tag`)continue;i.push(n);let t=e[_].traitInstances[n.id];a.push(t.store)}}else{let t=n;if(t[_].type===`tag`)continue;i.push(t);let r=e[_].traitInstances[t.id];a.push(r.store)}}let o=Object.assign(t,{readEach(e){let n=Array.from({length:i.length});for(let r=0;r<t.length;r++){let o=t[r],s=o&S;for(let e=0;e<i.length;e++){let t=i[e][_].get(s,a[e]);n[e]=t}e(n,o,r)}return o},updateEach(r,s={changeDetection:`auto`}){let c=Array.from({length:i.length});if(s.changeDetection===`auto`){let o=[],s=[],l=[],u=[];for(let t=0;t<i.length;t++){let r=i[t],a=e[_].trackedTraits.has(r),o=n.hasChangedModifiers&&n.changedTraits.has(r);a||o?l.push(t):u.push(t)}for(let n=0;n<t.length;n++){let d=t[n],f=d&S;for(let e=0;e<i.length;e++){let t=i[e][_],n=t.get(f,a[e]);c[e]=n,s[e]=t.type===`aos`?{...n}:null}if(r(c,d,n),e.has(d)){for(let e=0;e<l.length;e++){let t=l[e],n=i[t],r=n[_],u=c[t],p=a[t],m=!1;r.type===`aos`?(m=r.fastSetWithChangeDetection(f,p,u),m||=!ie(u,s[t])):m=r.fastSetWithChangeDetection(f,p,u),m&&o.push([d,n])}for(let e=0;e<u.length;e++){let t=u[e],n=i[t][_],r=a[t];n.fastSet(f,r,c[t])}}}for(let t=0;t<o.length;t++){let[n,r]=o[t];D(e,n,r)}}else if(s.changeDetection===`always`){let n=[],o=[];for(let s=0;s<t.length;s++){let l=t[s],u=l&S;for(let e=0;e<i.length;e++){let t=i[e][_],n=t.get(u,a[e]);c[e]=n,o[e]=t.type===`aos`?{...n}:null}if(r(c,l,s),e.has(l))for(let e=0;e<i.length;e++){let t=i[e],r=t[_],s=c[e],d=!1;r.type===`aos`?(d=r.fastSetWithChangeDetection(u,a[e],s),d||=!ie(s,o[e])):d=r.fastSetWithChangeDetection(u,a[e],s),d&&n.push([l,t])}}for(let t=0;t<n.length;t++){let[r,i]=n[t];D(e,r,i)}}else if(s.changeDetection===`never`)for(let n=0;n<t.length;n++){let o=t[n],s=o&S;for(let e=0;e<i.length;e++){let t=i[e][_].get(s,a[e]);c[e]=t}if(r(c,o,n),e.has(o))for(let e=0;e<i.length;e++)i[e][_].fastSet(s,a[e],c[e])}return o},useStores(e){return e(a,t),o},select(...t){i.length=0,a.length=0;for(let n=0;n<t.length;n++){let r=t[n];if(r?.[T]){let t=r.relation[_].trait;if(t[_].type!==`tag`){i.push(t);let n=e[_].traitInstances[t.id];a.push(n.store)}continue}if(r?.[ue]){if(r.type===`not`)continue;let t=r.traits;for(let n of t){if(n[_].type===`tag`)continue;i.push(n);let t=e[_].traitInstances[n.id];a.push(t.store)}}else{let t=r;if(t[_].type===`tag`)continue;i.push(t);let n=e[_].traitInstances[t.id];a.push(n.store)}}return o},sort(e=(e,t)=>(e&S)-(t&S)){return Array.prototype.sort.call(t,e),o}});return o}var ft={readEach(e){for(let t=0;t<this.length;t++)e([],this[t],t);return this},updateEach(e){for(let t=0;t<this.length;t++)e([],this[t],t);return this},useStores(e){return e([],this),this},select(){return this},sort(e=(e,t)=>(e&S)-(t&S)){return Array.prototype.sort.call(this,e),this}};function pt(e){return e.length===0?mt:Object.assign(e,ft)}var mt=Object.assign([],ft),ht=1e5,gt=1e7,_t=5e6,vt=9e6,yt=new Float64Array(1024),bt=1,xt=new Map;function St(e){let t=xt.get(e);return t===void 0&&(t=bt++,xt.set(e,t)),t}var Ct=e=>{let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r?.[T]){let e=r.relation[_].trait.id;if(r.targetQuery){let n=r.targetQuery?.[_e]?r.targetQuery.hash:Ct([...r.targetQuery]);yt[t++]=e*gt+St(n)+vt;continue}let n=r.target,i=typeof n==`number`?n:-1;yt[t++]=e*gt+i+_t;continue}if(r?.[ue]){for(let e=0;e<r.traitIds.length;e++)yt[t++]=r.id*ht+r.traitIds[e];continue}yt[t++]=r.id}let n=yt.subarray(0,t);return n.sort(),n.join(`,`)},wt=O();function Tt(e){if(!e.targetQuery)return e;let t=e.targetQuery?.[_e]?e.targetQuery:Pt(...e.targetQuery);return{...e,targetQueryRef:t,targetQueryMatches:new ut}}function Et(e,t,n){kt(e);let r=t.entities.dense.slice();if(t.isTracking){t.entities.clear();let e=r.length;for(let n=0;n<e;n++)t.resetTrackingBitmasks(r[n])}return dt(e,r,t,n)}function Dt(e,t){e.toRemove.remove(t),e.entities.add(t);for(let n of e.addSubscriptions)n(t);e.version++}function Ot(e,t,n){if(!t.entities.has(n)||t.toRemove.has(n))return;let r=e[_];t.toRemove.add(n),r.dirtyQueries.add(t);for(let e of t.removeSubscriptions)e(n);t.version++}function kt(e){let t=e[_];if(t.dirtyQueries.size){for(let e of t.dirtyQueries)for(let t=e.toRemove.dense.length-1;t>=0;t--){let n=e.toRemove.dense[t];e.toRemove.remove(n),e.entities.remove(n)}t.dirtyQueries.clear()}}function At(e,t){let n=e.trackingGroups,r=n.length;for(let e=0;e<r;e++){let r=n[e].trackers,i=r.length;for(let e=0;e<i;e++){let n=r[e];n&&(n[t]=0)}}}function jt(e,t,n,r,i,a){let o=fe(n);if(!o)return;let s=n.id,c=`${o}-${s}-${r}`,l=a.get(c);l||(l={logic:r,type:o,id:s,bitmasks:[],trackers:[]},a.set(c,l),t.trackingGroups.push(l));for(let r of n.traits){let n=r.id;n<i.traitInstances.length&&i.traitInstances[n]!==void 0||k(e,r);let a=i.traitInstances[r.id];t.traits.push(r),t.traitInstances.all.push(a);let s=a.generationId;l.bitmasks[s]=(l.bitmasks[s]||0)|a.bitflag,o===`change`&&(t.changedTraits.add(r),t.hasChangedModifiers=!0)}t.isTracking=!0}function Mt(e,t){let n={version:0,world:e,parameters:t,hash:``,traits:[],traitInstances:{required:[],forbidden:[],or:[],all:[]},staticBitmasks:[],trackingGroups:[],generations:[],entities:new ut,isTracking:!1,hasChangedModifiers:!1,changedTraits:new Set,toRemove:new ut,cleanup:[],addSubscriptions:new Set,removeSubscriptions:new Set,relationFilters:[],run:(e,t)=>Et(e,n,t),add:e=>Dt(n,e),remove:(e,t)=>Ot(e,n,t),check:(e,t)=>ve(e,n,t),checkTracking:(e,t,r,i,a)=>be(e,n,t,r,i,a),resetTrackingBitmasks:e=>At(n,e)},r=e[_],i=new Map;for(let a=0;a<t.length;a++){let o=t[a];if(o?.[T]){let t=o.relation;n.relationFilters.push(Tt(o));let i=t[_].trait,a=i.id;a<r.traitInstances.length&&r.traitInstances[a]!==void 0||k(e,i),n.traitInstances.required.push(r.traitInstances[i.id]),n.traits.push(i);continue}if(o?.[ue]){let t=o.traits;for(let n=0;n<t.length;n++){let i=t[n],a=i.id;a<r.traitInstances.length&&r.traitInstances[a]!==void 0||k(e,i)}if(o.type===`not`)n.traitInstances.forbidden.push(...t.map(e=>r.traitInstances[e.id]));else if(o.type===`or`){if(n.traitInstances.or.push(...t.map(e=>r.traitInstances[e.id])),pe(o))for(let t of o.modifiers)de(t)&&jt(e,n,t,`or`,r,i)}else de(o)&&jt(e,n,o,`and`,r,i)}else{let t=o,i=t.id;i<r.traitInstances.length&&r.traitInstances[i]!==void 0||k(e,t),n.traitInstances.required.push(r.traitInstances[t.id]),n.traits.push(t)}}n.traitInstances.forbidden.push(r.traitInstances[wt.id]),n.traitInstances.all=[...n.traitInstances.all,...n.traitInstances.required,...n.traitInstances.forbidden,...n.traitInstances.or],n.generations=n.traitInstances.all.map(e=>e.generationId).reduce((e,t)=>(e.includes(t)||e.push(t),e),[]),n.staticBitmasks=n.generations.map(e=>({required:n.traitInstances.required.filter(t=>t.generationId===e).reduce((e,t)=>e|t.bitflag,0),forbidden:n.traitInstances.forbidden.filter(t=>t.generationId===e).reduce((e,t)=>e|t.bitflag,0),or:n.traitInstances.or.filter(t=>t.generationId===e).reduce((e,t)=>e|t.bitflag,0)})),n.hash=Ct(t),r.queriesHashMap.set(n.hash,n),n.isTracking?n.traitInstances.all.forEach(e=>{e.trackingQueries.add(n)}):n.traitInstances.all.forEach(e=>{e.queries.add(n)}),n.traitInstances.forbidden.length>0&&r.notQueries.add(n);let a=n.relationFilters&&n.relationFilters.length>0;if(a)for(let t of n.relationFilters){let i=t.relation[_].trait,a=r.traitInstances[i.id];if(a&&a.relationQueries.add(n),t.targetQueryRef&&t.targetQueryMatches){let r=e.query(t.targetQueryRef);for(let e=0;e<r.length;e++)t.targetQueryMatches.add(r[e]);let i=r=>{let i=it(e,t.relation,r);for(let t=0;t<i.length;t++){let r=i[t];ye(e,n,r)?n.add(r):n.remove(e,r)}};n.cleanup.push(e.onQueryAdd(t.targetQueryRef,e=>{t.targetQueryMatches.add(e),i(e)})),n.cleanup.push(e.onQueryRemove(t.targetQueryRef,e=>{t.targetQueryMatches.remove(e),i(e)}))}}if(n.trackingGroups.length>0)for(let t of n.trackingGroups){let{type:i,id:o,logic:s,bitmasks:c}=t,l=r.trackingSnapshots.get(o),u=r.dirtyMasks.get(o),d=r.changedMasks.get(o);for(let t of r.entityIndex.dense){if(n.entities.has(t))continue;let o=t&S,f=s===`and`;for(let e=0;e<c.length;e++){let t=c[e];if(!t)continue;let n=l[e]?.[o]||0,a=r.entityMasks[e]?.[o]||0;for(let r=1;r<=t;r<<=1){if(!(t&r))continue;let c=!1;switch(i){case`add`:c=(n&r)===0&&(a&r)===r;break;case`remove`:c=(n&r)===r&&(a&r)===0||(n&r)===0&&(a&r)===0&&((u[e]?.[o]??0)&r)===r;break;case`change`:c=((d[e]?.[o]??0)&r)===r}if(s===`and`){if(!c){f=!1;break}}else if(c){f=!0;break}}if(s===`and`&&!f||s===`or`&&f)break}if(f){if(a){let r=!0;for(let i of n.relationFilters)if(!lt(e,t,i)){r=!1;break}r&&n.add(t)}else n.add(t)}}}else{let t=r.entityIndex.dense;for(let r=0;r<t.length;r++){let i=t[r];(a?ye(e,n,i):n.check(e,i))&&n.add(i)}}return n}var Nt=0;function Pt(...e){let t=Ct(e),n=E.cachedQueries.get(t);if(n)return n;let r=Nt++,i=Object.freeze({[_e]:!0,id:r,hash:t,parameters:e});return E.cachedQueries.set(t,i),i}var Ft=e=>({aliveCount:0,dense:[],sparse:[],maxId:0,worldId:e}),It=e=>{if(e.aliveCount<e.dense.length){let t=re(e.dense[e.aliveCount]);return e.dense[e.aliveCount]=t,e.sparse[t&S]=e.aliveCount,e.aliveCount++,t}let t=e.maxId++,n=ne(e.worldId,0,t);return e.dense.push(n),e.sparse[t]=e.aliveCount,e.aliveCount++,n},Lt=(e,t)=>{let n=t&S,r=e.sparse[n];if(r===void 0||r>=e.aliveCount)return;let i=e.aliveCount-1,a=e.dense[i],o=a&S;e.sparse[o]=r,e.dense[r]=a,e.sparse[n]=i,e.dense[i]=t,e.aliveCount--},Rt=e=>e.dense.slice(0,e.aliveCount);Number.prototype.add=function(...e){let t=this>>>w;return Ue(E.worlds[t],this,...e)},Number.prototype.remove=function(...e){let t=this>>>w;return We(E.worlds[t],this,...e)},Number.prototype.has=function(e){let t=this>>>w,n=E.worlds[t];if(e?.[T])return lt(n,this,e);let r,i=n[_],a=i.traitInstances[e.id];if(!a)r=!1;else{let{generationId:e,bitflag:t}=a,n=this&S;r=(i.entityMasks[e][n]&t)===t}return r},Number.prototype.destroy=function(){let e=this>>>w;return Ht(E.worlds[e],this)},Number.prototype.changed=function(e){let t=this>>>w;return D(E.worlds[t],this,e)},Number.prototype.get=function(e){let t=this>>>w;return qe(E.worlds[t],this,e)},Number.prototype.set=function(e,t,n=!0){let r=this>>>w;Ke(E.worlds[r],this,e,t,n)},Number.prototype.targetsFor=function(e){let t,n=this>>>w,r=E.worlds[n][_],i=e[_],a=r.traitInstances[i.trait.id];if(!a||!a.relationTargets)t=[];else{let e=this&S;if(i.exclusive){let n=a.relationTargets[e];t=n===void 0?[]:[n]}else{let n=a.relationTargets[e];t=n===void 0?[]:n.slice()}}return t},Number.prototype.targetFor=function(e){let t,n=this>>>w,r=E.worlds[n][_],i=e[_],a=r.traitInstances[i.trait.id];if(!a||!a.relationTargets)t=void 0;else{let e=this&S;t=i.exclusive?a.relationTargets[e]:a.relationTargets[e]?.[0]}return t},Number.prototype.id=function(){return this&S},Number.prototype.generation=function(){return this>>>C&x},Number.prototype.isAlive=function(){let e=this>>>w,t=E.worlds[e][_].entityIndex,n,r=t.sparse[this&S];if(r===void 0||r>=t.aliveCount)n=!1;else{let e=t.dense[r];n=(this>>>C&x)==(e>>>C&x)&&this>>>w===t.worldId}return n};function zt(e,...t){let n=e[_],r=It(n.entityIndex);for(let t of n.notQueries)t.check(e,r)&&t.add(r),t.resetTrackingBitmasks(r&S);return n.entityTraits.set(r,new Set),Ue(e,r,...t),r}var Bt=new Set,Vt=[];function Ht(e,t){let n=e[_];if(!e.has(t))throw Error(`Koota: The entity being destroyed does not exist.`);let r=Vt,i=Bt;for(r.length=0,r.push(t),i.clear();r.length>0;){let t=r.pop();if(i.has(t))continue;i.add(t);for(let a of n.relations){let n=a[_],o=it(e,a,t);for(let i=o.length-1;i>=0;i--){let s=o[i];e.has(s)&&(Ge(e,a,s,t),n.autoDestroy===`source`&&r.push(s))}if(n.autoDestroy===`target`){let n,o=e[_],s=a[_],c=o.traitInstances[s.trait.id];if(!c||!c.relationTargets)n=[];else{let e=t&S;if(s.exclusive){let t=c.relationTargets[e];n=t===void 0?[]:[t]}else{let t=c.relationTargets[e];n=t===void 0?[]:t.slice()}}let l=n;for(let t of l)e.has(t)&&(i.has(t)||r.push(t))}}let a=n.entityTraits.get(t);if(a)for(let n of a)We(e,t,n);Lt(n.entityIndex,t);let o=n.queriesHashMap.get(``);o&&o.remove(e,t),n.entityTraits.delete(t);let s=t&S;for(let e=0;e<n.entityMasks.length;e++)n.entityMasks[e][s]=0}}function Ut(e,...t){let n=ce(E.worldIndex),r=!1,i;function a(e){return e?.[T]?e.relation[_].trait:e?.[ae]?e[_].trait:e}function o(e,t){if(e?.[T]){let n=e.targetQuery;if(n){let e=n?.[_e]?n:Pt(...n);return(n,r)=>{r!==void 0&&s.query(e).includes(r)&&t(n,r)}}let r=e.target;return r===`*`?t:(e,n)=>{n===r&&t(e,n)}}return t}let s={[_]:{entityIndex:Ft(n),entityMasks:[[]],entityTraits:new Map,bitflag:1,traitInstances:[],relations:new Set,queriesHashMap:new Map,queryInstances:[],actionInstances:[],notQueries:new Set,dirtyQueries:new Set,dirtyMasks:new Map,trackingSnapshots:new Map,changedMasks:new Map,worldEntity:null,trackedTraits:new Set,resetSubscriptions:new Set},traits:new Set,init(...e){let t=s[_];if(r)return;r=!0,E.worlds[n]=s;let a=he();for(let e=0;e<a;e++)ge(s,e);let o=wt.id;o<t.traitInstances.length&&t.traitInstances[o]!==void 0||k(s,wt),i&&=(e=i,void 0),t.worldEntity=zt(s,wt,...e)},spawn(...e){return zt(s,...e)},has(e){let t,n=s[_].entityIndex.sparse[e&S];if(n===void 0||n>=s[_].entityIndex.aliveCount)t=!1;else{let r=s[_].entityIndex.dense[n];t=(e>>>C&x)==(r>>>C&x)&&e>>>w===s[_].entityIndex.worldId}return typeof e==`number`?t:A(s,s[_].worldEntity,e)},add(...e){Ue(s,s[_].worldEntity,...e)},remove(...e){We(s,s[_].worldEntity,...e)},get(e){return qe(s,s[_].worldEntity,e)},set(e,t){Ke(s,s[_].worldEntity,e,t,!0)},destroy(){Ht(s,s[_].worldEntity),s[_].worldEntity=null,s.reset(),r=!1,le(E.worldIndex,n),E.worlds[n]=null},reset(){i=void 0;let e=s[_];s.entities.forEach(e=>{s.has(e)&&Ht(s,e)}),e.entityIndex=Ft(n),e.entityTraits.clear(),e.entityMasks=[[]],e.bitflag=1;for(let t of e.queriesHashMap.values())for(let e=0;e<t.cleanup.length;e++)t.cleanup[e]();e.traitInstances.length=0,s.traits.clear(),e.relations.clear(),e.queriesHashMap.clear(),e.queryInstances.length=0,e.actionInstances.length=0,e.dirtyQueries.clear(),e.notQueries.clear(),e.trackingSnapshots.clear(),e.dirtyMasks.clear(),e.changedMasks.clear(),e.trackedTraits.clear(),e.worldEntity=zt(s,wt);for(let t of e.resetSubscriptions)t(s)},query(...e){let t=s[_];if(e.length===1&&e[0]?.[_e]){let n=e[0],r=t.queryInstances[n.id];return r?r.run(s,n.parameters):(r=t.queriesHashMap.get(n.hash),r||(r=Mt(s,n.parameters),t.queriesHashMap.set(n.hash,r),n.id>=t.queryInstances.length&&(t.queryInstances.length=n.id+1),t.queryInstances[n.id]=r),r.run(s,n.parameters))}{let n=e;if(n.length===1&&n[0]?.[T]){let e=n[0].relation,t=n[0].target;if(!n[0].targetQuery&&typeof t==`number`)return pt(it(s,e,t))}let r=Ct(n),i=t.queriesHashMap.get(r);return i||(i=Mt(s,n),t.queriesHashMap.set(r,i)),i.run(s,n)}},queryFirst(...e){return s.query(...e)[0]},onQueryAdd(e,t){let n=s[_],r;if(e?.[_e]){let t=e;r=n.queryInstances[t.id]||n.queriesHashMap.get(t.hash),r||(r=Mt(s,t.parameters),n.queriesHashMap.set(t.hash,r),t.id>=n.queryInstances.length&&(n.queryInstances.length=t.id+1),n.queryInstances[t.id]=r)}else{let t=Ct(e);r=n.queriesHashMap.get(t),r||(r=Mt(s,e),n.queriesHashMap.set(t,r))}return r.addSubscriptions.add(t),()=>r.addSubscriptions.delete(t)},onQueryRemove(e,t){let n=s[_],r;if(e?.[_e]){let t=e;r=n.queryInstances[t.id]||n.queriesHashMap.get(t.hash),r||(r=Mt(s,t.parameters),n.queriesHashMap.set(t.hash,r),t.id>=n.queryInstances.length&&(n.queryInstances.length=t.id+1),n.queryInstances[t.id]=r)}else{let t=Ct(e);r=n.queriesHashMap.get(t),r||(r=Mt(s,e),n.queriesHashMap.set(t,r))}return r.removeSubscriptions.add(t),()=>r.removeSubscriptions.delete(t)},onAdd(e,t){let n=s[_],r=a(e),i=o(e,t),c=n.traitInstances[r.id];return c||=(k(s,r),n.traitInstances[r.id]),c.addSubscriptions.add(i),()=>c.addSubscriptions.delete(i)},onRemove(e,t){let n=s[_],r=a(e),i=o(e,t),c=n.traitInstances[r.id];return c||=(k(s,r),n.traitInstances[r.id]),c.removeSubscriptions.add(i),()=>c.removeSubscriptions.delete(i)},onChange(e,t){let n=s[_],r=a(e),i=o(e,t),c=r.id;c<n.traitInstances.length&&n.traitInstances[c]!==void 0||k(s,r);let l=n.traitInstances[r.id];return l.changeSubscriptions.add(i),n.trackedTraits.add(r),()=>{l.changeSubscriptions.delete(i),l.changeSubscriptions.size===0&&n.trackedTraits.delete(r)}}};if(Object.defineProperty(s,"id",{get:()=>n,enumerable:!0}),Object.defineProperty(s,"isInitialized",{get:()=>r,enumerable:!0}),Object.defineProperty(s,"entities",{get:()=>Rt(s[_].entityIndex),enumerable:!0}),e&&typeof e==`object`&&!Array.isArray(e)){let{traits:t=[],lazy:n=!1}=e;n?i=t:s.init(...t)}else s.init(...e?[e,...t]:t);return s}var j=O(()=>({tag:`group`,id:void 0,key:``,name:void 0,accessors:new Set})),M=O(()=>({parent:null,children:[]})),N=O(()=>({start:void 0,end:void 0,sourceIn:void 0})),Wt=O(()=>({x:void 0,y:void 0,width:void 0,height:void 0,anchorX:void 0,anchorY:void 0,rotation:void 0,scale:void 0,scaleX:void 0,scaleY:void 0})),Gt=O(()=>({constrainX:void 0,constrainY:void 0})),Kt=O(()=>({offsetX:void 0,offsetY:void 0})),qt=O(()=>({opacity:void 0})),Jt=O(()=>({hidden:void 0})),P=O(()=>({fill:void 0})),Yt=O(()=>({cornerRadius:void 0})),F=O(()=>({fontSize:void 0,fontFamily:void 0,fontWeight:void 0,align:void 0,lineHeight:void 0,fontStyle:void 0,letterSpacing:void 0,textCase:void 0,textBaseline:void 0})),Xt=O(()=>({start:void 0,end:void 0})),Zt=O(()=>({blur:void 0,shadowColor:void 0,shadowBlur:void 0,shadowOffsetX:void 0,shadowOffsetY:void 0,stroke:void 0,strokeWidth:void 0,clip:void 0,effects:void 0})),Qt=O(()=>({blend:void 0,mask:void 0})),$t=O(()=>({text:``})),I=O(()=>({src:void 0,fit:void 0,volume:void 0,muted:void 0,fadeIn:void 0,fadeOut:void 0,speed:void 0,preservePitch:void 0})),L=O(()=>({src:void 0,preset:void 0,colors:void 0,verticalAlign:void 0,offsetX:void 0,offsetY:void 0,sourceOut:void 0})),R=O(()=>({width:void 0,height:void 0,fps:void 0})),en=O(()=>({animate:void 0})),tn=O(()=>({enter:void 0,exit:void 0})),nn=O(()=>({wgsl:void 0,uniforms:void 0})),rn=O(()=>({transition:void 0})),z=O(()=>({syncTo:void 0})),B=O(()=>({canvas:null,root:null})),an=O(()=>({props:{}})),V=O(()=>({active:!1,local:0,mediaTime:0,fps:30,width:0,height:0,matrix:[1,0,0,1,0,0],opacity:1,bounds:[0,0,0,0],animated:{},length:0,motion:{opacity:1,scale:1,offsetX:0,offsetY:0,rotation:0,blur:0}})),on={start:N,end:N,sourceIn:N,...Object.fromEntries([`x`,`y`,`width`,`height`,`anchorX`,`anchorY`,`rotation`,`scale`,`scaleX`,`scaleY`].map(e=>[e,Wt])),opacity:qt,hidden:Jt,fill:P,cornerRadius:Yt,fontSize:F,fontFamily:F,fontWeight:F,align:F,lineHeight:F,fontStyle:F,letterSpacing:F,textCase:F,textBaseline:F,...Object.fromEntries([`blur`,`shadowColor`,`shadowBlur`,`shadowOffsetX`,`shadowOffsetY`,`stroke`,`strokeWidth`,`clip`].map(e=>[e,Zt])),src:I,fit:I,volume:I,muted:I,fadeIn:I,fadeOut:I,speed:I,preservePitch:I,animate:en,enter:tn,exit:tn,blend:Qt,mask:Qt,transition:rn,offsetX:Kt,offsetY:Kt,constrainX:Gt,constrainY:Gt,effects:Zt,syncTo:z,wgsl:nn,uniforms:nn},sn={width:R,height:R,fps:R},cn=Object.fromEntries([`src`,`preset`,`colors`,`verticalAlign`,`offsetX`,`offsetY`,`sourceOut`].map(e=>[e,L])),ln={start:Xt,end:Xt},H=[N,Wt,Gt,qt,Jt,en,tn,Zt,Qt,rn],un={stage:[],scene:[N,R,P],group:H,rect:[...H,P,Yt],text:[...H,P,F],image:[...H,I,Yt],video:[...H,I,Yt,z],audio:[N,Jt,I,z],sequence:[],captions:[...H,P,F,L],textRange:[P,F,Xt],adjustmentLayer:[N,Wt,Kt,Jt,en,tn],surface:[...H,Yt],html:[...H,Yt],shaderPaint:[Jt,qt,nn]};function dn(e,t){if(e===`scene`)return sn[t]??(t===`fill`||t===`start`||t===`end`?on[t]:void 0);if(e===`captions`&&cn[t])return cn[t];if(e===`textRange`&&ln[t])return ln[t];let n=on[t];return n&&un[e].includes(n)?n:void 0}function U(e,t){if(typeof e==`number`)return Number.isFinite(e)?e:void 0;if(typeof e!=`string`)return;let n=e.trim();if(n===``)return;let r=/^(-?\d+(?:\.\d+)?)f$/i.exec(n);if(r)return Number(r[1])/t;if(n.includes(`:`)){let e=n.startsWith(`-`),t=n.replace(/^-/,``).split(`:`);if(t.length<2||t.length>3||t.some(e=>!/^\d+(?:\.\d+)?$/.test(e)))return;let r=t.map(Number).reduce((e,t)=>e*60+t,0);return e?-r:r}return/^-?\d+(?:\.\d+)?$/.test(n)?Number(n):void 0}function fn(e){throw Error(`${e}() only works inside a project mounted by higgsedit`)}function pn(){return fn(`useTicker`)}function mn(){return fn(`useResolution`)}function hn(e){return fn(`useLocalTime("${e}")`)}var gn=[`number`,`color`,`text`,`font`,`boolean`,`select`],W=class extends Error{},_n=new Set([`min`,`max`,`step`]),vn=new Set([..._n,`options`,`path`,`label`]),yn=e=>gn.includes(e);function bn(e){if(!e.startsWith(`/**`))return;let t=e.slice(3).replace(/\*\/$/,``);for(let e of t.split(`
|
|
18
|
-
`)){let t=e.replace(/^\s*\*?\s*/,``),n=/^@inspect(?=\s|$)/.exec(t);if(n)return t.slice(n[0].length)}}function xn(e){let t=[],n=[],r=0,i=()=>e[r]??``;for(;r<e.length;){if(/\s/.test(i())){r++;continue}let a=r;for(;r<e.length&&!/[\s=]/.test(i());)r++;let o=e.slice(a,r);if(i()!==`=`){t.push(o);continue}r++;let s;if(i()===`"`){let t=e.indexOf(`"`,r+1);if(t<0)throw new W(`@inspect: unclosed quote after ${o}=`);s=e.slice(r+1,t),r=t+1}else{let t=r;for(;r<e.length&&!/\s/.test(i());)r++;s=e.slice(t,r)}n.push([o,s])}return{words:t,pairs:n}}function Sn(e){let t=bn(e);if(t===void 0)return;let{words:n,pairs:r}=xn(t),[i,...a]=n;if(!i)throw new W(`@inspect: say which control (${gn.join(`, `)})`);if(!yn(i))throw new W(`@inspect: "${i}" is not a control type (${gn.join(`, `)})`);if(a.length)throw new W(`@inspect: "${a.join(` `)}" is not a key=value option`);let o={type:i},s=new Set;for(let[e,t]of r){if(!vn.has(e))throw new W(`@inspect: no option called "${e}" (known: min, max, step, options, path, label)`);if(s.has(e))throw new W(`@inspect: ${e}= appears more than once`);if(s.add(e),_n.has(e)){if(i!==`number`)throw new W(`@inspect: ${e}= is for number controls`);let n=t.trim()===``?NaN:Number(t);if(!Number.isFinite(n))throw new W(`@inspect: ${e}=${t} is not a number`);o[e]=n}else if(e===`options`){if(i!==`select`)throw new W(`@inspect: options= is for select controls`);o.options=t.split(`,`).map(e=>e.trim()).filter(Boolean)}else if(e===`path`){if(o.path=t.split(`/`).map(e=>e.trim()).filter(Boolean),!o.path.length)throw new W(`@inspect: path= is empty`)}else{if(!t.trim())throw new W(`@inspect: label= is empty`);o.label=t.trim()}}if(o.path&&o.label!==void 0)throw new W(`@inspect: use path= or label=, not both (a path ends in its label)`);if(o.min!==void 0&&o.max!==void 0&&o.min>o.max)throw new W(`@inspect: min ${o.min} is above max ${o.max}`);if(o.step!==void 0&&o.step<=0)throw new W(`@inspect: "step" must be above 0`);if(i===`select`&&(o.options?.length??0)<2)throw new W(`@inspect select needs at least two options: options="a,b"`);return o}function Cn(e,t){switch(e.type){case`number`:return typeof t==`number`?Number.isFinite(t)?void 0:`@inspect number needs a finite number`:`@inspect number needs a number literal`;case`boolean`:return typeof t==`boolean`?void 0:`@inspect boolean needs true or false`;case`select`:return typeof t==`string`?e.options?.includes(t)?void 0:`"${t}" is not one of ${e.options?.join(`, `)}`:`@inspect select needs a string literal`;default:return typeof t==`string`?void 0:`@inspect ${e.type} needs a string literal`}}function wn(e){let[t=``,...n]=e.match(/[A-Z]+(?![a-z])|[A-Z]?[a-z\d]+/g)??[e];return[t.charAt(0).toUpperCase()+t.slice(1),...n].join(` `)}function Tn(e,t){return t.path?{label:t.path.at(-1),group:t.path.slice(0,-1)}:{label:t.label??wn(e),group:[]}}var En=new Set(`altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-src.font-face-uri.foreignObject.g.glyph.glyphRef.hkern.image.line.linearGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.set.stop.svg.switch.symbol.text.textPath.tref.tspan.use.view.vkern`.split(`.`)),Dn=new Set([`rect`,`text`,`image`]),On=`svg:`,kn=e=>e.startsWith(`svg:`)||En.has(e)&&!Dn.has(e);function An(e,t){if(!Dn.has(e))return!1;for(let e of t)if(kn(e))return!0;return!1}var jn=e({CAPTION_ALIGNS:()=>Pn,CAPTION_PRESETS:()=>Nn,EASINGS:()=>In,INSPECT_TYPES:()=>gn,INTRINSICS:()=>Mn,InspectTagError:()=>W,SVG_PREFIX:()=>On,TRANSITION_TYPES:()=>Ln,inspectMismatch:()=>Cn,inspectPresentation:()=>Tn,isIntrinsic:()=>Fn,isSvgContent:()=>An,isSvgTag:()=>kn,parseTime:()=>U,readInspectTag:()=>Sn,useLocalTime:()=>hn,useResolution:()=>mn,useTicker:()=>pn}),Mn=[`stage`,`scene`,`group`,`rect`,`text`,`image`,`video`,`audio`,`sequence`,`captions`,`textRange`,`adjustmentLayer`,`surface`,`html`,`shaderPaint`],Nn=[`classic`,`whisper`,`cascade`,`spotlight`,`paper`,`guinea`,`stark`],Pn=[`top`,`center`,`bottom`],Fn=e=>Mn.includes(e),In=[`linear`,`easeIn`,`easeOut`,`easeInOut`,`step`],Ln=[`dissolve`,`slideFromRight`,`slideFromLeft`,`fadeToBlack`,`fadeToWhite`,`whipPan`,`zoomThrough`,`pixelDissolve`],Rn={type:`dissolve`,duration:1},zn=e=>e===`whipPan`?.4:e===`zoomThrough`?.6:Rn.duration,Bn=O(()=>({active:[]}));function Vn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return null;let{type:n,duration:r,direction:i,wgsl:a,uniforms:o}=e;return{type:n??Rn.type,duration:U(r,t)??zn(n),direction:i??`left`,...typeof a==`string`&&a.trim()?{wgsl:a}:{},...o?{uniforms:o}:{}}}var Hn=(e,t)=>Vn(e.get(rn)?.transition,t),Un=(e,t,n)=>Math.abs(t-e)<.5/n;function Wn(e,t,n){let r=Math.min(n,e.end-e.start,t.end-t.start);if(!(r>0)||!Number.isFinite(r))return null;let i=e.end;return{start:i-r/2,end:i+r/2}}function Gn(e,t,n,r){let i=e.get(M)?.children??[],a=[];for(let e=0;e+1<i.length;e++){let o=i[e],s=Hn(o,n);if(!s)continue;let c=i[e+1],[l,u]=[r(o),r(c)];if(!Un(l.end,u.start,n))continue;let d=Wn(l,u,s.duration);if(!d||t<d.start||t>=d.end)continue;let{duration:f,...p}=s;a.push({...p,left:o,right:c,progress:(t-d.start)/(d.end-d.start)})}return a}var Kn=O(()=>({durations:new Map,offsets:new Map}));function qn(){let e=Ut();return e.add(Kn),e}function Jn(e,t){let n=e.spawn(j,M,V,...un[t]);return n.set(j,{...n.get(j),tag:t}),t===`text`&&n.add($t),t===`sequence`&&n.add(Bn),(t===`surface`||t===`html`)&&n.add(B),n}var G=e=>e.get(M)?.children??[],K=e=>e.get(M)?.parent??null;function Yn(e,t,n){Xn(t);let r=e.get(M),i=[...r.children],a=n?i.indexOf(n):-1;a>=0?i.splice(a,0,t):i.push(t),e.set(M,{parent:r.parent,children:i}),t.set(M,{parent:e,children:t.get(M).children})}function Xn(e){let t=K(e);if(!t||!t.isAlive())return;let n=t.get(M);t.set(M,{parent:n.parent,children:n.children.filter(t=>t!==e)}),e.set(M,{parent:null,children:e.get(M).children})}function Zn(e){return e.query(j,M).find(e=>e.get(j).tag===`stage`&&K(e)===null)}var Qn=[...new Set([...Object.values(on),...Object.values(sn),...Object.values(cn),...Object.values(ln)])];function $n(e){let t={};for(let n of Qn){let r=e.get(n);if(r)for(let[e,n]of Object.entries(r))n!==void 0&&(t[e]=n)}let n=e.get(an);n&&Object.assign(t,n.props);let r=e.get($t);return r&&(t.text=r.text),t}function er(e,t){return e.query(j).find(e=>e.get(j).key===t)}var tr=new Set([`serif`,`sans-serif`,`monospace`,`cursive`,`fantasy`,`system-ui`,`ui-serif`,`ui-sans-serif`,`ui-monospace`,`ui-rounded`,`math`,`emoji`,`fangsong`,`inherit`,`initial`]);function nr(e){return e.split(`,`).map(e=>e.trim().replace(/^(["'])(.*)\1$/,`$2`).trim()).filter(e=>e&&!tr.has(e.toLowerCase()))}function rr(e){return e.split(`,`).map(e=>{let t=e.trim();return!t||/^["']/.test(t)||tr.has(t.toLowerCase())?t:`"${t.replace(/["\\]/g,`\\$&`)}"`}).join(`, `)}var ir=(e,t=400)=>e===`bold`?700:e===`normal`?400:typeof e==`number`&&Number.isFinite(e)?e:t,ar=(e,t=`normal`)=>e===`italic`?`italic`:e===`normal`?`normal`:t;function or(e){let t={};for(let n of[`fontFamily`,`fontWeight`,`fontStyle`])e?.[n]!==void 0&&Object.assign(t,{[n]:e[n]});return t}function sr(e){let t=new Map,n=(e,n,r)=>{if(e)for(let i of nr(e))t.set(`${i.toLowerCase()}|${n}|${r}`,{family:i,weight:n,style:r})};for(let t of e.query(F)){let e=t.get(F),r=t.get(j)?.tag;if(r===`captions`){let r=l(t.get(L)?.preset),i=e.fontFamily??r.font.family,a=ar(e.fontStyle,r.font.italic?`italic`:`normal`);if(e.fontWeight!==void 0)n(i,ir(e.fontWeight),a);else for(let e of[r.font.weight,...r.runWeights??[]])n(i,e,a);continue}let i=r===`textRange`?{...or(K(t)?.get(F)),...or(e)}:e;n(i.fontFamily,ir(i.fontWeight),ar(i.fontStyle))}return[...t.values()]}function cr(e){if(typeof getComputedStyle>`u`)return[];let t=new Map;for(let n of e.query(B)){let e=n.get(j)?.tag===`html`?n.get(B).root:null;if(e)for(let n of[e,...e.querySelectorAll(`*`)]){if(![...n.childNodes].some(e=>e.nodeType===3&&e.textContent.trim()))continue;let e=getComputedStyle(n),r=Number.parseInt(e.fontWeight,10)||400,i=e.fontStyle===`italic`||e.fontStyle.startsWith(`oblique`)?`italic`:`normal`;for(let n of nr(e.fontFamily))t.set(`${n.toLowerCase()}|${r}|${i}`,{family:n,weight:r,style:i})}}return[...t.values()]}var lr=`Helvetica, Arial, sans-serif`,ur=`#ffffff`,dr=(e,t)=>e===`bold`?700:e===`normal`?400:typeof e==`number`?e:t;function fr(e,t,n){e.fillStyle=n,t&&(e.fillStyle=t);let r=String(e.fillStyle),i=/^rgba\((\d+),\s*(\d+),\s*(\d+)/.exec(r);return i?`rgb(${i[1]}, ${i[2]}, ${i[3]})`:r}function pr(e,t){return e.textCase===`upper`?t.toUpperCase():e.textCase===`lower`?t.toLowerCase():t}function mr(e,t,n){let r=[[]],i=0;for(let a of t)for(let t of a.text.split(/(?<= )/)){e.font=a.font;let o=e.measureText(t).width,s=r.at(-1);if(s.length&&i+e.measureText(t.trimEnd()).width>n){let t=s.at(-1);t.text.endsWith(` `)&&(t.text=t.text.trimEnd(),e.font=t.font,t.width=e.measureText(t.text).width),r.push([]),i=0}r.at(-1).push({...a,text:t,width:o}),i+=o}return r.filter(e=>e.length)}function hr(e,t,n,r,i,a){let o=l(r.preset),s=m(t,o,n);if(!s)return;let c=o.lines(s,n),u=r.fontSize??o.font.size,d=rr(r.fontFamily??`${o.font.family}, ${lr}`),f=dr(r.fontWeight,o.font.weight),p=r.fontStyle===void 0?o.font.italic:r.fontStyle===`italic`,h=r.lineHeight??o.font.lineHeight,g=r.align??o.font.align,ee=fr(e,r.fill,ur),_=o.slots.map((t,n)=>fr(e,r.colors?.[n],t)),v=e=>{let t=Math.round(u*(e.scale??1)),n=`${p?`italic `:``}${e.weight??f} ${t}px ${d}`;return{text:pr(o,e.text),font:n,size:t,color:e.slot===void 0?ee:_[e.slot]??ee,width:0}},y=c.flatMap(t=>mr(e,t.map(v),i.width));if(!y.length)return;let b=y.map(e=>Math.max(...e.map(e=>e.size))),te=b.reduce((e,t,n)=>e+(n<b.length-1?t*h:t),0),x=o.font.valign===`middle`?(i.height-te)/2:0;e.save(),e.textBaseline=`middle`,e.textAlign=`left`,o.composite&&(e.globalCompositeOperation=o.composite),o.shadow&&!r.authoredShadow&&(e.shadowColor=o.shadow.color,e.shadowBlur=o.shadow.blur*a,e.shadowOffsetX=o.shadow.x*a,e.shadowOffsetY=o.shadow.y*a),y.forEach((t,n)=>{let r=t.reduce((e,t)=>e+t.width,0),a=g===`center`?(i.width-r)/2:g===`right`?i.width-r:0,o=x+b[n]/2;for(let n of t)e.font=n.font,e.fillStyle=n.color,e.fillText(n.text,a,o),a+=n.width;x+=b[n]*h}),e.restore()}function gr(e,t,n){return{preset:t,colors:n,fill:e(`fill`),fontSize:typeof e(`fontSize`)==`number`?e(`fontSize`):void 0,fontFamily:e(`fontFamily`),fontWeight:e(`fontWeight`),fontStyle:e(`fontStyle`),lineHeight:e(`lineHeight`),align:e(`align`),authoredShadow:e(`shadowColor`)!==void 0}}function _r(e,t,n){let r=e.length;if(r===0)return-1;let i=t+.5/n-1e-9;if(e[0]>=i)return 0;let a=0,o=r-1;for(;a<o;){let t=a+o+1>>1;e[t]<i?a=t:o=t-1}return a}function vr(e){let t=[];for(let n=1;n<e.length;n++)t.push(e[n]-e[n-1]);if(t.length===0)return 30;t.sort((e,t)=>e-t);let n=1/t[t.length>>1];for(let e of[23.976,24,25,29.97,30,48,50,59.94,60])if(Math.abs(n-e)<.01)return e===23.976?24e3/1001:e===29.97?3e4/1001:e===59.94?6e4/1001:e;return n}function yr(e,t,n,r){let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i;return e=>{if(e<=0)return 0;if(e>=1)return 1;let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<1e-7)return d(t);let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;t=e;for(let i=0;i<40;i++){let i=u(t);if(Math.abs(i-e)<1e-7)break;i<e?n=t:r=t,t=(n+r)/2}return d(t)}}var br={linear:e=>e,easeIn:yr(.42,0,1,1),easeOut:yr(0,0,.58,1),easeInOut:yr(.42,0,.58,1),step:()=>0};function xr(e){if(e===void 0)return br.linear;let t=br[e];if(t)return t;let n=/^cubicBezier\(([^)]*)\)$/.exec(e);if(n){let e=n[1].split(`,`).map(e=>Number(e.trim()));if(e.length===4&&e.every(Number.isFinite))return yr(e[0],e[1],e[2],e[3])}throw Error(`unknown easing "${e}"`)}function Sr(e){let t=e.trim(),n=/^#([0-9a-f]{3,8})$/i.exec(t);if(n){let e=n[1];if((e.length===3||e.length===4)&&(e=[...e].map(e=>e+e).join(``)),e.length!==6&&e.length!==8)return;let t=t=>parseInt(e.slice(t,t+2),16);return[t(0),t(2),t(4),e.length===8?t(6)/255:1]}let r=/^rgba?\(([^)]*)\)$/i.exec(t);if(r){let e=r[1].split(/[\s,/]+/).filter(Boolean).map(Number);if(e.length>=3&&e.every(Number.isFinite))return[e[0],e[1],e[2],e[3]??1]}}var Cr=([e,t,n,r])=>`rgba(${Math.round(e)}, ${Math.round(t)}, ${Math.round(n)}, ${Math.round(r*1e3)/1e3})`;function wr(e,t,n){if(typeof e==`number`&&typeof t==`number`)return e+(t-e)*n;if(typeof e==`string`&&typeof t==`string`){let r=Sr(e),i=Sr(t);if(r&&i)return Cr([0,1,2,3].map(e=>r[e]+(i[e]-r[e])*n))}return n<1?e:t}function Tr(e,t,n){if(e.length===0)return;let r=e.map(e=>({t:U(e[0],n)??0,v:e[1],e:e[2]})),i=r[0];if(t<=i.t)return i.v;for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];if(t<i.t){let e=i.t-n.t,r=e>0?(t-n.t)/e:1;return wr(n.v,i.v,xr(n.e)(r))}}return r[r.length-1].v}function Er(e,t,n,r={}){for(let[i,a]of Object.entries(e)){if(!Array.isArray(a))continue;let e=Tr(a,t,n);e!==void 0&&(r[i]=e)}return r}var Dr=[`appear-word`,`appear-character`,`scramble`],Or=e=>Dr.includes(e),kr=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789#%&*+=?`,Ar=.3,jr=24,Mr=e=>/^\s+$/.test(e);function Nr(e){let t=2166136261;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),16777619);return t>>>0}function Pr(e,t,n){let r=(e^Math.imul(t+1,668265261)^Math.imul(n+1,374761393))>>>0;return r=Math.imul(r^r>>>15,739982445),r=Math.imul(r^r>>>12,695872825),(r^r>>>15)>>>0}function Fr(e,t){if(!t||t.progress>=1)return[...e];let n=Math.max(0,t.progress);if(t.preset===`appear-character`){let t=Math.floor(n*e.length);return e.map((e,n)=>n<t?e:``)}if(t.preset===`appear-word`){let t=[],r=0;e.forEach((n,i)=>{!Mr(n)&&(i===0||Mr(e[i-1]))&&r++,t.push(r-1)});let i=Math.floor(n*r);return e.map((e,n)=>t[n]<i?e:``)}let r=Nr(e.join(``)),i=e.filter(e=>!Mr(e)).length,a=Math.floor(n*jr),o=0;return e.map((e,t)=>{if(Mr(e))return e;o++;let s=Ar+.7*o/i;return n>=s?e:kr[Pr(r,t,a)%69]})}var q=(e,t,n,r)=>({channel:e,enter:t,exit:n,neutral:r}),Ir=q(`opacity`,0,0,1),Lr={fade:[Ir],grow:[q(`scale`,.6,.6,1)],shrink:[q(`scale`,1.4,1.4,1)],blur:[q(`blur`,24,24,0),Ir],"slide-left":[q(`offsetX`,1,-1,0)],"slide-right":[q(`offsetX`,-1,1,0)],"slide-up":[q(`offsetY`,1,-1,0)],"slide-down":[q(`offsetY`,-1,1,0)],spin:[q(`rotation`,-360,360,0),Ir],twist:[q(`rotation`,-90,90,0),q(`scale`,.3,.3,1),Ir],"appear-word":[],"appear-character":[],scramble:[]},Rr=.5,zr=()=>({opacity:1,scale:1,offsetX:0,offsetY:0,rotation:0,blur:0}),Br=e=>e===void 0?[]:Array.isArray(e)?e:[e];function Vr(e,t,n,r,i,a){let o=(e,t)=>{let o=Lr[e.preset];if(!o)return;let s=Hr(e,t,n,r,i);if(s!==void 0)for(let n of o){let r=e.params?.[n.channel],i=typeof r==`number`&&Number.isFinite(r)?r:t===`in`?n.enter:n.exit,[o,c]=t===`in`?[i,n.neutral]:[n.neutral,i],l=o+(c-o)*s;n.channel===`opacity`||n.channel===`scale`?a[n.channel]*=l:a[n.channel]+=l}};for(let t of e)o(t,`in`);for(let e of t)o(e,`out`);return a}function Hr(e,t,n,r,i){let a=Math.min(Math.max(U(e.duration,i)??.5,0),r);if(!(a>0))return;let o=U(e.at,i),s=t===`in`?o??0:o??r-a,c=Math.min(1,Math.max(0,(n-s)/a));return xr(e.easing)(c)}function Ur(e,t,n,r,i){let a=null,o=(e,t)=>{if(!Or(e.preset))return;let o=Hr(e,t,n,r,i);if(o===void 0)return;let s=t===`in`?o:1-o;s<1&&(a={preset:e.preset,progress:s})};for(let t of e)o(t,`in`);for(let e of t)o(e,`out`);return a}var Wr=e=>e?.get(j)?.tag,Gr=e=>Wr(e)===`adjustmentLayer`,Kr=e=>e.get(V)?.active===!0;function qr(e){return G(e).flatMap(e=>Gr(e)?Kr(e)?[e]:[]:Wr(e)===`sequence`?qr(e):[])}function Jr(e,t,n){if(Wr(e)===`sequence`||Gr(t[n]))return[];let r=t[n+1];return Gr(r)?Kr(r)?[r]:[]:r&&Wr(r)===`sequence`&&Kr(r)?qr(r):[]}var Yr=e=>typeof e==`object`&&!!e&&(e.type===`linear`||e.type===`radial`)&&Array.isArray(e.stops);function Xr(e,t,n){if(n>=1)return t;e.fillStyle=`rgba(0, 0, 0, 0)`,e.fillStyle=t;let[r,i,a,o]=Sr(String(e.fillStyle))??[0,0,0,0];return`rgba(${r}, ${i}, ${a}, ${o*Math.max(0,n)})`}function Zr(e,t,[n,r,i,a]){let o=i-n,s=a-r,c=n+o/2,l=r+s/2,u;if(t.type===`radial`)u=e.createRadialGradient(c,l,0,c,l,Math.max(Math.abs(o),Math.abs(s),.001)/2);else{let n=(typeof t.rotation==`number`&&Number.isFinite(t.rotation)?t.rotation:0)*Math.PI/180,r=o/2*Math.cos(n),i=s/2*Math.sin(n);u=e.createLinearGradient(c-r,l-i,c+r,l+i)}let d=t.stops.filter(e=>typeof e?.color==`string`&&typeof e.offset==`number`&&Number.isFinite(e.offset)).toSorted((e,t)=>e.offset-t.offset);for(let t of d)try{u.addColorStop(Math.min(1,Math.max(0,t.offset)),Xr(e,t.color,typeof t.opacity==`number`?t.opacity:1))}catch{}return u}function Qr(e,t,n,r){return typeof t==`string`?t:Yr(t)?Zr(e,t,n):r}var $r=`Helvetica, Arial, sans-serif`,ei=`#ffffff`,ti=48,ni=1.2,ri;function ii(){return ri===void 0&&(ri=typeof OffscreenCanvas>`u`?null:new OffscreenCanvas(1,1).getContext(`2d`)),ri}var ai=new Map,oi=256,si=!1;function ci(){si||(si=!0,(globalThis.document?.fonts)?.addEventListener(`loadingdone`,()=>ai.clear()))}var li=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:t,ui=(e,t)=>t===`upper`?e.toUpperCase():t===`lower`?e.toLowerCase():e;function di(e,t,n,r){return`${n===`italic`?`italic `:``}${String(t??400)} ${e}px ${typeof r==`string`?rr(r):$r}`}function fi(e,t){e.font=t.font,e.letterSpacing=`${t.letterSpacing}px`}var pi=[`fill`,`fontSize`,`fontFamily`,`fontWeight`,`fontStyle`,`letterSpacing`,`textCase`];function mi(e){let t=li(e.fontSize,ti);return{font:di(t,e.fontWeight,e.fontStyle,e.fontFamily),size:t,fill:typeof e.fill==`string`||Yr(e.fill)?e.fill:ei,letterSpacing:li(e.letterSpacing,0),textCase:e.textCase===`upper`||e.textCase===`lower`?e.textCase:`original`}}function hi(e,t){let n=[];for(let r of G(e)){if(r.get(j).tag!==`textRange`)continue;let e=r.get(Xt),i={};for(let e of pi){let n=t(r,e);n!==void 0&&(i[e]=n)}n.push({start:li(e.start,0),end:li(e.end,1/0),props:i})}return n}function gi(e,t){let n={};for(let r of pi)n[r]=t(e,r);let r=t(e,`width`),i=t(e,`height`),a=t(e,`align`),o=t(e,`textBaseline`);return{text:e.get($t)?.text??``,base:n,runs:hi(e,t),width:typeof r==`number`&&Number.isFinite(r)&&r>0?r:void 0,height:typeof i==`number`&&Number.isFinite(i)&&i>0?i:void 0,align:a===`center`||a===`right`?a:`left`,baseline:o===`middle`||o===`bottom`||o===`alphabetic`?o:`top`,lineHeight:li(t(e,`lineHeight`),ni)}}function _i(e,t){let n=new Map,r=0;return e.map(e=>{let i=r;r+=e.length;let a={...t.base};for(let e of t.runs)i<e.start||i>=e.end||Object.assign(a,e.props);let o=mi(a),s=`${o.font}|${JSON.stringify(o.fill)}|${o.letterSpacing}|${o.textCase}`;return n.get(s)||(n.set(s,o),o)})}var vi=e=>/^\s+$/.test(e);function yi(e,t,n,r,i){let a=[],o=0;for(let s=r;s<i;){let r=n[s],c=s+1;for(;c<i&&n[c]===r;)c++;fi(e,r);let l=e.measureText(ui(t.slice(s,c).join(``),r.textCase)).width;a.push({style:r,from:s,to:c,x:o,width:l}),o+=l,s=c}return a}var bi=e=>e.reduce((e,t)=>e+t.width,0);function xi(e,t,n,r,i,a){if(a===void 0)return[[r,Si(t,r,i)]];let o=[],s=r,c=r;for(;c<i;){let r=c;for(;r<i&&vi(t[r]);)r++;for(;r<i&&!vi(t[r]);)r++;let l=Si(t,s,r);if(l>s&&Si(t,s,c)>s&&bi(yi(e,t,n,s,l))>a)for(o.push([s,Si(t,s,c)]),s=c;s<r&&vi(t[s]);)s++;c=r}return o.push([s,Si(t,s,i)]),o}function Si(e,t,n){for(;n>t&&vi(e[n-1]);)n--;return n}function Ci(e,t){fi(e,t),e.textBaseline=`top`;let n=-e.measureText(`H`).alphabeticBaseline;return e.textBaseline=`alphabetic`,n}function wi(e){let t=ii();if(!t)return null;let n=Array.from(e.text),r=_i(n,e),i=mi(e.base),a=[],o=0;for(let i=0;i<=n.length;i++)i<n.length&&n[i]!==`
|
|
19
|
-
`||(a.push(...xi(t,n,r,o,i,e.width)),o=i+1);let s=0,c=[],l=[];for(let[o,u]of a){let a=yi(t,n,r,o,u),d=a.length?Math.max(...a.map(e=>e.style.size)):i.size,f=Math.max(...(a.length?a:[{style:i}]).map(e=>Ci(t,e.style))),p=d*e.lineHeight;c.push({pieces:a,baseline:s+(p-d)/2+f}),l.push(p),s+=p}let u=Math.max(0,...c.map(e=>bi(e.pieces))),d=s,f=e.width??u,p=e.height??d,m=e.width===void 0?e.align===`center`?-u/2:e.align===`right`?-u:0:0,h=e.baseline===`middle`?(p-d)/2:e.baseline===`bottom`?p-d:e.baseline===`alphabetic`?-(c[0]?.baseline??0):0;for(let t of c){let n=bi(t.pieces),r=m+(e.align===`center`?(f-n)/2:e.align===`right`?f-n:0);for(let e of t.pieces)e.x+=r;t.baseline+=h}return{cells:n,lines:c,x0:m,width:f,height:p,bounds:[m,Math.min(0,h),m+f,Math.max(p,h+d)]}}function Ti(e,t){ci();let n=gi(e,t),r=JSON.stringify(n,(e,t)=>t===1/0?`Infinity`:t),i=ai.get(r);if(i)return i;let a=wi(n);return a?(ai.size>=oi&&ai.delete(ai.keys().next().value),ai.set(r,a),a):null}var Ei=(e,t)=>`${e}\n${t}`,Di=e=>{let t=e.get(j).tag;return t===`video`||t===`audio`};function Oi(e){let t=new Map;for(let n of e.query(j)){let e=n.get(j).id;e&&!t.has(e)&&t.set(e,n)}let n=new Map;for(let r of e.query(z,j)){let e=t.get(r.get(z).syncTo??``);e&&e!==r&&n.set(r,e)}let r=new Map,i=new Map,a=0;for(let e of n.keys()){a++;let t=[],o=e;for(;o&&!i.has(o);)i.set(o,a),t.push(o),o=n.get(o);if(!o||i.get(o)!==a)continue;let s=t.slice(t.indexOf(o));for(let[e,t]of s.entries())r.set(t,[...s.slice(e),...s.slice(0,e),t])}return{ids:t,loops:r}}function ki(e,t,n,r){if(!e.get(I)?.src)return`it has no src to measure`;if(n===e)return`an element cannot sync to itself`;if(!n)return`there is no element with id="${t}"`;if(!Di(n)||!n.get(I)?.src)return`"${t}" is not a video or audio with a src, so there is nothing to line up with`;let i=r.loops.get(e);if(i)return`the chain loops (${i.map(e=>e.get(j).key).join(` → `)})`}function Ai(e){let t=Oi(e),n=[];for(let r of e.query(z,j)){let e=r.get(z).syncTo;if(!e||!Di(r))continue;let i=t.ids.get(e),a=ki(r,e,i,t),o={entity:r,key:r.get(j).key,syncTo:e,target:i===r?void 0:i};a?o.problem=a:Object.assign(o,{src:r.get(I).src,targetSrc:i.get(I).src}),n.push(o)}return n}function ji(e,t,n){let r=0;for(let i=t;i;i=K(i)){let t=i.get(j).tag;(t===`scene`||t===`group`)&&(r+=U(i.get(N)?.start,n.fpsUnder(e,K(i)))??0)}return r}function Mi(e,t,n,r){return Ni(e,t,n,r)?.sourceIn??U(t.get(N)?.sourceIn,n)??0}function Ni(e,t,n,r){let i=t.get(z)?.syncTo;if(!i||!Di(t))return;let a=Oi(e),o=a.ids.get(i);if(ki(t,i,o,a)||!o)return;let s=t.get(I).src,c=e.get(Kn),l=c?.offsets.get(Ei(s,o.get(I).src));if(l===void 0)return;let u=K(o),d=r.fpsUnder(e,u),f=r.span(e,o,d),p=ji(e,u,r),m={from:p+f.start,to:p+f.end},h=m.from+(l-Mi(e,o,d,r))/r.speed(o),g=r.speed(t),ee=c?.durations.get(s),_={from:h,to:ee===void 0?1/0:h+ee/g},v=ji(e,K(t),r),y=t.get(N),b=U(y?.sourceIn,n),te=U(y?.end,n),x=b===void 0?Math.max(_.from,m.from):h+b/g,S=te===void 0?Math.min(_.to,m.to):v+te;return{start:x-v,end:S-v,sourceIn:b??(x-h)*g,offset:l,target:o}}var Pi={width:1920,height:1080},Fi=5;function Ii(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}function Li(e){let t=e[0]*e[3]-e[1]*e[2];if(t===0)return[1,0,0,1,0,0];let n=1/t;return[e[3]*n,-e[1]*n,-e[2]*n,e[0]*n,(e[2]*e[5]-e[3]*e[4])*n,(e[1]*e[4]-e[0]*e[5])*n]}var J=e=>e?.get(R)?.fps??30;function Ri(e){let t=Zn(e);return t?G(t).filter(e=>e.get(j).tag===`scene`):[]}function Y(e,t,n){let r=Ni(e,t,n,Bi);if(r)return{start:r.start,end:r.end};let i=t.get(N),a=U(i?.start,n)??0,o=U(i?.end,n);if(o!==void 0)return{start:a,end:o};let s=t.get(j).tag;if(s===`video`||s===`audio`){let r=t.get(I)?.src,o=r?e.get(Kn)?.durations.get(r):void 0;if(o!==void 0)return{start:a,end:a+(o-(U(i?.sourceIn,n)??0))/Hi(t)}}if(s===`captions`){let r=t.get(L),o=U(r?.sourceOut,n)??(r?.src?e.get(Kn)?.durations.get(r.src):void 0);if(o!==void 0)return{start:a,end:a+Math.max(0,o-(U(i?.sourceIn,n)??0))}}if(s===`scene`||s===`group`){let r=s===`scene`?J(t):n,i=-1/0;for(let n of G(t)){let t=Y(e,n,r);Number.isFinite(t.end)&&(i=Math.max(i,t.end))}return Number.isFinite(i)?{start:a,end:a+i}:{start:a,end:s===`scene`?a+Fi:1/0}}if(s===`sequence`){let r=G(t).map(t=>Y(e,t,n)),i=r.map(e=>e.end).filter(Number.isFinite);return{start:r.length?Math.min(...r.map(e=>e.start)):0,end:i.length?Math.max(...i):1/0}}return{start:a,end:1/0}}function zi(e,t){for(let e=t;e;e=K(e))if(e.get(j).tag===`scene`)return J(e);return J(Ri(e)[0])}var Bi={span:Y,fpsUnder:zi,speed:Hi};function Vi(e,t,n){return Mi(e,t,n,Bi)}function Hi(e){let t=e.get(I)?.speed;return typeof t==`number`&&Number.isFinite(t)&&t>0?t:1}function Ui(e,t,n){let r=[];for(let e=t;e&&e.get(j).tag!==`stage`;e=K(e))r.unshift(e);let i=n,a=J(Ri(e)[0]);for(let n of r){let r=Y(e,n,a).start,o=n.get(j).tag;if(n===t)return i-r;o===`scene`&&(a=J(n)),(o===`scene`||o===`group`)&&(i-=r)}return i}function Wi(e){let t=Ri(e),n=t[0],r=n?.get(R),i=J(n),a=0;for(let n of t)a=Math.max(a,Y(e,n,i).end);return{scene:n,width:r?.width??Pi.width,height:r?.height??Pi.height,fps:i,duration:a,frames:Math.max(1,Math.round(a*i))}}function Gi(e,t,n,r,i,a){let o=i-a;if(!e||o===0)return[t,n];switch(e){case`right`:case`bottom`:return[t+o,n];case`center`:return[t+o/2,n];case`stretch`:return r?[t,n+o]:[t,n];case`scale`:{if(a<=0)return[t,n];let e=i/a;return[t*e,r?n*e:n]}default:return[t,n]}}function Ki(e,t,n){let r=e.get(Wt)?.[t];if(typeof r==`number`)return r;let i=e.get(en)?.animate?.[t]?.[0]?.[1];return typeof i==`number`?i:n}var X=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:t;function qi(e){let t=e.get(V);t&&(t.active=!1);for(let t of G(e))qi(t)}function Ji(e,t,n,r=!1){let i=t.get(V),a=t.get(j).tag;if(a===`stage`)return i.active=!0,n;let{start:o,end:s}=Y(e,t,n.fps),c=t.get(Jt)?.hidden===!0,l=n.active&&!c&&(r||n.time>=o&&n.time<s);if(i.active=l,i.fps=n.fps,i.local=n.time-o,i.length=Math.min(s,n.length)-o,i.mediaTime=i.local*Hi(t)+Vi(e,t,n.fps),l)return a===`scene`?{...n,time:n.time-o,length:i.length,fps:J(t)}:a===`group`?{...n,time:r?Math.min(Math.max(i.local,0),i.length-1e-6):i.local,length:i.length}:n}function Yi(e){for(let t of e.query(en,V)){let e=t.get(V);for(let t of Object.keys(e.animated))delete e.animated[t];let n=t.get(en).animate;e.active&&n&&Er(n,e.local,e.fps,e.animated)}for(let t of e.query(tn,V)){let e=t.get(V);e.motion=zr();let{enter:n,exit:r}=t.get(tn);e.active&&(n||r)&&Vr(Br(n),Br(r),e.local,e.length,e.fps,e.motion)}}function Z(e,t){let n=e.get(V)?.animated[t];if(n!==void 0)return n;for(let n of[Wt,Kt,qt,P,Yt,F,I,Zt,Qt]){let r=e.get(n)?.[t];if(r!==void 0)return r}}function Xi(e,t){let n=e.get(V),r=e.get(j).tag,i=r===`captions`?e.get(L):void 0,a=i?l(i.preset):void 0,o=r===`text`?Ti(e,Z):null,s=X(Z(e,`width`),a?a.width:o?o.width:r===`text`?0:t.width),c=X(Z(e,`height`),a?a.height:o?o.height:r===`text`?0:t.height),u=n.motion,d=a?ee(a,i,{width:s,height:c},t,Z(e,`x`),Z(e,`y`)):{x:X(Z(e,`x`),0)+X(Z(e,`offsetX`),0),y:X(Z(e,`y`),0)+X(Z(e,`offsetY`),0)},f=e.get(Gt);if(f?.constrainX||f?.constrainY){let n=typeof Z(e,`width`)==`number`,r=typeof Z(e,`height`)==`number`,[i,a]=Gi(f.constrainX,d.x,s,n,t.width,t.baseWidth??t.width),[o,l]=Gi(f.constrainY,d.y,c,r,t.height,t.baseHeight??t.height);d={x:i,y:o},s=a,c=l}let p=r===`text`?{w:X(Z(e,`width`),0),h:X(Z(e,`height`),0)}:{w:s,h:c},m=d.x+u.offsetX*(p.w||t.width),h=d.y+u.offsetY*(p.h||t.height),g=r===`adjustmentLayer`?.5:0,[_,v]=o?Qi(e,o):[X(Z(e,`anchorX`),g)*s,X(Z(e,`anchorY`),g)*c],y=Z(e,`scale`),b=X(y,X(Z(e,`scaleX`),1))*u.scale,te=X(y,X(Z(e,`scaleY`),1))*u.scale,x=(X(Z(e,`rotation`),0)+u.rotation)*Math.PI/180,S=Math.cos(x),C=Math.sin(x),w=[S*b,C*b,-C*te,S*te,0,0];return w[4]=m+_-(w[0]*_+w[2]*v),w[5]=h+v-(w[1]*_+w[3]*v),{local:w,width:s,height:c,text:o}}function Zi(e,t){let n=e.get(V),r=e.get(j).tag;if(r===`stage`)return t;if(r===`scene`){let r=e.get(R),i=r?.width??t.width,a=r?.height??t.height;return n.width=i,n.height=a,n.matrix=t.matrix,n.opacity=t.opacity,{...t,width:i,height:a,baseWidth:i,baseHeight:a}}let{local:i,width:a,height:o,text:s}=Xi(e,t);n.matrix=Ii(t.matrix,i),n.width=a,n.height=o,s?n.bounds=[...s.bounds]:r!==`text`&&(n.bounds=[0,0,a,o]),n.opacity=t.opacity*Math.min(1,Math.max(0,X(Z(e,`opacity`),1)*n.motion.opacity));let c=r===`text`||r===`captions`,l=c?a:Ki(e,`width`,t.baseWidth),u=c?o:Ki(e,`height`,t.baseHeight);return{...t,matrix:n.matrix,opacity:n.opacity,width:a,height:o,baseWidth:l,baseHeight:u}}function Qi(e,t){let n=Z(e,`align`),r=t.x0===0?0:n===`center`?.5:1;return[t.x0+X(Z(e,`anchorX`),r)*t.width,X(Z(e,`anchorY`),0)*t.height]}function $i(e,t){let n=Wi(e),r=Zn(e);if(!r)return n;let i={time:t,length:n.duration,fps:n.fps,matrix:[1,0,0,1,0,0],opacity:1,width:n.width,height:n.height,baseWidth:n.width,baseHeight:n.height,active:!0},a=(t,n,r=!1)=>{let i=Ji(e,t,n,r),o=t.get(Bn);if(o&&(o.active=i?Gn(t,i.time,i.fps,t=>Y(e,t,i.fps)):[]),!i){for(let e of G(t))qi(e);return}let s=new Set(o?.active.flatMap(e=>[e.left,e.right]));for(let e of G(t))a(e,i,s.has(e))};a(r,i),Yi(e);let o=(e,t)=>{if(!e.get(V).active)return;let n=Zi(e,t),r=G(e);r.forEach((t,i)=>{let a=Jr(e,r,i).reduce((e,t)=>Ii(e,Xi(t,n).local),n.matrix);o(t,{...n,matrix:a})})};return o(r,i),n}function ea(e){let t=[],n=Wi(e),r=(i,a,o,s,c)=>{let l=i.get(j);if(l.tag===`textRange`||l.tag===`shaderPaint`)return;let u=Y(e,i,o),d=a+u.start,f=Number.isFinite(u.end)?a+u.end:a+n.duration;t.push({key:l.key,id:l.id,tag:l.tag,start:d,end:Math.min(f,Math.max(d,n.duration)),depth:s,scene:c});let p=l.tag===`scene`,m=p||l.tag===`group`?d:a;for(let e of G(i))r(e,m,p?J(i):o,s+1,p?l.key:c)};for(let t of Ri(e))r(t,0,n.fps,0,void 0);return t}function ta(e){for(let t=e;t;t=K(t))if(t.get(Jt)?.hidden===!0)return!0;return!1}function na(e){let t=new Map(ea(e).map(e=>[e.key,e])),n=Wi(e).fps,r=[];for(let i of e.query(I,j)){let a=i.get(j).tag,o=i.get(I);if(a!==`video`&&a!==`audio`||!o.src||o.muted||ta(i))continue;let s=t.get(i.get(j).key);!s||s.end<=s.start||r.push({key:s.key,src:o.src,start:s.start,end:s.end,sourceIn:Vi(e,i,n),volume:o.volume??1,fadeIn:Math.max(0,o.fadeIn??0),fadeOut:Math.max(0,o.fadeOut??0),speed:Hi(i),preservePitch:o.preservePitch!==!1})}return r}function ra(e,t){if(t<e.start||t>=e.end)return 0;let n=e.end-e.start,r=Math.min(e.fadeIn,n/2),i=Math.min(e.fadeOut,n/2),a=e.volume;return r>0&&t<e.start+r&&(a*=(t-e.start)/r),i>0&&t>e.end-i&&(a*=(e.end-t)/i),a}var ia=e=>Math.min(1,Math.max(0,e));function aa({type:e,value:t},n){switch(e){case`blur`:return t>0?`blur(${t*n}px)`:``;case`hueRotate`:return t===0?``:`hue-rotate(${t}deg)`;case`brightness`:case`contrast`:case`saturate`:return ia(t)===1?``:`${e}(${ia(t)})`;case`grayscale`:case`invert`:case`sepia`:return ia(t)>0?`${e}(${ia(t)})`:``;case`opacity`:return ia(t)<1?`opacity(${ia(t)})`:``;default:return``}}function oa(e){let t=Z(e,`effects`);if(!Array.isArray(t)||t.length===0)return[];let n=e.get(V),r=[];for(let e of t){if(!e||e.hidden===!0)continue;let t=e.animate?.value,i=Array.isArray(t)?Tr(t,n.local,n.fps):void 0,a=typeof i==`number`?i:e.value;if(typeof a!=`number`||!Number.isFinite(a))continue;let o={type:e.type,value:a,mask:e.mask};(aa(o,1)||e.type===`opacity`&&e.mask)&&r.push(o)}return r}var sa=()=>typeof CanvasRenderingContext2D<`u`&&`drawElementImage`in CanvasRenderingContext2D.prototype,ca=`<html> needs Chrome's html-in-canvas (CanvasRenderingContext2D.drawElementImage, the CanvasDrawElement blink feature), which this browser does not have`,la=`position:fixed;left:0;top:0;pointer-events:none;clip-path:inset(50%);`;function ua(){return typeof document<`u`?document.createElement(`canvas`):typeof OffscreenCanvas>`u`?null:new OffscreenCanvas(1,1)}function da(){if(typeof document>`u`)return null;let e=document.createElement(`canvas`);e.setAttribute(`layoutsubtree`,``),e.setAttribute(`aria-hidden`,`true`),e.style.cssText=la;let t=document.createElement(`div`);return t.style.cssText=`position:relative;overflow:hidden;`,e.append(t),(document.body??document.documentElement).append(e),{canvas:e,root:t}}function fa(e,t,n,r){let i=`${n}px`,a=`${r}px`;return t.style.width===i&&t.style.height===a?!1:(t.style.width=e.style.width=i,t.style.height=e.style.height=a,!0)}function pa(e,t){let n=ma(e,t);for(let r of e.getAnimations({subtree:!0})){if(typeof CSSTransition<`u`&&r instanceof CSSTransition){r.finish(),n=!0;continue}r.playState!==`paused`&&(r.pause(),n=!0);let e=t*1e3;r.currentTime!==e&&(r.currentTime=e,n=!0)}return n}function ma(e,t){let n=!1;for(let r of e.querySelectorAll(`svg`))r.ownerSVGElement||(r.animationsPaused()||(r.pauseAnimations(),n=!0),r.getCurrentTime()!==t&&(r.setCurrentTime(t),n=!0));return n}var ha=()=>new Promise(e=>requestAnimationFrame(()=>setTimeout(e,0)));async function ga(e){let{canvas:t,root:n}=e.get(B);if(!(t instanceof HTMLCanvasElement)||!n)return;let r=e.get(V);fa(t,n,r.width,r.height),pa(n,r.local);let i=[...n.querySelectorAll(`img`)].filter(e=>!e.complete).map(e=>e.decode().catch(()=>void 0));await Promise.all([...i,document.fonts.ready]),await ha()}var _a=new Set,va=!1,ya=new WeakSet;function ba(e){return _a.add(e),()=>_a.delete(e)}function xa(){va||_a.size===0||(va=!0,ha().then(()=>{va=!1;for(let e of _a)e()}))}var Sa=new WeakMap;function Ca(e){if(ya.has(e))return;ya.add(e);let t=new MutationObserver(xa);t.observe(e,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),Sa.set(e,{observer:t,list:null,at:new WeakMap}),xa()}function wa(e){let t=Sa.get(e);return t?(t.observer.takeRecords().length&&(t.list=null,t.at=new WeakMap,xa()),t.list??=e.getAnimations({subtree:!0})):e.getAnimations({subtree:!0})}function Ta(e,t){let n=Sa.get(e);if(!n)return pa(e,t);let r=t*1e3,i=ma(e,t);for(let t of wa(e)){let e=n.at.get(t);if(e!==r){if(typeof CSSTransition<`u`&&t instanceof CSSTransition){e===void 0&&t.finish(),n.at.set(t,r),i||=e===void 0;continue}e===void 0&&t.pause(),t.currentTime=r,n.at.set(t,r),i=!0}}return i}var Ea=new Set([`offset`,`computedOffset`,`easing`,`composite`]),Da=e=>e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),Oa=new WeakMap;function ka(e,t){let n=Oa.get(e);if(!n){let r=new Set;for(let e of t.getKeyframes())for(let t of Object.keys(e))Ea.has(t)||r.add(Da(t));Oa.set(e,n=[...r])}return n}var Aa=`<style>*,*::before,*::after{animation:none!important;transition:none!important}</style>`,ja=new Map,Ma=2048;function Na(e,t){try{let n=e.computedStyleMap?.().get(t);return n instanceof CSSUnitValue&&n.unit===`px`?n.value:0}catch{return 0}}var Pa=()=>Math.min(2,Math.max(1,globalThis.devicePixelRatio||1));function Fa(e,t){for(let n=e;n;n=n.parentElement){let e=Math.max(Na(n,`width`),Na(n,`height`));if(e>0)return Math.min(Ma,Math.max(64,Math.ceil(e*t)))}return Ma}var Ia=e=>new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(r.result)),r.addEventListener(`error`,()=>n(r.error)),r.readAsDataURL(e)});async function La(e,t){e instanceof HTMLImageElement&&!e.complete&&await e.decode();let n=await createImageBitmap(e);try{return await Promise.all(t.map(e=>{let t=Math.min(1,e/Math.max(n.width,n.height,1));return createImageBitmap(n,{resizeWidth:Math.max(1,Math.round(n.width*t)),resizeHeight:Math.max(1,Math.round(n.height*t)),resizeQuality:`high`})}))}finally{n.close()}}async function Ra(e){let t=new OffscreenCanvas(e.width,e.height);return t.getContext(`2d`).drawImage(e,0,0),e.close(),Ia(await t.convertToBlob({type:`image/webp`,quality:.9}))}async function za(e,t,n){try{let r=e;try{let e=await(await fetch(t)).blob();if(e.type.includes(`svg`)){let t=await Ia(e);return n.map(()=>t)}r=e}catch{}return await Promise.all((await La(r,n)).map(Ra))}catch{return n.map(()=>null)}}function Ba(e){let t=e.currentSrc||e.src;if(!t||t.startsWith(`data:`))return null;if(ja.has(t))return t;let n={lo:null,hi:null};ja.set(t,n);let[r,i]=[Fa(e,1),Fa(e,Pa())];return za(e,t,i===r?[r]:[r,i]).then(([e,t])=>{n.lo=e??null,n.hi=t??n.lo,xa()}),t}var Va=new WeakSet;function Ha(e){let t=e.get(B)?.root;if(!t)return;let n=!sa();for(let e of t.querySelectorAll(`img`))Va.has(e)||(Va.add(e),e.decode().catch(()=>{}),n&&Ba(e))}var Ua=[];function Wa(e){let t=/unicode-range:([^;}]+)/.exec(e)?.[1];return t?t.split(`,`).map(e=>{let[t,n]=e.trim().replace(/^U\+/i,``).split(`-`);return[parseInt(t,16),parseInt(n??t,16)]}):[]}function Ga(e){Ua=e.map(e=>({...e,ranges:Wa(e.css)}))}function Ka(e,t){let n=Ua.filter(t=>e.includes(t.family));if(!n.length)return``;let r=new Set;for(let e of t)r.add(e.codePointAt(0));return n.filter(e=>!e.ranges.length||[...r].some(t=>e.ranges.some(([e,n])=>t>=e&&t<=n))).map(e=>e.css).join(``)}var qa=`higgsedit-inline:`;function Ja(e){let t=[],n=new Map;for(let t of wa(e)){let e=t.effect;if(!e?.target||e.pseudoElement)continue;let r=n.get(e.target);r||n.set(e.target,r=new Set);for(let n of ka(t,e))r.add(n)}let r=e.cloneNode(!0),i=[e,...e.querySelectorAll(`*`)],a=[r,...r.querySelectorAll(`*`)];i.forEach((e,r)=>{let i=a[r],o=n.get(e);if(o){let t=e.computedStyleMap?.(),n=getComputedStyle(e);for(let e of o){let r=``;try{r=t?.get(e)?.toString()??``}catch{}i.style.setProperty(e,r||n.getPropertyValue(e))}}if(e instanceof HTMLImageElement){let n=Ba(e);n&&(i.setAttribute(`src`,`${qa}${t.length}`),i.removeAttribute(`srcset`),t.push(n))}});let o=new XMLSerializer().serializeToString(r),s=Ka(o,r.textContent??``);return{markup:o.replace(/^(<div[^>]*>)/,`$1${Aa}${s?`<style>${s}</style>`:``}`),images:t}}var Ya=new WeakMap;function Xa(e){let t=e.next;if(!t||e.decoding)return;e.next=null,e.decoding=!0;let n=new Image,r=r=>{if(e.decoding=!1,r){let r=e.shown??document.createElement(`canvas`);r.width=t.width,r.height=t.height;let i=r.getContext(`2d`);i.clearRect(0,0,t.width,t.height),i.drawImage(n,0,0,t.width,t.height),e.shown=r}xa(),Xa(e)};n.addEventListener(`load`,()=>r(!0)),n.addEventListener(`error`,()=>r(!1)),n.src=t.url}function Za(e,t,n,r,i){let{markup:a,images:o}=Ja(t),[s,c]=[Math.ceil(n*i),Math.ceil(r*i)],l=`${s}x${c}:${a}`,u=Ya.get(t);u||Ya.set(t,u={key:``,base:``,settle:null,shown:null,decoding:!1,next:null});let d=u.base===l;u.base=l;let f=o.map(e=>{let t=ja.get(e);return(d?t?.hi:null)??t?.lo??``});!d&&o.some(e=>ja.get(e)?.hi!==ja.get(e)?.lo)&&(u.settle??=setTimeout(()=>{u.settle=null,xa()},150));let p=`${l}|${f.map(e=>e.length).join(`,`)}`;if(u.key!==p){u.key=p;let e=`<svg xmlns="http://www.w3.org/2000/svg" width="${s}" height="${c}" viewBox="0 0 ${n} ${r}"><foreignObject width="${n}" height="${r}">${a.replace(RegExp(`src="${qa}(\\d+)"`,`g`),(e,t)=>`src="${f[Number(t)]}"`)}</foreignObject></svg>`;u.next={key:p,url:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,width:s,height:c},Xa(u)}u.shown&&e.drawImage(u.shown,0,0,n,r)}function Qa(e,t,n,r){let{canvas:i,root:a}=t.get(B),o=t.get(V);if(!(i instanceof HTMLCanvasElement)||!a||!(o.width>0)||!(o.height>0))return;let s=sa();if(!s&&r===`capture`)throw Error(ca);if(r===`live`&&(Ca(a),(fa(i,a,o.width,o.height)||Ta(a,o.local))&&xa(),!s))return Za(e,a,o.width,o.height,n);let c=Math.max(1,Math.ceil(o.width*n)),l=Math.max(1,Math.ceil(o.height*n));i.width!==c&&(i.width=c),i.height!==l&&(i.height=l);let u=i.getContext(`2d`);u.clearRect(0,0,c,l);try{u.drawElementImage(a,0,0,c,l)}catch(e){if(r===`capture`)throw Error(`${t.get(j).key}: <html> content was not painted before capture (${e.message})`,{cause:e});xa();return}e.drawImage(i,0,0,o.width,o.height)}var $a=new WeakSet;function eo(e,t){let n=e instanceof Error?e:Error(String(e)),r=`${t}: ${n.message}`,i=n.stack?.replace(n.message,r);try{if(n.message=r,n.message===r)return i&&(n.stack=i),n}catch{}let a=Error(r,{cause:n});return a.name=n.name,i&&(a.stack=i),a}function to(e,t){if(typeof e==`object`&&e&&$a.has(e))return e;let n=e instanceof Error&&e.message.startsWith(`${t}: `)?e:eo(e,t);return $a.add(n),n}function no(e,t,n){let r=`frame ${t} (${Math.round(t/n*1e3)/1e3} s)`;if(e instanceof Error&&e.message.startsWith(`frame ${t}: `)){let n=e.message.slice(`frame ${t}: `.length),r=e.stack?.replace(e.message,n);e.message=n,r&&(e.stack=r)}return eo(e,r)}function ro(e,t,n,r){t&&t.width!==0&&t.height!==0&&n>0&&r>0&&e.drawImage(t,0,0,n,r)}var io={paint:`struct HostGlobals {
|
|
20
|
-
resolution: vec2f,
|
|
21
|
-
fitOffset: vec2f,
|
|
22
|
-
fitSize: vec2f,
|
|
23
|
-
time: f32,
|
|
24
|
-
}
|
|
25
|
-
@group(0) @binding(0) var<uniform> globals: HostGlobals;
|
|
26
|
-
@group(0) @binding(1) var source: texture_2d<f32>;
|
|
27
|
-
@group(0) @binding(2) var sourceSampler: sampler;
|
|
28
|
-
struct ProjectVarying {
|
|
29
|
-
@builtin(position) position: vec4f,
|
|
30
|
-
@location(0) uv: vec2f,
|
|
31
|
-
}
|
|
32
|
-
@vertex
|
|
33
|
-
fn projectQuad(@builtin(vertex_index) corner: u32) -> ProjectVarying {
|
|
34
|
-
let uv = vec2f(f32(corner & 1u), f32(corner >> 1u));
|
|
35
|
-
return ProjectVarying(vec4f(uv.x * 2.0 - 1.0, 1.0 - uv.y * 2.0, 0.0, 1.0), uv);
|
|
36
|
-
}
|
|
37
|
-
fn sampleSource(uv: vec2f) -> vec4f {
|
|
38
|
-
let picture = (uv - globals.fitOffset) / globals.fitSize;
|
|
39
|
-
let within = step(vec2f(0.0), picture) * step(picture, vec2f(1.0));
|
|
40
|
-
return textureSampleLevel(source, sourceSampler, saturate(picture), 0.0) * (within.x * within.y);
|
|
41
|
-
}
|
|
42
|
-
`,transition:`struct ProjectTransition {
|
|
43
|
-
resolution: vec2f,
|
|
44
|
-
progress: f32,
|
|
45
|
-
}
|
|
46
|
-
@group(0) @binding(0) var<uniform> globals: ProjectTransition;
|
|
47
|
-
@group(0) @binding(1) var fromPicture: texture_2d<f32>;
|
|
48
|
-
@group(0) @binding(2) var toPicture: texture_2d<f32>;
|
|
49
|
-
@group(0) @binding(3) var pictureSampler: sampler;
|
|
50
|
-
struct ProjectVarying {
|
|
51
|
-
@builtin(position) position: vec4f,
|
|
52
|
-
@location(0) uv: vec2f,
|
|
53
|
-
}
|
|
54
|
-
@vertex
|
|
55
|
-
fn projectQuad(@builtin(vertex_index) corner: u32) -> ProjectVarying {
|
|
56
|
-
let uv = vec2f(f32(corner & 1u), f32(corner >> 1u));
|
|
57
|
-
return ProjectVarying(vec4f(uv.x * 2.0 - 1.0, 1.0 - uv.y * 2.0, 0.0, 1.0), uv);
|
|
58
|
-
}
|
|
59
|
-
fn sampleFrom(uv: vec2f) -> vec4f {
|
|
60
|
-
return textureSampleLevel(fromPicture, pictureSampler, saturate(uv), 0.0);
|
|
61
|
-
}
|
|
62
|
-
fn sampleTo(uv: vec2f) -> vec4f {
|
|
63
|
-
return textureSampleLevel(toPicture, pictureSampler, saturate(uv), 0.0);
|
|
64
|
-
}
|
|
65
|
-
`},ao=e=>io[e].split(`
|
|
66
|
-
`).length-1,oo=`projectQuad`,so=`main`,co=(e,t=`paint`)=>io[t]+e,lo={f32:1,vec2f:2,vec3f:3,vec4f:4,"vec2<f32>":2,"vec3<f32>":3,"vec4<f32>":4},uo=/((?:@\w+\s*\(\s*\d+\s*\)\s*)+)var\s*<\s*uniform\s*>\s*([A-Za-z_]\w*)\s*:\s*([^;=]+?)\s*;/g,fo=/@(\w+)\s*\(\s*(\d+)\s*\)/g;function po(e){let t=e.replace(/\/\*[\s\S]*?\*\//g,``).replace(/\/\/[^\n]*/g,``),n=[];for(let[,e,r,i]of t.matchAll(uo)){let t=Object.fromEntries([...e.matchAll(fo)].map(([,e,t])=>[e,Number(t)]));if(t.group!==1||t.binding===void 0)continue;let a=i.replace(/\s+/g,``);n.push({name:r,binding:t.binding,type:a,floats:lo[a]})}return n.toSorted((e,t)=>e.binding-t.binding)}function mo(e,t,n){let r=Array.from({length:t},()=>0);if(typeof e==`number`)return Number.isFinite(e)?(r[0]=e,r):void 0;if(typeof e==`string`){let i=Sr(e),a=i?[i[0],i[1],i[2]]:n?.(e);return a?([a[0]/255,a[1]/255,a[2]/255,1].slice(0,t).forEach((e,t)=>r[t]=e),r):void 0}if(Array.isArray(e)&&e.every(e=>typeof e==`number`&&Number.isFinite(e)))return e.slice(0,t).forEach((e,t)=>r[t]=e),r}function ho(e,t=`paint`){let n=e.lineNum-ao(t);return n>0?`WGSL ${n}:${e.linePos} ${e.message}`:`WGSL ${e.message}`}var go=2;function _o(e,t=`paint`){let n=t===`transition`?2:1;return[{entries:[{binding:0,visibility:go,buffer:{type:`uniform`}},...Array.from({length:n},(e,t)=>({binding:1+t,visibility:go,texture:{sampleType:`float`}})),{binding:1+n,visibility:go,sampler:{type:`filtering`}}]},{entries:e.map(e=>({binding:e.binding,visibility:go,buffer:{type:`uniform`}}))}]}var vo=72,yo=22,bo;function xo(){return bo??=(async()=>{let e=globalThis.navigator?.gpu,t=e?await e.requestAdapter():null;if(!t)return console.error(`<shaderPaint>: no WebGPU adapter here; shaders draw their picture unshaded`),null;let n=await t.requestDevice();return n.lost.then(()=>{bo=void 0,To.clear(),Oo=void 0}),n})(),bo}var So=new Set;function Co(e){return So.add(e),()=>So.delete(e)}var wo=32,To=new Map;async function Eo(e,t,n){let r=await xo();if(!r)return;let i=r.createShaderModule({code:co(e,t)}),a=(await i.getCompilationInfo()).messages.filter(e=>e.type===`error`);if(a.length){n.push(...a.map(e=>ho(e,t)));return}let o=po(e);r.pushErrorScope(`validation`);let[s,c]=_o(o,t).map(e=>r.createBindGroupLayout(e)),l=await r.createRenderPipelineAsync({layout:r.createPipelineLayout({bindGroupLayouts:[s,c]}),vertex:{module:i,entryPoint:oo},fragment:{module:i,entryPoint:so,targets:[{format:navigator.gpu.getPreferredCanvasFormat()}]},primitive:{topology:`triangle-strip`}}).catch(e=>{n.push(`WGSL ${e instanceof Error?e.message:String(e)}`)}),u=await r.popErrorScope();if(u&&!n.length&&n.push(`WGSL ${u.message}`),!l||n.length)return;let d=r.createBuffer({size:Math.max(1,o.length)*256,usage:vo});return{device:r,pipeline:l,decls:o,uniforms:d,group:r.createBindGroup({layout:c,entries:o.map((e,t)=>({binding:e.binding,resource:{buffer:d,offset:t*256,size:256}}))})}}function Do(e,t=`paint`){let n=`${t}\n${e}`,r=To.get(n);if(r)return r;let i=[],a={wgsl:e,kind:t,errors:i,gpu:void 0,ready:Promise.resolve()};if(a.ready=Eo(e,t,i).then(e=>{if(a.gpu=e,e)for(let e of So)e()}).catch(e=>{i.push(`WGSL ${e instanceof Error?e.message:String(e)}`)}).finally(()=>{i.length&&console.error(`${t===`paint`?`<shaderPaint>`:`transition`} compile failed:\n${i.join(`
|
|
67
|
-
`)}`)}),To.set(n,a),To.size>wo){let[e,t]=To.entries().next().value;To.delete(e),t.ready.then(()=>t.gpu?.uniforms.destroy())}return a}var Oo;function ko(e){if(Oo?.device===e)return Oo;let t=new OffscreenCanvas(1,1),n=t.getContext(`webgpu`);if(n)return n.configure({device:e,format:navigator.gpu.getPreferredCanvasFormat(),alphaMode:`premultiplied`}),Oo={device:e,canvas:t,context:n,globals:e.createBuffer({size:32,usage:vo}),sampler:e.createSampler({magFilter:`linear`,minFilter:`linear`}),layout:e.createBindGroupLayout(_o([])[0]),picture:void 0,crossing:void 0},Oo}function Ao(e,t,n){let r=e.picture?.texture;if(r&&r.width===t&&r.height===n)return e.picture.group;r?.destroy();let i=e.device.createTexture({size:[t,n],format:`rgba8unorm`,usage:yo}),a=e.device.createBindGroup({layout:e.layout,entries:[{binding:0,resource:{buffer:e.globals}},{binding:1,resource:i.createView()},{binding:2,resource:e.sampler}]});return e.picture={texture:i,group:a},a}var jo=new Map,Mo;function No(e){if(jo.has(e))return jo.get(e);Mo??=typeof OffscreenCanvas>`u`?null:new OffscreenCanvas(1,1).getContext(`2d`);let t;if(Mo){Mo.fillStyle=`#000000`,Mo.fillStyle=e;let n=Mo.fillStyle;Mo.fillStyle=`#ffffff`,Mo.fillStyle=e;let r=n===Mo.fillStyle?Sr(String(n)):void 0;r&&(t=[r[0],r[1],r[2]])}return jo.set(e,t),t}function Po(e,t){let n=new Float32Array(Math.max(1,e.length)*256/4);return e.forEach((e,r)=>{let i=t?.[e.name],a=i===void 0||e.floats===void 0?void 0:mo(i,e.floats,No);a&&n.set(a,r*256/4)}),n}function Fo(e,t,n,r){let{box:i,picture:a}=n,o=t.device.queue,[s,c,l,u]=a?.placed??[0,0,i.width,i.height],d=1/(i.width||1),f=1/(i.height||1);o.writeBuffer(e.globals,0,new Float32Array([i.width,i.height,s*d,c*f,l*d,u*f,n.time,0])),o.writeBuffer(t.uniforms,0,Po(t.decls,n.uniforms));let p=e=>Math.min(r,Math.max(1,Math.round(e))),m=Ao(e,a?p(a.width):1,a?p(a.height):1),h=e.picture.texture;return a?o.copyExternalImageToTexture({source:a.image},{texture:h,premultipliedAlpha:!0},[h.width,h.height]):o.writeTexture({texture:h},new Uint8Array(4),{bytesPerRow:4},[1,1]),m}function Io(e,t,n,r,i){e.canvas.width!==r&&(e.canvas.width=r),e.canvas.height!==i&&(e.canvas.height=i);let a=t.device.createCommandEncoder(),o=e.context.getCurrentTexture().createView(),s=a.beginRenderPass({colorAttachments:[{view:o,loadOp:`clear`,clearValue:[0,0,0,0],storeOp:`store`}]});s.setPipeline(t.pipeline),s.setBindGroup(0,n),s.setBindGroup(1,t.group),s.draw(4),s.end(),t.device.queue.submit([a.finish()])}function Lo(e,t,n){let r=t.gpu,i=r&&ko(r.device);if(!r||!i)return!1;let a=r.device.limits.maxTextureDimension2D;return Io(i,r,Fo(i,r,n,a),Math.min(a,Math.max(1,Math.round(n.pixels.width))),Math.min(a,Math.max(1,Math.round(n.pixels.height)))),e.drawImage(i.canvas,0,0,n.box.width,n.box.height),!0}function Ro(e,t,n){let r=e.crossing;if(r&&r.from.width===t&&r.from.height===n)return r.group;r?.from.destroy(),r?.to.destroy();let i=()=>e.device.createTexture({size:[t,n],format:`rgba8unorm`,usage:yo}),[a,o]=[i(),i()],s=e.device.createBindGroup({layout:e.device.createBindGroupLayout(_o([],`transition`)[0]),entries:[{binding:0,resource:{buffer:e.globals}},{binding:1,resource:a.createView()},{binding:2,resource:o.createView()},{binding:3,resource:e.sampler}]});return e.crossing={from:a,to:o,group:s},s}function zo(e,t,n){let r=t.gpu,i=r&&ko(r.device);if(!r||!i)return!1;let{x:a,y:o,width:s,height:c}=n.region,l=Ro(i,s,c),u=r.device.queue;u.writeBuffer(i.globals,0,new Float32Array([n.box.width,n.box.height,n.progress,0,0,0,0,0])),u.writeBuffer(r.uniforms,0,Po(r.decls,n.uniforms));for(let[e,t]of[[n.from,i.crossing.from],[n.to,i.crossing.to]])u.copyExternalImageToTexture({source:e,origin:[a,o]},{texture:t,premultipliedAlpha:!0},[s,c]);return Io(i,r,l,s,c),e.drawImage(i.canvas,a,o),!0}var Bo=e=>{let t=e.get(nn)?.wgsl;return typeof t==`string`&&t.trim()?t:void 0};function Vo(e){let t=e.get(j).tag;if(t!==`video`&&t!==`image`)return;let n=G(e)[0];if(n&&n.get(j).tag===`shaderPaint`&&n.get(V).active)return Bo(n)?n:void 0}function Ho(e,t){let[n,r,i,a]=e.matrix;return{width:e.width*Math.hypot(n,r)*t,height:e.height*Math.hypot(i,a)*t}}function Uo(e,t,n,r,i){let a=Do(Bo(n)),o=t.get(V),s={box:{width:o.width,height:o.height},pixels:Ho(o,i),time:o.local,uniforms:n.get(nn).uniforms,...r?{picture:r}:{}};e.save();try{return e.globalAlpha=n.get(V).opacity,Lo(e,a,s)}finally{e.restore()}}function Wo(e,t,n){let r=K(t);if(!r||!Bo(t)||Vo(r)===t)return;let i=r.get(V),a=Number(Z(r,`cornerRadius`)??0);e.save();try{a>0&&(e.beginPath(),e.roundRect(0,0,i.width,i.height,Math.min(a,i.width/2,i.height/2)),e.clip()),Uo(e,r,t,void 0,n)}finally{e.restore()}}function Go(e){let t=[];for(let n of e.query(nn,V)){let e=Bo(n);e&&n.get(V).active&&t.push(Do(e).ready)}for(let n of e.query(Bn))for(let e of n.get(Bn).active)e.wgsl&&t.push(Do(e.wgsl,`transition`).ready);return t}function Ko(e,t,n,r){let i=Fr(t.cells,n);e.textBaseline=`alphabetic`,e.textAlign=`left`;for(let n of t.lines)for(let a of n.pieces){let{style:o}=a;fi(e,o),e.fillStyle=Qr(e,o.fill,t.bounds,ei);let s=a.from;for(;s<a.to;){if(!i[s]){s++;continue}let c=s+1;for(;c<a.to&&i[c];)c++;let l=s===a.from?0:e.measureText(ui(t.cells.slice(a.from,s).join(``),o.textCase)).width,u=ui(i.slice(s,c).join(``),o.textCase),d=a.x+l;r&&(e.save(),e.strokeStyle=r.color,e.lineWidth=r.width*2,e.lineJoin=`round`,e.strokeText(u,d,n.baseline),e.restore()),e.fillText(u,d,n.baseline),s=c}}}var qo=new Set([`rect`,`text`,`image`,`video`,`captions`,`html`,`surface`]),Jo=64;function Yo(e,t,n){let[r,i,a,o,s,c]=e,[l,u,d,f]=t,p=1/0,m=1/0,h=-1/0,g=-1/0;for(let[e,t]of[[l,u],[d,u],[l,f],[d,f]]){let n=r*e+a*t+s,l=i*e+o*t+c;p=Math.min(p,n),m=Math.min(m,l),h=Math.max(h,n),g=Math.max(g,l)}return h<n[0]-Jo||p>n[2]+Jo||g<n[1]-Jo||m>n[3]+Jo}function Xo(e,t){let n=t.facts;if(!n||n.timestamps.length===0)return-1;let r=Math.max(0,n.timestamps[0]);return _r(n.timestamps,r+e.get(V).mediaTime,n.fps)}function Zo(e){return e.query(I,V).filter(e=>e.get(V).active&&e.get(I).src)}async function Qo(e,t){let n=[];for(let r of Zo(e)){let{src:e}=r.get(I);if(r.get(j).tag===`video`){let i=t.video(e);n.push(i.ready.then(()=>{let e=Xo(r,i);return e>=0?i.request(e):void 0}))}else r.get(j).tag===`image`&&n.push(t.image(e).ready)}for(let r of e.query(Qt,V)){if(!r.get(V).active)continue;let e=Z(r,`mask`)?.src;e&&n.push(t.matte(e).ready);for(let e of oa(r))e.mask?.src&&n.push(t.matte(e.mask.src).ready)}for(let r of e.query(L,V)){let e=r.get(L).src;e&&r.get(V).active&&n.push(t.transcript(e).ready)}for(let t of e.query(B,V))t.get(V).active&&t.get(j).tag===`html`&&n.push(ga(t));n.push(...Go(e)),await Promise.all(n)}function $o(e,t,n,r){e.beginPath(),r>0?e.roundRect(0,0,t,n,Math.min(r,t/2,n/2)):e.rect(0,0,t,n)}function es(e,t,n,r,i,a,o){if(n<=0||r<=0||i<=0||a<=0)return;if(o===`fill`){e.drawImage(t,0,0,i,a);return}let s=o===`cover`?Math.max(i/n,a/r):Math.min(i/n,a/r),c=n*s,l=r*s;if(o===`cover`){e.save(),e.beginPath(),e.rect(0,0,i,a),e.clip(),e.drawImage(t,(i-c)/2,(a-l)/2,c,l),e.restore();return}e.drawImage(t,(i-c)/2,(a-l)/2,c,l)}function ts(e,t,n,r,i,a,o){let s=t.get(V),c=Vo(t);c&&Uo(e,t,c,{image:n,width:r,height:i,placed:ps(r,i,s.width,s.height,a)},o.scale??1)||es(e,n,r,i,s.width,s.height,a)}function ns(e,t,n){let r=Ti(t,Z);if(!r)return;let i=t.get(tn),a=i&&(i.enter||i.exit)?Ur(Br(i.enter),Br(i.exit),n.local,n.length,n.fps):null,o=Z(t,`stroke`),s=Number(Z(t,`strokeWidth`)??0);Ko(e,r,a,o&&s>0?{color:o,width:s}:null)}function rs(e,t){let n=t.view?Ii(t.view,e):e,r=t.scale??1;return[n[0]*r,n[1]*r,n[2]*r,n[3]*r,n[4]*r-(t.origin?.x??0)*r,n[5]*r-(t.origin?.y??0)*r]}function is(e,t,n,r,i){try{as(e,t,n,r,i)}catch(e){throw to(e,t.get(j).key)}}function as(e,t,n,r,i){let a=t.get(V);if(!a.active)return;let{tag:o}=t.get(j),s=rs(a.matrix,r);if(!(r.visible&&qo.has(o)&&Yo(s,a.bounds,r.visible))){if(e.setTransform(...s),e.globalAlpha=a.opacity,o!==`scene`&&ss(t)){us(e,t,n,r,s,Math.hypot(s[0],s[1]));return}if(o!==`scene`&&ys(t)){e.save();try{bs(e,t,n,r,Math.hypot(s[0],s[1]))}finally{e.restore()}return}Ss(e,t,n,r,i,!1)}}var os=e=>Z(e,`blend`)??`normal`;function ss(e){return os(e)!==`normal`||Z(e,`mask`)!==void 0||oa(e).length>0}var cs=[],Q=0;function ls(e){let{width:t,height:n}=e.canvas,r=cs[Q];(!r||r.width!==t||r.height!==n)&&(r=new OffscreenCanvas(t,n),cs[Q]=r),Q++;let i=e.getContextAttributes?.()?.colorType??`unorm8`,a=r.getContext(`2d`,{colorType:i});return a.setTransform(1,0,0,1,0,0),a.globalAlpha=1,a.globalCompositeOperation=`source-over`,a.filter=`none`,a.clearRect(0,0,t,n),a}function us(e,t,n,r,i,a){let o=ls(e);try{o.setTransform(...i),o.globalAlpha=t.get(V).opacity,o.save(),ys(t)?bs(o,t,n,r,a):Ss(o,t,n,r,!1,!1),o.restore();let s=ds(t);s&&hs(o,t,s,n,r,i,a);let c=_s(o,t,oa(t),n,r,i,a);e.save(),e.setTransform(1,0,0,1,0,0),e.globalAlpha=1;let l=os(t);e.globalCompositeOperation=l===`normal`?`source-over`:l,e.filter=c,e.drawImage(o.canvas,0,0),e.restore()}finally{Q--}}var $=(e,t)=>typeof e==`number`&&Number.isFinite(e)?e:t;function ds(e,t=Z(e,`mask`),n=!0){if(!t)return null;if(t.src)return{shape:`matte`,src:t.src,feather:Math.max(0,$(t.feather,0)),invert:t.invert===!0};let r=e.get(V),[i,a,o,s]=r.bounds,c=n?r.animated:{};return{shape:t.shape??`rectangle`,x:$(c.maskX,$(t.x,(i+o)/2)),y:$(c.maskY,$(t.y,(a+s)/2)),width:Math.max(0,$(c.maskWidth,$(t.width,o-i))),height:Math.max(0,$(c.maskHeight,$(t.height,s-a))),rotation:$(t.rotation,0),cornerRadius:Math.max(0,$(t.cornerRadius,0)),feather:Math.max(0,$(t.feather,0)),invert:t.invert===!0,d:t.d}}function fs(e,t,n,r){e.save(),e.setTransform(...n),e.globalAlpha=1,e.globalCompositeOperation=t.invert?`destination-out`:`destination-in`,t.feather>0&&(e.filter=`blur(${t.feather*r}px)`),e.translate(t.x,t.y),e.rotate(t.rotation*Math.PI/180),e.fillStyle=`#000000`,t.shape===`path`?e.fill(new Path2D(t.d??``)):(e.beginPath(),t.shape===`ellipse`?e.ellipse(0,0,t.width/2,t.height/2,0,0,Math.PI*2):e.roundRect(-t.width/2,-t.height/2,t.width,t.height,Math.min(t.cornerRadius,t.width/2,t.height/2)),e.fill()),e.restore()}function ps(e,t,n,r,i){if(i===`fill`||e<=0||t<=0)return[0,0,n,r];let a=i===`cover`?Math.max(n/e,r/t):Math.min(n/e,r/t);return[(n-e*a)/2,(r-t*a)/2,e*a,t*a]}function ms(e,t,n,r,i,a,o){let s=r.matte(n.src),c=s.file;if(!c&&i.mode===`capture`)throw Error(`${n.src}: mask was not loaded before capture`);let l=t.get(V),{tag:u}=t.get(j),d=c?s.frame(c.indexAt(u===`video`?l.mediaTime:c.header.start+l.local)):void 0;if(e.save(),!d){n.invert||(e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,e.canvas.width,e.canvas.height)),e.restore();return}let f=u===`video`?t.get(I).fit??`cover`:u===`image`?t.get(I).fit??`contain`:`fill`,[p,m]=c.header.source;e.setTransform(...a),e.globalAlpha=1,e.globalCompositeOperation=n.invert?`destination-out`:`destination-in`,n.feather>0&&(e.filter=`blur(${n.feather*o}px)`),e.drawImage(d,...ps(p,m,l.width,l.height,f)),e.restore()}function hs(e,t,n,r,i,a,o){n.shape===`matte`?ms(e,t,n,r,i,a,o):fs(e,n,a,o)}function gs(e,t){let n=ls(e);try{n.filter=t,n.drawImage(e.canvas,0,0),e.save(),e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,e.canvas.width,e.canvas.height),e.drawImage(n.canvas,0,0),e.restore()}finally{Q--}}function _s(e,t,n,r,i,a,o){let s=[];for(let c of n){let n=aa(c,o),l=c.mask?ds(t,c.mask,!1):null;if(!l){n&&s.push(n);continue}if(s.length&&gs(e,s.join(` `)),s=[],c.type===`opacity`){hs(e,t,l,r,i,a,o),n&&s.push(n);continue}let u=ls(e);try{u.filter=n,u.drawImage(e.canvas,0,0),u.filter=`none`,hs(u,t,l,r,i,a,o),hs(e,t,{...l,invert:!l.invert},r,i,a,o),e.save(),e.setTransform(1,0,0,1,0,0),e.globalAlpha=1,e.globalCompositeOperation=`lighter`,e.drawImage(u.canvas,0,0),e.restore()}finally{Q--}}return s.length?s.join(` `):`none`}var vs=[`blur`,`shadowBlur`,`shadowOffsetX`,`shadowOffsetY`,`strokeWidth`];function ys(e){let t=e.get(Zt);if(t&&Object.entries(t).some(([e,t])=>e!==`effects`&&t!==void 0))return!0;let n=e.get(V);return n.motion.blur>0||vs.some(e=>n.animated[e]!==void 0)}function bs(e,t,n,r,i){let a=Number(Z(t,`blur`)??0)+t.get(V).motion.blur;a>0&&(e.filter=`blur(${a*i}px)`);let o=Z(t,`shadowColor`);o&&(e.shadowColor=o,e.shadowBlur=Number(Z(t,`shadowBlur`)??0)*i,e.shadowOffsetX=Number(Z(t,`shadowOffsetX`)??0)*i,e.shadowOffsetY=Number(Z(t,`shadowOffsetY`)??0)*i),Ss(e,t,n,r,!1,Z(t,`clip`)===!0)}function xs(e,t,n,r){let i=Number(Z(t,`cornerRadius`)??0);if(!(i>0))return r();e.save(),$o(e,n.width,n.height,i),e.clip(),r(),e.restore()}function Ss(e,t,n,r,i,a){let o=t.get(V),{tag:s}=t.get(j);switch(s){case`scene`:{let a=t.get(R),s=t.get(P)?.fill??(i?`#000000`:void 0);e.save(),i||(e.beginPath(),e.rect(0,0,a?.width??o.width,a?.height??o.height),e.clip()),s&&(e.fillStyle=Qr(e,s,[0,0,o.width,o.height],`#000000`),e.fillRect(0,0,o.width,o.height));for(let i of G(t))is(e,i,n,r,!1);e.restore();return}case`rect`:{e.fillStyle=Qr(e,Z(t,`fill`),[0,0,o.width,o.height],`#ffffff`),$o(e,o.width,o.height,Number(Z(t,`cornerRadius`)??0)),e.fill();let n=Z(t,`stroke`),r=Number(Z(t,`strokeWidth`)??0);n&&r>0&&(e.strokeStyle=n,e.lineWidth=r,e.stroke());break}case`text`:ns(e,t,o);break;case`image`:{let i=t.get(I)?.src,a=i?n.image(i):void 0;a?.bitmap&&xs(e,t,o,()=>ts(e,t,a.bitmap,a.width,a.height,t.get(I).fit??`contain`,r));break}case`sequence`:Cs(e,t,n,r);return;case`surface`:xs(e,t,o,()=>ro(e,t.get(B).canvas,o.width,o.height));break;case`html`:xs(e,t,o,()=>Qa(e,t,(r.scale??1)*Math.hypot(o.matrix[0],o.matrix[1]),r.mode));break;case`video`:{let i=t.get(I)?.src,a=i?n.video(i):void 0,s=a?.facts;if(a&&s){let n=Xo(t,a),c=t.get(I).fit??`cover`;if(r.mode!==`capture`&&a.fit){let e=(r.scale??1)*Math.hypot(o.matrix[0],o.matrix[1]),t=c===`fill`?o.height:s.height*(c===`cover`?Math.max(o.width/s.width,o.height/s.height):Math.min(o.width/s.width,o.height/s.height));a.fit(t*e)}let l=r.mode===`capture`?a.exact(n):a.peek(n);if(r.mode===`capture`&&!l)throw Error(`${i}: frame ${n} was not decoded before capture`);l&&xs(e,t,o,()=>ts(e,t,l,s.width,s.height,c,r))}break}case`captions`:{let i=t.get(L),a=i.src?n.transcript(i.src).transcript:void 0;if(r.mode===`capture`&&i.src&&!a)throw Error(`${i.src}: transcript was not loaded before capture`);let s=(r.scale??1)*Math.hypot(o.matrix[0],o.matrix[1]);a&&hr(e,a,o.mediaTime,gr(e=>Z(t,e),i.preset,i.colors),o,s);break}case`shaderPaint`:Wo(e,t,r.scale??1)}a&&(e.beginPath(),$o(e,o.width,o.height,Number(Z(t,`cornerRadius`)??0)),e.clip());for(let i of G(t))is(e,i,n,r,!1)}function Cs(e,t,n,r){let i=t.get(Bn)?.active??[],a;for(let o of G(t)){if(o===a)continue;let s=i.find(e=>e.left===o);if(!s){is(e,o,n,r,!1);continue}Is(e,t,s,n,r),a=s.right}}var ws=(e,t)=>Math.trunc((1-e)**2*t),Ts=e=>e<=0?0:e>=1?1:e<.5?2**(20*e-10)/2:(2-2**(10-20*e))/2,Es=(e,t,n)=>{let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)},Ds=(e,t)=>[1,0,0,1,e,t],Os=(e,{width:t,height:n})=>[e,0,0,e,(1-e)*t/2,(1-e)*n/2],ks={left:[-1,0],right:[1,0],up:[0,-1],down:[0,1]},As=3,js=12;function Ms(e,t){let n=Math.imul(e+1,668265261)^Math.imul(t+1,374761393);return n=Math.imul(n^n>>>15,2246822507),n^=n>>>13,(n>>>0)/4294967296}function Ns(e,{width:t,height:n}){let r=Math.max(1,Math.round(Math.min(t,n)/js)),i=[];for(let a=0;a*r<n;a++)for(let n=0;n*r<t;n++)Ms(n,a)<e&&i.push([n*r,a*r,r,r]);return i}function Ps(e,{left:t,right:n,progress:r}){let i=r>=.5;return{direct:[{clip:i?n:t}],wash:{color:e,alpha:i?2*(1-r):2*r}}}var Fs={dissolve:({left:e,right:t,progress:n})=>({direct:[{clip:e}],layer:{clip:t,alpha:n}}),slideFromRight:({left:e,right:t,progress:n},r)=>({direct:[{clip:e},{clip:t,push:ws(n,r.width)}]}),slideFromLeft:({left:e,right:t,progress:n},r)=>({direct:[{clip:e},{clip:t,push:-ws(n,r.width)}]}),fadeToBlack:e=>Ps(`#000000`,e),fadeToWhite:e=>Ps(`#ffffff`,e),whipPan:({left:e,right:t,progress:n,direction:r},i)=>{let[a,o]=ks[r]??ks.left,s=Ts(n),c=e=>Ds(a*e*i.width,o*e*i.height);return{direct:[{clip:e,view:c(s)},{clip:t,view:c(s-1)}]}},zoomThrough:({left:e,right:t,progress:n},r)=>{let i=Ts(n);return{direct:[{clip:e,view:Os(As**i,r)}],layer:{clip:t,alpha:Es(.3,.7,n),view:Os(As**(i-1),r)}}},pixelDissolve:({left:e,right:t,progress:n},r)=>({direct:[{clip:e}],layer:{clip:t,alpha:1,reveal:Ns(n,r)}})};function Is(e,t,n,r,i){let a=t.get(V);if(n.wgsl&&Rs(e,a,n,r,i))return;let o=(Fs[n.type]??Fs.dissolve)(n,a),s=e=>{if(!e)return i;let t=Ii(Ii(a.matrix,e),Li(a.matrix));return{...i,view:i.view?Ii(i.view,t):t}};for(let{clip:t,push:n,view:c}of o.direct)is(e,t,r,n?{...i,origin:{x:(i.origin?.x??0)-a.matrix[0]*n,y:(i.origin?.y??0)-a.matrix[1]*n}}:s(c),!1);if(o.layer){let t=ls(e);try{if(is(t,o.layer.clip,r,s(o.layer.view),!1),e.save(),o.layer.reveal){e.setTransform(...rs(a.matrix,i)),e.beginPath();for(let[t,n,r,i]of o.layer.reveal)e.rect(t,n,r,i);e.clip()}e.setTransform(1,0,0,1,0,0),e.globalAlpha=o.layer.alpha,e.globalCompositeOperation=`source-over`,e.drawImage(t.canvas,0,0),e.restore()}finally{Q--}}o.wash&&(e.save(),e.setTransform(...rs(a.matrix,i)),e.globalAlpha=o.wash.alpha,e.globalCompositeOperation=`source-over`,e.fillStyle=o.wash.color,e.fillRect(0,0,a.width,a.height),e.restore())}function Ls(e,t,{width:n,height:r}){let i=[t[4],t[0]*n+t[4],t[2]*r+t[4],t[0]*n+t[2]*r+t[4]],a=[t[5],t[1]*n+t[5],t[3]*r+t[5],t[1]*n+t[3]*r+t[5]],o=Math.max(0,Math.floor(Math.min(...i))),s=Math.max(0,Math.floor(Math.min(...a)));return{x:o,y:s,width:Math.max(0,Math.min(e.canvas.width,Math.ceil(Math.max(...i)))-o),height:Math.max(0,Math.min(e.canvas.height,Math.ceil(Math.max(...a)))-s)}}function Rs(e,t,n,r,i){let a=Do(n.wgsl,`transition`);if(!a.gpu)return!1;let o=rs(t.matrix,i),s=Ls(e,o,t);if(!s.width||!s.height)return!0;let c=ls(e);try{is(c,n.left,r,i,!1);let l=ls(e);try{is(l,n.right,r,i,!1),e.save(),e.setTransform(...o),e.beginPath(),e.rect(0,0,t.width,t.height),e.clip(),e.setTransform(1,0,0,1,0,0),e.globalAlpha=1,e.globalCompositeOperation=`source-over`;let u=zo(e,a,{from:c.canvas,to:l.canvas,region:s,box:{width:t.width,height:t.height},progress:n.progress,uniforms:n.uniforms});return e.restore(),u}finally{Q--}}finally{Q--}}var zs=e=>{let t=e.get(V);return!t.active&&t.local<0&&t.local>=-.6&&e.get(M)?.parent?.get(V)?.active===!0};function Bs(e,t){for(let t of e.query(B,V,j))t.get(j).tag===`html`&&zs(t)&&Ha(t);for(let n of e.query(I,V,j)){if(n.get(j).tag!==`video`||!zs(n))continue;let e=n.get(V),r=n.get(I).src,i=r?t.video(r):void 0,a=i?.facts;if(!i?.warm||!a?.timestamps.length)continue;let o=e.mediaTime-e.local*Hi(n);i.warm(_r(a.timestamps,Math.max(0,a.timestamps[0])+o,a.fps))}}function Vs(e,t,n,r,i){i.mode===`live`&&Bs(t,r);let a=i.scale??1;e.setTransform(1,0,0,1,0,0),e.globalAlpha=1,e.clearRect(0,0,i.origin?e.canvas.width:n.width*a,i.origin?e.canvas.height:n.height*a);let o=Zn(t);o&&(G(o).forEach(t=>is(e,t,r,i,!0)),e.setTransform(1,0,0,1,0,0),e.globalAlpha=1)}var Hs={easeIn:[.42,0,1,1],easeOut:[0,0,.58,1],easeInOut:[.42,0,.58,1]};function Us(e){if(e===void 0||e===`linear`)return{kind:`linear`};if(e===`step`)return{kind:`hold`};let t=Hs[e];if(t)return{kind:`cubic-bezier`,x1:t[0],y1:t[1],x2:t[2],y2:t[3]};let n=/^cubicBezier\(([^)]*)\)$/.exec(e)?.[1].split(`,`).map(e=>Number(e.trim()))??[];return{kind:`cubic-bezier`,x1:n[0]??0,y1:n[1]??0,x2:n[2]??1,y2:n[3]??1}}function Ws(e){if(e.kind===`linear`)return`linear`;if(e.kind===`hold`)return`step`;if(e.kind===`cubic-bezier`){for(let[t,n]of Object.entries(Hs))if(n[0]===e.x1&&n[1]===e.y1&&n[2]===e.x2&&n[3]===e.y2)return t;return`cubicBezier(${e.x1}, ${e.y1}, ${e.x2}, ${e.y2})`}return{refused:`${e.kind} easing`}}var Gs={blur:`layer-blur`,hueRotate:`hue-rotate`,brightness:`brightness`,contrast:`contrast`,grayscale:`grayscale`,invert:`invert`,saturate:`saturate`,sepia:`sepia`,opacity:`opacity`},Ks=Object.fromEntries(Object.entries(Gs).map(([e,t])=>[t,e])),qs=new Set(Object.values(Gs)),Js=(e,t)=>`${e}:fx:${t}`,Ys=e=>Math.round(e*1e3)/1e3;function Xs(e,t,n){let r=[],i=[];return Array.isArray(t)&&t.forEach((t,a)=>{let o=Js(e,a),s=t.mask?{value:t.value,mask:t.mask}:{value:t.value};r.push({id:o,kind:Gs[t.type]??String(t.type),enabled:t.hidden!==!0,params:s});let c=t.animate?.value;Array.isArray(c)&&c.length!==0&&i.push({id:`${o}:value`,property:`effectParam`,effectId:o,effectParam:`value`,gradientStopIndex:null,keyframes:c.map((e,t)=>({id:`${o}:value:${t}`,time:U(e[0],n)??0,value:e[1],easing:Us(e[2])}))})}),{effects:r,tracks:i}}function Zs(e,t){return e.keyframes.map(e=>{let n=Ws(e.easing);if(typeof n==`object`)return t(n.refused);let r=typeof e.value==`number`?Ys(e.value):e.value;return n===`linear`?[Ys(e.time),r]:[Ys(e.time),r,n]})}function Qs(e,t){return e.effects.length===0?null:e.effects.map(n=>{let r=Ks[n.kind.replace(/^fable\./,``)];if(!r)return t(`${n.kind} effect`);let i=n.params.value;if(typeof i!=`number`||!Number.isFinite(i))return t(`${n.kind} effect without a value`);let a={type:r,value:Ys(i)},o=e.animations.find(e=>e.property===`effectParam`&&e.effectId===n.id);return o&&(o.effectParam!==`value`&&t(`${o.effectParam} of an effect`),o.keyframes.length&&(a.animate={value:Zs(o,t)})),n.params.mask&&(a.mask=n.params.mask),n.enabled||(a.hidden=!0),a})}function $s(e,t,n){let r=Qs(e,n),i=Qs(t,n);return JSON.stringify(r)===JSON.stringify(i)?[]:r&&i&&r.length===i.length&&r.every((e,t)=>JSON.stringify({...e,value:0})===JSON.stringify({...i[t],value:0}))?i.flatMap((e,t)=>e.value===r[t].value?[]:[{op:`set-prop`,name:`effects.${t}.value`,value:e.value}]):[{op:`set-prop`,name:`effects`,value:i}]}var ec=e=>e.animations.filter(e=>e.effectId===null);function tc(e,t){return Yr(e)?{type:`gradient`,gradientKind:e.type,angle:typeof e.rotation==`number`?e.rotation:0,stops:e.stops.map(e=>({offset:e.offset,color:e.color,opacity:typeof e.opacity==`number`?e.opacity:1}))}:{type:`solid`,color:typeof e==`string`?e:t}}function nc(e,t){if(e.type===`solid`)return e.color;if(e.type!==`gradient`)return t(`${e.type} fill`);let n={type:e.gradientKind};return e.gradientKind===`linear`&&e.angle&&(n.rotation=Ys(e.angle)),n.stops=e.stops.map(e=>({offset:Ys(e.offset),color:e.color,...e.opacity===1?{}:{opacity:Ys(e.opacity)}})),n}export{Vn as $,Y as A,sr as B,Wi as C,ee as Ct,Ri as D,Hi as E,Br as F,Xn as G,Yn as H,Or as I,$n as J,er as K,vr as L,Ei as M,Rr as N,J as O,Lr as P,Un as Q,_r as R,ea as S,dn as St,Ui as T,G as U,Kn as V,qn as W,Rn as X,Jn as Y,zn as Z,sa as _,j as _t,ec as a,jn as at,na as b,$t as bt,Us as c,Cn as ct,Qo as d,L as dt,Pn as et,Co as f,V as ft,ua as g,I as gt,da as h,en as ht,nc as i,Fn as it,Ai as j,Vi as k,Ws as l,Tn as lt,no as m,M as mt,$s as n,Mn as nt,Xs as o,On as ot,eo as p,an as pt,K as q,Qs as r,Ln as rt,tc as s,kn as st,qs as t,Nn as tt,Vs as u,U as ut,ba as v,R as vt,$i as w,l as wt,ra as x,N as xt,Ga as y,B as yt,cr as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-B-hcVAMW.js";import{_ as r}from"../editor-Csn2_T_e.js";var i=e(t(),1),a=n();function o(e,t,n){let i=r(e),a=!1,o=0,s=!1,c=0,l=0,u=1,d=()=>{if(a=!1,o=0,s)return;let r=Math.max(1,Math.round(c*u)),i=Math.max(1,Math.round(l*u));e.width!==r&&(e.width=r),e.height!==i&&(e.height=i),n(t,{width:c,height:l,dpr:u})},f=()=>{s||a||(a=!0,o=i.requestAnimationFrame(d))},p=()=>{if(s)return;let t=i.devicePixelRatio||1,n=e.clientWidth,r=e.clientHeight;(n!==c||r!==l||t!==u)&&(u=t,c=n,l=r,f())},m=new ResizeObserver(p);m.observe(e),p();let h=null,g=()=>{p(),_()},_=()=>{h=i.matchMedia(`(resolution: ${u}dppx)`),h.addEventListener(`change`,g,{once:!0})};return _(),{invalidate:f,dispose(){s=!0,o&&i.cancelAnimationFrame(o),m.disconnect(),h?.removeEventListener(`change`,g)}}}function s({draw:e,onPointerDown:t,onPointerMove:n,onPointerUp:r,onPointerCancel:s,onPointerEnter:c,onPointerLeave:l,onWheel:u,onContextMenu:d,className:f,invalidate:p,canvasRef:m}){let h=(0,i.useRef)(null),g=(0,i.useRef)(e);g.current=e;let _=(0,i.useRef)(u);_.current=u;let v=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=h.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n=o(e,t,(e,t)=>g.current(e,t)),r=n.invalidate,i=e=>_.current?.(e);return e.addEventListener(`wheel`,i,{passive:!1}),v.current=r,p&&(p.current=r),m&&(m.current=e),()=>{n.dispose(),e.removeEventListener(`wheel`,i),v.current=null,p&&(p.current=null),m&&(m.current=null)}},[p,m]),(0,i.useEffect)(()=>{v.current?.()}),(0,a.jsx)(`canvas`,{ref:h,className:f,style:{width:`100%`,height:`100%`,display:`block`},onPointerDown:t,onPointerMove:n,onPointerUp:r,onPointerCancel:s,onPointerEnter:c,onPointerLeave:l,onContextMenu:d})}var c={canvas:{variable:`--bg-canvas`,fallback:`#131416`},panel:{variable:`--bg-panel`,fallback:`#1c1e21`},elevated:{variable:`--hf-color-cool-250`,fallback:`#23262a`},accent:{variable:`--hf-color-lime-500`,fallback:`#d1fe17`},text:{variable:`--hf-color-text-primary`,fallback:`#ececec`},textMuted:{variable:`--hf-color-text-tertiary`,fallback:`#8a8a8a`},textPrimary:{variable:`--hf-color-text-primary`,fallback:`#ececec`},textTertiary:{variable:`--hf-color-text-tertiary`,fallback:`#8a8a8a`},borderDefault:{variable:`--hf-color-border-default`,fallback:`rgba(255, 255, 255, 0.1)`},error:{variable:`--hf-color-text-danger`,fallback:`#e5534b`},white:{variable:`--hf-color-palette-white`,fallback:`#ffffff`},scenePlaceholder:{variable:`--hf-color-background-tertiary`,fallback:`#242424`},inlineEditorBackground:{variable:`--hf-color-background-secondary-strong`,fallback:`#232323`},fontUi:{variable:`--hf-type-family-primary`,fallback:`Inter, system-ui, sans-serif`},fontMono:{variable:`--hf-type-family-mono`,fallback:`ui-monospace, 'SF Mono', Menlo, monospace`}},l=new WeakMap,u=e=>e.ownerDocument.defaultView?.getComputedStyle(e)??{getPropertyValue:()=>``};function d(e,t=u){if(t===u){let t=l.get(e);if(t)return t}let n=t(e),r=Object.fromEntries(Object.entries(c).map(([e,t])=>[e,n.getPropertyValue(t.variable).trim()||t.fallback]));return t===u&&l.set(e,r),r}export{s as n,d as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-B-hcVAMW.js";import{wr as r}from"./useOpenInteractionType-DbrQ6Ehu.js";import{t as i}from"./tabs-CvKQ-eas.js";import{S as a,b as o,t as s,y as c}from"../editor-Csn2_T_e.js";import{t as l}from"./button-CjG6GcgF.js";import{t as u}from"./IconCrossMedium-acfnCXOM.js";import{a as d,i as f,n as p,r as m}from"./export-dialog-4I4gqI5V.js";import{d as h,g}from"./components-e3ZbUVns.js";import{t as _}from"./IconCheckmark2Medium-daaES9uF.js";var v=e(t(),1),y=e=>{let t=v.useId();return v.createElement(C,{...e,instanceId:t})},b=0,x=typeof v.useId==`function`?void 0:class extends v.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++b}`})}render(){return v.createElement(C,{...this.props.iconProps,instanceId:this.state.instanceId})}},S=v.forwardRef((e,t)=>x?v.createElement(x,{iconProps:{...e,svgRef:t}}):v.createElement(y,{...e,svgRef:t}));S.displayName=`CentralIconBase`;var C=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,y=_===!0||_===`true`,b=o??n,x=l?l(h??p??`icon`):e;return v.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&v.createElement(`title`,null,b),g?v.createElement(v.Fragment,null,v.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},v.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),v.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),v.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):x)},ee=v.memo(v.forwardRef((e,t)=>v.createElement(S,{...e,ref:t,ariaLabel:`video-2, camera, movie, play`,maskId:`round-filled-radius-2-stroke-1.5-IconVideo2`},v.createElement(`path`,{d:`M14.75 4.5C16.2688 4.5 17.5 5.73122 17.5 7.25V16.75C17.5 18.2688 16.2688 19.5 14.75 19.5H4.75C3.23122 19.5 2 18.2688 2 16.75V7.25C2 5.73122 3.23122 4.5 4.75 4.5H14.75Z`,fill:`currentColor`}),v.createElement(`path`,{d:`M20.4434 7.21484C21.4284 6.82118 22.4998 7.54658 22.5 8.60742V15.3926C22.4998 16.4534 21.4284 17.1788 20.4434 16.7852L18.5 16.0078V7.99219L20.4434 7.21484Z`,fill:`currentColor`})))),te=e=>{let t=v.useId();return v.createElement(E,{...e,instanceId:t})},ne=0,w=typeof v.useId==`function`?void 0:class extends v.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++ne}`})}render(){return v.createElement(E,{...this.props.iconProps,instanceId:this.state.instanceId})}},T=v.forwardRef((e,t)=>w?v.createElement(w,{iconProps:{...e,svgRef:t}}):v.createElement(te,{...e,svgRef:t}));T.displayName=`CentralIconBase`;var E=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,y=_===!0||_===`true`,b=o??n,x=l?l(h??p??`icon`):e;return v.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&v.createElement(`title`,null,b),g?v.createElement(v.Fragment,null,v.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},v.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),v.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),v.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):x)},D=v.memo(v.forwardRef((e,t)=>v.createElement(T,{...e,ref:t,ariaLabel:`audio, music, playlist, musical-note`,maskId:`round-filled-radius-2-stroke-1.5-IconAudio`},v.createElement(`path`,{d:`M19.1835 3.83539C19.3432 3.78977 19.5022 3.90968 19.5022 4.07577V13.15C18.8575 12.7352 18.0658 12.5001 17.2522 12.5001C15.315 12.5001 13.5022 13.833 13.5022 15.7501C13.5022 17.6673 15.315 19.0001 17.2522 19.0001C19.1894 19.0001 21.0022 17.6673 21.0022 15.7501V4.07577C21.0022 2.91315 19.8894 2.07374 18.7715 2.39308L10.2693 4.82177C9.51801 5.03639 9 5.72309 9 6.50446V16.15C8.35535 15.7352 7.56365 15.5001 6.75 15.5001C4.81278 15.5001 3 16.833 3 18.7501C3 20.6673 4.81278 22.0001 6.75 22.0001C8.68722 22.0001 10.5 20.6673 10.5 18.7501V6.50446C10.5 6.39284 10.574 6.29474 10.6813 6.26408L19.1835 3.83539Z`,fill:`currentColor`})))),O=e=>{let t=v.useId();return v.createElement(M,{...e,instanceId:t})},k=0,A=typeof v.useId==`function`?void 0:class extends v.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++k}`})}render(){return v.createElement(M,{...this.props.iconProps,instanceId:this.state.instanceId})}},j=v.forwardRef((e,t)=>A?v.createElement(A,{iconProps:{...e,svgRef:t}}):v.createElement(O,{...e,svgRef:t}));j.displayName=`CentralIconBase`;var M=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,y=_===!0||_===`true`,b=o??n,x=l?l(h??p??`icon`):e;return v.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&v.createElement(`title`,null,b),g?v.createElement(v.Fragment,null,v.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},v.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),v.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),v.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):x)},re=v.memo(v.forwardRef((e,t)=>v.createElement(j,{...e,ref:t,ariaLabel:`sparkle-2, star, magic, ai`,maskId:`round-filled-radius-2-stroke-1.5-IconSparkle2`},v.createElement(`path`,{d:`M12.7368 2.60967C12.6694 2.25593 12.3601 2 12 2C11.6399 2 11.3306 2.25593 11.2632 2.60967C10.7844 5.12353 9.83969 7.03715 8.43842 8.43842C7.03715 9.83969 5.12353 10.7844 2.60967 11.2632C2.25593 11.3306 2 11.6399 2 12C2 12.3601 2.25593 12.6694 2.60967 12.7368C5.12353 13.2156 7.03715 14.1603 8.43842 15.5616C9.83969 16.9629 10.7844 18.8765 11.2632 21.3903C11.3306 21.7441 11.6399 22 12 22C12.3601 22 12.6694 21.7441 12.7368 21.3903C13.2156 18.8765 14.1603 16.9629 15.5616 15.5616C16.9629 14.1603 18.8765 13.2156 21.3903 12.7368C21.7441 12.6694 22 12.3601 22 12C22 11.6399 21.7441 11.3306 21.3903 11.2632C18.8765 10.7844 16.9629 9.83969 15.5616 8.43842C14.1603 7.03715 13.2156 5.12353 12.7368 2.60967Z`,fill:`currentColor`})))),ie=e=>{let t=v.useId();return v.createElement(F,{...e,instanceId:t})},ae=0,N=typeof v.useId==`function`?void 0:class extends v.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++ae}`})}render(){return v.createElement(F,{...this.props.iconProps,instanceId:this.state.instanceId})}},P=v.forwardRef((e,t)=>N?v.createElement(N,{iconProps:{...e,svgRef:t}}):v.createElement(ie,{...e,svgRef:t}));P.displayName=`CentralIconBase`;var F=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,y=_===!0||_===`true`,b=o??n,x=l?l(h??p??`icon`):e;return v.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&v.createElement(`title`,null,b),g?v.createElement(v.Fragment,null,v.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},v.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),v.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),v.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):x)},I=v.memo(v.forwardRef((e,t)=>v.createElement(P,{...e,ref:t,ariaLabel:`closed-captioning, cc`,maskId:`round-filled-radius-2-stroke-1.5-IconClosedCaptioning`},v.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M5.75 3C4.23122 3 3 4.23122 3 5.75V18.25C3 19.7688 4.23122 21 5.75 21H18.25C19.7688 21 21 19.7688 21 18.25V5.75C21 4.23122 19.7688 3 18.25 3H5.75ZM10.2997 10.5994C9.61468 10.0841 8.63619 10.1389 8.01256 10.7626C7.32915 11.446 7.32915 12.554 8.01256 13.2374C8.63619 13.8611 9.61468 13.9159 10.2997 13.4006C10.6307 13.1516 11.1009 13.2181 11.3499 13.5491C11.5989 13.8802 11.5324 14.3504 11.2014 14.5994C9.92761 15.5575 8.11135 15.4575 6.9519 14.2981C5.6827 13.0289 5.6827 10.9711 6.9519 9.7019C8.11135 8.54245 9.92761 8.44248 11.2014 9.40064C11.5324 9.64964 11.5989 10.1198 11.3499 10.4509C11.1009 10.7819 10.6307 10.8484 10.2997 10.5994ZM14.5126 10.7626C15.1362 10.1389 16.1147 10.0841 16.7997 10.5994C17.1307 10.8484 17.6009 10.7819 17.8499 10.4509C18.0989 10.1198 18.0324 9.64964 17.7014 9.40064C16.4276 8.44248 14.6114 8.54245 13.4519 9.7019C12.1827 10.9711 12.1827 13.0289 13.4519 14.2981C14.6114 15.4575 16.4276 15.5575 17.7014 14.5994C18.0324 14.3504 18.0989 13.8802 17.8499 13.5491C17.6009 13.2181 17.1307 13.1516 16.7997 13.4006C16.1147 13.9159 15.1362 13.8611 14.5126 13.2374C13.8291 12.554 13.8291 11.446 14.5126 10.7626Z`,fill:`currentColor`})))),oe=e=>{let t=v.useId();return v.createElement(z,{...e,instanceId:t})},se=0,L=typeof v.useId==`function`?void 0:class extends v.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++se}`})}render(){return v.createElement(z,{...this.props.iconProps,instanceId:this.state.instanceId})}},R=v.forwardRef((e,t)=>L?v.createElement(L,{iconProps:{...e,svgRef:t}}):v.createElement(oe,{...e,svgRef:t}));R.displayName=`CentralIconBase`;var z=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let h=p?`${f}-${p}`:f,g=d!==`raw`&&!!f,_=a??i??!0,y=_===!0||_===`true`,b=o??n,x=l?l(h??p??`icon`):e;return v.createElement(`svg`,{...m,ref:c,"aria-hidden":_,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&v.createElement(`title`,null,b),g?v.createElement(v.Fragment,null,v.createElement(`mask`,{id:h,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},v.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),v.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),v.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${h})`})):x)},B=v.memo(v.forwardRef((e,t)=>v.createElement(R,{...e,ref:t,ariaLabel:`box-2-alt-fill, inbox, archive, tray, shelf`,maskId:`round-filled-radius-2-stroke-1.5-IconBox2AltFill`},v.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M3.00001 13.7453L3.00004 5.75C3.00004 4.23122 4.23126 3.00001 5.75004 3L18.25 3C19.7688 3 21 4.23122 21 5.75V13.7466C21 13.7477 21 13.7489 21 13.75L21 18.25C21 19.7688 19.7688 21 18.25 21H5.75C4.32614 21 3.15502 19.9179 3.0142 18.5312C3.00481 18.4387 3 18.3449 3 18.25M5.75004 4.5L18.25 4.5C18.9403 4.5 19.5 5.05964 19.5 5.75V13L15.9298 13C15.5695 13 15.2601 13.2562 15.1929 13.6102C14.9078 15.1135 13.5858 16.25 12 16.25C10.4142 16.25 9.09221 15.1135 8.80706 13.6102C8.73991 13.2562 8.43051 13 8.0702 13H4.50002L4.50004 5.75C4.50004 5.05965 5.05968 4.50001 5.75004 4.5Z`,fill:`currentColor`}),v.createElement(`path`,{d:`M3 18.25V13.75C3 13.7484 3 13.7469 3.00001 13.7453`,fill:`currentColor`})))),V=e(r(),1);async function H(e,t,n,r,i){throw new a(`uploading ${t.name}`)}function U(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),6e4)}var W=33554432;async function G(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),3e4);try{let i={credentials:`omit`,signal:r.signal};n.rejectRedirects&&(i.redirect=`error`);let a=await t(e,i);if(n.rejectRedirects&&(a.redirected||a.url!==new URL(e).href)||!a.ok||!a.body)return;let o=a.body.getReader(),s=[],c=0;try{if(Number(a.headers.get(`content-length`))>W)return;for(;;){let{done:e,value:t}=await o.read();if(e)break;if(c+=t.byteLength,c>W)return;for(let e=0;e<t.length;e+=8192)s.push(String.fromCharCode(...t.subarray(e,e+8192)))}return{data:btoa(s.join(``)),mimeType:a.headers.get(`content-type`)?.split(`;`)[0]?.trim().toLowerCase()??``}}finally{await o.cancel()}}catch{return}finally{clearTimeout(i),r.abort()}}var K=33554432;async function ce(e,t,n,r,i=le){let a=e.navigator;if(!e.matchMedia?.(`(pointer: coarse)`).matches||!a?.share||!a.canShare||!e.fetch||!a.canShare({files:[new File([],n,{type:r})]}))return!1;let o;try{let i=await e.fetch(t,{credentials:`omit`,signal:AbortSignal.timeout(3e4)});if(!i.ok||!i.body)return!1;let s=i.body.getReader(),c=[],l=0;try{if(Number(i.headers.get(`content-length`))>K)return!1;for(;;){let{done:e,value:t}=await s.read();if(e)break;if(l+=t.byteLength,l>K)return!1;c.push(new Uint8Array(t))}}finally{await s.cancel()}if(o=new File(c,n,{type:r}),!a.canShare({files:[o]}))return!1}catch{return!1}let s=()=>a.share({files:[o]});try{return a.userActivation&&!a.userActivation.isActive?await i(s):await s(),!0}catch(e){return e instanceof Error&&e.name===`AbortError`}}function le(e){return new Promise((t,n)=>{let r=document.createElement(`dialog`);r.style.cssText=`border:0;border-radius:16px;padding:24px;max-width:300px;background:#202020;color:white;font:16px system-ui`;let i=document.createElement(`p`);i.id=`prepared-download-title`,i.textContent=`Your file is ready`,r.setAttribute(`aria-labelledby`,i.id);let a=document.createElement(`button`);a.textContent=`Save / Share`,a.style.cssText=`padding:12px 18px;border:0;border-radius:8px;font:inherit;margin-right:12px`;let o=document.createElement(`button`);o.textContent=`Cancel`,o.style.cssText=`padding:12px;border:0;border-radius:8px;font:inherit`;let s=()=>{r.close(),r.remove()};o.onclick=()=>{s(),t()},r.oncancel=()=>{s(),t()},a.onclick=()=>{a.disabled=!0,e().then(()=>{s(),t()},e=>{s(),n(e)})},r.append(i,a,o),document.body.append(r),r.showModal()})}var ue=`https://static.higgsfield.ai,https://cdn.higgsfield.ai,https://images.higgs.ai,https://upload-dev.higgsfield.ai,https://dev-upload.higgsfield.ai,https://d30d7anzgyxsrg.cloudfront.net,https://d29nkk4626dxhc.cloudfront.net,https://d1h3rhfwzniidd.cloudfront.net,https://upload.higgsfield.ai,https://d16wk6d08yr0nk.cloudfront.net,https://d18l5snaaygglt.cloudfront.net,https://d1frnr2lxqm8jq.cloudfront.net,https://d1fu2rq8xka7cf.cloudfront.net,https://d19seccpol3qbf.cloudfront.net,https://d1ixr5v5c3f0ps.cloudfront.net,https://d1qlwev6nl3xp3.cloudfront.net,https://d1uzprivsrsgwf.cloudfront.net,https://d1wy46ra9g37ww.cloudfront.net,https://d1xarpci4ikg0w.cloudfront.net,https://d20rwh69pn04qo.cloudfront.net,https://d276s3zg8h21b2.cloudfront.net,https://d28lfq92xg53v0.cloudfront.net,https://d28lhcrx5qdowv.cloudfront.net,https://d2jk4vkp2mkhup.cloudfront.net,https://d2ol7oe51mr4n9.cloudfront.net,https://d2owsqh8syjkow.cloudfront.net,https://d2ucy5xh6j05cq.cloudfront.net,https://d2ztiffbrqpzsy.cloudfront.net,https://d34dwhf06e2lfz.cloudfront.net,https://d3jkacoos2im8y.cloudfront.net,https://d3oh2ywml8d36g.cloudfront.net,https://d3snorpfx4xhv8.cloudfront.net,https://d3u0tzju9qaucj.cloudfront.net,https://d3v4qg9c8wjgcn.cloudfront.net,https://d8j0ntlcm91z4.cloudfront.net,https://dg2p7l2yss61x.cloudfront.net,https://dg7jtmd01co8a.cloudfront.net,https://dgrfyx5p6c4xh.cloudfront.net,https://do6hionjmsguj.cloudfront.net,https://dqv0cqkoy5oj7.cloudfront.net,https://dxh86a60zh4p4.cloudfront.net`.split(`,`);function de(e){try{let t=new URL(e);return!t.username&&!t.password&&!t.hash&&ue.includes(t.origin)}catch{return!1}}function fe(e,t,n=globalThis.__MCP_DOWNLOAD_ENDPOINT__){if(!n||!de(e))return e;let r=new URL(n);return r.searchParams.set(`url`,e),r.searchParams.set(`filename`,t),r.toString()}function pe(e,t){if(typeof e!=`string`)return!1;try{return t.includes(new URL(e).protocol)}catch{return!1}}function q(e){return pe(e,[`https:`,`http:`])}async function me(e,t,n=window){if(!q(t.rawUrl))return;if(n.document&&n.self&&n.top===n.self){let e=await G(t.rawUrl,n.fetch?.bind(n)??fetch);if(!e)throw Error(`Could not download this file.`);U(new Blob([Uint8Array.from(atob(e.data),e=>e.charCodeAt(0))],{type:t.mimeType}),t.filename);return}let r=fe(t.rawUrl,t.filename);if(!q(r)||r!==t.rawUrl&&await ce(n,t.rawUrl,t.filename,t.mimeType))return;let i=n.matchMedia?.(`(pointer: coarse)`).matches||/iPhone|iPad|Android/i.test(n.navigator?.userAgent??``),a=e?.getHostCapabilities();if(e&&a?.downloadFile&&!i){let r=await G(t.rawUrl,n.fetch?.bind(n)??fetch);if(r!==void 0){if((await e.downloadFile({contents:[{type:`resource`,resource:{uri:`file:///${encodeURIComponent(t.filename)}`,mimeType:t.mimeType,blob:r.data}}]})).isError)throw Error(`The download was cancelled or denied.`);return}}let o=new URL(r);i&&r!==t.rawUrl&&o.searchParams.set(`view`,`save`);let s=o.toString();if(r!==t.rawUrl&&n.openai?.openExternal){await n.openai.openExternal({href:s,redirectUrl:!1});return}if(e&&a?.openLinks){await e.openLink({url:s});return}n.open(s,`_blank`,`noopener,noreferrer`)}function J(e,t={embedded:window.self!==window.top||!!e?.getHostCapabilities()?.downloadFile||!!window.openai?.uploadFile,files:window.openai,openExternal:window.openai?.openExternal}){let n=new WeakMap,r=new WeakMap,i=async(i,a,s)=>{let c=t.files;if(!c?.uploadFile||!c.getFileDownloadUrl){if(!e)throw Error(`Reconnect the editor and try again.`);let n=r.get(i);if(!n){let c=s===`audio`?a.replace(/\.mp4$/i,`.m4a`).replace(/\.webm$/i,`.weba`):a;n=(t.upload??H)(e,new File([i],c,{type:i.type}),s,()=>{},{presignedUploadTool:`genjutsu_upload`,host:{}}).then(e=>{if(!o(e.url)||!e.url.startsWith(`https:`))throw Error(`The export upload did not return a playable file. Try again.`);return e.url}),r.set(i,n),n.catch(()=>r.delete(i))}return n}let l=n.get(i);l||(l=c.uploadFile(new File([i],a,{type:i.type})).then(({fileId:e})=>{if(!e?.trim())throw Error(`The host could not prepare this file. Try again.`);return e}),n.set(i,l),l.catch(()=>n.delete(i)));let{downloadUrl:u}=await c.getFileDownloadUrl({fileId:await l});if(!o(u)||!u.startsWith(`https:`))throw Error(`The host did not return a valid file link. Try again.`);return u};return{preview:(e,n,r)=>t.embedded?i(e,n,r):Promise.resolve(URL.createObjectURL(e)),async download(n,r,a){if(!t.embedded){U(n,r);return}if(e?.getHostCapabilities()?.downloadFile&&n.size<=33554432){let t=await new Promise((e,t)=>{let r=new FileReader;r.onload=()=>e(String(r.result).split(`,`,2)[1]),r.onerror=()=>t(r.error??Error(`Could not read this export.`)),r.readAsDataURL(n)});if((await e.downloadFile({contents:[{type:`resource`,resource:{uri:`file:///${encodeURIComponent(r)}`,mimeType:n.type,blob:t}}]})).isError)throw Error(`The download was cancelled or denied.`);return}let o=await i(n,r,a);if(!t.files?.uploadFile||!t.files.getFileDownloadUrl){await me(e,{rawUrl:o,filename:r,mimeType:n.type});return}if(t.openExternal)await t.openExternal({href:o,redirectUrl:!1});else if(e?.getHostCapabilities()?.openLinks){if((await e.openLink({url:o})).isError)throw Error(`The host could not open this file.`)}else throw Error(`File downloads are not supported by this host.`)}}}var Y=n();function he({controller:e,portal:t}){let{app:n}=c(),r=(0,v.useMemo)(()=>J(n??null),[n]),i=(0,v.useRef)(null),[a,o]=(0,v.useState)(null),[l,d]=(0,v.useState)(!1),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(null),g=(0,v.useRef)(0);(0,v.useEffect)(()=>()=>{g.current++},[]),(0,v.useEffect)(()=>()=>{a?.url.startsWith(`blob:`)&&URL.revokeObjectURL(a.url)},[a]),(0,v.useLayoutEffect)(()=>{let e=()=>{if(!i.current)return;let e=t.getBoundingClientRect(),n=t.querySelector(`.ftr-topbar`)?.getBoundingClientRect(),r=Math.max(16,(n?.bottom??e.top)-e.top+56);i.current.style.top=`${r}px`,i.current.style.maxHeight=`${Math.max(0,e.height-r-16)}px`};e();let n=new ResizeObserver(e);n.observe(t);let r=t.querySelector(`.ftr-topbar`);return r&&n.observe(r),()=>n.disconnect()},[t,e.historyOpen,e.records.length]);let y=async(t,n)=>{if(!t.readBlob||f!==null)return;let i=++g.current;p({id:t.id,download:n}),h(null);try{let a=await t.readBlob();if(g.current!==i||!e.records.some(e=>e.id===t.id))return;if(n)await r.download(a,t.fileName,t.media);else{let n=await r.preview(a,t.fileName,t.media);if(g.current!==i||!e.records.some(e=>e.id===t.id)){n.startsWith(`blob:`)&&URL.revokeObjectURL(n);return}d(!1),o({url:n,name:t.fileName,audio:t.media===`audio`})}}catch(e){g.current===i&&h({id:t.id,message:e instanceof Error?e.message:`Could not open this export. Try again.`})}finally{g.current===i&&p(null)}},b=e.records.find(e=>e.status===`running`),x=!b&&e.records[0]?.status===`error`,S=x?u:_,C=t.querySelector(`[data-export-status-slot]`);return(0,Y.jsxs)(Y.Fragment,{children:[!!e.records.length&&C&&(0,V.createPortal)((0,Y.jsx)(`button`,{type:`button`,className:`editor-export-status`,"data-running":!!b,"data-failed":x,"aria-label":b?`Show export progress`:`Show exported files`,"aria-expanded":e.historyOpen,onClick:()=>e.toggleHistory(),children:b?(0,Y.jsx)(`span`,{className:`editor-export-spinner`}):(0,Y.jsx)(S,{size:16})}),C),e.historyOpen&&!!e.records.length&&(0,V.createPortal)((0,Y.jsx)(`div`,{ref:i,className:`editor-export-files`,role:`region`,"aria-label":`Exported files`,children:e.records.map(t=>(0,Y.jsxs)(`article`,{className:`editor-export-file`,"aria-label":t.fileName,"data-status":t.status,children:[(0,Y.jsxs)(`div`,{className:`editor-export-file-heading`,children:[(0,Y.jsx)(`span`,{title:t.fileName,children:t.fileName}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":t.status===`running`?`Cancel export ${t.fileName}`:`Dismiss export ${t.fileName}`,onClick:()=>e.dismissRecord(t.id),children:(0,Y.jsx)(u,{size:16})})]}),t.status===`running`&&(0,Y.jsxs)(`div`,{className:`editor-export-progress`,role:`status`,children:[(0,Y.jsx)(`div`,{role:`progressbar`,"aria-label":`Exporting ${t.fileName}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":t.percent,children:(0,Y.jsx)(`div`,{style:{width:`${t.percent}%`}})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`strong`,{children:[t.percent,`%`]}),(0,Y.jsx)(`span`,{children:`Exporting`})]})]}),t.status===`done`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`p`,{className:`editor-export-ready`,children:[`Ready at`,` `,new Date(t.completedAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,hour12:!1})]}),(0,Y.jsxs)(`div`,{className:`editor-export-file-actions`,children:[(0,Y.jsx)(`button`,{type:`button`,disabled:f!==null,onClick:()=>void y(t,!1),children:f?.id===t.id&&!f.download?`Opening…`:`Open`}),(0,Y.jsx)(`button`,{type:`button`,disabled:f!==null,onClick:()=>void y(t,!0),children:f?.id===t.id&&f.download?`Downloading…`:`Download`})]})]}),t.status===`error`&&(0,Y.jsx)(`p`,{className:`editor-export-error`,role:`alert`,children:t.error}),m?.id===t.id&&(0,Y.jsx)(`p`,{className:`editor-export-error`,role:`alert`,children:m.message})]},t.id))}),t),(0,Y.jsx)(s.Root,{open:!!a,onOpenChange:e=>{e||o(null)},children:(0,Y.jsxs)(s.Content,{container:t,className:`editor-export-preview`,backdropClassName:`editor-export-backdrop`,"data-theme":`default-dark`,onKeyDown:e=>e.stopPropagation(),children:[(0,Y.jsxs)(s.Header,{children:[(0,Y.jsx)(s.Title,{children:a?.name}),(0,Y.jsx)(s.CloseButton,{"aria-label":`Close exported file`})]}),a&&(a.audio?(0,Y.jsx)(`audio`,{src:a.url,controls:!0,onError:()=>d(!0)},a.url):(0,Y.jsx)(`video`,{src:a.url,controls:!0,playsInline:!0,onError:()=>d(!0)},a.url)),l&&(0,Y.jsx)(`p`,{className:`editor-export-error`,role:`alert`,children:`This file could not be previewed. Close the preview and download it instead.`})]})})]})}function ge(e){let[,t]=(0,v.useReducer)(e=>e+1,0);(0,v.useEffect)(()=>{let n=0,r=e.onChange(e=>{e?n||=requestAnimationFrame(()=>{n=0,t()}):(cancelAnimationFrame(n),n=0,t())});return()=>{cancelAnimationFrame(n),r.dispose()}},[e])}function X({label:e,children:t}){return(0,Y.jsxs)(`div`,{className:`editor-export-field`,children:[(0,Y.jsx)(`span`,{children:e}),t]})}function Z({label:e,value:t,options:n,onChange:r,disabled:a}){return(0,Y.jsx)(X,{label:e,children:(0,Y.jsx)(i.Root,{className:`editor-export-segments`,variant:`segmented`,surface:`flat`,value:t,onValueChange:e=>r(String(e)),children:(0,Y.jsx)(i.List,{"aria-label":e,indicator:!1,fullWidth:!0,items:n.map(e=>({...e,disabled:a||e.disabled}))})})})}function Q(e){let t=Math.floor(e/60),n=e-t*60,r=Number.isInteger(Math.round(n*100)/100)?String(Math.round(n)).padStart(2,`0`):n.toFixed(2).padStart(5,`0`);return`${String(t).padStart(2,`0`)}:${r}`}var $=(e,t=``)=>e.map(e=>({value:String(e),label:e===2160?`4K`:`${e}${t}`}));function _e({controller:e}){ge(e);let t=(0,v.useRef)(null),[n,r]=(0,v.useState)(null);(0,v.useLayoutEffect)(()=>{let e=t.current?.closest(`section`);if(!e)return;let n=e.style.display;return e.style.display=`none`,()=>{e.style.display=n}},[]);let a=e.busy(),o=e.selection,c=o.video,u=e.scenes();return(0,Y.jsx)(`div`,{ref:e=>{t.current=e,e&&r(g(e))},children:n&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(he,{controller:e,portal:n}),(0,Y.jsx)(s.Root,{open:e.open,onOpenChange:t=>{t||e.requestClose()},children:(0,Y.jsxs)(s.Content,{container:n,className:`editor-export-dialog`,backdropClassName:`editor-export-backdrop`,"data-theme":`default-dark`,style:{"--q-modal-width":`31rem`},onKeyDown:e=>e.stopPropagation(),children:[(0,Y.jsxs)(s.Header,{children:[(0,Y.jsx)(s.Title,{children:`Export`}),(0,Y.jsx)(s.CloseButton,{"aria-label":`Close export settings`})]}),(0,Y.jsxs)(`div`,{className:`editor-export-settings`,children:[(0,Y.jsx)(i.Root,{className:`editor-export-tabs`,variant:`underline`,value:c?`video`:`audio`,onValueChange:t=>e.setMedia(t===`video`),children:(0,Y.jsx)(i.List,{"aria-label":`Export type`,indicator:!1,items:[{value:`video`,label:`Video`,start:(0,Y.jsx)(ee,{size:16}),disabled:a},{value:`audio`,label:`Audio`,start:(0,Y.jsx)(D,{size:16}),disabled:a},{value:`graphics`,label:`Graphics`,start:(0,Y.jsx)(re,{size:16}),disabled:!0,title:`Graphics export is not available yet`},{value:`subtitles`,label:`Subtitles`,start:(0,Y.jsx)(I,{size:16}),disabled:!0,title:`Subtitle export is not available yet`},{value:`xml`,label:`XML`,start:(0,Y.jsx)(B,{size:16}),disabled:!0,title:`XML export is not available yet`}]})}),(0,Y.jsxs)(`div`,{className:`editor-export-fields`,children:[u.length>1&&(0,Y.jsx)(X,{label:`Scene`,children:(0,Y.jsx)(h,{label:`Scene`,value:e.targetScene()?.id??``,disabled:a,options:u.map(e=>({value:e.id,label:e.name})),onChange:t=>e.setScene(t||null)})}),c?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Z,{label:`Format`,value:`sdr`,disabled:a,onChange:()=>{},options:[{value:`sdr`,label:`SDR`},{value:`hdr`,label:`HDR`,disabled:!0,title:`HDR export is not supported by the current renderer`}]}),(0,Y.jsx)(Z,{label:`Resolution`,value:String(o.resolution),disabled:a,onChange:t=>e.setResolution(Number(t)),options:$(o.resolution===1440?[480,720,1080,1440,2160]:[480,720,1080,2160],`p`)}),(0,Y.jsx)(Z,{label:`Frame Rate`,value:String(o.fps),disabled:a,onChange:t=>e.setFps(Number(t)),options:$([...new Set([24,25,30,50,60,o.fps])].sort((e,t)=>e-t))})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(X,{label:`Container`,children:(0,Y.jsx)(ve,{controller:e})}),(0,Y.jsx)(ye,{controller:e})]})]}),(()=>{let t=e.range();return t?(0,Y.jsxs)(`p`,{role:`status`,className:`editor-export-note editor-export-range`,children:[`Work area `,Q(t.start),`–`,Q(t.end)]}):null})(),e.phase===`error`&&(0,Y.jsx)(`p`,{role:`alert`,className:`editor-export-error`,children:e.errorMessage}),e.cancelNotice&&(0,Y.jsx)(`p`,{role:`status`,className:`editor-export-note`,children:`Export cancelled`}),!e.caps&&(0,Y.jsx)(`p`,{role:`status`,className:`editor-export-note`,children:`Checking export support…`}),e.caps&&!e.includeVideo()&&!e.includeAudio()&&(0,Y.jsx)(`p`,{role:`status`,className:`editor-export-note`,children:`Export is not supported by this browser.`}),(0,Y.jsx)(l,{className:`editor-export-submit`,disabled:!e.canExport(),onClick:()=>void e.startExport(),children:`Export ${c?`video`:`audio`}`})]})]})})]})})}function ve({controller:e}){return(0,Y.jsx)(h,{label:`Container`,value:e.selection.container,disabled:e.busy(),options:d.map(t=>({value:t,label:t.toUpperCase(),disabled:!e.containerOk(t),title:e.containerTip(t)})),onChange:t=>e.setContainer(t)})}function ye({controller:e}){let t=e.selection,n=e.busy();return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(X,{label:`Audio codec`,children:(0,Y.jsx)(h,{label:`Audio codec`,value:t.audioCodec,disabled:n,options:p.map(t=>({value:t,label:m[t],disabled:!e.audioCodecOk(t),title:e.audioCodecTip(t)})),onChange:t=>e.setAudioCodec(t)})}),(0,Y.jsx)(Z,{label:`Sample rate`,value:String(t.sampleRate),disabled:n,onChange:t=>e.setSampleRate(Number(t)),options:f.map(n=>({value:String(n),label:`${n/1e3} kHz`,disabled:!e.rateEncodable(t.audioCodec,n),title:e.rateTip(n)}))})]})}export{_e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,t as n}from"./jsx-runtime-B-hcVAMW.js";import{d as r}from"./session-B9sZaFKC.js";import{a as i,d as a,p as o,r as s,s as c,t as l}from"../editor-Csn2_T_e.js";import{t as u}from"./button-CjG6GcgF.js";import{t as d}from"./IconPencil-Dr17k_7e.js";import{t as f}from"./IconPlay-BroH3ziH.js";import{n as p,t as m}from"./IconTrashCan-DX2w2AIC.js";var h=e(t(),1),g=e=>{let t=h.useId();return h.createElement(b,{...e,instanceId:t})},_=0,v=typeof h.useId==`function`?void 0:class extends h.Component{state={};componentDidMount(){this.setState({instanceId:`legacy-${++_}`})}render(){return h.createElement(b,{...this.props.iconProps,instanceId:this.state.instanceId})}},y=h.forwardRef((e,t)=>v?h.createElement(v,{iconProps:{...e,svgRef:t}}):h.createElement(g,{...e,svgRef:t}));y.displayName=`CentralIconBase`;var b=({children:e,size:t=24,ariaLabel:n,color:r,ariaHidden:i,"aria-hidden":a,"aria-label":o,role:s,svgRef:c,renderShapes:l,style:u,mode:d=`masked`,maskId:f,instanceId:p,...m})=>{let g=p?`${f}-${p}`:f,_=d!==`raw`&&!!f,v=a??i??!0,y=v===!0||v===`true`,b=o??n,x=l?l(g??p??`icon`):e;return h.createElement(`svg`,{...m,ref:c,"aria-hidden":v,"aria-label":o,role:s??(y?void 0:`img`),width:typeof t==`number`?`${t}px`:t,height:typeof t==`number`?`${t}px`:t,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{color:r,...u}},b&&!y&&h.createElement(`title`,null,b),_?h.createElement(h.Fragment,null,h.createElement(`mask`,{id:g,maskUnits:`userSpaceOnUse`,x:`0`,y:`0`,width:`24`,height:`24`},h.createElement(`rect`,{width:`24`,height:`24`,fill:`#000`}),h.createElement(`g`,{fill:`none`,style:{color:`#fff`}},x)),h.createElement(`rect`,{width:`24`,height:`24`,fill:`currentColor`,mask:`url(#${g})`})):x)},x=h.memo(h.forwardRef((e,t)=>h.createElement(y,{...e,ref:t,ariaLabel:`plus-large, add large`,maskId:`round-outlined-radius-2-stroke-1.5-IconPlusLarge`},h.createElement(`path`,{d:`M12 3.75V12M12 12V20.25M12 12H3.75M12 12H20.25`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})))),S=`app.project.open`,C=`app.project.new`,w=`capability:storage/local`;function T(e){let t=()=>e.docs.snapshot()?.id??null;return{list:()=>e.storage.listProjects(),currentId:t,async open(n){t()!==n&&await e.execute(S,{projectId:n})},async createNew(){await e.execute(C,{})},async rename(n,r){let i=r.trim();return i?(t()===n?await e.execute(`document.apply`,{id:E(),name:`Rename project`,ops:[{op:`set`,path:[`name`],value:i},{op:`set`,path:[`modifiedAt`],value:Date.now()}],coalesceKey:null}):await e.storage.renameProject(n,i),i):null},async duplicate(t){return e.storage.duplicateProject(t)},async remove(n){if(await e.storage.deleteProject(n),t()!==n)return;let r=await e.storage.listProjects();r[0]?await e.execute(S,{projectId:r[0].id}):await e.execute(C,{})}}}function E(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function D(e,t=Date.now()){let n=Math.floor((t-e)/6e4);if(n<1)return`Just now`;if(n<60)return`${n} min ago`;let r=Math.floor(n/60);if(r<24)return`${r} h ago`;let i=Math.floor(r/24);return i<7?`${i} d ago`:new Date(e).toLocaleDateString()}var O=n();function k({overlayOpen:e}){let t=o(),n=i(w),s=i(r),u=a(e,!1),d=c(e=>e?.id??null),f=(0,h.useRef)(null),[p,m]=(0,h.useState)(null),[g,_]=(0,h.useState)(null),[v,y]=(0,h.useState)([]),b=(0,h.useRef)(!1),S=(0,h.useMemo)(()=>n&&s?T({storage:n,docs:s,execute:(e,n)=>t.commands.execute(e,n)}):null,[n,s,t]);(0,h.useEffect)(()=>{if(!u||!S)return;let e=!0;return S.list().then(t=>{e&&y(t)}),()=>{e=!1}},[u,S]);let C=(0,h.useRef)(!1);(0,h.useEffect)(()=>{!C.current&&s&&(C.current=!0,s.snapshot()||e.set(!0))},[s,e]),(0,h.useEffect)(()=>{u&&_(null)},[u]);let E=()=>void S?.createNew().then(()=>e.set(!1)),D=t=>void S?.open(t).then(()=>e.set(!1)),k=(e,t)=>{_(null),S?.rename(e,t).then(t=>{t&&y(n=>n.map(n=>n.id===e?{...n,name:t,modifiedAt:Date.now()}:n).sort((e,t)=>t.modifiedAt-e.modifiedAt))})},A=e=>{!b.current&&S&&(b.current=!0,S.duplicate(e).then(e=>{e&&y(t=>[e,...t])}).finally(()=>{b.current=!1}))},M=e=>{if(!S||!(f.current?.ownerDocument.defaultView)?.confirm(`Delete "${e.name}"? This cannot be undone.`))return;let t=S.currentId()===e.id;S.remove(e.id).then(()=>{t?S.list().then(y):y(t=>t.filter(t=>t.id!==e.id))}).catch(e=>console.error(`[projects] delete failed:`,e))};return(0,O.jsx)(`div`,{ref:e=>{f.current=e,e&&p!==e.ownerDocument.body&&m(e.ownerDocument.body)},children:p&&(0,O.jsx)(l.Root,{open:u,onOpenChange:(t,n)=>{if(!t&&n.reason===`escape-key`&&g!==null){_(null);return}e.set(t)},children:(0,O.jsxs)(l.Content,{container:p,size:`lg`,"data-theme":`default-dark`,style:{"--q-modal-width":`51.25rem`},"aria-label":`Projects`,children:[(0,O.jsxs)(l.Header,{children:[(0,O.jsx)(l.Title,{children:`Projects`}),(0,O.jsx)(l.CloseButton,{})]}),(0,O.jsx)(l.Body,{children:(0,O.jsxs)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(10.625rem,1fr))] gap-3`,children:[(0,O.jsxs)(`button`,{type:`button`,className:`flex min-h-36 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-q-border-default bg-transparent text-q-caption-sm-medium text-q-text-tertiary transition-colors hover:border-q-border-strong hover:text-q-text-primary`,onClick:E,children:[(0,O.jsx)(`span`,{className:`inline-flex`,children:(0,O.jsx)(x,{mode:`raw`,size:22})}),(0,O.jsx)(`span`,{children:`New project`})]}),v.map(e=>(0,O.jsx)(j,{project:e,current:d===e.id,renaming:g===e.id,onOpen:()=>D(e.id),onStartRename:()=>_(e.id),onCommitRename:t=>k(e.id,t),onCancelRename:()=>_(null),onDuplicate:()=>A(e.id),onDelete:()=>M(e)},e.id))]})})]})})})}function A({glyph:e,tip:t,onClick:n}){return(0,O.jsx)(u,{variant:`ghost`,size:`xxs`,iconOnly:!0,"aria-label":t,title:t,onClick:e=>{e.stopPropagation(),n()},children:e})}function j({project:e,current:t,renaming:n,onOpen:r,onStartRename:i,onCommitRename:a,onCancelRename:o,onDuplicate:s,onDelete:c}){return(0,O.jsxs)(`div`,{className:`group relative flex cursor-pointer flex-col gap-0.5 rounded-xl border bg-q-background-tertiary p-2.5 text-left text-q-text-primary transition-colors hover:bg-q-background-secondary-strong ${t?`border-q-brand-primary`:`border-q-border-subtle hover:border-q-border-default`}`,onClick:r,children:[(0,O.jsx)(`div`,{className:`mb-2 flex h-20 items-center justify-center rounded-lg bg-q-background-primary`,children:(0,O.jsx)(`span`,{className:`inline-flex text-q-text-tertiary`,children:(0,O.jsx)(f,{mode:`raw`,size:20})})}),(0,O.jsxs)(`div`,{className:`min-w-0`,children:[n?(0,O.jsx)(M,{initial:e.name,onCommit:a,onCancel:o}):(0,O.jsx)(`div`,{className:`truncate text-q-caption-sm-medium`,title:e.name,children:e.name}),(0,O.jsx)(`div`,{className:`text-q-caption-sm-regular text-q-text-tertiary`,children:D(e.modifiedAt)})]}),(0,O.jsxs)(`div`,{className:`absolute right-3.5 top-3.5 flex gap-0.5 rounded-lg bg-q-background-glass p-0.5 opacity-0 backdrop-blur-md transition-opacity group-hover:opacity-100 group-focus-within:opacity-100`,onClick:e=>e.stopPropagation(),children:[(0,O.jsx)(A,{glyph:(0,O.jsx)(d,{mode:`raw`,size:13}),tip:`Rename`,onClick:i}),(0,O.jsx)(A,{glyph:(0,O.jsx)(p,{mode:`raw`,size:13}),tip:`Duplicate`,onClick:s}),(0,O.jsx)(A,{glyph:(0,O.jsx)(m,{mode:`raw`,size:13}),tip:`Delete`,onClick:c})]})]})}function M({initial:e,onCommit:t,onCancel:n}){let[r,i]=(0,h.useState)(e),a=(0,h.useRef)(null),o=(0,h.useRef)(!1);(0,h.useEffect)(()=>{a.current?.focus(),a.current?.select()},[]);let c=e=>{o.current||(o.current=!0,e())};return(0,O.jsx)(s,{ref:a,className:`w-full`,controlClassName:`h-7 rounded-lg`,inputClassName:`text-q-caption-sm-medium`,value:r,onClick:e=>e.stopPropagation(),onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`?c(()=>t(r)):e.key===`Escape`&&(e.stopPropagation(),c(n))},onBlur:()=>c(()=>t(r))})}export{k as default};
|