agmon 0.1.2 → 0.1.3
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/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +7 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js +502 -0
- package/.next/build/chunks/[root-of-the-server]__05i36w1t4lzaf._.js.map +11 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js +190 -0
- package/.next/build/chunks/[root-of-the-server]__1kki86fknkq7y._.js.map +8 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9iz8yb8._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +1056 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js +7314 -0
- package/.next/build/chunks/node_modules_20v-8wlfss9m1._.js.map +47 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js +6 -0
- package/.next/build/chunks/pool_entry-[turbopack-node]_transforms_postcss_ts_0tp-k2vy8nj6i._.js.map +5 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +54 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +15 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +97 -0
- package/.next/required-server-files.js +366 -0
- package/.next/required-server-files.json +366 -0
- package/.next/routes-manifest.json +75 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +30 -0
- package/.next/server/app/_global-error.rsc +18 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +23 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +12 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +35 -0
- package/.next/server/app/_not-found.rsc +22 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +22 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +28 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/api/traces/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/traces/stream/route/build-manifest.json +12 -0
- package/.next/server/app/api/traces/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/traces/stream/route.js +7 -0
- package/.next/server/app/api/traces/stream/route.js.map +5 -0
- package/.next/server/app/api/traces/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/traces/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +12 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +7 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +29 -0
- package/.next/server/app/index.rsc +29 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +34 -0
- package/.next/server/app/index.segments/_full.segment.rsc +29 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +21 -0
- package/.next/server/app/page/next-font-manifest.json +6 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +13 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +7 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js +3 -0
- package/.next/server/chunks/[externals]__0bwf06g0pqv3h._.js.map +1 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js +3 -0
- package/.next/server/chunks/[externals]__1p2j9_5g429uh._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__04an4kw4xcc5l._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1s6v8mz-nanm-._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js +320 -0
- package/.next/server/chunks/[root-of-the-server]__20xfs4y2ipcvv._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_traces_stream_route_actions_07rmicxgds803.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js +3 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_canvas_CanvasRenderer_mjs_1xntzghggpb51._.js.map +1 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js +76 -0
- package/.next/server/chunks/ssr/1q96_modules_pixi_js_lib_rendering_renderers_gpu_WebGPURenderer_mjs_00tc9jrf-ft1_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08zgqq_38tv57._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0aa2929udndo-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ayw3c9e93kvf._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ojpb-dtuk3-q._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js +14 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cf6qt9agg_9-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1e1_fmeab1ca7._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1w2vu9hh0h02y._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +937 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_01xbj_9zg44kw._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js +23 -0
- package/.next/server/chunks/ssr/node_modules_0a548_llmwce7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1hgv5i-pr1hza._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0aymk_x8-bu4q.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z4y02i7.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qjycfedgh109.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0hcyh9uzlz7ci._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0k3f3soanqdoq._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0ovgsftn-uvbz._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0xa24fqr5c5qi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_0zrftay3kjup7._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js +208 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1z4lgkg_w-7fr._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_1zjkoj2kc4hm-._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js +16 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_environment-browser_browserAll_mjs_0xb_t3dj4ad1f._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_Filter_mjs_0luksfw8ekifi._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_filters_init_mjs_1o5fmm_m60v_s._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1fkio2phhfvow._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js +196 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_1n1q7aum4i7zo._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_10vpvx1o7svnk._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js +153 -0
- package/.next/server/chunks/ssr/node_modules_pixi_js_lib_rendering_renderers_gl_WebGLRenderer_mjs_1hlux44jh7dk-._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_1vqfk0-j72fp6.js.map +1 -0
- package/.next/server/functions-config-manifest.json +4 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +54 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +6 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +34 -0
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/chunks/0_9x2udu0iodw.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0umf92h1sb77c.js +1 -0
- package/.next/static/chunks/10om7oix6wjze.js +1 -0
- package/.next/static/chunks/1780fh11o7pze.js +1 -0
- package/.next/static/chunks/1cldmiyw3ya18.js +21 -0
- package/.next/static/chunks/1unuqfq-vfqtp.js +1 -0
- package/.next/static/chunks/2-vsu_pt58kse.js +3 -0
- package/.next/static/chunks/2drjv1ti9t4pg.js +1 -0
- package/.next/static/chunks/2hgsvrrwu57--.css +1 -0
- package/.next/static/chunks/2ogvir8krwwhf.js +1 -0
- package/.next/static/chunks/2tc54fmsk8v8q.js +1 -0
- package/.next/static/chunks/304ue7hvto0o0.js +206 -0
- package/.next/static/chunks/31gve42sn75--.js +1 -0
- package/.next/static/chunks/32kizm_7q94vd.js +194 -0
- package/.next/static/chunks/33bap0u4zwgab.js +74 -0
- package/.next/static/chunks/3c4xol65z2da2.js +22 -0
- package/.next/static/chunks/3cfn99dbrcvvp.js +31 -0
- package/.next/static/chunks/3d6xc1eemxy82.js +1 -0
- package/.next/static/chunks/3ycr8gfnsg-xv.js +151 -0
- package/.next/static/chunks/3ytt3vrdhke9u.js +14 -0
- package/.next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_buildManifest.js +11 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_clientMiddlewareManifest.js +1 -0
- package/.next/static/cy2F4S28h_-YWqCOuE_ul/_ssgManifest.js +1 -0
- package/.next/trace +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/cache-life.d.ts +114 -0
- package/.next/types/root-params.d.ts +3 -0
- package/.next/types/routes.d.ts +74 -0
- package/.next/types/validator.ts +17 -0
- package/bin/cli.js +11 -4
- package/package.json +3 -1
- package/src/app/api/traces/stream/route.js +2 -2
- package/src/app/layout.js +1 -1
- package/src/app/page.js +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74647,e=>{"use strict";let t,r;var l=e.i(43476),o=e.i(71645),i=e.i(47760);let s={extension:{type:i.x.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await e.A(86043)}},n={extension:{type:i.x.Environment,name:"webworker",priority:0},test:()=>"u">typeof self&&void 0!==self.WorkerGlobalScope,load:async()=>{await e.A(62925)}};e.i(10463),e.i(99650),e.i(58035);var a=e.i(95932);i.H.add(s,n);var h=e.i(27402),c=e.i(2351);async function d(e={}){return void 0!==r?r:r=await (async()=>{let t=h.f.get().getNavigator().gpu;if(!t)return!1;try{let r=await t.requestAdapter(e);return await r.requestDevice(),!0}catch(e){return!1}})()}let u=["webgl","webgpu","canvas"];async function f(r){let l,o=[];r.preference?Array.isArray(r.preference)?o=r.preference.slice():(o.push(r.preference),u.forEach(e=>{e!==r.preference&&o.push(e)})):o=u.slice();let i={};for(let s=0;s<o.length;s++){let n=o[s];if("webgpu"===n&&await d()){let{WebGPURenderer:t}=await e.A(53088);l=t,i={...r,...r.webgpu};break}if("webgl"===n&&function(e){return void 0!==t?t:t=(()=>{let t={stencil:!0,failIfMajorPerformanceCaveat:e??c.f.defaultOptions.failIfMajorPerformanceCaveat};try{if(!h.f.get().getWebGLRenderingContext())return!1;let e=h.f.get().createCanvas().getContext("webgl",t),r=!!e?.getContextAttributes()?.stencil;if(e){let t=e.getExtension("WEBGL_lose_context");t&&t.loseContext()}return e=null,r}catch(e){return!1}})()}(r.failIfMajorPerformanceCaveat??c.f.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:t}=await e.A(99331);l=t,i={...r,...r.webgl};break}if("canvas"===n){let{CanvasRenderer:t}=await e.A(35640);l=t,i={...r,...r.canvasOptions};break}}if(delete i.webgpu,delete i.webgl,delete i.canvasOptions,!l)throw Error("No available renderer for the current environment");let s=new l;return await s.init(i),s}var p=e.i(50147),x=e.i(81834),g=e.i(49864);class m{static init(e){Object.defineProperty(this,"resizeTo",{configurable:!0,set(e){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=e,e&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{let e,t;if(this._resizeTo){if(this._cancelResize(),this._resizeTo===globalThis.window)e=globalThis.innerWidth,t=globalThis.innerHeight;else{let{clientWidth:r,clientHeight:l}=this._resizeTo;e=r,t=l}this.renderer.resize(e,t),this.render()}},this._resizeId=null,this._resizeTo=null,this.resizeTo=e.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}m.extension=i.x.Application;var y=e.i(59750),w=e.i(6972);class _{static init(e){e=Object.assign({autoStart:!0,sharedTicker:!1},e),Object.defineProperty(this,"ticker",{configurable:!0,set(e){this._ticker&&this._ticker.remove(this.render,this),this._ticker=e,e&&e.add(this.render,this,y.f.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=e.sharedTicker?w.f.shared:new w.f,e.autoStart&&this.start()}static destroy(){if(this._ticker){let e=this._ticker;this.ticker=null,e.destroy()}}}_.extension=i.x.Application,i.H.add(m),i.H.add(_);let v=class e{constructor(...e){this.stage=new p.t,void 0!==e[0]&&(0,g.K)(g.e,"Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.stage||(this.stage=new p.t),this.renderer=await f(t),e._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return(0,g.K)(g.e,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}get domContainerRoot(){return this.renderer.renderPipes.dom?._domElement}destroy(t=!1,r=!1){let l=e._plugins.slice(0);l.reverse(),l.forEach(e=>{e.destroy.call(this)}),this.stage.destroy(r),this.stage=null,this.renderer.destroy(t),this.renderer=null}};v._plugins=[],i.H.handleByList(i.x.Application,v._plugins),i.H.add(x.L);var b=e.i(81541),S=e.i(94425),k=e.i(95627),T=e.i(4864),C=e.i(56857),M=e.i(97377);class j extends M.f{constructor(e,t){let{text:r,resolution:l,style:o,anchor:i,width:s,height:n,roundPixels:a,...h}=e;super({...h}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=t,this.text=r??"",this.style=o,this.resolution=l??null,this.allowChildren=!1,this._anchor=new C.f({_onUpdate:()=>{this.onViewUpdate()}}),i&&(this.anchor=i),this.roundPixels=a??!1,void 0!==s&&(this.width=s),void 0!==n&&(this.height=n)}get anchor(){return this._anchor}set anchor(e){"number"==typeof e?this._anchor.set(e):this._anchor.copyFrom(e)}set text(e){e=e.toString(),this._text!==e&&(this._text=e,this.onViewUpdate())}get text(){return this._text}set resolution(e){this._autoResolution=null===e,this._resolution=e,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(e){e||(e={}),this._style?.off("update",this.onViewUpdate,this),e instanceof this._styleClass?this._style=e:this._style=new this._styleClass(e),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(e){this._setWidth(e,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(e){this._setHeight(e,this.bounds.height)}getSize(e){return e||(e={}),e.width=Math.abs(this.scale.x)*this.bounds.width,e.height=Math.abs(this.scale.y)*this.bounds.height,e}setSize(e,t){"object"==typeof e?(t=e.height??e.width,e=e.width):t??(t=e),void 0!==e&&this._setWidth(e,this.bounds.width),void 0!==t&&this._setHeight(t,this.bounds.height)}containsPoint(e){let t=this.bounds.width,r=this.bounds.height,l=-t*this.anchor.x,o=0;return!!(e.x>=l)&&!!(e.x<=l+t)&&(o=-r*this.anchor.y,!!(e.y>=o)&&!!(e.y<=o+r))||!1}onViewUpdate(){this.didViewUpdate||(this._didTextUpdate=!0),super.onViewUpdate()}destroy(e=!1){this._style?.off("update",this.onViewUpdate,this),super.destroy(e),this.owner=null,this._bounds=null,this._anchor=null,("boolean"==typeof e?e:e?.style)&&this._style.destroy(e),this._style=null,this._text=null}get styleKey(){return`${this._text}:${this._style.styleKey}:${this._resolution}`}}var R=e.i(57471),W=e.i(63646),z=e.i(81735),F=e.i(61411);let A=null,L=null;function I(e,t,r){for(let l=0,o=4*r*t;l<t;++l,o+=4)if(0!==e[o+3])return!1;return!0}function E(e,t,r,l,o){let i=4*t;for(let t=l,s=l*i+4*r;t<=o;++t,s+=i)if(0!==e[s+3])return!1;return!0}class N{constructor(e=0,t=0,r=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=e,this.resetTtl=r,this.size=0,this.ttl=t}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(e){if(this.has(e)){let t=this.items[e];delete this.items[e],this.size--,null!==t.prev&&(t.prev.next=t.next),null!==t.next&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),this.last===t&&(this.last=t.prev)}return this}entries(e=this.keys()){let t=Array(e.length);for(let r=0;r<e.length;r++){let l=e[r];t[r]=[l,this.get(l)]}return t}evict(e=!1){if(e||this.size>0){let e=this.first;delete this.items[e.key],0==--this.size?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}return this}expiresAt(e){let t;return this.has(e)&&(t=this.items[e].expiry),t}get(e){let t=this.items[e];if(void 0!==t)return this.ttl>0&&t.expiry<=Date.now()?void this.delete(e):(this.moveToEnd(t),t.value)}has(e){return e in this.items}moveToEnd(e){this.last!==e&&(null!==e.prev&&(e.prev.next=e.next),null!==e.next&&(e.next.prev=e.prev),this.first===e&&(this.first=e.next),e.prev=this.last,e.next=null,null!==this.last&&(this.last.next=e),this.last=e,null===this.first&&(this.first=e))}keys(){let e=Array(this.size),t=this.first,r=0;for(;null!==t;)e[r++]=t.key,t=t.next;return e}setWithEvicted(e,t,r=this.resetTtl){let l=null;if(this.has(e))this.set(e,t,!0,r);else{this.max>0&&this.size===this.max&&(l={...this.first},this.evict(!0));let r=this.items[e]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:t};1==++this.size?this.first=r:this.last.next=r,this.last=r}return l}set(e,t,r=!1,l=this.resetTtl){let o=this.items[e];return r||void 0!==o?(o.value=t,!1===r&&l&&(o.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.moveToEnd(o)):(this.max>0&&this.size===this.max&&this.evict(!0),o=this.items[e]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:t},1==++this.size?this.first=o:this.last.next=o,this.last=o),this}values(e=this.keys()){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=this.get(e[r]);return t}}function B(e){return!!e.tagStyles&&Object.keys(e.tagStyles).length>0}function P(e){return e.includes("<")}let $=new Set([10,13]),H=new Set([9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]),O=new Set([45,8208,8211,8212,173]),D=/(\r\n|\r|\n)/,U=/(?:\r\n|\r|\n)/;function G(e){return"string"==typeof e&&$.has(e.charCodeAt(0))}function K(e,t){return"string"==typeof e&&H.has(e.charCodeAt(0))}function V(e){return"normal"===e||"pre-line"===e}function q(e){return"normal"===e}function Y(e){if("string"!=typeof e)return"";let t=e.length-1;for(;t>=0&&K(e[t]);)t--;return t<e.length-1?e.slice(0,t+1):e}function X(e){let t=[],r=[];if("string"!=typeof e)return t;for(let l=0;l<e.length;l++){let o=e[l],i=e[l+1];if(K(o,i)||G(o)){r.length>0&&(t.push(r.join("")),r.length=0),"\r"===o&&"\n"===i?(t.push("\r\n"),l++):t.push(o);continue}r.push(o),"string"==typeof o&&O.has(o.charCodeAt(0))&&i&&!K(i)&&!G(i)&&(t.push(r.join("")),r.length=0)}return r.length>0&&t.push(r.join("")),t}function J(e,t,r,l){let o=r(e),i=[];for(let r=0;r<o.length;r++){let s=o[r],n=s,a=1;for(;o[r+a];){let i=o[r+a];if(l(n,i,e,r,t))break;s+=i,n=i,a++}r+=a-1,i.push(s)}return i}let Q=/\r\n|\r|\n/g,Z={willReadFrequently:!0};function ee(e,t,r,l,o){let i=r[e];return"number"!=typeof i&&(i=o(e,t,l)+t,r[e]=i),i}let et={willReadFrequently:!0},er=class e{static get experimentalLetterSpacingSupported(){let t=e._experimentalLetterSpacingSupported;if(void 0===t){let r=h.f.get().getCanvasRenderingContext2D().prototype;t=e._experimentalLetterSpacingSupported="letterSpacing"in r||"textLetterSpacing"in r}return t}constructor(e,t,r,l,o,i,s,n,a,h){this.text=e,this.style=t,this.width=r,this.height=l,this.lines=o,this.lineWidths=i,this.lineHeight=s,this.maxLineWidth=n,this.fontProperties=a,h&&(this.runsByLine=h.runsByLine,this.lineAscents=h.lineAscents,this.lineDescents=h.lineDescents,this.lineHeights=h.lineHeights,this.hasDropShadow=h.hasDropShadow)}static measureText(t=" ",r,l=e._canvas,o=r.wordWrap){let i=`${t}-${r.styleKey}-wordWrap-${o}`;if(e._measurementCache.has(i))return e._measurementCache.get(i);if(B(r)&&P(t)){let l=function(e,t,r,l,o,i,s,n,a){let h=function(e,t){let r=[],l=t.tagStyles;if(!B(t)||!P(e))return r.push({text:e,style:t}),r;let o=[t],i=[],s="",n=0;for(;n<e.length;){let t=e[n];if("<"===t){let c=e.indexOf(">",n);if(-1===c){s+=t,n++;continue}let d=e.indexOf("<",n+1);if(-1!==d&&d<c){s+=t,n++;continue}let u=e.slice(n+1,c);if(u.startsWith("/")){let t=u.slice(1).trim();if(i.length>0&&i[i.length-1]===t){s.length>0&&(r.push({text:s,style:o[o.length-1]}),s=""),o.pop(),i.pop(),n=c+1;continue}s+=e.slice(n,c+1),n=c+1;continue}{let t=u.trim();if(l[t]){var a,h;s.length>0&&(r.push({text:s,style:o[o.length-1]}),s="");let e=(a=o[o.length-1],h=l[t],a.clone().assign(h));o.push(e),i.push(t),n=c+1;continue}s+=e.slice(n,c+1),n=c+1;continue}}s+=t,n++}return s.length>0&&r.push({text:s,style:o[o.length-1]}),r}(e,t);if(q(t.whiteSpace))for(let e=0;e<h.length;e++){let t=h[e];h[e]={text:t.text.replace(Q," "),style:t.style}}let c=[],d=[];for(let e of h){let t=e.text.split(D);for(let r=0;r<t.length;r++){let l=t[r];"\r\n"===l||"\r"===l||"\n"===l?(c.push(d),d=[]):l.length>0&&d.push({text:l,style:e.style})}}(d.length>0||0===c.length)&&c.push(d);let u=r?function(e,t,r,l,o,i){let{letterSpacing:s,whiteSpace:n,wordWrapWidth:a,breakWords:h}=t,c=V(n),d=a+s,u={},f="",p=(e,t)=>{let o=`${e}|${t.styleKey}`,i=u[o];if(void 0===i){let s=t._fontString;s!==f&&(r.font=s,f=s),i=l(e,t.letterSpacing,r)+t.letterSpacing,u[o]=i}return i},x=[];for(let t of e){let e=function(e){let t=[],r=!1;for(let l of e){let e=X(l.text),o=!0;for(let i of e){let e=K(i)||G(i),s=o&&r&&!e;t.push({token:i,style:l.style,continuesFromPrevious:s}),r=!e,o=!1}}return t}(t),r=x.length,l=t=>{let r=0,l=t;do{let{token:t,style:o}=e[l];r+=p(t,o),l++}while(l<e.length&&e[l].continuesFromPrevious)return r},s=t=>{let r=[],l=t;do r.push({token:e[l].token,style:e[l].style}),l++;while(l<e.length&&e[l].continuesFromPrevious)return r},n=[],a=0,u=!c,f=null,g=()=>{f&&f.text.length>0&&n.push(f),f=null},m=()=>{if(g(),n.length>0){let e=n[n.length-1];e.text=Y(e.text),0===e.text.length&&n.pop()}x.push(n),n=[],a=0,u=!1};for(let t=0;t<e.length;t++){let{token:r,style:y,continuesFromPrevious:w}=e[t],_=p(r,y);if(c){let e=K(r),t=f?.text[f.text.length-1]??n[n.length-1]?.text.slice(-1)??"",l=!!t&&K(t);if(e&&l)continue}let v=!w,b=v?l(t):_;if(b>d&&v)if(a>0&&m(),h){let e=s(t);for(let t=0;t<e.length;t++){let r=e[t].token,l=e[t].style;for(let e of J(r,h,i,o)){let t=p(e,l);t+a>d&&m(),f&&f.style===l?f.text+=e:(g(),f={text:e,style:l}),a+=t}}t+=e.length-1}else{let e=s(t);g(),x.push(e.map(e=>({text:e.token,style:e.style}))),u=!1,t+=e.length-1}else if(b+a>d&&v){if(K(r)){u=!1;continue}m(),f={text:r,style:y},a=_}else if(w&&!h)f&&f.style===y?f.text+=r:(g(),f={text:r,style:y}),a+=_;else{let e=K(r);if(0===a&&e&&!u)continue;f&&f.style===y?f.text+=r:(g(),f={text:r,style:y}),a+=_}}if(g(),n.length>0){let e=n[n.length-1];e.text=Y(e.text),0===e.text.length&&n.pop()}(n.length>0||x.length===r)&&x.push(n)}return x}(c,t,l,i,n,a):c,f=[],p=[],x=[],g=[],m=[],y=0,w=s(t._fontString);0===w.fontSize&&(w.fontSize=t.fontSize,w.ascent=t.fontSize);let _="",v=!!t.dropShadow,b=t._stroke?.width||0;for(let e of u){let r=0,i=w.ascent,n=w.descent,a="";for(let t of e){let e=t.style._fontString,h=s(e);e!==_&&(l.font=e,_=e),r+=o(t.text,t.style.letterSpacing,l),i=Math.max(i,h.ascent),n=Math.max(n,h.descent),a+=t.text;let c=t.style._stroke?.width||0;c>b&&(b=c),!v&&t.style.dropShadow&&(v=!0)}0===e.length&&(i=w.ascent,n=w.descent),f.push(r),p.push(i),x.push(n),m.push(a);let h=t.lineHeight||i+n;g.push(h+t.leading),y=Math.max(y,r)}let S=b,k=y+S+(t.dropShadow?t.dropShadow.distance:0),T=0;for(let e=0;e<g.length;e++)T+=g[e];return{width:k,height:(T=Math.max(T,g[0]+S))+(t.dropShadow?t.dropShadow.distance:0),lines:m,lineWidths:f,lineHeight:(t.lineHeight||w.fontSize)+t.leading,maxLineWidth:y,fontProperties:w,runsByLine:u,lineAscents:p,lineDescents:x,lineHeights:g,hasDropShadow:v}}(t,r,o,e._context,e._measureText,e._measureTextAdvance,e.measureFont,e.canBreakChars,e.wordWrapSplit),s=new e(t,r,l.width,l.height,l.lines,l.lineWidths,l.lineHeight,l.maxLineWidth,l.fontProperties,{runsByLine:l.runsByLine,lineAscents:l.lineAscents,lineDescents:l.lineDescents,lineHeights:l.lineHeights,hasDropShadow:l.hasDropShadow});return e._measurementCache.set(i,s),s}let s=r._fontString,n=e.measureFont(s);0===n.fontSize&&(n.fontSize=r.fontSize,n.ascent=r.fontSize,n.descent=0);let a=e._context;a.font=s;let h=(o?e._wordWrap(t,r,l):t).split(U),c=Array(h.length),d=0;for(let t=0;t<h.length;t++){let l=e._measureText(h[t],r.letterSpacing,a);c[t]=l,d=Math.max(d,l)}let u=r._stroke?.width??0,f=r.lineHeight||n.fontSize,p=e._adjustWidthForStyle(d,r),x=Math.max(f,n.fontSize+u)+(h.length-1)*(f+r.leading),g=e._adjustHeightForStyle(x,r),m=new e(t,r,p,g,h,c,f+r.leading,d,n);return e._measurementCache.set(i,m),m}static _adjustWidthForStyle(e,t){let r=e+(t._stroke?.width||0);return t.dropShadow&&(r+=t.dropShadow.distance),r}static _adjustHeightForStyle(e,t){let r=e;return t.dropShadow&&(r+=t.dropShadow.distance),r}static _measureText(t,r,l){let{metricWidth:o,metrics:i,letterSpacingVal:s}=e._measureTextCore(t,r,l),n=-(i.actualBoundingBoxLeft??0),a=(i.actualBoundingBoxRight??0)-n;return i.width>0&&(a+=s),Math.max(o,a)}static _measureTextAdvance(t,r,l){return e._measureTextCore(t,r,l).metricWidth}static _measureTextCore(t,r,l){let o=!1;e.experimentalLetterSpacingSupported&&(e.experimentalLetterSpacing?(l.letterSpacing=`${r}px`,l.textLetterSpacing=`${r}px`,o=!0):(l.letterSpacing="0px",l.textLetterSpacing="0px"));let i=l.measureText(t),s=i.width,n=0;return s>0&&(s+=n=o?-r:(e.graphemeSegmenter(t).length-1)*r),{metricWidth:s,metrics:i,letterSpacingVal:n}}static _wordWrap(t,r,l=e._canvas){return function(e,t,r,l,o,i,s){let n=r.getContext("2d",Z);n.font=t._fontString;let a=0,h="",c=[],d=Object.create(null),{letterSpacing:u,whiteSpace:f}=t,p=V(f),x=q(f),g=!p,m=t.wordWrapWidth+u,y=X(e);for(let e=0;e<y.length;e++){let r=y[e];if(G(r)){if(!x){c.push(Y(h)),g=!p,h="",a=0;continue}r=" "}if(p){let e=K(r),t=K(h[h.length-1]);if(e&&t)continue}let f=ee(r,u,d,n,l);if(f>m)if(""!==h&&(c.push(Y(h)),h="",a=0),o(r,t.breakWords))for(let e of J(r,t.breakWords,s,i)){let t=ee(e,u,d,n,l);t+a>m&&(c.push(Y(h)),g=!1,h="",a=0),h+=e,a+=t}else h.length>0&&(c.push(Y(h)),h="",a=0),c.push(Y(r)),g=!1,h="",a=0;else f+a>m&&(g=!1,c.push(Y(h)),h="",a=0),(h.length>0||!K(r)||g)&&(h+=r,a+=f)}let w=Y(h);return w.length>0&&c.push(w),c.join("\n")}(t,r,l,e._measureTextAdvance,e.canBreakWords,e.canBreakChars,e.wordWrapSplit)}static isBreakingSpace(e,t){return K(e,t)}static canBreakWords(e,t){return t}static canBreakChars(e,t,r,l,o){return!0}static wordWrapSplit(t){return e.graphemeSegmenter(t)}static measureFont(t){if(e._fonts[t])return e._fonts[t];let r=e._context;r.font=t;let l=r.measureText(e.METRICS_STRING+e.BASELINE_SYMBOL),o=l.actualBoundingBoxAscent??0,i=l.actualBoundingBoxDescent??0,s={ascent:o,descent:i,fontSize:o+i};return e._fonts[t]=s,s}static clearMetrics(t=""){t?delete e._fonts[t]:e._fonts={}}static get _canvas(){if(!e.__canvas){let t;try{let r=new OffscreenCanvas(0,0),l=r.getContext("2d",et);if(l?.measureText)return e.__canvas=r,r;t=h.f.get().createCanvas()}catch(e){t=h.f.get().createCanvas()}t.width=t.height=10,e.__canvas=t}return e.__canvas}static get _context(){return e.__context||(e.__context=e._canvas.getContext("2d",et)),e.__context}};er.METRICS_STRING="|ÉqÅ",er.BASELINE_SYMBOL="M",er.BASELINE_MULTIPLIER=1.4,er.HEIGHT_MULTIPLIER=2,er.graphemeSegmenter=(()=>{if("function"==typeof Intl?.Segmenter){let e=new Intl.Segmenter;return t=>{let r=e.segment(t),l=[],o=0;for(let e of r)l[o++]=e.segment;return l}}return e=>[...e]})(),er.experimentalLetterSpacing=!1,er._fonts={},er._measurementCache=function(e=1e3,t=0,r=!1){if(isNaN(e)||e<0)throw TypeError("Invalid max value");if(isNaN(t)||t<0)throw TypeError("Invalid ttl value");if("boolean"!=typeof r)throw TypeError("Invalid resetTtl value");return new N(e,t,r)}(1e3);let el=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];function eo(e){let t="number"==typeof e.fontSize?`${e.fontSize}px`:e.fontSize,r=e.fontFamily;Array.isArray(e.fontFamily)||(r=e.fontFamily.split(","));for(let e=r.length-1;e>=0;e--){let t=r[e].trim();/([\"\'])[^\'\"]+\1/.test(t)||el.includes(t)||(t=`"${t}"`),r[e]=t}return`${e.fontStyle} ${e.fontVariant} ${e.fontWeight} ${t} ${r.join(",")}`}var ei=e.i(28959),es=e.i(61805),en=e.i(31320),ea=e.i(85830),eh=e.i(37836);function ec(e,t,r,l=0,o=0,i=0){if(e.texture===en.f.WHITE&&!e.fill)return R.f.shared.setValue(e.color).setAlpha(e.alpha??1).toHexa();if(e.fill){if(e.fill instanceof eh.f){let r=e.fill,l=t.createPattern(r.texture.source.resource,"repeat");return es.f.applyPatternTransform(l,r.transform,!1),l}else if(e.fill instanceof b.f){let s,n=e.fill,a="linear"===n.type,h="local"===n.textureSpace,c=1,d=1;h&&r&&(c=r.width+l,d=r.height+l);let u=!1;if(a){let{start:e,end:r}=n;s=t.createLinearGradient(e.x*c+o,e.y*d+i,r.x*c+o,r.y*d+i),u=Math.abs(r.x-e.x)<Math.abs((r.y-e.y)*.1)}else{let{center:e,innerRadius:r,outerCenter:l,outerRadius:a}=n;s=t.createRadialGradient(e.x*c+o,e.y*d+i,r*c,l.x*c+o,l.y*d+i,a*c)}if(u&&h&&r){let e=r.lineHeight/d;for(let t=0;t<r.lines.length;t++){let o=(t*r.lineHeight+l/2)/d;n.colorStops.forEach(t=>{let r=o+t.offset*e;r=Math.max(0,Math.min(1,r)),s.addColorStop(Math.floor(1e5*r)/1e5,R.f.shared.setValue(t.color).toHex())})}}else n.colorStops.forEach(e=>{s.addColorStop(e.offset,R.f.shared.setValue(e.color).toHex())});return s}}else{let r=t.createPattern(e.texture.source.resource,"repeat"),l=e.matrix.copyTo(ei.f.shared);return l.scale(e.texture.source.pixelWidth,e.texture.source.pixelHeight),r.setTransform(l),r}return(0,ea.f)("FillStyle not recognised",e),"red"}let ed=new W.f;function eu(e){let t=0;for(let r=0;r<e.length;r++)32===e.charCodeAt(r)&&t++;return t}let ef=new class{getCanvasAndContext(e){let{text:t,style:r,resolution:l=1}=e,o=r._getFinalPadding(),i=er.measureText(t||" ",r),s=Math.ceil(Math.ceil(Math.max(1,i.width)+2*o)*l),n=Math.ceil(Math.ceil(Math.max(1,i.height)+2*o)*l),a=z.f.getOptimalCanvasAndContext(s,n);this._renderTextToCanvas(r,o,l,a,i);let c=r.trim?function(...e){let t=e[0];t.canvas||(t={canvas:e[0],resolution:e[1]});let{canvas:r}=t,l=Math.min(t.resolution??1,1),o=t.width??r.width,i=t.height??r.height,s=t.output;if(A||((L=(A=h.f.get().createCanvas(256,128)).getContext("2d",{willReadFrequently:!0})).globalCompositeOperation="copy",L.globalAlpha=1),(A.width<o||A.height<i)&&(A.width=(0,F.a)(o),A.height=(0,F.a)(i)),!L)throw TypeError("Failed to get canvas 2D context");L.drawImage(r,0,0,o,i,0,0,o*l,i*l);let n=L.getImageData(0,0,o,i).data,a=0,c=0,d=o-1,u=i-1;for(;c<i&&I(n,o,c);)++c;if(c===i)return W.f.EMPTY;for(;I(n,o,u);)--u;for(;E(n,o,a,c,u);)++a;for(;E(n,o,d,c,u);)--d;return++d,++u,L.globalCompositeOperation="source-over",L.strokeRect(a,c,d-a,u-c),L.globalCompositeOperation="copy",s??(s=new W.f),s.set(a/l,c/l,(d-a)/l,(u-c)/l),s}({canvas:a.canvas,width:s,height:n,resolution:1,output:ed}):ed.set(0,0,s,n);return{canvasAndContext:a,frame:c}}returnCanvasAndContext(e){z.f.returnCanvasAndContext(e)}_renderTextToCanvas(e,t,r,l,o){let i,s;if(o.runsByLine&&o.runsByLine.length>0)return void this._renderTaggedTextToCanvas(o,e,t,r,l);let{canvas:n,context:a}=l,h=eo(e),c=o.lines,d=o.lineHeight,u=o.lineWidths,f=o.maxLineWidth,p=o.fontProperties,x=n.height;if(a.resetTransform(),a.scale(r,r),a.textBaseline=e.textBaseline,e._stroke?.width){let t=e._stroke;a.lineWidth=t.width,a.miterLimit=t.miterLimit,a.lineJoin=t.join,a.lineCap=t.cap}a.font=h;let g=e.dropShadow?2:1,m=(e._stroke?.width??0)/2,y=(d-p.fontSize)/2;d-p.fontSize<0&&(y=0);for(let n=0;n<g;++n){let h=e.dropShadow&&0===n,g=h?Math.ceil(Math.max(1,x)+2*t):0,w=g*r;if(h)this._setupDropShadow(a,e,r,w);else{let r=e._gradientBounds,l=e._gradientOffset;if(r){let i={width:r.width,height:r.height,lineHeight:r.height,lines:o.lines};this._setFillAndStrokeStyles(a,e,i,t,m,l?.x??0,l?.y??0)}else l?this._setFillAndStrokeStyles(a,e,o,t,m,l.x,l.y):this._setFillAndStrokeStyles(a,e,o,t,m);a.shadowColor="rgba(0,0,0,0)"}for(let r=0;r<c.length;r++){i=m,s=m+r*d+p.ascent+y,i+=this._getAlignmentOffset(u[r],f,e.align);let o=0;if("justify"===e.align&&e.wordWrap&&r<c.length-1){let e=eu(c[r]);e>0&&(o=(f-u[r])/e)}e._stroke?.width&&this._drawLetterSpacing(c[r],e,l,i+t,s+t-g,!0,o),void 0!==e._fill&&this._drawLetterSpacing(c[r],e,l,i+t,s+t-g,!1,o)}}}_renderTaggedTextToCanvas(e,t,r,l,o){let{canvas:i,context:s}=o,{runsByLine:n,lineWidths:a,maxLineWidth:h,lineAscents:c,lineHeights:d,hasDropShadow:u}=e,f=i.height;s.resetTransform(),s.scale(l,l),s.textBaseline=t.textBaseline;let p=u?2:1,x=t._stroke?.width??0;for(let e of n)for(let t of e){let e=t.style._stroke?.width??0;e>x&&(x=e)}let g=x/2,m=[];for(let e=0;e<n.length;e++){let t=n[e],r=[];for(let e of t){let t=eo(e.style);s.font=t,r.push({width:er._measureText(e.text,e.style.letterSpacing,s),font:t})}m.push(r)}for(let e=0;e<p;++e){let i=u&&0===e,p=i?Math.ceil(Math.max(1,f)+2*r):0,x=p*l;i||(s.shadowColor="rgba(0,0,0,0)");let y=g;for(let e=0;e<n.length;e++){let u=n[e],f=a[e],w=c[e],_=d[e],v=m[e],b=g;b+=this._getAlignmentOffset(f,h,t.align);let S=0;if("justify"===t.align&&t.wordWrap&&e<n.length-1){let e=0;for(let t of u)e+=eu(t.text);e>0&&(S=(h-f)/e)}let k=y+w,T=b+r;for(let e=0;e<u.length;e++){let t=u[e],{width:n,font:a}=v[e];if(s.font=a,s.textBaseline=t.style.textBaseline,t.style._stroke?.width){let e=t.style._stroke;if(s.lineWidth=e.width,s.miterLimit=e.miterLimit,s.lineJoin=e.join,s.lineCap=e.cap,i)if(t.style.dropShadow)this._setupDropShadow(s,t.style,l,x);else{T+=n+eu(t.text)*S;continue}else{let l=er.measureFont(a),o=t.style.lineHeight||l.fontSize;s.strokeStyle=ec(e,s,{width:n,height:o,lineHeight:o,lines:[t.text]},2*r,T-r,y)}this._drawLetterSpacing(t.text,t.style,o,T,k+r-p,!0,S)}T+=n+eu(t.text)*S}T=b+r;for(let e=0;e<u.length;e++){let t=u[e],{width:n,font:a}=v[e];if(s.font=a,s.textBaseline=t.style.textBaseline,void 0!==t.style._fill){if(i)if(t.style.dropShadow)this._setupDropShadow(s,t.style,l,x);else{T+=n+eu(t.text)*S;continue}else{let e=er.measureFont(a),l=t.style.lineHeight||e.fontSize,o={width:n,height:l,lineHeight:l,lines:[t.text]};s.fillStyle=ec(t.style._fill,s,o,2*r,T-r,y)}this._drawLetterSpacing(t.text,t.style,o,T,k+r-p,!1,S)}T+=n+eu(t.text)*S}y+=_}}}_setFillAndStrokeStyles(e,t,r,l,o,i=0,s=0){e.fillStyle=t._fill?ec(t._fill,e,r,2*l,i,s):null,t._stroke?.width&&(e.strokeStyle=ec(t._stroke,e,r,o+2*l,i,s))}_setupDropShadow(e,t,r,l){e.fillStyle="black",e.strokeStyle="black";let o=t.dropShadow,i=o.color,s=o.alpha;e.shadowColor=R.f.shared.setValue(i).setAlpha(s).toRgbaString();let n=o.blur*r,a=o.distance*r;e.shadowBlur=n,e.shadowOffsetX=Math.cos(o.angle)*a,e.shadowOffsetY=Math.sin(o.angle)*a+l}_getAlignmentOffset(e,t,r){return"right"===r?t-e:"center"===r?(t-e)/2:0}_drawLetterSpacing(e,t,r,l,o,i=!1,s=0){let{context:n}=r,a=t.letterSpacing,h=!1;if(er.experimentalLetterSpacingSupported&&(er.experimentalLetterSpacing?(n.letterSpacing=`${a}px`,n.textLetterSpacing=`${a}px`,h=!0):(n.letterSpacing="0px",n.textLetterSpacing="0px")),(0===a||h)&&0===s)return void(i?n.strokeText(e,l,o):n.fillText(e,l,o));if(0!==s&&(0===a||h)){let t=e.split(" "),r=l,a=n.measureText(" ").width;for(let e=0;e<t.length;e++)i?n.strokeText(t[e],r,o):n.fillText(t[e],r,o),r+=n.measureText(t[e]).width+a+s;return}let c=l,d=er.graphemeSegmenter(e),u=n.measureText(e).width,f=0;for(let e=0;e<d.length;++e){let t=d[e];i?n.strokeText(t,c,o):n.fillText(t,c,o);let r="";for(let t=e+1;t<d.length;++t)r+=d[t];c+=u-(f=n.measureText(r).width)+a," "===t&&(c+=s),u=f}}};var ep=a,ex=e.i(24314),eg=e.i(20446),em=e.i(86230);let ey=class e extends ep.f{constructor(t={}){super(),this.uid=(0,ex.f)("textStyle"),this._tick=0,this._cachedFontString=null,function(e){if("boolean"==typeof e.dropShadow&&e.dropShadow){let t=ey.defaultDropShadow;e.dropShadow={alpha:e.dropShadowAlpha??t.alpha,angle:e.dropShadowAngle??t.angle,blur:e.dropShadowBlur??t.blur,color:e.dropShadowColor??t.color,distance:e.dropShadowDistance??t.distance}}if(void 0!==e.strokeThickness){(0,g.K)(g.e,"strokeThickness is now a part of stroke");let t=e.stroke,r={};if(R.f.isColorLike(t))r.color=t;else if(t instanceof b.f||t instanceof eh.f)r.fill=t;else if(Object.hasOwnProperty.call(t,"color")||Object.hasOwnProperty.call(t,"fill"))r=t;else throw Error("Invalid stroke value.");e.stroke={...r,width:e.strokeThickness}}if(Array.isArray(e.fillGradientStops)){if((0,g.K)(g.e,"gradient fill is now a fill pattern: `new FillGradient(...)`"),!Array.isArray(e.fill)||0===e.fill.length)throw Error("Invalid fill value. Expected an array of colors for gradient fill.");e.fill.length!==e.fillGradientStops.length&&(0,ea.f)("The number of fill colors must match the number of fill gradient stops.");let t=new b.f({start:{x:0,y:0},end:{x:0,y:1},textureSpace:"local"}),r=e.fillGradientStops.slice(),l=e.fill.map(e=>R.f.shared.setValue(e).toNumber());r.forEach((e,r)=>{t.addColorStop(e,l[r])}),e.fill={fill:t}}}(t);let r=t instanceof e,l=t;r&&(t=l._toObject());let o={...e.defaultTextStyle,...t};for(let e in o)this[e]=o[e];this._tagStyles=t.tagStyles??void 0,this.update(),this._tick=0}get align(){return this._align}set align(e){this._align!==e&&(this._align=e,this.update())}get breakWords(){return this._breakWords}set breakWords(e){this._breakWords!==e&&(this._breakWords=e,this.update())}get dropShadow(){return this._dropShadow}set dropShadow(t){this._dropShadow!==t&&(null!==t&&"object"==typeof t?this._dropShadow=this._createProxy({...e.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...e.defaultDropShadow}):null,this.update())}get fontFamily(){return this._fontFamily}set fontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.update())}get fontSize(){return this._fontSize}set fontSize(e){this._fontSize!==e&&("string"==typeof e?this._fontSize=parseInt(e,10):this._fontSize=e,this.update())}get fontStyle(){return this._fontStyle}set fontStyle(e){this._fontStyle!==e&&(this._fontStyle=e.toLowerCase(),this.update())}get fontVariant(){return this._fontVariant}set fontVariant(e){this._fontVariant!==e&&(this._fontVariant=e,this.update())}get fontWeight(){return this._fontWeight}set fontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.update())}get leading(){return this._leading}set leading(e){this._leading!==e&&(this._leading=e,this.update())}get letterSpacing(){return this._letterSpacing}set letterSpacing(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.update())}get lineHeight(){return this._lineHeight}set lineHeight(e){this._lineHeight!==e&&(this._lineHeight=e,this.update())}get padding(){return this._padding}set padding(e){this._padding!==e&&(this._padding=e,this.update())}get filters(){return this._filters}set filters(e){this._filters!==e&&(this._filters=Object.freeze(e),this.update())}get trim(){return this._trim}set trim(e){this._trim!==e&&(this._trim=e,this.update())}get textBaseline(){return this._textBaseline}set textBaseline(e){this._textBaseline!==e&&(this._textBaseline=e,this.update())}get whiteSpace(){return this._whiteSpace}set whiteSpace(e){this._whiteSpace!==e&&(this._whiteSpace=e,this.update())}get wordWrap(){return this._wordWrap}set wordWrap(e){this._wordWrap!==e&&(this._wordWrap=e,this.update())}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(e){this._wordWrapWidth!==e&&(this._wordWrapWidth=e,this.update())}get fill(){return this._originalFill}set fill(e){e!==this._originalFill&&(this._originalFill=e,this._isFillStyle(e)&&(this._originalFill=this._createProxy({...eg.f.defaultFillStyle,...e},()=>{this._fill=(0,em._)({...this._originalFill},eg.f.defaultFillStyle)})),this._fill=(0,em._)(0===e?"black":e,eg.f.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(e){e!==this._originalStroke&&(this._originalStroke=e,this._isFillStyle(e)&&(this._originalStroke=this._createProxy({...eg.f.defaultStrokeStyle,...e},()=>{this._stroke=(0,em.U)({...this._originalStroke},eg.f.defaultStrokeStyle)})),this._stroke=(0,em.U)(e,eg.f.defaultStrokeStyle),this.update())}get tagStyles(){return this._tagStyles}set tagStyles(e){this._tagStyles!==e&&(this._tagStyles=e??void 0,this.update())}update(){this._tick++,this._cachedFontString=null,this.emit("update",this)}reset(){let t=e.defaultTextStyle;for(let e in t)this[e]=t[e]}assign(e){for(let t in e)this[t]=e[t];return this}get styleKey(){return`${this.uid}-${this._tick}`}get _fontString(){return null===this._cachedFontString&&(this._cachedFontString=eo(this)),this._cachedFontString}_toObject(){return{align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill?{...this._fill}:void 0,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke?{...this._stroke}:void 0,textBaseline:this.textBaseline,trim:this.trim,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,filters:this._filters?[...this._filters]:void 0,tagStyles:this._tagStyles?{...this._tagStyles}:void 0}}clone(){return new e(this._toObject())}_getFinalPadding(){let e=0;if(this._filters)for(let t=0;t<this._filters.length;t++)e+=this._filters[t].padding;return Math.max(this._padding,e)}destroy(e=!1){if(this.removeAllListeners(),"boolean"==typeof e?e:e?.texture){let t="boolean"==typeof e?e:e?.textureSource;this._fill?.texture&&this._fill.texture.destroy(t),this._originalFill?.texture&&this._originalFill.texture.destroy(t),this._stroke?.texture&&this._stroke.texture.destroy(t),this._originalStroke?.texture&&this._originalStroke.texture.destroy(t)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(e,t){return new Proxy(e,{set:(e,r,l)=>e[r]===l||(e[r]=l,t?.(r,l),this.update(),!0)})}_isFillStyle(e){return(e??null)!==null&&!(R.f.isColorLike(e)||e instanceof b.f||e instanceof eh.f)}};ey.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5},ey.defaultTextStyle={align:"left",breakWords:!1,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};let ew=!1;var e_=e.i(33219),ev=e.i(81481),eb=e.i(40766);class eS extends eb.f{}class ek{constructor(e){this._renderer=e,e.runners.resolutionChange.add(this),e.runners.contextChange.add(this),this._managedTexts=new e_.f({renderer:e,type:"renderable",onUnload:this.onTextUnload.bind(this),name:"canvasText"})}resolutionChange(){for(let e in this._managedTexts.items){let t=this._managedTexts.items[e];t?._autoResolution&&t.onViewUpdate()}}contextChange(){for(let e in this._managedTexts.items)this._managedTexts.items[e]?.unload()}validateRenderable(e){let t=this._getGpuText(e),r=e.styleKey;return t.currentKey!==r||e._didTextUpdate}addRenderable(e,t){let r=this._getGpuText(e);if(e._didTextUpdate||r.currentKey!==e.styleKey){let t=e._autoResolution?this._renderer.resolution:e.resolution;(r.currentKey!==e.styleKey||e._resolution!==t)&&this._updateGpuText(e),e._didTextUpdate=!1,function(e,t){let{texture:r,bounds:l}=e,o=t._style._getFinalPadding();(0,ev.f)(l,t._anchor,r);let i=t._anchor._x*o*2,s=t._anchor._y*o*2;l.minX-=o-i,l.minY-=o-s,l.maxX-=o-i,l.maxY-=o-s}(r,e)}this._renderer.renderPipes.batch.addToBatch(r,t)}updateRenderable(e){let t=this._getGpuText(e);t._batcher.updateElement(t)}_updateGpuText(e){let t=this._getGpuText(e);t.texture&&this._renderer.canvasText.decreaseReferenceCount(t.currentKey),e._resolution=e._autoResolution?this._renderer.resolution:e.resolution,t.texture=this._renderer.canvasText.getManagedTexture(e),t.currentKey=e.styleKey}_getGpuText(e){return e._gpuData[this._renderer.uid]||this.initGpuText(e)}initGpuText(e){let t=new eS;return t.currentKey="--",t.renderable=e,t.transform=e.groupTransform,t.bounds={minX:0,maxX:1,minY:0,maxY:0},t.roundPixels=this._renderer._roundPixels|e._roundPixels,e._gpuData[this._renderer.uid]=t,this._managedTexts.add(e),t}onTextUnload(e){let t=e._gpuData[this._renderer.uid];if(!t)return;let{canvasText:r}=this._renderer;r.getReferenceCount(t.currentKey)>0?r.decreaseReferenceCount(t.currentKey):t.texture&&r.returnTexture(t.texture)}destroy(){this._managedTexts.destroy(),this._renderer=null}}ek.extension={type:[i.x.WebGLPipes,i.x.WebGPUPipes,i.x.CanvasPipes],name:"text"};var eT=e.i(41163),eC=e.i(70298);class eM{constructor(e,t){this._activeTextures={},this._renderer=e,this._retainCanvasContext=t}getTexture(e,t,r,l){"string"==typeof e&&((0,g.K)("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),e={text:e,style:r,resolution:t}),e.style instanceof ey||(e.style=new ey(e.style)),"string"!=typeof e.text&&(e.text=e.text.toString());let{text:o,style:i,textureStyle:s,autoGenerateMipmaps:n}=e,a=e.resolution??this._renderer.resolution,{frame:h,canvasAndContext:c}=ef.getCanvasAndContext({text:o,style:i,resolution:a}),d=(0,eC.f)(c.canvas,h.width,h.height,a,n,s?.scaleMode);if(i.trim&&(h.pad(i.padding),d.frame.copyFrom(h),d.frame.scale(1/a),d.updateUvs()),i.filters){let e=this._applyFilters(d,i.filters);return this.returnTexture(d),ef.returnCanvasAndContext(c),e}return this._renderer.texture.initSource(d._source),this._retainCanvasContext||ef.returnCanvasAndContext(c),d}returnTexture(e){let t=e.source,r=t.resource;if(this._retainCanvasContext&&r?.getContext){let e=r.getContext("2d");e&&ef.returnCanvasAndContext({canvas:r,context:e})}t.resource=null,t.uploadMethodId="unknown",t.alphaMode="no-premultiply-alpha",eT.f.returnTexture(e)}renderTextToCanvas(){(0,g.K)("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead")}getManagedTexture(e){e._resolution=e._autoResolution?this._renderer.resolution:e.resolution;let t=e.styleKey;if(this._activeTextures[t])return this._increaseReferenceCount(t),this._activeTextures[t].texture;let r=this.getTexture({text:e.text,style:e.style,resolution:e._resolution,textureStyle:e.textureStyle,autoGenerateMipmaps:e.autoGenerateMipmaps});return this._activeTextures[t]={texture:r,usageCount:1},r}decreaseReferenceCount(e){let t=this._activeTextures[e];t&&(t.usageCount--,0===t.usageCount&&(this.returnTexture(t.texture),this._activeTextures[e]=null))}getReferenceCount(e){return this._activeTextures[e]?.usageCount??0}_increaseReferenceCount(e){this._activeTextures[e].usageCount++}_applyFilters(e,t){let r=this._renderer.renderTarget.renderTarget,l=this._renderer.filter.generateFilteredTexture({texture:e,filters:t});return this._renderer.renderTarget.bind({target:r,clear:!1}),l}destroy(){for(let e in this._renderer=null,this._activeTextures)this._activeTextures[e]&&this.returnTexture(this._activeTextures[e].texture);this._activeTextures=null}}class ej extends eM{constructor(e){super(e,!0)}}ej.extension={type:[i.x.CanvasSystem],name:"canvasText"};class eR extends eM{constructor(e){super(e,!1)}}eR.extension={type:[i.x.WebGLSystem,i.x.WebGPUSystem],name:"canvasText"},i.H.add(ej),i.H.add(eR),i.H.add(ek);class eW extends j{constructor(...e){let t,r=(("string"==typeof(t=e[0]??{})||e[1])&&((0,g.K)(g.e,'use new Text({ text: "hi!", style }) instead'),t={text:t,style:e[1]}),t);super(r,ey),this.renderPipeId="text",r.textureStyle&&(this.textureStyle=r.textureStyle instanceof T.f?r.textureStyle:new T.f(r.textureStyle),function(e){if(ew)return;let t=new T.f({scaleMode:e.scaleMode});e._resourceId!==t._resourceId&&(ew=!0,(0,ea.f)("Text textureStyle: only scaleMode is applied to a text texture, the other fields are ignored"))}(this.textureStyle)),this.autoGenerateMipmaps=r.autoGenerateMipmaps??k.f.defaultOptions.autoGenerateMipmaps}updateBounds(){let e=this._bounds,t=this._anchor,r=0,l=0;if(this._style.trim){let{frame:e,canvasAndContext:t}=ef.getCanvasAndContext({text:this.text,style:this._style,resolution:1});ef.returnCanvasAndContext(t),r=e.width,l=e.height}else{let e=er.measureText(this._text,this._style);r=e.width,l=e.height}e.minX=-t._x*r,e.maxX=e.minX+r,e.minY=-t._y*l,e.maxY=e.minY+l}}let ez={pending:0xf59e0b,streaming:2282478,done:3462041,error:0xef4444};function eF(e){return e?e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e):"0"}function eA(e=[]){let t=new Map;for(let r of e){if(!r?.connectionId)continue;let e=t.get(r.connectionId);for(let l of(e||(e={connectionId:r.connectionId,account:r.account||r.connectionId,model:r.model,provider:r.provider,clientIcon:r.clientIcon,traces:[],tokens:{input:0,output:0,cached:0},activeCount:0,errorCount:0,tools:[],errorReason:null,fallbackFrom:null,queued:0,elapsedMs:0,cost:0,pendingCount:0},t.set(r.connectionId,e)),e.traces.push(r),r.toolCalls||[])){let t=l.tool||l.type;t&&!e.tools.includes(t)&&e.tools.push(t)}e.tokens.input+=r.tokens?.input||0,e.tokens.output+=r.tokens?.output||0,e.tokens.cached+=r.tokens?.cached||0,e.queued+=Math.max(1,r.concurrent||1),e.elapsedMs=Math.max(e.elapsedMs,r.elapsedMs||0),e.cost+=r.cost||0,r.fallback?.from&&!e.fallbackFrom&&(e.fallbackFrom=r.fallback.from),"error"===r.state?(e.errorCount+=1,e.errorReason=e.errorReason||r.error||"error"):"done"!==r.state&&(e.activeCount+=1,"pending"===r.state&&(e.pendingCount+=1))}let r=[...t.values()].map((e,t)=>{let r=Math.floor(t/6),l=e.errorCount>0?"error":e.activeCount>0?"streaming":"done",o="error"===l?"error":"streaming"===l?e.pendingCount===e.activeCount?"pending":"streaming":e.elapsedMs>=32e3?"sleeping":"happy",i=e.tokens.input+e.tokens.output+e.tokens.cached,s=i?Math.round(e.tokens.cached/i*100):0;return{...e,occupied:!0,state:l,mode:o,cachedPct:s,cost:Math.round(100*e.cost)/100,color:ez[l],totalTokens:e.tokens.input+e.tokens.output+e.tokens.cached,totalLabel:eF(e.tokens.input+e.tokens.output+e.tokens.cached),count:e.traces.length,x:60+t%6*200,y:820-170*r,depth:1,busy:e.activeCount}}),l=[...new Set(r.map(e=>e.provider).filter(Boolean))],o=l.map((e,t)=>{let o=r.filter(t=>t.provider===e),i=o.reduce((e,t)=>e+t.busy,0),s=o.reduce((e,t)=>e+t.totalTokens,0),n=o.some(e=>"error"===e.state);return{provider:e,x:1860,y:480-(l.length-1)*104/2+104*t,busy:i,load:Math.min(1,i/4),overloaded:i>=4,totalTokens:s,totalLabel:eF(s),color:n?ez.error:i>0?ez.streaming:ez.done}}),i=new Set(l),s=new Map;for(let e of r){if(!e.fallbackFrom||!i.has(e.fallbackFrom)||e.fallbackFrom===e.provider)continue;let t=`${e.fallbackFrom}>${e.provider}`,r=s.get(t)||{from:e.fallbackFrom,to:e.provider,count:0};r.count+=1,s.set(t,r)}return{workstations:r,pods:o,fallbacks:[...s.values()],rack:{x:1500,y:480,active:r.reduce((e,t)=>e+t.busy,0)},stats:{agents:r.length,busy:r.filter(e=>e.busy>0).length,tokens:r.reduce((e,t)=>e+t.totalTokens,0),tokensLabel:eF(r.reduce((e,t)=>e+t.totalTokens,0))}}}function eL(e,t){let r=String(e||"");return r.length>t?`${r.slice(0,t-1)}…`:r}let eI="ui-monospace, Menlo, monospace",eE="Inter, system-ui, sans-serif";function eN(...e){return new b.f({type:"linear",start:{x:0,y:0},end:{x:0,y:1},colorStops:e.map((t,r)=>({offset:r/(e.length-1),color:t})),textureSpace:"local"})}function eB({color:e,depth:t=1,scale:r=1,seed:l=0,trimColor:o,mode:i="streaming"}){let s=new p.t,n=[0xb5528f,4175528,0xe08a3c,8152024,4886240],a=o??n[l%n.length],h=new S.f;h.roundRect(-17,-30,34,22,11).fill(eN(0xffffff,0xf3f5f9,0xc9d0dc)),h.roundRect(-17,-30,34,8,8).fill({color:0xffffff,alpha:.6}),h.roundRect(-14,-12,28,8,4).fill({color:a}),h.roundRect(-16,-8,32,16,8).fill(eN(0xf3f5f9,0xc9d0dc,9213865)),h.roundRect(-16,2,32,6,4).fill({color:0xc9d0dc,alpha:.6});let c=new S.f;c.roundRect(-10,-36,20,8,4).fill({color:a});let d=new S.f;d.roundRect(-6,-34,12,3,1.5).fill({color:e});let u=new S.f,f=new S.f;for(let[e,t,r]of[[u,-26,-1],[f,18,1]])e.roundRect(t,-28,8,24,4).fill({color:0xf3f5f9}),e.roundRect(t,-28,8,8,4).fill({color:0xffffff,alpha:.6}),e.circle(t+4+1.5*r,-2,4.5).stroke({width:2.4,color:0xf3f5f9}),e.pivot.set(t+4,-26),e.position.set(t+4,-26);let x=new S.f;x.circle(-27,-56,8).fill({color:a}),x.circle(27,-56,8).fill({color:a}),x.circle(-29,-58,3).fill({color:0xffffff,alpha:.35}),x.circle(25,-58,3).fill({color:0xffffff,alpha:.35}),x.ellipse(0,-56,26,24).fill(eN(0xffffff,0xf3f5f9,0x9aa6b8)),x.ellipse(4,-50,24,21).stroke({width:3,color:7043728,alpha:.25}),x.ellipse(-8,-68,12,5.5).fill({color:0xffffff,alpha:.8}),x.circle(-14,-64,2).fill({color:0xffffff,alpha:.9}),x.ellipse(0,-53,22,17).fill({color:0xc9d0dc}),x.ellipse(0,-53,20,15.5).fill({color:988188}),x.ellipse(-5,-58,11,5).fill({color:0xffffff,alpha:.06});let g=new S.f,m=new S.f;s.addChild(h,c,d,u,f,x,g,m),s.scale.set(r*t);let y=i,w=(e,t,r=1)=>({width:e,color:t,alpha:r,cap:"round",join:"round"}),_=(t,r,l,o,i,s)=>{if("happy"===s)g.moveTo(t-4.6,r+2).arc(t,r+2,4.6,Math.PI,0).stroke(w(2.6,e,i));else if("sleep"===s)g.moveTo(t-4.6,r).arc(t,r,4.6,0,Math.PI).stroke(w(2.2,e,.7));else if("x"===s)g.moveTo(t-4,r-4).lineTo(t+4,r+4).stroke(w(2.6,e,i)),g.moveTo(t+4,r-4).lineTo(t-4,r+4).stroke(w(2.6,e,i));else{g.ellipse(t,r,l,o).fill({color:e,alpha:.9*i});for(let e=r-o+1;e<r+o;e+=2.4)g.rect(t-l-1,e,2*l+2,1).fill({color:988188,alpha:.55})}};return{root:s,statusDot:d,setMode(e){y=e},animate(t,r=0){let o=s.baseX??s.x,i=y,n=.012*t+o,a=Math.sin(.004*t+.05*o)*(.8+1.4*r),h=0,c=0;"happy"===i&&(a=-(3.2*Math.abs(Math.sin(.005*t+o)))),"sleeping"===i&&(a=1.1*Math.sin(.0016*t+o)+2.2,c=.12+.02*Math.sin(.0016*t+o)),"error"===i&&(h=1.8*Math.sin(.09*t)),s.x=o+h,s.y=(s.baseY||0)+a,s.rotation=c,u.rotation=0,f.rotation=0,"streaming"===i?(u.rotation=.14*Math.sin(n)*(.3+r),f.rotation=-(.14*Math.sin(n+1.3))*(.3+r)):"pending"===i?(u.rotation=2.5+.35*Math.sin(.012*t),f.rotation=-(.06*Math.sin(n+1.3))):"happy"===i?(u.rotation=2.2+.2*Math.sin(.01*t),f.rotation=-2.2-.2*Math.sin(.01*t+1)):"error"===i?(u.rotation=2.7+.1*Math.sin(.08*t),f.rotation=-2.7-.1*Math.sin(.08*t)):"sleeping"===i&&(u.rotation=.05,f.rotation=-.05);let p=Math.sin(.0013*t+2.1*l)>.985,x=.85+.15*Math.sin(.01*t+l);g.clear();let v="happy"===i?"happy":"sleeping"===i?"sleep":"error"===i?"x":"scan";if(_(-8,-57,4.8,p?.8:4.4,x,v),_(8,-57,4.8,p?.8:4.4,x,v),"happy"===i?g.moveTo(-6,-48).arc(0,-48,6,0,Math.PI).stroke(w(2.2,e,.9)):"sleeping"===i?g.circle(0,-45,1.8).stroke(w(1.6,e,.6)):"error"===i?g.moveTo(-7,-45).lineTo(-3.5,-48).lineTo(0,-45).lineTo(3.5,-48).lineTo(7,-45).stroke(w(2,e,x)):g.ellipse(0,-46,5+3*r,2.4+1.2*r).fill({color:e,alpha:.75*x}),m.clear(),"sleeping"===i)for(let e=0;e<3;e+=1){let r=(4e-4*t+e/3+.13*l)%1,o=20+16*r,i=-78-30*r,s=3+4*r;m.moveTo(o,i).lineTo(o+s,i).lineTo(o,i+s).lineTo(o+s,i+s).stroke(w(1.6,0xa5b4cc,1-r))}else if("error"===i)for(let e=0;e<4;e+=1){let r=(7e-4*t+e/4+.1*l)%1;m.circle(6*Math.sin(9*r+e)+(e-1.5)*4,-80-34*r,3+6*r).fill({color:7041664,alpha:.55*(1-r)})}d.alpha=.6+.4*Math.sin(.007*t+l)*(.3+r)},setState(e){d.tint=e}}}function eP(e,{color:t=2282478,size:r=10}={}){return new eW({text:e,style:{fontFamily:eE,fontSize:r,fill:t,fontWeight:"700"}})}let e$={cap:"round",join:"round"},eH={bash:{label:"Bash",color:3462041,draw(e,t){e.moveTo(-8,-6).lineTo(-2,0).lineTo(-8,6).stroke({width:2.4,color:t,...e$}),e.moveTo(1,7).lineTo(8,7).stroke({width:2.4,color:t,...e$})}},read:{label:"Read",color:6333946,draw(e,t){e.moveTo(-6,-9).lineTo(3,-9).lineTo(7,-5).lineTo(7,9).lineTo(-6,9).closePath().stroke({width:2,color:t,...e$}),e.moveTo(-3,-1).lineTo(4,-1).stroke({width:1.8,color:t,...e$}),e.moveTo(-3,3).lineTo(4,3).stroke({width:1.8,color:t,...e$}),e.moveTo(-3,6.5).lineTo(1,6.5).stroke({width:1.8,color:t,...e$})}},edit:{label:"Edit",color:0xfbbf24,draw(e,t){e.moveTo(-7,8).lineTo(-6,3).lineTo(4,-7).lineTo(8,-3).lineTo(-2,7).closePath().stroke({width:2,color:t,...e$}),e.moveTo(1,-4).lineTo(5,0).stroke({width:1.8,color:t,...e$}),e.moveTo(-8,9.5).lineTo(-1,9.5).stroke({width:1.8,color:t,...e$})}},search:{label:"Search",color:0xf472b6,draw(e,t){e.circle(-2,-2,6).stroke({width:2.2,color:t,...e$}),e.moveTo(2.5,2.5).lineTo(8,8).stroke({width:2.6,color:t,...e$})}},web:{label:"Web",color:2282478,draw(e,t){e.circle(0,0,8.5).stroke({width:2,color:t,...e$}),e.ellipse(0,0,3.6,8.5).stroke({width:1.6,color:t,...e$}),e.moveTo(-8.5,0).lineTo(8.5,0).stroke({width:1.6,color:t,...e$})}},mcp:{label:"MCP",color:0xa78bfa,draw(e,t){e.moveTo(-4,-9).lineTo(-4,-3).stroke({width:2.4,color:t,...e$}),e.moveTo(4,-9).lineTo(4,-3).stroke({width:2.4,color:t,...e$}),e.roundRect(-8,-3,16,9,3).stroke({width:2,color:t,...e$}),e.moveTo(0,6).lineTo(0,10).stroke({width:2.4,color:t,...e$})}},agent:{label:"Subagent",color:0xfb923c,draw(e,t){e.moveTo(0,-4).lineTo(-6,6).stroke({width:1.8,color:t,...e$}),e.moveTo(0,-4).lineTo(6,6).stroke({width:1.8,color:t,...e$}),e.circle(0,-5,3.6).fill({color:t}),e.circle(-6.5,7,3).fill({color:t}),e.circle(6.5,7,3).fill({color:t})}},todo:{label:"Todo",color:9741240,draw(e,t){e.moveTo(-8,-5).lineTo(-6,-3).lineTo(-3,-7).stroke({width:1.8,color:t,...e$}),e.moveTo(1,-5).lineTo(8,-5).stroke({width:1.8,color:t,...e$}),e.moveTo(-8,5).lineTo(-6,7).lineTo(-3,3).stroke({width:1.8,color:t,...e$}),e.moveTo(1,5).lineTo(8,5).stroke({width:1.8,color:t,...e$})}},gitnexus:{label:"GitNexus",color:0xc084fc,draw(e,t){e.moveTo(0,0).lineTo(-6,-6).stroke({width:1.5,color:t,...e$}),e.moveTo(0,0).lineTo(6,-5).stroke({width:1.5,color:t,...e$}),e.moveTo(0,0).lineTo(0,7).stroke({width:1.5,color:t,...e$}),e.circle(0,0,3.2).fill({color:t}),e.circle(-6,-6,2.2).fill({color:t}),e.circle(6,-5,2.2).fill({color:t}),e.circle(0,7,2.2).fill({color:t})}},browser:{label:"Browser",color:440020,draw(e,t){e.roundRect(-8,-7,16,14,2.5).stroke({width:1.8,color:t,...e$}),e.moveTo(-8,-2).lineTo(8,-2).stroke({width:1.4,color:t,...e$}),e.circle(-5,-4.5,1).fill({color:t}),e.circle(-2,-4.5,1).fill({color:t})}},git:{label:"Git",color:0xf97316,draw(e,t){e.moveTo(-4,-7).lineTo(-4,7).stroke({width:2,color:t,...e$}),e.moveTo(-4,2).arc(0,2,4,Math.PI,0).lineTo(4,-3).stroke({width:1.8,color:t,...e$}),e.circle(-4,-6,2.4).fill({color:t}),e.circle(-4,6,2.4).fill({color:t}),e.circle(4,-3,2.4).fill({color:t})}},docker:{label:"Docker",color:3718648,draw(e,t){e.roundRect(-7,1,6,5,1).fill({color:t,alpha:.8}).stroke({width:1.2,color:t,...e$}),e.roundRect(1,1,6,5,1).fill({color:t,alpha:.8}).stroke({width:1.2,color:t,...e$}),e.roundRect(-3,-6,6,5,1).fill({color:t,alpha:.8}).stroke({width:1.2,color:t,...e$})}}},eO={pending:{label:"Queued",color:0xf59e0b,draw(e,t){for(let r of[-7,0,7])e.circle(r,1,2.6).fill({color:t})}},done:{label:"Done",color:3462041,draw(e,t){e.moveTo(-7,0).lineTo(-2,6).lineTo(8,-7).stroke({width:3,color:t,...e$})}},rate_limited:{label:"Rate limit",color:0xef4444,draw(e,t){e.moveTo(-6,-9).lineTo(6,-9).lineTo(-6,9).lineTo(6,9).closePath().stroke({width:2,color:t,...e$}),e.moveTo(-3,6.5).lineTo(3,6.5).stroke({width:2.2,color:t,...e$})}},upstream_timeout:{label:"Timeout",color:0xef4444,draw(e,t){e.circle(0,0,8.5).stroke({width:2,color:t,...e$}),e.moveTo(0,-5).lineTo(0,0).lineTo(4.5,3).stroke({width:2,color:t,...e$})}},quota_exhausted:{label:"Quota",color:0xef4444,draw(e,t){e.roundRect(-8,-5,14,10,2).stroke({width:2,color:t,...e$}),e.rect(6,-2,3,4).fill({color:t}),e.rect(-6,-3,2.6,6).fill({color:t})}},auth_refresh_failed:{label:"Auth",color:0xef4444,draw(e,t){e.circle(-4,0,4.2).stroke({width:2,color:t,...e$}),e.moveTo(0,0).lineTo(8,0).stroke({width:2,color:t,...e$}),e.moveTo(5,0).lineTo(5,4).stroke({width:2,color:t,...e$}),e.moveTo(-9,-8).lineTo(9,8).stroke({width:2.2,color:0xfbbf24,...e$})}},fallback:{label:"Fallback",color:0xfbbf24,draw(e,t){e.moveTo(-8,-4).lineTo(7,-4).stroke({width:2.2,color:t,...e$}),e.moveTo(3,-8).lineTo(8,-4).lineTo(3,0).stroke({width:2.2,color:t,...e$}),e.moveTo(8,5).lineTo(-7,5).stroke({width:2.2,color:t,...e$}),e.moveTo(-3,1).lineTo(-8,5).lineTo(-3,9).stroke({width:2.2,color:t,...e$})}}},eD=Object.keys(eH),eU=["pending","done","rate_limited","upstream_timeout","quota_exhausted","auth_refresh_failed","fallback"];function eG(e,{size:t=1,showLabel:r=!0,label:l}={}){let o=eH[e]||eO[e]||eH.bash,i=new p.t,s=new S.f;s.circle(0,0,21).fill({color:o.color,alpha:.18});let n=new S.f;n.circle(0,0,15).fill({color:988188}),n.circle(0,0,15).stroke({width:2,color:o.color,alpha:.95});let a=new S.f;if(o.draw(a,o.color),a.scale.set(.95),i.addChild(s,n,a),r){let e=new eW({text:l??o.label,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:9,fill:o.color,fontWeight:"800"}});e.anchor.set(.5,0),e.y=18,i.addChild(e)}return i.scale.set(t),{root:i,halo:s,tool:e}}let eK=e=>Math.max(0,Math.min(1,e)),eV={streaming:.8,pending:.3,happy:.2,sleeping:0,error:1};async function eq(e,t,r={}){let l,o,i,s,n=r.selectedId??null,a=r.onSelect,h=new v;await h.init({canvas:e,preference:"webgl",resizeTo:e.parentElement,background:724758,antialias:!0,resolution:Math.min(globalThis.devicePixelRatio||1,2),autoDensity:!0});let c=new p.t,d=new p.t,u=new p.t,f=new p.t,x=new p.t,g=new p.t,m=new p.t,y=(l=new p.t,o=new S.f,i=new S.f,l.addChild(i,o),s=[],{container:l,setRoutes(e){for(let t of(s.length=0,e)){let e=Math.max(1,Math.min(6,Math.round(6*t.weight)));for(let r=0;r<e;r+=1)s.push({from:t.from,to:t.to,t:(r/e+.1*Math.random())%1,speed:35e-5+6e-4*Math.random()+4e-4*t.weight,color:t.color,size:1.6+2.2*t.weight,shape:t.shape||"circle",arc:t.arc??26})}for(;s.length>700;)s.pop()},animate(e){for(let t of(o.clear(),i.clear(),s)){t.t+=t.speed*e,t.t>1&&(t.t-=1,t.speed=35e-5+6e-4*Math.random());let r=function(e,t,r,l){let o=Math.sin(r*Math.PI)*l;return{x:e.x+(t.x-e.x)*r,y:e.y+(t.y-e.y)*r-o}}(t.from,t.to,t.t,t.arc),l=Math.min(1,6*t.t)*Math.min(1,(1-t.t)*6),s=t.size;if("diamond"===t.shape)o.poly([r.x,r.y-1.5*s,r.x+1.2*s,r.y,r.x,r.y+1.5*s,r.x-1.2*s,r.y]).fill({color:t.color,alpha:l});else if("square"===t.shape){let e=.7*s;o.rect(r.x-e,r.y-e,2*e,2*e).fill({color:t.color,alpha:.9*l})}else o.circle(r.x,r.y,s).fill({color:t.color,alpha:l});i.circle(r.x,r.y,3*s).fill({color:t.color,alpha:.14*l})}}});c.addChild(d,u,y.container,f,x,g,m),h.stage.addChild(c);let w=new S.f;w.roundRect(-60,40,2150,980,28).fill(new b.f({type:"linear",start:{x:0,y:0},end:{x:0,y:1},colorStops:[{offset:0,color:725016},{offset:1,color:1449772}],textureSpace:"local"}));for(let e=40;e<2090;e+=100)w.moveTo(e,54).lineTo(e,1006).stroke({width:1,color:1712944,alpha:.7});for(let e=140;e<1020;e+=100)w.moveTo(-46,e).lineTo(2076,e).stroke({width:1,color:1712944,alpha:.7});w.roundRect(-60,40,2150,980,28).stroke({width:2,color:2503236,alpha:.9}),w.roundRect(1370,160,260,740,22).fill({color:0xfde047,alpha:.035}),w.roundRect(1750,80,220,830,22).fill({color:2282478,alpha:.035}),w.eventMode="static",w.on("pointertap",()=>B(null)),d.addChild(w);let _=new p.t,k=eB({color:0xfde047,trimColor:0xf59e0b,seed:3,scale:.95,mode:"sleeping"});k.root.baseX=0,k.root.baseY=-156,k.root.x=0,k.root.y=-156,_.addChild(k.root);let T=new S.f;T.roundRect(-70,-170,140,230,10).fill({color:1712685}),T.roundRect(-62,-162,124,60,6).fill({color:2240576}),T.roundRect(-58,40,116,96,6).fill({color:2240576}),_.addChild(T);let C=new S.f;C.roundRect(-80,-180,160,250,14).fill({color:0xfde047,alpha:.12}),_.addChildAt(C,0);let M=new S.f;_.addChild(M);let j=new eW({text:"CORE HUB",style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:14,fill:3718648,fontWeight:"800",letterSpacing:2}});j.anchor.set(.5,0),j.y=-92,_.addChild(j);let R=eP("0",{color:0xfde047,size:13});R.anchor.set(.5,0),R.y=4,_.addChild(R),f.addChild(_);let z=[],F=[],A=[],L=[],I=!1,E=(e,t)=>(e.addChild(t),z.push(t),t);function N(){for(let e of F)e.desk.setSelected(e.ws.connectionId===n)}function B(e){n=e,N(),a?.(e)}function P(e){for(let e of z)e.destroy({children:!0});z=[],F=[],A=[],L=[];let t=eA(e),r=new Map(t.pods.map(e=>[e.provider,e])),l=[];for(let[e,o]of[...t.workstations].sort((e,t)=>e.y-t.y||e.x-t.x).entries()){let t=function({color:e,label:t="",meta:r="",elapsedMs:l=0,cost:o=0,cachedPct:i=0,queued:s=1,depth:n=1}){let a=new p.t,h=new S.f;h.ellipse(83,102,93,11).fill({color:0,alpha:.18}),h.ellipse(81,100,.56*150,8).fill({color:0,alpha:.28}),h.roundRect(0,34,150,62,7).fill(eN(2831427,1580326)),h.poly([150,40,159,32,159,88,150,94]).fill({color:1053723}),h.poly([-5,28,8,20,148,20,159,28]).fill({color:6122365}),h.roundRect(-5,26,164,14,6).fill(eN(6648714,3818836)),h.roundRect(-5,26,164,2.5,2).fill({color:0xffffff,alpha:.3}),h.roundRect(0,40,150,2,1).fill({color:0,alpha:.35}),a.addChild(h);let c=Math.min(1,l/4e4),d=l<12e3?3462041:l<26e3?0xfbbf24:0xef4444,u=new S.f;u.roundRect(10,87,130,4,2).fill({color:988188}),u.roundRect(10,87,Math.max(4,130*c),4,2).fill({color:d}),a.addChild(u);let f=new S.f;f.roundRect(13,-30,76,62,12).fill({color:e,alpha:.12}),a.addChild(f);let x=new S.f;x.roundRect(25,-16,58,38,5).fill({color:0,alpha:.35}),x.roundRect(23,-18,58,38,5).fill(eN(2765116,724499)),x.roundRect(27,-14,50,30,3).fill({color:e,alpha:.6});for(let e=0;e<4;e+=1)x.roundRect(31,-9+6*e,18+11*e%22,2.4,1).fill({color:0xffffff,alpha:.5});x.poly([27,-14,53,-14,41,16,27,16]).fill({color:0xffffff,alpha:.07}),x.roundRect(46,20,8,6,2).fill({color:2962753}),a.addChild(x);let g=new S.f;g.roundRect(89,29,34,8,3).fill({color:724499}),g.roundRect(89,27,34,8,3).fill(eN(3884372,2304565)),a.addChild(g);let m=new S.f,y=Math.min(5,Math.max(1,s));for(let e=0;e<y;e+=1)m.roundRect(-2+e%2,22-3.4*e,22,5,1.5).fill({color:e%2?0xe6edf6:0xcfd8e6}).stroke({width:.6,color:988188,alpha:.5});if(a.addChild(m),s>1){let e=new eW({text:`\xd7${s}`,style:{fontFamily:eE,fontSize:10,fill:0xfbbf24,fontWeight:"800"}});e.anchor.set(.5,1),e.x=9,e.y=22-3.4*y-1,a.addChild(e)}let w=new eW({text:eL(t,20),style:{fontFamily:eE,fontSize:12,fill:0xe6edf6,fontWeight:"700"}});w.anchor.set(.5,0),w.x=75,w.y=43;let _=new eW({text:eL(r,28),style:{fontFamily:eI,fontSize:9,fill:9675189}});_.anchor.set(.5,0),_.x=75,_.y=58;let v=l>=1e3?`${(l/1e3).toFixed(1)}s`:`${l}ms`,b=new eW({text:`${v} \xb7 $${o.toFixed(2)} \xb7 ${i}% cached`,style:{fontFamily:eI,fontSize:8.5,fill:d}});b.anchor.set(.5,0),b.x=75,b.y=71,a.addChild(w,_,b);let k=new S.f;return k.roundRect(-12,-76,174,180,14).stroke({width:2.5,color:0xfde047,alpha:.9}),k.roundRect(-12,-76,174,180,14).fill({color:0xfde047,alpha:.05}),k.visible=!1,a.addChildAt(k,0),a.eventMode="static",a.cursor="pointer",a.hitArea=new W.f(-12,-76,174,180),a.scale.set(n),{root:a,screen:x,glow:f,setSelected(e){k.visible=!!e},animate(e,t=0){x.alpha=.7+.12*Math.sin(.008*e+a.x)*(.4+t),f.alpha=.3+.5*t+.08*Math.sin(.004*e+a.x)}}}({color:o.color,label:o.account,meta:`${o.model||""} \xb7 ${o.totalLabel}`,elapsedMs:o.elapsedMs,cost:o.cost,cachedPct:o.cachedPct,queued:o.queued,depth:o.depth});t.root.x=o.x,t.root.y=o.y,t.root.on("pointertap",e=>{e.stopPropagation(),B(o.connectionId===n?null:o.connectionId)});let i=eB({color:o.color,depth:o.depth,seed:e,mode:o.mode});i.root.x=o.x+108,i.root.baseX=o.x+108,i.root.baseY=o.y+34,i.root.y=i.root.baseY,E(f,i.root),E(f,t.root);let s=[];if(o.busy>0||o.tools.length>0)for(let e of o.tools){let t=eG(e,{size:1.05});t.root.x=o.x+28,t.root.y=o.y-50,t.root.visible=!1,E(g,t.root),s.push(t)}let a=null,h="pending"===o.mode?"pending":"happy"===o.mode?"done":"error"===o.mode?eO[o.errorReason]?o.errorReason:"rate_limited":null;if(h&&((a=eG(h,{size:1.05})).root.x=o.x+150+14,a.root.y=o.y-34,E(g,a.root)),o.fallbackFrom){let e=eG("fallback",{size:.85,label:`from ${o.fallbackFrom}`});e.root.x=o.x+150+14,e.root.y=o.y+40,E(g,e.root)}let c=null;if("happy"===o.mode&&o.cost>0){c=new p.t;let e=new S.f;e.circle(0,0,6).fill({color:0xfacc15}),e.circle(0,0,6).stroke({width:1.2,color:0xa16207});let t=new eW({text:`+$${o.cost.toFixed(2)}`,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:0xfacc15,fontWeight:"800"}});t.x=10,t.anchor.set(0,.5),c.addChild(e,t),c.x=o.x+16,c.visible=!1,E(g,c)}F.push({desk:t,character:i,ws:o,toolBadges:s,statusBadge:a,coin:c});let d=r.get(o.provider);if(o.busy>0){let e=e=>Math.max(.15,eK(e)),t=e(o.tokens.input/16e3),r=e(o.tokens.output/3200),i=o.tokens.cached>0?e(o.tokens.cached/6500):0,s={x:o.x+75,y:o.y-10},n={x:1500,y:390};l.push({from:s,to:n,color:o.color,weight:t}),d&&(l.push({from:{x:1500,y:440},to:{x:d.x-46,y:d.y},color:d.color,weight:t}),l.push({from:{x:d.x-46,y:d.y+14},to:{x:1520,y:470},color:8843180,weight:r,shape:"diamond",arc:-22})),l.push({from:{x:1480,y:490},to:{x:o.x+100,y:o.y+6},color:8843180,weight:r,shape:"diamond",arc:-22}),i&&l.push({from:{x:o.x+90,y:o.y-20},to:{x:1470,y:360},color:0xcbd5e1,weight:i,shape:"square",arc:44})}}for(let e of t.pods){let t=eB({color:e.color,trimColor:e.color,scale:.55,seed:e.provider.length,mode:e.overloaded?"pending":e.busy>0?"streaming":"sleeping"});t.root.x=e.x+2,t.root.baseX=e.x+2,t.root.baseY=e.y+10,t.root.y=e.y+10,E(f,t.root);let r=new S.f;r.ellipse(0,34,52,10).fill({color:0,alpha:.35}),r.roundRect(-46,-30,92,62,12).fill({color:1844529}),r.roundRect(-46,-30,92,6,5).fill({color:0xffffff,alpha:.06});let l=e.overloaded?ez.error:e.load>.5?0xfbbf24:3462041;for(let t=0;t<3;t+=1){let o=eK(3*e.load-t);r.roundRect(-38,-18+14*t,76,9,3).fill({color:988188}),o>0&&r.roundRect(-38,-18+14*t,76*o,9,3).fill({color:l,alpha:.9})}r.x=e.x,r.y=e.y,E(f,r);let o=new S.f;o.x=e.x+34,o.y=e.y-35,E(f,o);let i=new eW({text:e.provider.toUpperCase(),style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:12,fill:0xdce6f2,fontWeight:"800",letterSpacing:1}});i.anchor.set(.5,0),i.x=e.x,i.y=e.y+38,E(f,i);let s=eP(`${e.busy} in flight${e.overloaded?" · FULL":""}`,{color:e.overloaded?ez.error:e.color,size:10});s.anchor.set(.5,0),s.x=e.x,s.y=e.y+53,E(f,s),A.push({pod:e,operator:t,siren:o})}t.fallbacks.forEach((e,t)=>{let l=r.get(e.from),o=r.get(e.to);if(!l||!o)return;let i=1778-t%4*14,s=new S.f;s.moveTo(l.x-46,l.y).lineTo(i,l.y).stroke({width:2,color:0xfbbf24,alpha:.5}),s.moveTo(o.x-46,o.y).lineTo(i,o.y).stroke({width:2,color:0xfbbf24,alpha:.5}),function(e,t,r,l){let o=Math.sign(l-r)||1;for(let i=r;o>0?i<l-8:i>l+8;i+=14*o)e.moveTo(t,i).lineTo(t,i+8*o).stroke({width:2,color:0xfbbf24,alpha:.8})}(s,i,l.y,o.y);let n=Math.sign(o.y-l.y)||1;s.poly([i-6,o.y-10*n,i+6,o.y-10*n,i,o.y]).fill({color:0xfbbf24}),E(u,s);let a=new eW({text:`FALLBACK \xd7${e.count}`,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:9,fill:0xfbbf24,fontWeight:"800",letterSpacing:1}});a.anchor.set(1,.5),a.x=i-9,a.y=(l.y+o.y)/2,E(u,a);let h=eB({color:0xfbbf24,trimColor:0xf59e0b,scale:.5,seed:t+5,mode:"streaming"}),c=new S.f;c.roundRect(-30,-22,14,12,2).fill({color:0xd6a15c}),c.moveTo(-30,-16).lineTo(-16,-16).stroke({width:1.2,color:8145437});let d=new S.f;h.root.addChild(c,d),E(x,h.root),L.push({drone:h,flame:d,laneX:i,y1:l.y,y2:o.y,offset:900*t})}),_.x=1500,_.y=480,R.text=String(t.rack.active),I=t.rack.active>0,k.setMode(I?"streaming":"sleeping"),y.setRoutes(l),N()}function $(){if(h.screen.width<=0||h.screen.height<=0)return;let e=Math.min(h.screen.width/2190,h.screen.height/1020,1.6);c.scale.set(Math.max(.2,e)),c.x=(h.screen.width-2150*c.scale.x)/2- -60*c.scale.x,c.y=(h.screen.height-980*c.scale.y)/2-40*c.scale.y}h.renderer.on("resize",$);let H=0;h.ticker.add(e=>{let t=e.deltaMS;for(let e of(H+=t,y.animate(t),F)){let{ws:t}=e,r="streaming"===t.mode?Math.min(1,t.busy/2):eV[t.mode]??0;e.desk.animate(H,r),e.character.animate(H,r);let l=e.toolBadges.length;if(l>0){let r=Math.floor((H+3*t.x)/2200)%l,o=(H+3*t.x)%2200/2200;e.toolBadges.forEach((e,l)=>{let i=l===r;if(e.root.visible=i,!i)return;let s=Math.min(Math.min(1,6*o),Math.min(1,(1-o)*6));e.root.scale.set(1.05*(.35+.65*s)),e.root.alpha=s,e.root.y=t.y-50+2.5*Math.sin(.005*H+l),e.halo.scale.set(1+.12*Math.sin(.01*H))})}if(e.statusBadge){let r="error"===t.mode;e.statusBadge.root.y=t.y-34+Math.sin(H*(r?.02:.004)+t.x)*(r?3:2),e.statusBadge.halo.scale.set(1+Math.sin(H*(r?.016:.008))*(r?.3:.12))}if(e.coin){let r=(H+5*t.x)%3400/3400;e.coin.visible=r<.8,e.coin.y=t.y-24-30*r,e.coin.alpha=Math.sin(Math.min(1,r/.8)*Math.PI)}}for(let{pod:e,operator:t,siren:r}of A)if(t.animate(H,e.overloaded?1:Math.min(1,e.load)),r.clear(),e.overloaded){let e=Math.sin(.014*H)>0;r.circle(0,0,5).fill({color:0xef4444,alpha:e?1:.35}),r.circle(0,0,13).fill({color:0xef4444,alpha:e?.28:.05})}else r.circle(0,0,3).fill({color:e.busy>0?3462041:4674921,alpha:.9});for(let e of L){let t=(H+e.offset)%4500/4500,r=t*t*(3-2*t);e.drone.root.baseX=e.laneX,e.drone.root.baseY=e.y1+(e.y2-e.y1)*r+6,e.drone.animate(H,1),e.flame.clear(),e.flame.ellipse(0,16,7+1.5*Math.sin(.04*H),10+3*Math.sin(.05*H)).fill({color:0xfbbf24,alpha:.55}),e.flame.ellipse(0,14,4,6).fill({color:0xfff1b8,alpha:.85}),e.drone.root.alpha=Math.min(1,8*t)*Math.min(1,(1-t)*8)}k.animate(H,+!!I),M.clear();for(let e=0;e<5;e+=1)for(let t=0;t<6;t+=1)Math.sin(.006*H+1.7*e+.9*t)>(I?-.2:.6)&&M.circle(-40+16*t,56+14*e,2.4).fill({color:e%3==0?3462041:2282478,alpha:.9});C.alpha=I?.5+.3*Math.sin(.005*H):.15});let O=(e,t)=>{let r=new eW({text:e,style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:8227488,fontWeight:"800",letterSpacing:2}});r.x=t,r.y=968,m.addChild(r)};O("TOOL CALLS",35),eD.forEach((e,t)=>{let r=eG(e,{size:.72});r.root.x=160+65*t,r.root.y=980,m.addChild(r.root)}),O("STATUS",965),eU.forEach((e,t)=>{let r=eG(e,{size:.72});r.root.x=1050+68*t,r.root.y=980,m.addChild(r.root)});let D=new eW({text:"● input ◆ output ■ cached",style:{fontFamily:"Inter, system-ui, sans-serif",fontSize:11,fill:8227488,fontWeight:"700"}});return D.x=1560,D.y=970,m.addChild(D),P(t),$(),{app:h,rebuild:P,fit:$,setSelected(e){n=e,N()},setOnSelect(e){a=e},destroy:()=>h.destroy(!0,{children:!0})}}function eY({traces:e=[],onStats:t,onSelect:r,selectedId:i=null}){let s=(0,o.useRef)(null),n=(0,o.useRef)(null),a=(0,o.useRef)({onSelect:r,selectedId:i,traces:e});(0,o.useEffect)(()=>{a.current={onSelect:r,selectedId:i,traces:e}});let[h,c]=(0,o.useState)(null);return(0,o.useEffect)(()=>{let e=!1,t=null,r=s.current;if(!r)return;let l=document.createElement("canvas");return l.style.position="absolute",l.style.inset="0",l.style.width="100%",l.style.height="100%",l.style.display="block",r.appendChild(l),(async()=>{try{let r=await eq(l,a.current.traces,{selectedId:a.current.selectedId,onSelect:e=>a.current.onSelect?.(e)});if(e){r.destroy?.(),l.remove();return}n.current=t=r,a.current.traces&&a.current.traces.length>0&&t.rebuild?.(a.current.traces)}catch(e){console.error("[OfficeCanvas] mount failed:",e),c(e?.message||"Failed to start the scene")}})(),()=>{e=!0,t?.destroy?.(),n.current=null,r?.replaceChildren()}},[]),(0,o.useEffect)(()=>{n.current&&n.current.rebuild?.(e)},[e]),(0,o.useEffect)(()=>{n.current&&n.current.setSelected?.(i)},[i]),(0,o.useEffect)(()=>{if(!t)return;let e=setInterval(()=>{t?.({mounted:!!n.current})},2e3);return()=>clearInterval(e)},[t]),(0,l.jsxs)("div",{className:"relative h-full w-full overflow-hidden rounded-xl border border-slate-800 bg-[#080d14] shadow-2xl",children:[(0,l.jsx)("div",{ref:s,className:"absolute inset-0"}),h&&(0,l.jsx)("div",{className:"absolute inset-0 flex items-center justify-center p-6 text-center text-sm text-rose-400",children:h})]})}let eX={idle:{agents:2,errorRatio:0},busy:{agents:8,errorRatio:0},storm:{agents:30,errorRatio:.15},errors:{agents:10,errorRatio:.6},cases:{agents:16,errorRatio:0,cases:!0}},eJ=[{account:"Claude Code · main",icon:"terminal"},{account:"Claude Code · review",icon:"rate_review"},{account:"Antigravity · agent",icon:"smart_toy"},{account:"Antigravity · dev",icon:"construction"},{account:"Cursor · workspace",icon:"edit_note"},{account:"OpenCode · build",icon:"science"},{account:"Aider",icon:"smart_toy"},{account:"Continue · dev",icon:"play_arrow"}],eQ=[{provider:"claude",model:"claude-3-7-sonnet"},{provider:"gemini",model:"gemini-2.5-pro"},{provider:"openai",model:"gpt-4o"},{provider:"minimax",model:"minimax-m2"},{provider:"deepseek",model:"deepseek-v3"}],eZ=["rate_limited","upstream_timeout","quota_exhausted","auth_refresh_failed"],e0=["bash","read","edit","search","web","mcp","agent","gitnexus","browser","git","docker"],e1=[{name:"sleeping",state:"done",ageMs:38e3},{name:"happy",state:"done",ageMs:9e3,cost:1.42},{name:"pending",state:"pending",ageMs:2500,tools:["todo"]},{name:"gitnexus",state:"streaming",ageMs:14e3,tools:["gitnexus","read"]},{name:"docker",state:"streaming",ageMs:15e3,tools:["docker","bash"]},{name:"browser",state:"streaming",ageMs:16e3,tools:["browser","web"]},{name:"git+agent",state:"streaming",ageMs:12e3,tools:["git","agent"],concurrent:4},{name:"rate_limited",state:"error",ageMs:6e3,error:"rate_limited"},{name:"upstream_timeout",state:"error",ageMs:3e4,error:"upstream_timeout"},{name:"quota_exhausted",state:"error",ageMs:8e3,error:"quota_exhausted"},{name:"auth_refresh_failed",state:"error",ageMs:5e3,error:"auth_refresh_failed"},{name:"fallback-1",state:"streaming",ageMs:13e3,tools:["bash"],fallbackShift:3},{name:"fallback-2",state:"streaming",ageMs:14e3,tools:["browser","mcp"],fallbackShift:2},{name:"slow",state:"streaming",ageMs:36e3,tools:["docker"]},{name:"queue+cached",state:"streaming",ageMs:1e4,tools:["read","search"],concurrent:5,cachedBoost:!0},{name:"expensive",state:"done",ageMs:2e4,cost:7.35}];function e2(e){let t=e>>>0||1;return()=>(t^=t<<13,t^=t>>>17,t^=t<<5,(t>>>=0)/0x100000000)}let e4={streaming:"Working",pending:"Queued",done:"Done",happy:"Done",sleeping:"Idle",error:"Failed"};function e8({label:e,value:t,color:r,mono:o=!1}){return(0,l.jsxs)("div",{className:"flex items-center justify-between gap-3 py-1 text-[12px] border-b border-slate-800/40 last:border-b-0",children:[(0,l.jsx)("span",{className:"text-slate-400 font-normal",children:e}),(0,l.jsx)("span",{className:`truncate font-medium ${o?"font-mono":""}`,style:r?{color:r}:void 0,children:t})]})}function e5({ws:e,onClose:t}){var r;if(!e)return null;let o=`#${e.color?e.color.toString(16).padStart(6,"0"):"38bdf8"}`;return(0,l.jsxs)("div",{className:"absolute right-4 top-4 z-20 w-80 rounded-xl border border-slate-700/80 bg-slate-900/90 p-4 shadow-2xl backdrop-blur-md transition-all animate-in fade-in slide-in-from-right-2",children:[(0,l.jsxs)("div",{className:"mb-3 flex items-start justify-between gap-2 border-b border-slate-800 pb-2",children:[(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,l.jsx)("span",{className:"inline-block h-2 w-2 rounded-full",style:{backgroundColor:o}}),(0,l.jsx)("div",{className:"truncate text-sm font-bold text-slate-100",children:e.account})]}),(0,l.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wider mt-0.5",style:{color:o},children:e4[e.mode]||e.mode})]}),(0,l.jsx)("button",{onClick:t,className:"rounded-md p-1 text-slate-400 hover:bg-slate-800 hover:text-slate-100 transition-colors","aria-label":"Close",children:(0,l.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,l.jsxs)("div",{className:"space-y-0.5",children:[(0,l.jsx)(e8,{label:"Agent / Desk",value:e.connectionId}),(0,l.jsx)(e8,{label:"Provider",value:e.provider?.toUpperCase(),color:"#38bdf8"}),(0,l.jsx)(e8,{label:"Model",value:e.model}),(0,l.jsx)(e8,{label:"Elapsed",value:(r=e.elapsedMs)?r<1e3?`${r}ms`:`${(r/1e3).toFixed(1)}s`:"0ms"}),(0,l.jsx)(e8,{label:"Input Tokens",value:e.tokens?.input?.toLocaleString()||"0",mono:!0}),(0,l.jsx)(e8,{label:"Output Tokens",value:e.tokens?.output?.toLocaleString()||"0",mono:!0}),(0,l.jsx)(e8,{label:"Cached",value:`${e.tokens?.cached?.toLocaleString()||"0"} (${e.cachedPct||0}%)`,color:"#34d399",mono:!0}),(0,l.jsx)(e8,{label:"Active Tools",value:e.tools?.length?e.tools.join(", "):"None"}),e.currentCommand&&(0,l.jsxs)("div",{className:"mt-2 rounded-md bg-slate-950/80 p-2 border border-slate-800/80",children:[(0,l.jsx)("div",{className:"text-[10px] text-slate-400 uppercase tracking-wider mb-1 font-semibold",children:"Active Command / File"}),(0,l.jsx)("div",{className:"font-mono text-[11px] text-emerald-400 truncate",children:e.currentCommand})]}),e.fallbackFrom&&(0,l.jsx)(e8,{label:"Fallback From",value:e.fallbackFrom,color:"#fbbf24"}),e.errorReason&&(0,l.jsx)(e8,{label:"Error Cause",value:e.errorReason,color:"#ef4444"})]}),(0,l.jsx)("div",{className:"mt-3 pt-2 border-t border-slate-800 text-[10px] text-slate-500 text-center",children:"Live telemetry via Local CLI Log Watcher"})]})}function e3(){let[e,t]=(0,o.useState)(!1),[r,i]=(0,o.useState)(null);return((0,o.useEffect)(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(e=>{e.addEventListener("updatefound",()=>{let r=e.installing;r&&r.addEventListener("statechange",()=>{"installed"===r.state&&navigator.serviceWorker.controller&&t(!0)})})});let e=null,r=async()=>{try{let r=await fetch("/api/version");if(r.ok){let l=await r.json();e?l.version&&l.version!==e&&(i(l.version),t(!0)):e=l.version}}catch{}};r();let l=setInterval(r,6e4);return()=>clearInterval(l)},[]),e)?(0,l.jsxs)("div",{className:"fixed bottom-4 left-1/2 -translate-x-1/2 z-50 flex items-center gap-3 rounded-full border border-emerald-500/40 bg-slate-900/95 px-4 py-2 shadow-2xl backdrop-blur-md animate-in slide-in-from-bottom-4 duration-300",children:[(0,l.jsx)("span",{className:"flex h-2 w-2 rounded-full bg-emerald-400 animate-ping"}),(0,l.jsxs)("span",{className:"text-xs text-slate-200",children:["🚀 Đã có phiên bản mới ",r?`(${r})`:""]}),(0,l.jsx)("button",{onClick:()=>{window.location.reload()},className:"rounded-full bg-emerald-500 hover:bg-emerald-400 px-3 py-1 text-xs font-semibold text-slate-950 transition-colors shadow-sm",children:"Cập nhật ngay"}),(0,l.jsx)("button",{onClick:()=>t(!1),className:"text-slate-400 hover:text-slate-200 text-xs ml-1","aria-label":"Dismiss",children:"✕"})]}):null}let e6=[{id:"cases",label:"Edge Cases"},{id:"storm",label:"Storm (30 Agents)"},{id:"busy",label:"Busy (8 Agents)"},{id:"idle",label:"Idle (2 Agents)"},{id:"errors",label:"Error States"}];e.s(["default",0,function(){let[e,t]=(0,o.useState)("live"),[r,i]=(0,o.useState)("cases"),[s,n]=(0,o.useState)(null),{traces:a,connected:h,live:c,isRefreshing:d,refresh:u}=function({mode:e="live",preset:t="cases"}={}){let[r,l]=(0,o.useState)([]),[i,s]=(0,o.useState)([]),[n,a]=(0,o.useState)(!1),[h,c]=(0,o.useState)(!1),[d,u]=(0,o.useState)(null),f=(0,o.useRef)(null),p=(0,o.useRef)(null),[x,g]=(0,o.useState)(0),m=(0,o.useCallback)(()=>{c(!0),f.current&&(f.current.close(),f.current=null),g(e=>e+1),setTimeout(()=>c(!1),500)},[]);return(0,o.useEffect)(()=>{if("mock"!==e)return;let r=eX[t]||eX.cases,o=()=>{let e=function({count:e=8,errorRatio:t=0,seed:r=42,now:l=Date.now(),cases:o=!1}={}){let i=e2(r),s=[];for(let n=0;n<e;n+=1){let e,a=eJ[n%eJ.length],h=Math.floor(n/eJ.length)+1,c=h>1?`${a.account} ${h}`:a.account,d=`mock-conn-${n}`,u=eQ[n%eQ.length],f=o?e1[n%e1.length]:null,p=Math.floor(4e4*i()),x=i()<t,g=f?f.ageMs:p,m=l-g,y=f?"error"===f.state:x,w=g/4e4;e=f?f.state:y?"error":w<.25?"pending":w<.6?"streaming":"done";let _={input:Math.round(400+14e3*i()),output:Math.round(80+2900*i()),cached:Math.round(6e3*i())},v=e2(7919*r+104729*n+13),b="done"===e?0:1+Math.floor(3*v()),S=[];for(let e=0;e<b;e+=1)S.push(e0[Math.floor(v()*e0.length)]);let k=f?.tools??("error"===e?[]:S),T=[];for(let e of k)T.some(t=>t.tool===e)||T.push({tool:e,state:0===T.length?"running":"queued"});let C=f?!!f.fallbackShift:.28>v(),M=eQ[(n+(f?.fallbackShift??3))%eQ.length].provider,j=C&&("pending"===e||"streaming"===e)&&M!==u.provider?{from:M}:null,R=f?.concurrent??("done"===e||"error"===e?1:1+Math.floor(3*v()));f?.cachedBoost&&(_.cached=14e3),s.push({traceId:`mock-${n}-${Math.floor(1e6*i()).toString(36)}`,cli:"mock",connectionId:d,account:c,model:u.model,provider:u.provider,state:e,startedAt:m,elapsedMs:g,tokens:_,cost:f?.cost??Math.round((15e-6*_.input+6e-5*_.output)*100)/100,status:y?"error":"200",error:y?f?.error??eZ[Math.floor(i()*eZ.length)%eZ.length]:null,clientIcon:a.icon,toolCalls:T,tools:k,activeTool:k[0]||null,currentCommand:k[0]?`${k[0]} task running...`:null,fallback:j,concurrent:R})}return s}({count:r.agents,cases:!!r.cases,errorRatio:r.errorRatio});l(e),s(function(e){let t=new Map;for(let r of e)r.provider&&!t.has(r.provider)&&t.set(r.provider,{provider:r.provider,name:r.provider.charAt(0).toUpperCase()+r.provider.slice(1)});return[...t.values()]}(e)),a(!0),u(Date.now())};o();let i=setInterval(o,3e3);return()=>clearInterval(i)},[e,t,x]),(0,o.useEffect)(()=>{if("live"!==e)return;let t=!1,r=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{t||(console.warn("[SSE] Watchdog timeout, reconnecting..."),g(e=>e+1))},7e3)};try{let e=new EventSource("/api/traces/stream?source=live");f.current=e,e.onopen=()=>{t||(a(!0),r())},e.onmessage=e=>{if(!t&&e?.data)try{let t=JSON.parse(e.data);Array.isArray(t.traces)&&l(t.traces),Array.isArray(t.providers)&&s(t.providers),u(Date.now()),r()}catch{}},e.onerror=()=>{t||a(!1)}}catch{a(!1)}return()=>{t=!0,p.current&&clearTimeout(p.current),f.current&&(f.current.close(),f.current=null)}},[e,x]),(0,o.useEffect)(()=>{if("live"!==e)return;let t=()=>{"visible"===document.visibilityState&&(console.log("[AgentFactory] Tab active / wake up, refreshing telemetry..."),m())};return window.addEventListener("visibilitychange",t),window.addEventListener("online",t),window.addEventListener("focus",t),()=>{window.removeEventListener("visibilitychange",t),window.removeEventListener("online",t),window.removeEventListener("focus",t)}},[e,m]),{traces:r,providers:i,connected:n,live:"live"===e,isRefreshing:h,refresh:m,lastUpdated:d}}({mode:e,preset:r}),f=(0,o.useMemo)(()=>eA(a),[a]),p=(0,o.useMemo)(()=>f.workstations.find(e=>e.connectionId===s)||null,[f,s]);return(0,l.jsxs)("main",{className:"flex h-screen w-screen flex-col overflow-hidden bg-[#070b12] text-slate-100",children:[(0,l.jsx)(e3,{}),(0,l.jsxs)("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-slate-800/80 bg-slate-950/70 px-5 backdrop-blur-md",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-gradient-to-br from-emerald-500 to-cyan-600 shadow-lg shadow-emerald-500/20",children:(0,l.jsx)("span",{className:"text-lg",children:"🤖"})}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"font-extrabold tracking-wider text-sm bg-gradient-to-r from-emerald-400 via-cyan-300 to-blue-400 bg-clip-text text-transparent",children:"AGMON"}),(0,l.jsx)("span",{className:"rounded-full bg-slate-800 px-2 py-0.5 text-[10px] font-semibold text-slate-400 uppercase tracking-wider",children:"v0.1.3"})]}),(0,l.jsx)("p",{className:"text-[11px] text-slate-400",children:"AI Agent Office & Activity Visualizer"})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,l.jsx)("span",{className:"text-slate-400",children:"Desks:"}),(0,l.jsx)("span",{className:"font-bold text-slate-200",children:f.stats.agents})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,l.jsx)("span",{className:"text-slate-400",children:"Working:"}),(0,l.jsx)("span",{className:"font-bold text-cyan-400",children:f.stats.busy})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-slate-800 bg-slate-900/60 px-3 py-1 text-xs",children:[(0,l.jsx)("span",{className:"text-slate-400",children:"Tokens:"}),(0,l.jsx)("span",{className:"font-bold text-emerald-400",children:f.stats.tokensLabel})]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("button",{onClick:u,title:"Làm mới kết nối & dữ liệu ngay lập tức",className:"flex h-8 w-8 items-center justify-center rounded-lg border border-slate-800 bg-slate-900/60 text-slate-400 hover:border-slate-700 hover:text-slate-200 transition-all",children:(0,l.jsx)("svg",{className:`h-4 w-4 ${d?"animate-spin text-emerald-400":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,l.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}),(0,l.jsxs)("button",{onClick:()=>{t("live"),n(null)},className:`flex items-center gap-2 rounded-lg px-3 py-1.5 text-xs font-semibold transition-all ${"live"===e?"border border-emerald-500 bg-emerald-500/15 text-emerald-300 shadow-sm shadow-emerald-500/20":"border border-slate-800 bg-slate-900/40 text-slate-400 hover:border-slate-700 hover:text-slate-200"}`,children:[(0,l.jsx)("span",{className:`h-2 w-2 rounded-full ${h&&c?"bg-emerald-400 animate-pulse shadow-sm shadow-emerald-400":"bg-slate-500"}`}),"Live Watchers"]}),(0,l.jsxs)("div",{className:"flex items-center rounded-lg border border-slate-800 bg-slate-900/60 p-0.5 text-xs",children:[(0,l.jsx)("button",{onClick:()=>{t("mock"),n(null)},className:`rounded-md px-2.5 py-1 transition-all ${"mock"===e?"bg-slate-800 font-medium text-slate-200":"text-slate-400 hover:text-slate-300"}`,children:"Demo Mock:"}),(0,l.jsx)("select",{value:r,onChange:e=>{t("mock"),i(e.target.value),n(null)},className:"bg-transparent px-2 py-1 text-xs text-slate-300 outline-none cursor-pointer",children:e6.map(e=>(0,l.jsx)("option",{value:e.id,className:"bg-slate-900 text-slate-200",children:e.label},e.id))})]})]})]}),(0,l.jsxs)("section",{className:"relative flex-1 p-3",children:[(0,l.jsx)(eY,{traces:a,selectedId:s,onSelect:e=>n(e)}),(0,l.jsx)(e5,{ws:p,onClose:()=>n(null)})]})]})}],74647)}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,45762,8239,51512,e=>{var t=e.i(47760);class r{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,r){this._renderer.renderPipes.batch.break(r);let n=this._colorStack;n[this._colorStackIndex]=n[this._colorStackIndex-1]&e.mask;let i=this._colorStack[this._colorStackIndex];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1})),this._colorStackIndex++}pop(e,t,r){this._renderer.renderPipes.batch.break(r);let n=this._colorStack;this._colorStackIndex--;let i=n[this._colorStackIndex-1];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1}))}execute(e){this._renderer.colorMask.setMask(e.colorMask)}destroy(){this._renderer=null,this._colorStack=null}}r.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes],name:"colorMask"},e.s(["f",0,r],45762);var n=e.i(69510),i=e.i(96108);class s{constructor(e){this._maskHash=new WeakMap,this._renderer=e}push(e,t,r){let n=this._renderer;n.renderPipes.batch.break(r),n.renderPipes.blendMode.setBlendMode(e.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});let i=e.mask;i.includeInBuild=!0,this._maskHash.has(e)||this._maskHash.set(e,{instructionsStart:0,instructionsLength:0});let s=this._maskHash.get(e);s.instructionsStart=r.instructionSize,i.collectRenderables(r,n,null),i.includeInBuild=!1,n.renderPipes.batch.break(r),r.add({renderPipeId:"stencilMask",action:"pushMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});let a=r.instructionSize-s.instructionsStart-1;s.instructionsLength=a}pop(e,t,r){let n=this._renderer;n.renderPipes.batch.break(r),n.renderPipes.blendMode.setBlendMode(e.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"popMaskBegin",inverse:t._maskOptions.inverse,canBundle:!1});let i=this._maskHash.get(e);for(let e=0;e<i.instructionsLength;e++)r.instructions[r.instructionSize++]=r.instructions[i.instructionsStart++];r.add({renderPipeId:"stencilMask",action:"popMaskEnd",canBundle:!1})}execute(e){let t=this._renderer,r=t.renderTarget.getGpuRenderTarget(t.renderTarget.renderTarget),s=r.maskStackIndex;"pushMaskBegin"===e.action?(t.renderTarget.ensureDepthStencil(),t.stencil.setStencilMode(i.U.RENDERING_MASK_ADD,s),s++,t.colorMask.setMask(0)):"pushMaskEnd"===e.action?(e.inverse?t.stencil.setStencilMode(i.U.INVERSE_MASK_ACTIVE,s):t.stencil.setStencilMode(i.U.MASK_ACTIVE,s),t.colorMask.setMask(15)):"popMaskBegin"===e.action?(t.colorMask.setMask(0),0!==s?t.stencil.setStencilMode(i.U.RENDERING_MASK_REMOVE,s):(t.renderTarget.clear(null,n.f.STENCIL),t.stencil.setStencilMode(i.U.DISABLED,s)),s--):"popMaskEnd"===e.action&&(e.inverse?t.stencil.setStencilMode(i.U.INVERSE_MASK_ACTIVE,s):t.stencil.setStencilMode(i.U.MASK_ACTIVE,s),t.colorMask.setMask(15)),r.maskStackIndex=s}destroy(){this._renderer=null,this._maskHash=null}}s.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes],name:"stencilMask"},e.s(["f",0,s],8239);var a=e.i(57471),o=e.i(85830);let l=class e{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new a.f(0),this.color=this._backgroundColor,this.alpha=1}init(t){t={...e.defaultOptions,...t},this.clearBeforeRender=t.clearBeforeRender,this.color=t.background||t.backgroundColor||this._backgroundColor,this.alpha=t.backgroundAlpha,this._backgroundColor.setAlpha(t.backgroundAlpha)}get color(){return this._backgroundColor}set color(e){a.f.shared.setValue(e).alpha<1&&1===this._backgroundColor.alpha&&(0,o.f)("Cannot set a transparent background on an opaque canvas. To enable transparency, set backgroundAlpha < 1 when initializing your Application."),this._backgroundColor.setValue(e)}get alpha(){return this._backgroundColor.alpha}set alpha(e){this._backgroundColor.setAlpha(e)}get colorRgba(){return this._backgroundColor.toArray()}destroy(){}};l.extension={type:[t.x.WebGLSystem,t.x.WebGPUSystem,t.x.CanvasSystem],name:"background",priority:0},l.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0},e.s(["f",0,l],51512)},2377,e=>{var t=e.i(47760),r=e.i(21165),n=e.i(37232),i=e.i(85830);let s={};t.H.handle(t.x.BlendMode,e=>{if(!e.name)throw Error("BlendMode extension must have a name property");s[e.name]=e.ref},e=>{delete s[e.name]});class a{constructor(e){this._blendModeStack=[],this._isAdvanced=!1,this._filterHash=Object.create(null),this._renderer=e,this._renderer.runners.prerender.add(this)}prerender(){this._activeBlendMode="normal",this._isAdvanced=!1}pushBlendMode(e,t,r){this._blendModeStack.push(t),this.setBlendMode(e,t,r)}popBlendMode(e){this._blendModeStack.pop();let t=this._blendModeStack[this._activeBlendMode.length-1]??"normal";this.setBlendMode(null,t,e)}setBlendMode(e,t,r){let i=e instanceof n.f;if(this._activeBlendMode===t){this._isAdvanced&&e&&!i&&this._renderableList?.push(e);return}this._isAdvanced&&this._endAdvancedBlendMode(r),this._activeBlendMode=t,e&&(this._isAdvanced=!!s[t],this._isAdvanced&&this._beginAdvancedBlendMode(e,r))}_beginAdvancedBlendMode(e,t){this._renderer.renderPipes.batch.break(t);let r=this._activeBlendMode;if(!s[r])return void(0,i.f)(`Unable to assign BlendMode: '${r}'. You may want to include: import 'pixi.js/advanced-blend-modes'`);let a=this._ensureFilterEffect(r),o=e instanceof n.f,l={renderPipeId:"filter",action:"pushFilter",filterEffect:a,renderables:o?null:[e],container:o?e.root:null,canBundle:!1};this._renderableList=l.renderables,t.add(l)}_ensureFilterEffect(e){let t=this._filterHash[e];return t||((t=this._filterHash[e]=new r.f).filters=[new s[e]]),t}_endAdvancedBlendMode(e){this._isAdvanced=!1,this._renderableList=null,this._renderer.renderPipes.batch.break(e),e.add({renderPipeId:"filter",action:"popFilter",canBundle:!1})}buildStart(){this._isAdvanced=!1}buildEnd(e){this._isAdvanced&&this._endAdvancedBlendMode(e)}destroy(){for(let e in this._renderer=null,this._renderableList=null,this._filterHash)this._filterHash[e].destroy();this._filterHash=null}}a.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"blendMode"},e.s(["f",0,a])},90462,17307,e=>{var t=e.i(57951),r=e.i(19249),n=e.i(76890),i=e.i(32764),s=e.i(81834),a=e.i(74491),o=e.i(27186),l=e.i(45762),d=e.i(8239),u=e.i(51512),h=e.i(2377),c=e.i(27402),p=e.i(47760),f=e.i(50147),m=e.i(31320);let g={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},_=class e{constructor(e){this._renderer=e}_normalizeOptions(e,t={}){return e instanceof f.t||e instanceof m.f?{target:e,...t}:{...t,...e}}async image(e){let t=c.f.get().createImage();return t.src=await this.base64(e),t}async base64(t){let{format:r,quality:n}=t=this._normalizeOptions(t,e.defaultImageOptions),i=this.canvas(t);if(void 0!==i.toBlob)return new Promise((e,t)=>{i.toBlob(r=>{if(!r)return void t(Error("ICanvas.toBlob failed!"));let n=new FileReader;n.onload=()=>e(n.result),n.onerror=t,n.readAsDataURL(r)},g[r],n)});if(void 0!==i.toDataURL)return i.toDataURL(g[r],n);if(void 0!==i.convertToBlob){let e=await i.convertToBlob({type:g[r],quality:n});return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>t(n.result),n.onerror=r,n.readAsDataURL(e)})}throw Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e){let t=(e=this._normalizeOptions(e)).target,r=this._renderer;if(t instanceof m.f)return r.texture.generateCanvas(t);let n=r.textureGenerator.generateTexture(e),i=r.texture.generateCanvas(n);return n.destroy(!0),i}pixels(e){let t=(e=this._normalizeOptions(e)).target,r=this._renderer,n=t instanceof m.f?t:r.textureGenerator.generateTexture(e),i=r.texture.getPixels(n);return t instanceof f.t&&n.destroy(!0),i}texture(e){return(e=this._normalizeOptions(e)).target instanceof m.f?e.target:this._renderer.textureGenerator.generateTexture(e)}download(e){e=this._normalizeOptions(e);let t=this.canvas(e),r=document.createElement("a");r.download=e.filename??"image.png",r.href=t.toDataURL("image/png"),document.body.appendChild(r),r.click(),document.body.removeChild(r)}log(e){let t=e.width??200;e=this._normalizeOptions(e);let r=this.canvas(e),n=r.toDataURL();console.log(`[Pixi Texture] ${r.width}px ${r.height}px`),console.log("%c ",`font-size: 1px; padding: ${t}px 300px; background: url(${n}) no-repeat; background-size: contain;`)}destroy(){this._renderer=null}};_.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"extract"},_.defaultImageOptions={format:"png",quality:1};var x=e.i(57471),b=e.i(28959),v=e.i(63646),T=e.i(69553),y=e.i(92405),S=e.i(95627),k=m;class C extends k.f{static create(e){let{dynamic:t,textureOptions:r,...n}=e;return new C({...r,source:new S.f(n),dynamic:t??!1})}resize(e,t,r){return this.source.resize(e,t,r),this}}let M=new v.f,G=new T.f,R=[0,0,0,0];class w{constructor(e){this._renderer=e}generateTexture(e){e instanceof f.t&&(e={target:e,frame:void 0,textureSourceOptions:{},resolution:void 0});let t=e.resolution||this._renderer.resolution,r=e.antialias||this._renderer.view.antialias,n=e.target,i=e.clearColor;i=i?Array.isArray(i)&&4===i.length?i:x.f.shared.setValue(i).toArray():R;let s=e.frame?.copyTo(M)||(0,y.f)(n,G).rectangle,a=e.defaultAnchor&&{defaultAnchor:e.defaultAnchor};s.width=0|Math.max(s.width,1/t),s.height=0|Math.max(s.height,1/t);let o=C.create({...e.textureSourceOptions,width:s.width,height:s.height,resolution:t,antialias:r,textureOptions:a}),l=b.f.shared.translate(-s.x,-s.y);return this._renderer.render({container:n,transform:l,target:o,clearColor:i}),o.source.updateMipmaps(),o}destroy(){this._renderer=null}}w.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"textureGenerator"};let P=class e{constructor(e){this._managedResources=[],this._managedResourceHashes=[],this._managedCollections=[],this._ready=!1,this._running=!1,this._renderer=e}init(t){t={...e.defaultOptions,...t},this.maxUnusedTime=t.gcMaxUnusedTime,this._frequency=t.gcFrequency,this.enabled=t.gcActive,this.now=performance.now()}get enabled(){return!!this._handler}set enabled(e){this.enabled!==e&&(e?(this._handler=this._renderer.scheduler.repeat(()=>{this._ready=!0},this._frequency,!1),this._collectionsHandler=this._renderer.scheduler.repeat(()=>{for(let e of this._managedCollections){let{context:t,collection:r,type:n}=e;"hash"===n?t[r]=function(e){let t=!1;for(let r in e)if(void 0==e[r]){t=!0;break}if(!t)return e;let r=Object.create(null);for(let t in e){let n=e[t];n&&(r[t]=n)}return r}(t[r]):t[r]=function(e){let t=0;for(let r=0;r<e.length;r++)void 0==e[r]?t++:e[r-t]=e[r];return e.length-=t,e}(t[r])}},this._frequency)):(this._renderer.scheduler.cancel(this._handler),this._renderer.scheduler.cancel(this._collectionsHandler),this._handler=0,this._collectionsHandler=0))}prerender({container:e}){this.now=performance.now(),e.renderGroup.gcTick=this._renderer.tick++,this._updateInstructionGCTick(e.renderGroup,e.renderGroup.gcTick)}postrender(){this._ready&&this.enabled&&(this.run(),this._ready=!1)}_updateInstructionGCTick(e,t){for(let r of(e.instructionSet.gcTick=t,e.gcTick=t,e.renderGroupChildren))this._updateInstructionGCTick(r,t)}addCollection(e,t,r){this._managedCollections.push({context:e,collection:t,type:r})}addResource(e,t){if(-1!==e._gcLastUsed){e._gcLastUsed=this.now,e._onTouch?.(this.now);return}e._gcData={index:this._managedResources.length,type:t},e._gcLastUsed=this.now,e._onTouch?.(this.now),e.once("unload",this.removeResource,this),this._managedResources.push(e)}removeResource(e){let t=e._gcData;if(!t)return;let r=t.index,n=this._managedResources.length-1;if(this._running)this._managedResources[r]=null;else{if(r!==n){let e=this._managedResources[n];this._managedResources[r]=e,e._gcData.index=r}this._managedResources.length--}e._gcData=null,e._gcLastUsed=-1}addResourceHash(e,t,r,n=0){this._managedResourceHashes.push({context:e,hash:t,type:r,priority:n}),this._managedResourceHashes.sort((e,t)=>e.priority-t.priority)}run(){if(this._running)return;let e=performance.now(),t=this._managedResourceHashes,r=this._managedResources;this._running=!0;try{for(let r of t)this.runOnHash(r,e);let n=r.length;for(let t=0;t<n;t++){let n=r[t];n&&this.runOnResource(n,e)}}finally{let e=0;for(let t=0;t<r.length;t++){let n=r[t];n&&(e!==t&&(r[e]=n,n._gcData.index=e),e++)}r.length=e,this._running=!1}}updateRenderableGCTick(e,t){let r=e.renderGroup??e.parentRenderGroup,n=r?.instructionSet?.gcTick??-1;(r?.gcTick??0)===n&&(e._gcLastUsed=t,e._onTouch?.(t))}runOnResource(e,t){"renderable"===e._gcData.type&&this.updateRenderableGCTick(e,t),!(t-e._gcLastUsed<this.maxUnusedTime)&&e.autoGarbageCollect&&(e.off("unload",this.removeResource,this),e.unload(),this.removeResource(e))}_createHashClone(e,t){let r=Object.create(null);for(let n in e){if(n===t)break;null!==e[n]&&(r[n]=e[n])}return r}runOnHash(e,t){let{context:r,hash:n,type:i}=e,s=r[n],a=null,o=0;for(let e in s){let r=s[e];if(null===r){1e4!=++o||a||(a=this._createHashClone(s,e));continue}if(-1===r._gcLastUsed){r._gcLastUsed=t,r._onTouch?.(t),a&&(a[e]=r);continue}if("renderable"===i&&this.updateRenderableGCTick(r,t),!(t-r._gcLastUsed<this.maxUnusedTime)&&r.autoGarbageCollect){if("renderable"===i){let e=r.renderGroup??r.parentRenderGroup;e&&(e.structureDidChange=!0)}r.unload(),r._gcData=null,r._gcLastUsed=-1,!a&&(o+1!==1e4?(s[e]=null,o++):a=this._createHashClone(s,e))}else a&&(a[e]=r)}a&&(r[n]=a)}destroy(){this.enabled=!1,this._managedResources.forEach(e=>{e?.off("unload",this.removeResource,this)}),this._managedResources.length=0,this._managedResourceHashes.length=0,this._managedCollections.length=0,this._renderer=null}};P.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"gc",priority:0},P.defaultOptions={gcActive:!0,gcMaxUnusedTime:6e4,gcFrequency:3e4};var A=e.i(26963),B=e.i(89506),U=e.i(94359),I=e.i(18279),O=e.i(32543);class z{constructor(e){this._stackIndex=0,this._globalUniformDataStack=[],this._uniformsPool=[],this._activeUniforms=[],this._bindGroupPool=[],this._activeBindGroups=[],this._renderer=e}reset(){this._stackIndex=0;for(let e=0;e<this._activeUniforms.length;e++)this._uniformsPool.push(this._activeUniforms[e]);for(let e=0;e<this._activeBindGroups.length;e++)this._bindGroupPool.push(this._activeBindGroups[e]);this._activeUniforms.length=0,this._activeBindGroups.length=0}start(e){this.reset(),this.push(e)}bind({size:e,projectionMatrix:t,worldTransformMatrix:r,worldColor:n,offset:i}){let s,a=this._renderer.renderTarget.renderTarget,o=this._stackIndex?this._globalUniformDataStack[this._stackIndex-1]:{projectionData:a,worldTransformMatrix:new b.f,worldColor:0xffffffff,offset:new A.f},l={projectionMatrix:t||this._renderer.renderTarget.projectionMatrix,resolution:e||a.size,worldTransformMatrix:r||o.worldTransformMatrix,worldColor:n||o.worldColor,offset:i||o.offset,bindGroup:null},d=this._uniformsPool.pop()||this._createUniforms();this._activeUniforms.push(d);let u=d.uniforms;u.uProjectionMatrix=l.projectionMatrix,u.uResolution=l.resolution,u.uWorldTransformMatrix.copyFrom(l.worldTransformMatrix),u.uWorldTransformMatrix.tx-=l.offset.x,u.uWorldTransformMatrix.ty-=l.offset.y,(0,B.f)(l.worldColor,u.uWorldColorAlpha,0),d.update(),this._renderer.renderPipes.uniformBatch?s=this._renderer.renderPipes.uniformBatch.getUniformBindGroup(d,!1):(s=this._bindGroupPool.pop()||new U.f,this._activeBindGroups.push(s),s.setResource(d,0)),l.bindGroup=s,this._currentGlobalUniformData=l}push(e){this.bind(e),this._globalUniformDataStack[this._stackIndex++]=this._currentGlobalUniformData}pop(){this._currentGlobalUniformData=this._globalUniformDataStack[--this._stackIndex-1],this._renderer.type===I.f.WEBGL&&this._currentGlobalUniformData.bindGroup.resources[0].update()}get bindGroup(){return this._currentGlobalUniformData.bindGroup}get globalUniformData(){return this._currentGlobalUniformData}get uniformGroup(){return this._currentGlobalUniformData.bindGroup.resources[0]}_createUniforms(){return new O.f({uProjectionMatrix:{value:new b.f,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new b.f,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:!0})}destroy(){this._renderer=null,this._globalUniformDataStack.length=0,this._uniformsPool.length=0,this._activeUniforms.length=0,this._bindGroupPool.length=0,this._activeBindGroups.length=0,this._currentGlobalUniformData=null}}z.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"globalUniforms"};var D=e.i(6972);let F=1;class L{constructor(){this._tasks=[],this._offset=0}init(){D.f.system.add(this._update,this)}repeat(e,t,r=!0){let n=F++,i=0;return r&&(this._offset+=1e3,i=this._offset),this._tasks.push({func:e,duration:t,start:performance.now(),offset:i,last:performance.now(),repeat:!0,id:n}),n}cancel(e){for(let t=0;t<this._tasks.length;t++)if(this._tasks[t].id===e)return void this._tasks.splice(t,1)}_update(){let e=performance.now();for(let t=0;t<this._tasks.length;t++){let r=this._tasks[t];if(e-r.offset-r.last>=r.duration){let t=e-r.start;r.func(t),r.last=e}}}destroy(){D.f.system.remove(this._update,this),this._tasks.length=0}}L.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"scheduler",priority:0};var E=e.i(76789);let W=!1;class H{constructor(e){this._renderer=e}init(e){if(e.hello){let e=this._renderer.name;this._renderer.type===I.f.WEBGL&&(e+=` ${this._renderer.context.webGLVersion}`);var t=e;if(!W){if(c.f.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){let e=[`%c %c %c %c %c PixiJS %c v${E.f} (${t}) http://www.pixijs.com/
|
|
2
|
+
|
|
3
|
+
`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...e)}else globalThis.console&&globalThis.console.log(`PixiJS ${E.f} - ${t} - http://www.pixijs.com/`);W=!0}}}}H.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"hello",priority:-2},H.defaultOptions={hello:!1};var V=e.i(49864);let j=class e{constructor(e){this._renderer=e}init(t){t={...e.defaultOptions,...t},this.maxUnusedTime=t.renderableGCMaxUnusedTime}get enabled(){return(0,V.K)("8.15.0","RenderableGCSystem.enabled is deprecated, please use the GCSystem.enabled instead."),this._renderer.gc.enabled}set enabled(e){(0,V.K)("8.15.0","RenderableGCSystem.enabled is deprecated, please use the GCSystem.enabled instead."),this._renderer.gc.enabled=e}addManagedHash(e,t){(0,V.K)("8.15.0","RenderableGCSystem.addManagedHash is deprecated, please use the GCSystem.addCollection instead."),this._renderer.gc.addCollection(e,t,"hash")}addManagedArray(e,t){(0,V.K)("8.15.0","RenderableGCSystem.addManagedArray is deprecated, please use the GCSystem.addCollection instead."),this._renderer.gc.addCollection(e,t,"array")}addRenderable(e){(0,V.K)("8.15.0","RenderableGCSystem.addRenderable is deprecated, please use the GCSystem instead."),this._renderer.gc.addResource(e,"renderable")}run(){(0,V.K)("8.15.0","RenderableGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.run()}destroy(){this._renderer=null}};j.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"renderableGC",priority:0},j.defaultOptions={renderableGCActive:!0,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};let K=class e{get count(){return this._renderer.tick}get checkCount(){return this._checkCount}set checkCount(e){(0,V.K)("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._checkCount=e}get maxIdle(){return this._renderer.gc.maxUnusedTime/1e3*60}set maxIdle(e){(0,V.K)("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.maxUnusedTime=e/60*1e3}get checkCountMax(){return Math.floor(this._renderer.gc._frequency/1e3)}set checkCountMax(e){(0,V.K)("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead.")}get active(){return this._renderer.gc.enabled}set active(e){(0,V.K)("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.enabled=e}constructor(e){this._renderer=e,this._checkCount=0}init(t){t.textureGCActive!==e.defaultOptions.textureGCActive&&(this.active=t.textureGCActive),t.textureGCMaxIdle!==e.defaultOptions.textureGCMaxIdle&&(this.maxIdle=t.textureGCMaxIdle),t.textureGCCheckCountMax!==e.defaultOptions.textureGCCheckCountMax&&(this.checkCountMax=t.textureGCCheckCountMax)}run(){(0,V.K)("8.15.0","TextureGCSystem.run is deprecated, please use the GCSystem instead."),this._renderer.gc.run()}destroy(){this._renderer=null}};K.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem],name:"textureGC"},K.defaultOptions={textureGCActive:!0,textureGCAMaxIdle:null,textureGCMaxIdle:3600,textureGCCheckCountMax:600};var N=e.i(95932),Y=e.i(24314);let $=class e extends N.f{constructor(e={}){super(),this.uid=(0,Y.f)("renderTarget"),this.colorAttachments=[],this.dirtyId=0,this.isRoot=!1,this._size=new Float32Array(2),this._managedColorTextures=!1,this._depth=!1,this._stencil=!1,this._colorTextures=null;let t="colorAttachments"in e?e:this._normalizeOptions(e);if(this.isRoot=t.isRoot??!1,this.label=t.label,this.colorAttachments=t.colorAttachments,this.depthStencilAttachment=t.depthStencilAttachment,this.depthStencilAttachment){let e=this.depthStencilAttachment.texture.format;this._depth||(this._depth=e.includes("depth")),this._stencil||(this._stencil=e.includes("stencil"))}if(0===this.colorAttachments.length&&!this.depthStencilAttachment)throw Error("[RenderTarget] no color textures or depth textures were provided. Provide a depthStencilTexture or set depth/stencil to true when using colorTextures: 0.");if(this.colorAttachments.length>0){let e=this.colorTexture;this.resize(e.width,e.height,e._resolution)}this.sizeSource&&this.sizeSource.on("resize",this.onSourceResize,this)}_normalizeOptions(t){let r,n={...e.defaultOptions,...t},i=[];if("number"==typeof n.colorTextures){if(n.colorTextures>0){this._managedColorTextures=!0;for(let e=0;e<n.colorTextures;e++)i.push({texture:new S.f({width:n.width,height:n.height,resolution:n.resolution,antialias:n.antialias}),loadOp:"clear",storeOp:"store"})}}else n.colorTextures.forEach(e=>{i.push({texture:e.source,loadOp:"clear",storeOp:"store"})});let s=!0===n.depthStencilTexture;if(this._depth=!!(n.depth||s),this._stencil=!!(n.stencil||s),n.depthStencilTexture instanceof m.f||n.depthStencilTexture instanceof S.f){if(n.isRoot)throw Error("[RenderTarget] cannot attach a depth-stencil texture to the screen — the canvas owns its own depth/stencil buffers. Render to a texture target instead.");r={texture:n.depthStencilTexture.source}}else(s&&!n.isRoot||(n.stencil||n.depth)&&0===i.length)&&(r=this._createDepthStencilTexture(n.width,n.height,n.resolution));return{colorAttachments:i,depthStencilAttachment:r,isRoot:n.isRoot,label:n.label}}get size(){let e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.sizeSource.width}get height(){return this.sizeSource.height}get pixelWidth(){return this.sizeSource.pixelWidth}get pixelHeight(){return this.sizeSource.pixelHeight}get resolution(){return this.sizeSource._resolution}get colorTextures(){return this._colorTextures||(this._colorTextures=this.colorAttachments.map(e=>e.texture)),this._colorTextures}get depthStencilTexture(){return this.depthStencilAttachment?.texture??null}get depth(){return this._depth}get stencil(){return this._stencil}get colorTexture(){return this.colorAttachments[0]?.texture}get sizeSource(){return this.colorAttachments[0]?.texture??this.depthStencilAttachment?.texture}onSourceResize(e){this.resize(e.width,e.height,e._resolution,!0)}ensureDepthStencilTexture(){this._createDepthStencilTexture(this.sizeSource.width,this.sizeSource.height,this.sizeSource._resolution),this._depth=!0,this._stencil=!0}resize(e,t,r=this.resolution,n=!1){this.dirtyId++,this.colorAttachments.forEach((i,s)=>{n&&0===s||i.texture.resize(e,t,r)}),this.depthStencilAttachment&&(n&&0===this.colorAttachments.length||this.depthStencilAttachment.texture.resize(e,t,r))}destroy(){(this.colorAttachments||this.depthStencilAttachment)&&(this.emit("destroy",this),this.sizeSource.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorAttachments.forEach(e=>{e.texture.destroy()}),this.depthStencilAttachment&&(this.depthStencilAttachment.texture.destroy(),delete this.depthStencilAttachment),this.colorAttachments=null,this._colorTextures=null,this.removeAllListeners())}_createDepthStencilTexture(e,t,r){return this.depthStencilAttachment??(this.depthStencilAttachment={texture:new S.f({width:e,height:t,resolution:r,format:"depth24plus-stencil8",autoGenerateMipmaps:!1,antialias:!1,mipLevelCount:1})}),this.depthStencilAttachment}};$.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:!1,depth:!1,antialias:!1,isRoot:!1};var q=e.i(81735),J=e.i(41163),X=e.i(48446),Q=e.i(70220);let Z=new Map;function ee(e,t){if(!Z.has(e)){let r=new m.f({source:new Q.f({resource:e,...t})}),n=()=>{Z.get(e)===r&&Z.delete(e)};r.once("destroy",n),r.source.once("destroy",n),Z.set(e,r)}return Z.get(e)}X.f.register(Z);let et=class e{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e)}constructor(e){this._renderer=e}init(t){(t={...e.defaultOptions,...t}).view&&((0,V.K)(V.e,"ViewSystem.view has been renamed to ViewSystem.canvas"),t.canvas=t.view),this.screen=new v.f(0,0,t.width,t.height),this.canvas=t.canvas||c.f.get().createCanvas(),this.antialias=!!t.antialias;let{depth:r,...n}=t;this.texture=ee(this.canvas,n),this.renderTarget=new $({colorTextures:[this.texture],depth:!!r,isRoot:!0}),this.texture.source.transparent=t.backgroundAlpha<1,this.texture.source.on("resize",this._updateScreenSize,this),this.resolution=t.resolution,this._updateScreenSize()}resize(e,t,r){this.texture.source.resize(e,t,r),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height}destroy(e=!1){("boolean"==typeof e?e:!!e?.removeView)&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.texture.source.off("resize",this._updateScreenSize,this),J.f.removeScreen(this._renderer.uid),q.f.removeScreen(this._renderer.uid),this.texture.destroy()}_updateScreenSize(){let{pixelWidth:e,pixelHeight:t}=this.texture.source,r=this._renderer.uid;J.f.setScreenSize(r,e,t),q.f.setScreenSize(r,e,t)}};et.extension={type:[p.x.WebGLSystem,p.x.WebGPUSystem,p.x.CanvasSystem],name:"view",priority:0},et.defaultOptions={width:800,height:600,autoDensity:!1,antialias:!1};let er=[u.f,z,H,et,n.f,P,K,w,_,s.b,j,L],en=[h.f,a.f,i.f,r.f,o.f,d.f,l.f,t.f];e.s(["E",0,en,"q",0,er],90462);var ei=e.i(85830),es=e.i(69510),ea=e.i(3197);e.s(["f",0,class{constructor(e){this.rootViewPort=new v.f,this.viewport=new v.f,this.onRenderTargetChange=new ea.f("onRenderTargetChange"),this.projectionMatrix=new b.f,this.defaultClearColor=[0,0,0,0],this._renderSurfaceToRenderTargetHash=new Map,this._gpuRenderTargetHash=Object.create(null),this._renderTargetStack=[],this._bindState={target:null,frame:void 0,mipLevel:0,layer:0,flipY:!1},this._bindFrame=new v.f,this._renderer=e,e.gc.addCollection(this,"_gpuRenderTargetHash","hash")}get renderSurface(){return this._bindState.target}get mipLevel(){return this._bindState.mipLevel}get layer(){return this._bindState.layer}finishRenderPass(){this.adaptor.finishRenderPass(this.renderTarget)}renderStart(e){this._renderTargetStack.length=0,this.push(e),this.rootViewPort.copyFrom(this.viewport),this.rootRenderTarget=this.renderTarget,this.renderingToScreen=function(e){if(0===e.colorAttachments.length)return!1;let t=e.colorTexture.resource;return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement&&document.body.contains(t)}(this.rootRenderTarget),this.adaptor.prerender?.(this.rootRenderTarget)}postrender(){this.adaptor.postrender?.(this.rootRenderTarget)}bind(e,t=!0,r,n,i=0,s=0,a){var o,l,d;let u,h;"target"in e?u=e:((0,V.K)("8.20.0","RenderTargetSystem.bind: positional arguments are deprecated, please use an options object instead: bind({ target, clear, clearColor, frame, mipLevel, layer, flipY })"),u={target:e,clear:t,clearColor:r,frame:n,mipLevel:i,layer:s,flipY:a});let c=u.target;t=u.clear??!0,r=u.clearColor,i=(u.mipLevel??0)|0,s=(u.layer??0)|0,a=u.flipY,n=u.frame;let p=this.getRenderTarget(c),f=this.renderTarget!==p||!!p.flipY!=!!a;this.renderTarget=p;let g=this.getGpuRenderTarget(p);(p.pixelWidth!==g.width||p.pixelHeight!==g.height)&&(this.adaptor.resizeGpuRenderTarget(p),g.width=p.pixelWidth,g.height=p.pixelHeight);let _=p.colorAttachments[0]?.texture||p.depthStencilAttachment?.texture,x=this.viewport,b="3d"===_.dimension?Math.max(_.depth>>i,1):_.depthOrArrayLayers;if(s<0||s>=b)throw Error(`[RenderTargetSystem] layer ${s} is out of bounds (layer count=${b}).`);let v=this._bindState;v.target=c,v.frame=n?this._bindFrame.copyFrom(n):void 0,v.mipLevel=i,v.layer=s,v.flipY=a;let T=Math.max(_.pixelWidth>>i,1),y=Math.max(_.pixelHeight>>i,1);if(!n&&c instanceof m.f&&(n=c.frame),n){let e=_._resolution,t=1<<Math.max(i,0),r=n.x*e+.5|0,s=n.y*e+.5|0,a=n.width*e+.5|0,o=n.height*e+.5|0,l=Math.floor(r/t),d=Math.floor(s/t),u=Math.ceil(a/t),h=Math.ceil(o/t);l<0&&(u+=l,l=0),d<0&&(h+=d,d=0),l=Math.min(l,T-1),d=Math.min(d,y-1),u=Math.min(u,T-l),h=Math.min(h,y-d),u=Math.max(u,1),h=Math.max(h,1),x.x=l,x.y=d,x.width=u,x.height=h}else x.x=0,x.y=0,x.width=T,x.height=y;return p.flipY=a,o=this.projectionMatrix,l=x.width/_.resolution,d=x.height/_.resolution,h=!p.isRoot!=!!p.flipY?1:-1,o.identity(),o.a=1/l*2,o.d=1/d*2*h,o.tx=-1-0*o.a,o.ty=-h-0*o.d,this.adaptor.startRenderPass(p,t,r,x,i,s),f&&this.onRenderTargetChange.emit(p),p}getBindState(e){if(!this.renderTarget)throw Error("[RenderTargetSystem] getBindState is only valid while a render surface is bound");let t=this._bindState;return e??(e={}),e.target=t.target,e.clear=es.f.NONE,e.clearColor=void 0,t.frame?e.frame?e.frame.copyFrom(t.frame):e.frame=t.frame.clone():e.frame=void 0,e.mipLevel=t.mipLevel,e.layer=t.layer,e.flipY=!!t.flipY,e}isFrontFaceInverted(e,t){if(!e){if(!(e=this.renderTarget))return!1;t=e.flipY}return!!t!=(this._renderer.type===I.f.WEBGL&&!e.isRoot)}get frontFaceInverted(){return(0,V.K)(V.h,"RenderTargetSystem.frontFaceInverted is deprecated, use isFrontFaceInverted() instead"),this.isFrontFaceInverted()}clear(e,t=es.f.ALL,r,n=this.mipLevel,i=this.layer){t&&(e&&(e=this.getRenderTarget(e)),this.adaptor.clear(e||this.renderTarget,t,r,this.viewport,n,i))}contextChange(){this._gpuRenderTargetHash=Object.create(null)}push(e,t=es.f.ALL,r,n,i=0,s=0,a){let o;"target"in e?o=e:((0,V.K)("8.20.0","RenderTargetSystem.push: positional arguments are deprecated, please use an options object instead: push({ target, clear, clearColor, frame, mipLevel, layer, flipY })"),o={target:e,clear:t,clearColor:r,frame:n,mipLevel:i,layer:s,flipY:a});let l=this.bind(o);return this._renderTargetStack.push({target:o.target,clear:!1,clearColor:void 0,frame:o.frame?o.frame.clone():void 0,mipLevel:o.mipLevel,layer:o.layer,flipY:o.flipY}),l}pop(){this._renderTargetStack.pop();let e=this._renderTargetStack[this._renderTargetStack.length-1];if(!e)throw Error("[RenderTargetSystem] pop: no previous binding to restore (unbalanced pop)");return this.bind(e)}getRenderTarget(e){return e.isTexture&&(e=e.source),this._renderSurfaceToRenderTargetHash.get(e)??this._initRenderTarget(e)}copyToTexture(e,t,r,n,i){let s=this.getRenderTarget(e);r.x<0&&(n.width+=r.x,i.x-=r.x,r.x=0),r.y<0&&(n.height+=r.y,i.y-=r.y,r.y=0);let{pixelWidth:a,pixelHeight:o}=s;return n.width=Math.min(n.width,a-r.x),n.height=Math.min(n.height,o-r.y),this.adaptor.copyToTexture(s,t,r,n,i)}copyDepthTexture(e,t,r,n,i={x:0,y:0}){let s=this.getRenderTarget(e);if(!s.depthStencilAttachment)return void(0,ei.f)("[RenderTargetSystem] copyDepthTexture: the source render target has no depth attachment to copy from");let a=t.source;if(!a.format.includes("depth")&&!a.format.includes("stencil"))return void(0,ei.f)(`[RenderTargetSystem] copyDepthTexture: the destination texture must have a depth/stencil format (got '${a.format}')`);let o=r.x,l=r.y,d=i.x,u=i.y,h=n.width,c=n.height;o<0&&(h+=o,d-=o,o=0),l<0&&(c+=l,u-=l,l=0),h=Math.min(h,s.pixelWidth-o),c=Math.min(c,s.pixelHeight-l),h=Math.min(h,a.pixelWidth-d),c=Math.min(c,a.pixelHeight-u),h<=0||c<=0||this.adaptor.copyDepthTexture(s,t,{x:o,y:l},{width:h,height:c},{x:d,y:u})}ensureDepthStencil(){if(!this.renderTarget.stencil){if(this.renderTarget.depthStencilTexture)return void(0,ei.f)(`[RenderTargetSystem] a stencil mask is being used, but the render target's depthStencilTexture format '${this.renderTarget.depthStencilTexture.format}' has no stencil aspect, so masking cannot work here. Use a 'depth24plus-stencil8' texture instead.`);this.renderTarget._depth=!0,this.renderTarget._stencil=!0,this.adaptor.startRenderPass(this.renderTarget,!1,null,this.viewport,0,this.layer)}}destroy(){for(let e of(this._renderer=null,this._renderSurfaceToRenderTargetHash.forEach((e,t)=>{e!==t?this._releaseRenderTarget(t,e):e.off("destroy",this._onRenderTargetDestroy,this)}),this._renderSurfaceToRenderTargetHash.clear(),Object.values(this._gpuRenderTargetHash)))e&&this.adaptor.destroyGpuRenderTarget(e);this._gpuRenderTargetHash=Object.create(null)}_initRenderTarget(e){let t=null;if(Q.f.test(e)&&(e=ee(e).source),e instanceof $)t=e,e.once("destroy",this._onRenderTargetDestroy,this);else if(e instanceof S.f){let r=e.format;t=new $(r.includes("depth")||r.includes("stencil")?{colorTextures:0,depthStencilTexture:e}:{colorTextures:[e]}),e.source instanceof Q.f&&(t.isRoot=!0),e.once("destroy",this._onRenderSurfaceDestroy,this)}return this._renderSurfaceToRenderTargetHash.set(e,t),t}_onRenderSurfaceDestroy(e){let t=this._renderSurfaceToRenderTargetHash.get(e);t&&this._releaseRenderTarget(e,t)}_onRenderTargetDestroy(e){this._renderSurfaceToRenderTargetHash.delete(e),this._releaseGpuRenderTarget(e)}_releaseRenderTarget(e,t){t.destroy(),this._renderSurfaceToRenderTargetHash.delete(e),e.off("destroy",this._onRenderSurfaceDestroy,this),this._releaseGpuRenderTarget(t)}_releaseGpuRenderTarget(e){let t=this._gpuRenderTargetHash[e.uid];t&&(this._gpuRenderTargetHash[e.uid]=null,this.adaptor.destroyGpuRenderTarget(t))}getGpuRenderTarget(e){return this._gpuRenderTargetHash[e.uid]||(this._gpuRenderTargetHash[e.uid]=this.adaptor.initGpuRenderTarget(e))}resetState(){this.renderTarget=null,this._bindState.target=null}}],17307)},57951,96169,19249,e=>{var t=e.i(47760);class r{constructor(e){this._renderer=e}updateRenderable(){}destroyRenderable(){}validateRenderable(){return!1}addRenderable(e,t){this._renderer.renderPipes.batch.break(t),t.add(e)}execute(e){e.isRenderable&&e.render(this._renderer)}destroy(){this._renderer=null}}r.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"customRender"},e.s(["f",0,r],57951);var n=e.i(28959),i=e.i(74179),s=e.i(40766);function a(e,t){let r=e.instructionSet,n=r.instructions;for(let e=0;e<r.instructionSize;e++){let r=n[e];t[r.renderPipeId].execute(r)}}e.s(["f",0,a],96169);class o{constructor(e){this._renderer=e}addRenderGroup(e,t){e.isCachedAsTexture?this._addRenderableCacheAsTexture(e,t):this._addRenderableDirect(e,t)}execute(e){e.isRenderable&&(e.isCachedAsTexture?this._executeCacheAsTexture(e):this._executeDirect(e))}destroy(){this._renderer=null}_addRenderableDirect(e,t){this._renderer.renderPipes.batch.break(t),e._batchableRenderGroup&&(i.f.return(e._batchableRenderGroup),e._batchableRenderGroup=null),t.add(e)}_addRenderableCacheAsTexture(e,t){let r=e._batchableRenderGroup??(e._batchableRenderGroup=i.f.get(s.f));r.renderable=e.root,r.transform=e.root.relativeGroupTransform,r.texture=e.texture,r.bounds=e._textureBounds,t.add(e),this._renderer.renderPipes.blendMode.pushBlendMode(e,e.root.groupBlendMode,t),this._renderer.renderPipes.batch.addToBatch(r,t),this._renderer.renderPipes.blendMode.popBlendMode(t)}_executeCacheAsTexture(e){if(e.textureNeedsUpdate){e.textureNeedsUpdate=!1;let t=new n.f().translate(-e._textureBounds.x,-e._textureBounds.y);this._renderer.renderTarget.push({target:e.texture,clear:!0,frame:e.texture.frame}),this._renderer.globalUniforms.push({worldTransformMatrix:t,worldColor:0xffffffff,offset:{x:0,y:0}}),a(e,this._renderer.renderPipes),this._renderer.renderTarget.finishRenderPass(),this._renderer.renderTarget.pop(),this._renderer.globalUniforms.pop()}e._batchableRenderGroup._batcher.updateElement(e._batchableRenderGroup),e._batchableRenderGroup._batcher.geometry.buffers[0].update()}_executeDirect(e){this._renderer.globalUniforms.push({worldTransformMatrix:e.inverseParentTextureTransform,worldColor:e.worldColorAlpha}),a(e,this._renderer.renderPipes),this._renderer.globalUniforms.pop()}}o.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"renderGroup"},e.s(["f",0,o],19249)},76890,e=>{var t=e.i(47760),r=e.i(28959),n=e.i(41163),i=e.i(69553);function s(e,t){t||(t=0);for(let r=t;r<e.length;r++)if(e[r])e[r]=null;else break}var a=e.i(96169),o=e.i(50147),l=e.i(8444);let d=new o.t,u=o.L|o.r|o.G;function h(e,t,r){if(r&o.r){e.groupColor=(0,l.f)(e.localColor,t.groupColor);let r=e.localAlpha*t.groupAlpha;e.groupAlpha=r=r<0?0:r>1?1:r,e.groupColorAlpha=e.groupColor+(255*r<<24)}r&o.G&&(e.groupBlendMode="inherit"===e.localBlendMode?t.groupBlendMode:e.localBlendMode),r&o.L&&(e.globalDisplayStatus=e.localDisplayStatus&t.globalDisplayStatus),e._updateFlags=0}let c=new r.f;class p{constructor(e){this._renderer=e}render({container:e,transform:t}){let r=e.parent,n=e.renderGroup.renderGroupParent;e.parent=null,e.renderGroup.renderGroupParent=null;let i=this._renderer;t&&(c.copyFrom(e.renderGroup.localTransform),e.renderGroup.localTransform.copyFrom(t));let s=i.renderPipes;this._updateCachedRenderGroups(e.renderGroup,null),this._updateRenderGroups(e.renderGroup),i.globalUniforms.start({worldTransformMatrix:t?e.renderGroup.localTransform:e.renderGroup.worldTransform,worldColor:e.renderGroup.worldColorAlpha}),(0,a.f)(e.renderGroup,s),s.uniformBatch&&s.uniformBatch.renderEnd(),t&&e.renderGroup.localTransform.copyFrom(c),e.parent=r,e.renderGroup.renderGroupParent=n}destroy(){this._renderer=null}_updateCachedRenderGroups(e,t){if(e._parentCacheAsTextureRenderGroup=t,e.isCachedAsTexture){if(!e.textureNeedsUpdate)return;t=e}for(let r=e.renderGroupChildren.length-1;r>=0;r--)this._updateCachedRenderGroups(e.renderGroupChildren[r],t);if(e.invalidateMatrices(),e.isCachedAsTexture){if(e.textureNeedsUpdate){let t=e.root.getLocalBounds(),r=this._renderer,s=e.textureOptions.resolution||r.view.resolution,a=e.textureOptions.antialias??r.view.antialias,o=e.textureOptions.scaleMode??"linear",l=e.texture;t.ceil(),e.texture&&n.f.returnTexture(e.texture),e.texture=n.f.getOptimalTexture({width:t.width,height:t.height,resolution:s,antialias:a,scaleMode:o}),e._textureBounds||(e._textureBounds=new i.f),e._textureBounds.copyFrom(t),l!==e.texture&&e.renderGroupParent&&(e.renderGroupParent.structureDidChange=!0)}}else e.texture&&(n.f.returnTexture(e.texture),e.texture=null)}_updateRenderGroups(e){let t=this._renderer,r=t.renderPipes;if(e.runOnRender(t),e.instructionSet.renderPipes=r,e.structureDidChange?s(e.childrenRenderablesToUpdate.list,0):!function(e,t){let{list:r}=e.childrenRenderablesToUpdate,n=!1;for(let i=0;i<e.childrenRenderablesToUpdate.index;i++){let e=r[i];if(n=t[e.renderPipeId].validateRenderable(e))break}e.structureDidChange=n}(e,r),!function e(t,r=!1){var n=t;let i,a=n.root;if(n.renderGroupParent){let e=n.renderGroupParent;n.worldTransform.appendFrom(a.relativeGroupTransform,e.worldTransform),n.worldColor=(0,l.f)(a.groupColor,e.worldColor),i=a.groupAlpha*e.worldAlpha}else n.worldTransform.copyFrom(a.localTransform),n.worldColor=a.localColor,i=a.localAlpha;n.worldAlpha=i=i<0?0:i>1?1:i,n.worldColorAlpha=n.worldColor+(255*i<<24);let o=t.childrenToUpdate,c=t.updateTick++;for(let e in o){let r=Number(e),n=o[e],i=n.list,a=n.index;for(let e=0;e<a;e++){let n=i[e];n.parentRenderGroup===t&&n.relativeRenderGroupDepth===r&&function e(t,r,n){if(r===t.updateTick)return;t.updateTick=r,t.didChange=!1;let i=t.localTransform;t.updateLocalTransform();let s=t.parent;if(s&&!s.renderGroup?(n|=t._updateFlags,t.relativeGroupTransform.appendFrom(i,s.relativeGroupTransform),n&u&&h(t,s,n)):(n=t._updateFlags,t.relativeGroupTransform.copyFrom(i),n&u&&h(t,d,n)),!t.renderGroup){let i=t.children,s=i.length;for(let t=0;t<s;t++)e(i[t],r,n);let a=t.parentRenderGroup;t.renderPipeId&&!a.structureDidChange&&a.updateRenderable(t)}}(n,c,0)}s(i,a),n.index=0}if(r)for(let n=0;n<t.renderGroupChildren.length;n++)e(t.renderGroupChildren[n],r)}(e),e.structureDidChange?(e.structureDidChange=!1,this._buildInstructions(e,t)):this._updateRenderables(e),e.childrenRenderablesToUpdate.index=0,t.renderPipes.batch.upload(e.instructionSet),!e.isCachedAsTexture||e.textureNeedsUpdate)for(let t=0;t<e.renderGroupChildren.length;t++)this._updateRenderGroups(e.renderGroupChildren[t])}_updateRenderables(e){let{list:t,index:r}=e.childrenRenderablesToUpdate;for(let n=0;n<r;n++){let r=t[n];r.didViewUpdate&&e.updateRenderable(r)}s(t,r)}_buildInstructions(e,t){let r=e.root,n=e.instructionSet;n.reset();let i=t.renderPipes?t:t.batch.renderer,s=i.renderPipes;s.batch.buildStart(n),s.blendMode.buildStart(),s.colorMask.buildStart(),r.sortableChildren&&r.sortChildren(),r.collectRenderablesWithEffects(n,i,null),s.batch.buildEnd(n),s.blendMode.buildEnd(n)}}p.extension={type:[t.x.WebGLSystem,t.x.WebGPUSystem,t.x.CanvasSystem],name:"renderGroup"},e.s(["f",0,p],76890)},32764,74491,27186,e=>{var t=e.i(47760),r=e.i(40766);class n{constructor(e){this._renderer=e}addRenderable(e,t){let r=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,r),this._renderer.renderPipes.batch.addToBatch(r,t)}updateRenderable(e){let t=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t)}validateRenderable(e){let t=this._getGpuSprite(e);return!t._batcher.checkAndUpdateTexture(t,e._texture)}_updateBatchableSprite(e,t){t.bounds=e.visualBounds,t.texture=e._texture}_getGpuSprite(e){return e._gpuData[this._renderer.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=new r.f;return t.renderable=e,t.transform=e.groupTransform,t.texture=e._texture,t.bounds=e.visualBounds,t.roundPixels=this._renderer._roundPixels|e._roundPixels,e._gpuData[this._renderer.uid]=t,t}destroy(){this._renderer=null}}n.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"sprite"},e.s(["f",0,n],32764);var i=e.i(22558),s=e.i(97828);let a=class e{constructor(e,t){this.state=i.A.for2d(),this._batchersByInstructionSet=Object.create(null),this._activeBatches=Object.create(null),this.renderer=e,this._adaptor=t,this._adaptor.init?.(this)}static getBatcher(e,t){return new this._availableBatchers[e]({maxTextures:t})}buildStart(e){let t=this._batchersByInstructionSet[e.uid];for(let r in!t&&((t=this._batchersByInstructionSet[e.uid]=Object.create(null)).default||(t.default=new s.f({maxTextures:this.renderer.limits.maxBatchableTextures}))),this._activeBatches=t,this._activeBatch=this._activeBatches.default,this._activeBatches)this._activeBatches[r].begin()}addToBatch(t,r){if(this._activeBatch.name!==t.batcherName){this._activeBatch.break(r);let n=this._activeBatches[t.batcherName];n||(n=this._activeBatches[t.batcherName]=e.getBatcher(t.batcherName,this.renderer.limits.maxBatchableTextures)).begin(),this._activeBatch=n}this._activeBatch.add(t)}break(e){this._activeBatch.break(e)}buildEnd(e){this._activeBatch.break(e);let t=this._activeBatches;for(let e in t){let r=t[e],n=r.geometry;n.indexBuffer.setDataWithSize(r.indexBuffer,r.indexSize,!0),n.buffers[0].setDataWithSize(r.attributeBuffer.float32View,r.attributeSize,!1)}}upload(e){let t=this._batchersByInstructionSet[e.uid];for(let e in t){let r=t[e],n=r.geometry;r.dirty&&(r.dirty=!1,n.buffers[0].update(4*r.attributeSize))}}execute(e){if("startBatch"===e.action){let t=e.batcher,r=t.geometry,n=t.shader;this._adaptor.start(this,r,n)}this._adaptor.execute(this,e)}destroyInstructionSet(e){let t=this._batchersByInstructionSet[e.uid];if(t){for(let e in t)t[e].destroy();delete this._batchersByInstructionSet[e.uid],this._activeBatches===t&&(this._activeBatches=Object.create(null),this._activeBatch=null)}}destroy(){for(let e in this.state=null,this.renderer=null,this._adaptor=null,this._activeBatches)this._activeBatches[e].destroy();this._activeBatches=null}};a.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"batch"},a._availableBatchers=Object.create(null),t.H.handleByMap(t.x.Batcher,a._availableBatchers),t.H.add(s.f),e.s(["f",0,a],74491);var o=e.i(21165),l=e.i(28959),d=e.i(81107),u=e.i(27076),h=e.i(32543),c=e.i(31320),p=e.i(36848),f=e.i(85830),m=e.i(54126),g="struct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>,\n};\n\nstruct MaskUniforms {\n uFilterMatrix:mat3x3<f32>,\n uMaskClamp:vec4<f32>,\n uAlpha:f32,\n uInverse:f32,\n uChannel:f32,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\n@group(0) @binding(2) var uSampler : sampler;\n\n@group(1) @binding(0) var<uniform> filterUniforms : MaskUniforms;\n@group(1) @binding(1) var uMaskTexture: texture_2d<f32>;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) filterUv : vec2<f32>,\n};\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);\n}\n\nfn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>\n{\n return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;\n}\n\nfn getSize() -> vec2<f32>\n{\n return gfu.uGlobalFrame.zw;\n}\n\n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>,\n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition),\n getFilterCoord(aPosition)\n );\n}\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @location(1) filterUv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n\n var maskClamp = filterUniforms.uMaskClamp;\n var uAlpha = filterUniforms.uAlpha;\n\n var clip = step(3.5,\n step(maskClamp.x, filterUv.x) +\n step(maskClamp.y, filterUv.y) +\n step(filterUv.x, maskClamp.z) +\n step(filterUv.y, maskClamp.w));\n\n var mask = textureSample(uMaskTexture, uSampler, filterUv);\n var source = textureSample(uTexture, uSampler, uv);\n\n var a: f32;\n if (filterUniforms.uChannel == 1.0) {\n a = mask.a * uAlpha * clip;\n } else {\n var alphaMul = 1.0 - uAlpha * (1.0 - mask.a);\n a = alphaMul * mask.r * uAlpha * clip;\n }\n\n if (filterUniforms.uInverse == 1.0) {\n a = 1.0 - a;\n }\n\n return source * a;\n}\n";class _ extends m.f{constructor(e){let{sprite:t,...r}=e,n=new p.f(t.texture),i=new h.f({uFilterMatrix:{value:new l.f,type:"mat3x3<f32>"},uMaskClamp:{value:n.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"},uInverse:{value:+!!e.inverse,type:"f32"},uChannel:{value:+("alpha"===e.channel),type:"f32"}}),s=u.f.from({vertex:{source:g,entryPoint:"mainVertex"},fragment:{source:g,entryPoint:"mainFragment"}}),a=d.f.from({vertex:"in vec2 aPosition;\n\nout vec2 vTextureCoord;\nout vec2 vMaskCoord;\n\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\nuniform mat3 uFilterMatrix;\n\nvec4 filterVertexPosition( vec2 aPosition )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( vec2 aPosition )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvec2 getFilterCoord( vec2 aPosition )\n{\n return ( uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;\n} \n\nvoid main(void)\n{\n gl_Position = filterVertexPosition(aPosition);\n vTextureCoord = filterTextureCoord(aPosition);\n vMaskCoord = getFilterCoord(aPosition);\n}\n",fragment:"in vec2 vMaskCoord;\nin vec2 vTextureCoord;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMaskTexture;\n\nuniform float uAlpha;\nuniform vec4 uMaskClamp;\nuniform float uInverse;\nuniform float uChannel;\n\nout vec4 finalColor;\n\nvoid main(void)\n{\n float clip = step(3.5,\n step(uMaskClamp.x, vMaskCoord.x) +\n step(uMaskClamp.y, vMaskCoord.y) +\n step(vMaskCoord.x, uMaskClamp.z) +\n step(vMaskCoord.y, uMaskClamp.w));\n\n // TODO look into why this is needed\n float npmAlpha = uAlpha;\n vec4 original = texture(uTexture, vTextureCoord);\n vec4 masky = texture(uMaskTexture, vMaskCoord);\n\n float a;\n if (uChannel == 1.0) {\n a = masky.a * npmAlpha * clip;\n } else {\n float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);\n a = alphaMul * masky.r * npmAlpha * clip;\n }\n\n if (uInverse == 1.0) {\n a = 1.0 - a;\n }\n\n finalColor = original * a;\n}\n",name:"mask-filter"});super({...r,gpuProgram:s,glProgram:a,clipToViewport:!1,resources:{filterUniforms:i,uMaskTexture:t.texture.source}}),this.sprite=t,this._textureMatrix=n}setSprite(e){this.sprite=e;let t=this._getSafeTexture();this._textureMatrix.texture=t,this.resources.uMaskTexture=t.source}set inverse(e){this.resources.filterUniforms.uniforms.uInverse=+!!e}get inverse(){return 1===this.resources.filterUniforms.uniforms.uInverse}set channel(e){this.resources.filterUniforms.uniforms.uChannel=+("alpha"===e)}get channel(){return 1===this.resources.filterUniforms.uniforms.uChannel?"alpha":"red"}apply(e,t,r,n){let i=this._getSafeTexture();this._textureMatrix.texture=i,e.calculateSpriteMatrix(this.resources.filterUniforms.uniforms.uFilterMatrix,this.sprite).prepend(this._textureMatrix.mapCoord),this.resources.uMaskTexture=i.source,e.applyFilter(this,t,r,n)}_getSafeTexture(){let e=this.sprite.texture;return e.destroyed||!e.source||e.source.destroyed?((0,f.f)("[MaskFilter] The mask texture was destroyed while the mask is still in use. Remove the mask before destroying its texture."),c.f.EMPTY):e}destroy(e=!1){this._textureMatrix.destroy(),super.destroy(e)}}var x=e.i(69553),b=e.i(32677),v=e.i(40069),T=e.i(74179),y=e.i(41163),S=e.i(18279);let k=new x.f;class C extends o.f{constructor(){super(),this._placeholderSprite=new v.f(c.f.EMPTY),this.filters=[new _({sprite:this._placeholderSprite,inverse:!1,resolution:"inherit",antialias:"inherit"})]}get sprite(){return this.filters[0].sprite}set sprite(e){this.filters[0].setSprite(e)}get inverse(){return this.filters[0].inverse}set inverse(e){this.filters[0].inverse=e}get channel(){return this.filters[0].channel}set channel(e){this.filters[0].channel=e}reset(){this._placeholderSprite.texture=c.f.EMPTY,this.sprite=this._placeholderSprite}}class M{constructor(e){this._activeMaskStage=[],this._usedEffects=[],this._renderer=e,e.runners.postrender.add(this)}push(e,t,r){let n=this._renderer;if(n.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1,maskedContainer:t}),e.inverse=t._maskOptions.inverse,e.channel=t._maskOptions.channel??"red",e.renderMaskToTexture){let t=e.mask;t.includeInBuild=!0,t.collectRenderables(r,n,null),t.includeInBuild=!1}n.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskEnd",mask:e,maskedContainer:t,inverse:t._maskOptions.inverse,canBundle:!1})}pop(e,t,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}execute(e){let t=this._renderer,r=e.mask.renderMaskToTexture;if("pushMaskBegin"===e.action){let n=T.f.get(C);if(n.inverse=e.inverse,n.channel=e.mask.channel,r){e.mask.mask.measurable=!0;let r=(0,b.c)(e.mask.mask,!0,k);e.mask.mask.measurable=!1,r.ceil();let i=t.renderTarget.renderTarget.colorTexture.source,s=y.f.getOptimalTexture({width:r.width,height:r.height,resolution:i._resolution,antialias:i.antialias});t.renderTarget.push({target:s,clear:!0}),t.globalUniforms.push({offset:r,worldColor:0xffffffff});let a=n.sprite;a.texture=s,a.worldTransform.tx=r.minX,a.worldTransform.ty=r.minY,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer,filterTexture:s})}else n.sprite=e.mask.mask,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer})}else if("pushMaskEnd"===e.action){let e=this._activeMaskStage[this._activeMaskStage.length-1];r&&(t.type===S.f.WEBGL&&t.renderTarget.finishRenderPass(),t.renderTarget.pop(),t.globalUniforms.pop()),t.filter.push({renderPipeId:"filter",action:"pushFilter",container:e.maskedContainer,filterEffect:e.filterEffect,canBundle:!1})}else if("popMaskEnd"===e.action){t.filter.pop();let e=this._activeMaskStage.pop();r&&y.f.returnTexture(e.filterTexture),this._usedEffects.push(e.filterEffect)}}postrender(){let e=this._usedEffects;for(let t=0;t<e.length;t++)T.f.return(e[t]);e.length=0}destroy(){this.postrender(),this._renderer.runners.postrender.remove(this),this._renderer=null,this._activeMaskStage=null,this._usedEffects=null}}M.extension={type:[t.x.WebGLPipes,t.x.WebGPUPipes,t.x.CanvasPipes],name:"alphaMask"},e.s(["f",0,M],27186)}])})();
|