blecsd 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -2
- package/README.md +209 -66
- package/dist/3d/index.d.ts +2 -2
- package/dist/3d/index.js +1 -1
- package/dist/audio/index.d.ts +2 -2
- package/dist/{border-D_Jb4ZJV.d.ts → border-Jb7TrMob.d.ts} +20 -10
- package/dist/chunk-2IEMMRUO.js +1 -0
- package/dist/chunk-3AV52GY5.js +1 -0
- package/dist/chunk-3LHLSY3Y.js +1 -0
- package/dist/chunk-3O4TQHGK.js +4 -0
- package/dist/chunk-3UJWZ5ZN.js +1 -0
- package/dist/chunk-5N3O25O7.js +1 -0
- package/dist/chunk-6M2J5QUA.js +1 -0
- package/dist/chunk-7IQEUVGF.js +1 -0
- package/dist/chunk-A6M6TFBL.js +1 -0
- package/dist/chunk-CUEUJAHK.js +3 -0
- package/dist/chunk-D42Q2KKR.js +1 -0
- package/dist/chunk-DYEXOFUU.js +2 -0
- package/dist/chunk-DYU72XLL.js +1 -0
- package/dist/chunk-E4CJRSND.js +1 -0
- package/dist/chunk-EAY7B5GL.js +1 -0
- package/dist/chunk-FCMTWFSE.js +1 -0
- package/dist/chunk-FL56THSI.js +25 -0
- package/dist/{chunk-2UBBZFE4.js → chunk-G437VE43.js} +1 -1
- package/dist/chunk-GGXNWT36.js +8 -0
- package/dist/chunk-HLFORKXS.js +1 -0
- package/dist/chunk-J7MBKEBY.js +1 -0
- package/dist/{chunk-TYMY2TBR.js → chunk-JHCKPCUH.js} +3 -3
- package/dist/chunk-K3SX2LY5.js +1 -0
- package/dist/chunk-LDAFEXN5.js +1 -0
- package/dist/chunk-MKMFUXLB.js +33 -0
- package/dist/chunk-MQWPHPUM.js +1 -0
- package/dist/chunk-MTI376CU.js +5 -0
- package/dist/chunk-MTV2RJZD.js +1 -0
- package/dist/chunk-NPDPBAW6.js +4 -0
- package/dist/chunk-OB66FB4F.js +1 -0
- package/dist/chunk-OR3BZY7C.js +1 -0
- package/dist/{chunk-VNZ6CWJA.js → chunk-R7AICVRN.js} +2 -2
- package/dist/{chunk-3B7MIVW6.js → chunk-RZ7FGVI6.js} +1 -1
- package/dist/chunk-UMGTXSQB.js +11 -0
- package/dist/chunk-X3Q3T2SS.js +4 -0
- package/dist/{chunk-JKVHO4LH.js → chunk-XZJRWFOS.js} +1 -1
- package/dist/chunk-ZAHG7Y3X.js +1 -0
- package/dist/cli/init.d.ts +1 -1
- package/dist/componentStorage-CJTh-TPO.d.ts +246 -0
- package/dist/components/index.d.ts +1942 -514
- package/dist/components/index.js +1 -1
- package/dist/core/index.d.ts +857 -259
- package/dist/core/index.js +1 -1
- package/dist/debug/index.d.ts +491 -98
- package/dist/debug/index.js +1 -1
- package/dist/dirtyTracking-C4v8MmM9.d.ts +235 -0
- package/dist/errors/index.d.ts +12 -12
- package/dist/errors/index.js +1 -1
- package/dist/{events-BbbxkgvX.d.ts → events-9ForpTfM.d.ts} +75 -2
- package/dist/game/index.d.ts +7 -7
- package/dist/game/index.js +1 -1
- package/dist/{gameLoop-BIPW7-OY.d.ts → gameLoop-C-Ez_i54.d.ts} +2 -2
- package/dist/{index-zSGJ2eUk.d.ts → index-DBS5Uefn.d.ts} +2 -2
- package/dist/index.d.ts +283 -20
- package/dist/index.js +3 -1
- package/dist/input/index.d.ts +1 -1
- package/dist/input/index.js +1 -1
- package/dist/{inputActions-CefRUBuT.d.ts → inputActions-CRsUtTHM.d.ts} +10 -721
- package/dist/packedStore-BgvnEdE7.d.ts +191 -0
- package/dist/{renderable-jTMOA-GK.d.ts → renderable-CwqGwrEV.d.ts} +9 -9
- package/dist/{scheduler-DcfoFuum.d.ts → scheduler-CMcYew9Z.d.ts} +65 -3
- package/dist/systems/index.d.ts +356 -55
- package/dist/systems/index.js +1 -1
- package/dist/terminal/index.d.ts +2233 -2299
- package/dist/terminal/index.js +1 -1
- package/dist/{tilemap-D1HJvKy3.d.ts → tilemap-BirMJdbu.d.ts} +92 -3
- package/dist/{types-BcsvoKzf.d.ts → types-CPB4CpbH.d.ts} +2 -2
- package/dist/utils/index.d.ts +27 -180
- package/dist/utils/index.js +1 -1
- package/dist/{virtualScrollback-DvZTRU8a.d.ts → virtualScrollback-D9uLFe8l.d.ts} +4 -4
- package/dist/{virtualViewport-Dx2iJliO.d.ts → virtualViewport-Bpv6jlKt.d.ts} +283 -761
- package/dist/widgets/bigText.d.ts +1 -1
- package/dist/widgets/bigText.js +1 -1
- package/dist/widgets/index.d.ts +10519 -5463
- package/dist/widgets/index.js +1 -1
- package/package.json +102 -6
- package/dist/chunk-35I22JJO.js +0 -1
- package/dist/chunk-3EGGGI5J.js +0 -3
- package/dist/chunk-4X4N4HNQ.js +0 -2
- package/dist/chunk-AQ7LW75B.js +0 -1
- package/dist/chunk-AXZQAH4X.js +0 -1
- package/dist/chunk-BCADUCOZ.js +0 -1
- package/dist/chunk-EJ5WVDDZ.js +0 -6
- package/dist/chunk-FT7BMYSN.js +0 -1
- package/dist/chunk-FYEBZAWN.js +0 -1
- package/dist/chunk-GYHI26UE.js +0 -1
- package/dist/chunk-H2YAOJDW.js +0 -1
- package/dist/chunk-K2B2OXQ5.js +0 -5
- package/dist/chunk-K37L3G4Z.js +0 -4
- package/dist/chunk-KD55INV7.js +0 -1
- package/dist/chunk-KFAK4A3G.js +0 -1
- package/dist/chunk-LCN2ZITE.js +0 -1
- package/dist/chunk-OUXUPF3V.js +0 -33
- package/dist/chunk-P6CJO3BC.js +0 -1
- package/dist/chunk-PI5UOHOH.js +0 -1
- package/dist/chunk-PSXXMBVJ.js +0 -1
- package/dist/chunk-TRK4422V.js +0 -12
- package/dist/chunk-W5OU7Z6J.js +0 -1
- package/dist/chunk-WNG4A3K7.js +0 -4
- package/dist/chunk-XRJNAHNG.js +0 -19
- package/dist/chunk-XZA63ZPO.js +0 -1
- package/dist/chunk-YAMOSPWB.js +0 -4
- package/dist/chunk-YD6ULIUR.js +0 -1
- package/dist/{keyParser-Bwm8-l7v.d.ts → keyParser-BnHbg2iD.d.ts} +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import {l}from'./chunk-MTV2RJZD.js';import {c as c$1,a as a$2}from'./chunk-3AV52GY5.js';import {f as f$1,v,d as d$2}from'./chunk-6M2J5QUA.js';import {a as a$1}from'./chunk-EAY7B5GL.js';import {e,k as k$2,a as a$3,f as f$5,g as g$4,h as h$2}from'./chunk-3LHLSY3Y.js';import {v as v$1,c as c$2,i as i$2}from'./chunk-OR3BZY7C.js';import {u,o,k,p as p$1}from'./chunk-DYU72XLL.js';import {d,l as l$1,f as f$3}from'./chunk-FCMTWFSE.js';import {H,G as G$1,F,x,J,B,E,da as da$1,X,g as g$1,_ as _$1,c as c$3,v as v$2,A,l as l$2,a as a$5}from'./chunk-ZAHG7Y3X.js';import {b as b$1,f as f$4}from'./chunk-NPDPBAW6.js';import {a,i as i$1,b,f as f$2,e as e$1,k as k$3,g as g$3}from'./chunk-G7GIWWLE.js';import {n,c,i,e as e$2,k as k$1,g as g$2,a as a$4,d as d$1,h as h$1}from'./chunk-PXXGH3BV.js';import {z as z$1}from'zod';function ft(e){if(!d$2(e))return {width:80,height:24};let t=f$1(e);return !t||!B(e,t)?{width:80,height:24}:{width:v$2.width[t],height:v$2.height[t]}}function ln(e,t,n){H(e,t,true);let o=G$1(e,t)?.y??0;return F(e,t,n,o),t}function cn(e,t,n){let r=ft(e),i=x(e,t)?.width??0;H(e,t,true);let a=r.width-n-i,l=G$1(e,t)?.y??0;return F(e,t,a,l),t}function un(e,t,n){H(e,t,true);let o=G$1(e,t)?.x??0;return F(e,t,o,n),t}function fn(e,t,n){let r=ft(e),i=x(e,t)?.height??0;H(e,t,true);let a=r.height-n-i,l=G$1(e,t)?.x??0;return F(e,t,l,a),t}function dr(e,t,n){let{left:r,right:o,top:i,bottom:a}=n;return H(e,t,true),r!==void 0?ln(e,t,r):o!==void 0&&cn(e,t,o),i!==void 0?un(e,t,i):a!==void 0&&fn(e,t,a),t}function pr(e,t){let n=G$1(e,t);if(!n||!n.absolute)return;let r=x(e,t),o=r?.width??0,i=r?.height??0,a=ft(e),s=n.x,l=a.width-s-o,c=n.y,m=a.height-c-i;return {left:s,right:l,top:c,bottom:m}}u();function dn(e){let t=f$1(e);return t?v(e,t):false}function dt(e,t){let n={left:0,top:0,right:0,bottom:0};return !dn(e)||!o(e,t)||k.type[t]===0?n:{left:k.left[t]===1?1:0,top:k.top[t]===1?1:0,right:k.right[t]===1?1:0,bottom:k.bottom[t]===1?1:0}}function pn(e$1,t){let n=e(e$1,t),r=n?.left??0,o=n?.top??0,i=n?.right??0,a=n?.bottom??0,s=dt(e$1,t),l=r+s.left,c=o+s.top,m=i+s.right,P=a+s.bottom;return {left:l,top:c,right:m,bottom:P,horizontal:l+m,vertical:c+P}}function mr(e,t){let n=pn(e,t);return n.left+n.top+n.right+n.bottom}function gr(e,t){let n=dt(e,t);return n.left>0||n.top>0||n.right>0||n.bottom>0}var pt={teeRight:9500,teeLeft:9508,teeDown:9516,teeUp:9524,cross:9532,horizontal:9472,vertical:9474},yn={teeRight:9568,teeLeft:9571,teeDown:9574,teeUp:9577,cross:9580,horizontal:9552,vertical:9553},mn={teeRight:9507,teeLeft:9515,teeDown:9523,teeUp:9531,cross:9547,horizontal:9473,vertical:9475},gn={teeRight:43,teeLeft:43,teeDown:43,teeUp:43,cross:43,horizontal:45,vertical:124};function br(e,t,n={}){return {width:e,height:t,edges:new Map,enabled:n.enabled??true}}function hr(e){e.edges.clear();}function Er(e,t,n){return {...e,width:t,height:n}}function te(e,t){return `${e},${t}`}function bn(e){let[t,n]=e.split(",");return {x:Number.parseInt(t??"0",10),y:Number.parseInt(n??"0",10)}}function yt(e){return e===9472||e===9474||e===9484||e===9488||e===9492||e===9496||e===9500||e===9508||e===9516||e===9524||e===9532?"single":e===9552||e===9553||e===9556||e===9559||e===9562||e===9565||e===9568||e===9571||e===9574||e===9577||e===9580?"double":e===9473||e===9475||e===9487||e===9491||e===9495||e===9499||e===9507||e===9515||e===9523||e===9531||e===9547?"bold":e===45||e===124||e===43?"ascii":"unknown"}function mt(e){switch(e){case "single":return pt;case "double":return yn;case "bold":return mn;case "ascii":return gn;default:return pt}}function O(e,t,n,r,o,i,a){let s=te(t,n),l={x:t,y:n,type:r,char:o,fg:i,bg:a,style:yt(o)},c=e.edges.get(s);c?c.push(l):e.edges.set(s,[l]);}function xr(e,t,n,r,o,i,a,s,l){for(let c=1;c<r-1;c++)O(e,t+c,n,"h",i,s,l);for(let c=1;c<r-1;c++)O(e,t+c,n+o-1,"h",i,s,l);for(let c=1;c<o-1;c++)O(e,t,n+c,"v",a,s,l);for(let c=1;c<o-1;c++)O(e,t+r-1,n+c,"v",a,s,l);O(e,t,n,"c",0,s,l),O(e,t+r-1,n,"c",0,s,l),O(e,t,n+o-1,"c",0,s,l),O(e,t+r-1,n+o-1,"c",0,s,l);}function gt(e,t,n){let r=e.edges.get(te(t-1,n)),o=e.edges.get(te(t+1,n)),i=e.edges.get(te(t,n-1)),a=e.edges.get(te(t,n+1));return {left:r?.some(s=>s.type==="h"||s.type==="c")??false,right:o?.some(s=>s.type==="h"||s.type==="c")??false,top:i?.some(s=>s.type==="v"||s.type==="c")??false,bottom:a?.some(s=>s.type==="v"||s.type==="c")??false}}function bt(e,t){let{left:n,top:r,right:o,bottom:i}=e;return (n?1:0)+(r?1:0)+(o?1:0)+(i?1:0)<3?null:n&&r&&o&&i?t.cross:n&&r&&i?t.teeLeft:o&&r&&i?t.teeRight:n&&o&&i?t.teeDown:n&&o&&r?t.teeUp:null}function vr(e){if(!e.enabled)return [];let t=[],n=new Set;for(let[r,o]of e.edges){if(n.has(r)||(n.add(r),o.length<2))continue;let{x:i,y:a}=bn(r),s=gt(e,i,a),l=o[0];if(!l)continue;let c=mt(l.style),m=bt(s,c);m!==null&&t.push({x:i,y:a,char:m,fg:l.fg,bg:l.bg});}return t}function Cr(e,t){let n=t.some(o=>o.type==="h"),r=t.some(o=>o.type==="v");return {left:e.left||n,right:e.right||n,top:e.top||r,bottom:e.bottom||r}}function Sr(e,t,n,r){if(!e.some(l=>l.type==="c")||e.length<=1)return null;let i=e[0];if(!i)return null;let a=mt(i.style),s=bt(t,a);return s===null?null:{x:n,y:r,char:s,fg:i.fg,bg:i.bg}}function Dr(e){if(!e.enabled)return [];let t=[],n=new Set;for(let[r,o]of e.edges){if(n.has(r))continue;n.add(r);let{x:i,y:a}=bn(r),s=gt(e,i,a),l=Cr(s,o),c=Sr(o,l,i,a);c&&t.push(c);}return t}function Pr(e,t){for(let n of t)n.x>=0&&n.x<e.width&&n.y>=0&&n.y<e.height&&e.setCell(n.x,n.y,{char:String.fromCodePoint(n.char),fg:n.fg,bg:n.bg});}function Ir(e){return e.map(t=>({x:t.x,y:t.y,char:String.fromCodePoint(t.char),fg:t.fg,bg:t.bg}))}function Ar(e){return yt(e)!=="unknown"}function Tr(e){return e>=9500&&e<=9532||e>=9568&&e<=9580||e>=9507&&e<=9547||e===43}function kr(e){return e.edges.size}function Rr(e,t,n){return e.edges.get(te(t,n))??[]}u();n();var ze=1e4,K={HIDDEN:0,VISIBLE:1,SCROLL:2},g={overflow:new Uint8Array(ze),overflowX:new Uint8Array(ze),overflowY:new Uint8Array(ze),hasIndependentOverflow:new Uint8Array(ze)};function Wr(e,t){i(e,t,g)||(h$1(e,t,g),g.overflow[t]=K.HIDDEN,g.overflowX[t]=K.HIDDEN,g.overflowY[t]=K.HIDDEN,g.hasIndependentOverflow[t]=0);}function Br(e,t){return i(e,t,g)}function Mr(e,t,n){return Wr(e,t),typeof n=="number"?(g.overflow[t]=n,g.overflowX[t]=n,g.overflowY[t]=n,g.hasIndependentOverflow[t]=0):(n.overflow!==void 0&&(g.overflow[t]=n.overflow,g.overflowX[t]=n.overflow,g.overflowY[t]=n.overflow),n.overflowX!==void 0&&(g.overflowX[t]=n.overflowX,g.hasIndependentOverflow[t]=1),n.overflowY!==void 0&&(g.overflowY[t]=n.overflowY,g.hasIndependentOverflow[t]=1)),t}function Ne(e,t){return i(e,t,g)?g.overflow[t]:K.HIDDEN}function Or(e,t){if(i(e,t,g))return {overflow:g.overflow[t],overflowX:g.overflowX[t],overflowY:g.overflowY[t]}}function Lr(e,t,n,r){return {x1:e,y1:t,x2:e+n,y2:t+r}}function ve(){return {x1:-1/0,y1:-1/0,x2:1/0,y2:1/0}}function wr(e){return e.x1>=e.x2||e.y1>=e.y2}function zr(e,t,n){return t>=e.x1&&t<e.x2&&n>=e.y1&&n<e.y2}function Nr(e,t,n,r,o){return t<e.x2&&t+r>e.x1&&n<e.y2&&n+o>e.y1}function Fe(e,t){return {x1:Math.max(e.x1,t.x1),y1:Math.max(e.y1,t.y1),x2:Math.min(e.x2,t.x2),y2:Math.min(e.y2,t.y2)}}function Fr(e,t,n){return {x:Math.max(e.x1,Math.min(e.x2-1,t)),y:Math.max(e.y1,Math.min(e.y2-1,n))}}function Kr(e){return e.x2-e.x1}function _r(e){return e.y2-e.y1}function Ur(e,t){return p$1(e,t)?{top:k.top[t]===1?1:0,right:k.right[t]===1?1:0,bottom:k.bottom[t]===1?1:0,left:k.left[t]===1?1:0}:{top:0,right:0,bottom:0,left:0}}function hn(e,t){if(!c$1(e,t))return null;let n=a$2.x[t],r=a$2.y[t],o=a$2.width[t],i=a$2.height[t],a=Ur(e,t);return {x1:n+a.left,y1:r+a.top,x2:n+o-a.right,y2:r+i-a.bottom}}function Hr(e,t){let n=ve(),r=t;for(;r!==a;){if(Ne(e,r)!==K.VISIBLE){let a=hn(e,r);a&&(n=Fe(n,a));}r=i$1(e,r)??a;}return n}function Vr(e,t,n){let r=ve(),o=t;for(;o!==a&&o!==n;){if(Ne(e,o)!==K.VISIBLE){let s=hn(e,o);s&&(r=Fe(r,s));}o=i$1(e,o)??a;}return r}function Zr(e,t){return Ne(e,t)!==K.VISIBLE}function Jr(){return {stack:[],current:ve()}}function Yr(e,t){let n=[...e.stack,e.current],r=Fe(e.current,t);return {stack:n,current:r}}function $r(e){if(e.stack.length===0)return e;let t=e.stack.slice(0,-1),n=e.stack[e.stack.length-1];return {stack:t,current:n??ve()}}function Gr(e){return e.current}u();n();function ht(e,t){return o(e,t)?k.type[t]===0?0:1:0}function Et(e,t){if(!B(e,t))return {width:0,height:0};let n=x(e,t);return {width:n?.width??0,height:n?.height??0}}function Xr(e$1,t){let n=ht(e$1,t),r=n,o=e(e$1,t);return o&&(n+=o.left,r+=o.top),{x:n,y:r}}function En(e,t){let n=0,r=0;if(!i(e,t,b))return {x:n,y:r};let o=i$1(e,t);for(;o!==a;){if(!J(e,o)){o=i$1(e,o);continue}let i=G$1(e,o);if(!i){o=i$1(e,o);continue}n+=i.x,r+=i.y;let a=Xr(e,o);if(n+=a.x,r+=a.y,i.absolute)break;o=i$1(e,o);}return {x:n,y:r}}function Ke(e,t){if(!J(e,t))return;let n=G$1(e,t);if(!n)return;let r=Et(e,t);if(n.absolute)return {left:n.x,top:n.y,right:n.x+r.width-1,bottom:n.y+r.height-1};let o=En(e,t),i=n.x+o.x,a=n.y+o.y;return {left:i,top:a,right:i+r.width-1,bottom:a+r.height-1}}function xn(e,t){if(!J(e,t))return;let n=G$1(e,t);if(!n)return;let r=Et(e,t),o=0,i$2=0;if(i(e,t,b)){let a$1=i$1(e,t);if(a$1!==a){let s=_e(e,a$1);s&&(o=s.width,i$2=s.height);}}return {left:n.x,top:n.y,right:Math.max(0,o-n.x-r.width),bottom:Math.max(0,i$2-n.y-r.height)}}function xt(e$1,t){let n=Ke(e$1,t);if(!n)return;let r=ht(e$1,t),o=e(e$1,t),i=o?.left??0,a=o?.top??0,s=o?.right??0,l=o?.bottom??0;return {left:n.left+r+i,top:n.top+r+a,right:n.right-r-s,bottom:n.bottom-r-l}}function _e(e$1,t){if(!B(e$1,t))return;let n=x(e$1,t);if(!n)return;let r=ht(e$1,t),o=e(e$1,t),i=(o?.left??0)+(o?.right??0),a=(o?.top??0)+(o?.bottom??0);return {width:Math.max(0,n.width-r*2-i),height:Math.max(0,n.height-r*2-a)}}function vn(e$1,t){let n=e(e$1,t),r=n?.left??0,o=n?.right??0,i=n?.top??0,a=n?.bottom??0;return {horizontal:r+o,vertical:i+a,total:r+o+i+a}}function qr(e,t,n,r){let o=En(e,t),i=n-o.x,a=r-o.y;return E.x[t]=i,E.y[t]=a,t}function jr(e,t,n){let r=Et(e,t),o=0,i$2=0;if(i(e,t,b)){let l=i$1(e,t);if(l!==a){let c=_e(e,l);c&&(o=c.width,i$2=c.height);}}let a$1;n.left!==void 0?a$1=n.left:n.right!==void 0?a$1=o-r.width-n.right:a$1=E.x[t];let s;return n.top!==void 0?s=n.top:n.bottom!==void 0?s=i$2-r.height-n.bottom:s=E.y[t],E.x[t]=a$1,E.y[t]=s,t}function Qr(e,t){let n=Ke(e,t);if(!n)return;let r=xn(e,t);if(!r)return;let o=xt(e,t);if(!o)return;let i=_e(e,t)??{width:0,height:0},a=vn(e,t);return {absolute:n,relative:r,inner:o,innerDimensions:i,totalPadding:a}}function vt(e,t,n,r){let o=Ke(e,t);return o?n>=o.left&&n<=o.right&&r>=o.top&&r<=o.bottom:false}function eo(e,t,n,r){let o=xt(e,t);return o?n>=o.left&&n<=o.right&&r>=o.top&&r<=o.bottom:false}function Sn(e,t){let n=e*t,r=Math.ceil(n/8);return {width:e,height:t,dirtyCells:new Uint8Array(r),dirtyEntities:new Set,entityBounds:a$1({iterable:true}),dirtyRegions:[],regionsStale:true,forceFullRedraw:true,frameCount:0}}function to(e,t,n){let r=Sn(t,n);return e.entityBounds.forEach((o,i)=>{o.prevX<t&&o.prevY<n&&r.entityBounds.set(i,{...o});}),r.forceFullRedraw=true,r}function no(e,t,n){if(t<0||t>=e.width||n<0||n>=e.height)return;let r=n*e.width+t,o=r>>3,i=r&7,a=e.dirtyCells[o];a!==void 0&&(e.dirtyCells[o]=a|1<<i),e.regionsStale=true;}function ro(e,t,n){if(t<0||t>=e.width||n<0||n>=e.height)return false;let r=n*e.width+t,o=r>>3,i=r&7,a=e.dirtyCells[o];return a===void 0?false:(a&1<<i)!==0}function Ue(e,t,n,r,o){let i=Math.max(0,Math.floor(t)),a=Math.max(0,Math.floor(n)),s=Math.min(e.width,Math.floor(t+r)),l=Math.min(e.height,Math.floor(n+o));if(!(s<=i||l<=a)){for(let c=a;c<l;c++)for(let m=i;m<s;m++){let P=c*e.width+m,H=P>>3,Te=P&7,ke=e.dirtyCells[H];ke!==void 0&&(e.dirtyCells[H]=ke|1<<Te);}e.regionsStale=true;}}function Dn(e,t,n){if(e.dirtyEntities.add(n),!c$1(t,n))return;let r=a$2.x[n],o=a$2.y[n],i=a$2.width[n],a=a$2.height[n],s=e.entityBounds.get(n);s&&(s.prevX!==r||s.prevY!==o||s.prevWidth!==i||s.prevHeight!==a)&&Ue(e,s.prevX,s.prevY,s.prevWidth,s.prevHeight),Ue(e,r,o,i,a),e.regionsStale=true;}function oo(e,t,n,r){if(!c$1(t,n)){e.entityBounds.delete(n);return}let o={prevX:a$2.x[n],prevY:a$2.y[n],prevWidth:a$2.width[n],prevHeight:a$2.height[n],wasVisible:r};e.entityBounds.set(n,o);}function io(e,t){let n=e.entityBounds.get(t);n?.wasVisible&&Ue(e,n.prevX,n.prevY,n.prevWidth,n.prevHeight),e.dirtyEntities.delete(t),e.entityBounds.delete(t);}function ao(e,t){return e.dirtyEntities.has(t)}function He(e,t,n){let r=t*n+e;return {byteIndex:r>>3,bitIndex:r&7}}function Cn(e,t,n){let r=e[t];if(r!==void 0)return (r&1<<n)!==0}function so(e,t,n){let r=e[t];r!==void 0&&(e[t]=r|1<<n);}function Ct(e,t,n,r){let o=Cn(e,n,r),i=Cn(t,n,r);return o===void 0||i===void 0?false:o&&!i}function lo(e){if(e.forceFullRedraw)return [{x:0,y:0,width:e.width,height:e.height}];let t=[],n=new Uint8Array(e.dirtyCells.length);for(let r=0;r<e.height;r++)for(let o=0;o<e.width;o++){let{byteIndex:i,bitIndex:a}=He(o,r,e.width);if(Ct(e.dirtyCells,n,i,a)){let s=po(e,n,o,r);s.width>0&&s.height>0&&t.push(s);}}return mo(t)}function co(e,t,n,r,o,i){let a=n;for(;a<i;){let{byteIndex:s,bitIndex:l}=He(a,r,o);if(!Ct(e,t,s,l))break;a++;}return a}function uo(e,t,n,r,o,i){for(let a=n;a<r;a++){let{byteIndex:s,bitIndex:l}=He(a,o,i);if(!Ct(e,t,s,l))return false}return true}function fo(e,t,n,r,o,i){for(let a=n;a<o;a++)for(let s=t;s<r;s++){let{byteIndex:l,bitIndex:c}=He(s,a,i);so(e,l,c);}}function po(e,t,n,r){let o=co(e.dirtyCells,t,n,r,e.width,e.width),i=o-n;if(i===0)return {x:n,y:r,width:0,height:0};let a=r;for(;a<e.height&&uo(e.dirtyCells,t,n,o,a,e.width);)a++;return fo(t,n,r,o,a,e.width),{x:n,y:r,width:i,height:a-r}}function yo(e,t,n,r){let o=e,i=false;for(let a=r;a<t.length;a++){if(n.has(a))continue;let s=t[a];s&&go(o,s)&&(o=bo(o,s),n.add(a),i=true);}return {merged:o,didMerge:i}}function mo(e){if(e.length<2)return e;let t=[...e].sort((o,i)=>i.width*i.height-o.width*o.height),n=[],r=new Set;for(let o=0;o<t.length;o++){if(r.has(o))continue;let i=t[o];if(!i)continue;r.add(o);let a=true;for(;a;){let s=yo(i,t,r,o+1);i=s.merged,a=s.didMerge;}n.push(i);}return n}function go(e,t){let n=e.x+e.width,r=e.y+e.height,o=t.x+t.width,i=t.y+t.height;return !(t.x>n+1||o<e.x-1||t.y>r+1||i<e.y-1)}function bo(e,t){let n=Math.min(e.x,t.x),r=Math.min(e.y,t.y),o=Math.max(e.x+e.width,t.x+t.width),i=Math.max(e.y+e.height,t.y+t.height);return {x:n,y:r,width:o-n,height:i-r}}function Ve(e){return e.regionsStale&&(e.dirtyRegions.length=0,e.dirtyRegions.push(...lo(e)),e.regionsStale=false),e.dirtyRegions}function ho(e){return e.forceFullRedraw?true:e.dirtyEntities.size>0}function Eo(e){return e.forceFullRedraw}function xo(e){return e.dirtyEntities}function vo(e){let t=Ve(e),n=e.width*e.height,r=0;for(let o of t)r+=o.width*o.height;return {dirtyEntityCount:e.dirtyEntities.size,dirtyRegionCount:t.length,dirtyArea:r,dirtyPercent:n>0?r/n*100:0,fullRedraw:e.forceFullRedraw,trackedEntityCount:e.entityBounds.size}}function Co(e){e.dirtyCells.fill(0),e.dirtyEntities.clear(),e.dirtyRegions.length=0,e.regionsStale=true,e.forceFullRedraw=false,e.frameCount++;}function So(e){e.forceFullRedraw=true,e.regionsStale=true;}function Do(e,t){e.entityBounds.forEach((n,r)=>{Dn(e,t,r);});}function Po(e,t,n,r,o){if(e.forceFullRedraw)return true;let i=Ve(e);for(let a of i)if(t<a.x+a.width&&t+r>a.x&&n<a.y+a.height&&n+o>a.y)return true;return false}function Io(e,t,n,r,o){let i=Ve(e),a=[];for(let s of i){let l=Math.max(s.x,t),c=Math.max(s.y,n),m=Math.min(s.x+s.width,t+r),P=Math.min(s.y+s.height,n+o);m>l&&P>c&&a.push({x:l,y:c,width:m-l,height:P-c});}return a}n();var Ze=new Map;function L(e,t){let n=Ze.get(e);return n||(n=t(),Ze.set(e,n)),n}function St(e){Ze.delete(e);}function Ao(){Ze.clear();}function To(e,t,n,r){e.emit("reparent",{entity:t,oldParent:n,newParent:r});}function ko(e,t,n){e.emit("adopt",{parent:t,child:n});}function Ro(e,t,n){e.emit("attach",{entity:t,screen:n});}function Wo(e,t,n){e.emit("detach",{entity:t,screen:n});}function Bo(e,t,n){e.emit("remove",{parent:t,child:n});}function Dt(e,t){e.emit("destroy",{entity:t});}function Mo(e,t,n){return L(e,n).on("reparent",t)}function Oo(e,t,n){return L(e,n).on("adopt",t)}function Lo(e,t,n){return L(e,n).on("attach",t)}function wo(e,t,n){return L(e,n).on("detach",t)}function zo(e,t,n){return L(e,n).on("remove",t)}function No(e,t,n){return L(e,n).on("destroy",t)}var w=new Set,Pt=new WeakMap,ne=[];function Je(e){let t=Pt.get(e);return t||(t=new Set,Pt.set(e,t)),t}function Fo(e){return ne.push(e),()=>{let t=ne.indexOf(e);t!==-1&&ne.splice(t,1);}}function Pn(){ne.length=0;}function In(e,t,n={}){let{immediate:r=false,destroyChildren:o=true,emitEvent:i$1=true}=n;if(r)It(e,t,o,i$1);else {let a=Je(e);if(a.add(t),w.add(t),o&&i(e,t,b)){let s=f$2(e,t);for(let l of s)a.add(l),w.add(l);}}}function Ko(e,t,n={}){if(!i(e,t,b))return;let r=f$2(e,t);for(let o of r)In(e,o,n);}function _o(e){return w.has(e)}function Uo(e){let t=Je(e),n=t.size;if(n===0)return 0;let r=Array.from(t);r.sort((o,i$1)=>{let a=i(e,o,b)?b.depth[o]??0:0;return (i(e,i$1,b)?b.depth[i$1]??0:0)-a});for(let o of r)w.has(o)&&It(e,o,false,true);return t.clear(),n}function It(e,t,n,r){if(w.delete(t),r)try{let o=L(t,()=>l());Dt(o,t);}catch{}if(n&&i(e,t,b)){let o=f$2(e,t);for(let i of o)It(e,i,true,r);}if(i(e,t,b)){let o=i$1(e,t);o!==a&&e$1(e,o,t);}for(let o of ne)try{o(e,t);}catch{}St(t);try{e$2(e,t);}catch{}}function Ho(e){Je(e).clear(),w.clear(),Pn();}function Vo(e){return e?Pt.get(e)?.size??0:w.size}function Zo(e){let t=Je(e);for(let n of t)w.delete(n);t.clear();}function Jo(){w.clear(),ne.length=0;}n();var S=new Map;function re(e,t,n){return typeof n=="function"?n(e,t):n}function oe(e,t,n){let r={};return n.fg!==void 0&&(r.fg=re(e,t,n.fg)),n.bg!==void 0&&(r.bg=re(e,t,n.bg)),n.bold!==void 0&&(r.bold=re(e,t,n.bold)),n.underline!==void 0&&(r.underline=re(e,t,n.underline)),n.blink!==void 0&&(r.blink=re(e,t,n.blink)),n.inverse!==void 0&&(r.inverse=re(e,t,n.inverse)),r}function Yo(e,t){return l$2(e,t)?{fg:c$3.fg[t],bg:c$3.bg[t],bold:c$3.bold[t]===1,underline:c$3.underline[t]===1,blink:c$3.blink[t]===1,inverse:c$3.inverse[t]===1,transparent:c$3.transparent[t]===1,opacity:c$3.opacity[t]??1}:{fg:c$3.fg[t],bg:c$3.bg[t],bold:false,underline:false,blink:false,inverse:false,transparent:false,opacity:1}}function Ce(e,t){let n=S.get(t);return n||(n={original:Yo(e,t),focusApplied:false,hoverApplied:false},S.set(t,n)),n}function $o(e){return S.get(e)}function Go(e){return S.has(e)}function Xo(e){S.delete(e);}function qo(){S.clear();}function $(e,t){t.fg!==void 0&&(c$3.fg[e]=t.fg),t.bg!==void 0&&(c$3.bg[e]=t.bg),t.bold!==void 0&&(c$3.bold[e]=t.bold?1:0),t.underline!==void 0&&(c$3.underline[e]=t.underline?1:0),t.blink!==void 0&&(c$3.blink[e]=t.blink?1:0),t.inverse!==void 0&&(c$3.inverse[e]=t.inverse?1:0);}function Se(e,t){c$3.fg[e]=t.fg,c$3.bg[e]=t.bg,c$3.bold[e]=t.bold?1:0,c$3.underline[e]=t.underline?1:0,c$3.blink[e]=t.blink?1:0,c$3.inverse[e]=t.inverse?1:0,c$3.transparent[e]=t.transparent?1:0;}function An(e,t){if(!da$1(e,t))return;let n=Ce(e,t);if(n.focusApplied)return;let r={},o=X.focusEffectFg[t],i=X.focusEffectBg[t];(o&4278190080)!==0&&(r.fg=o),(i&4278190080)!==0&&(r.bg=i),$(t,r),n.focusApplied=true,g$1(e,t);}function Tn(e,t){let n=S.get(t);!n||!n.focusApplied||(n.focusApplied=false,n.hoverApplied?jo(e,t,n):(Se(t,n.original),S.delete(t)),g$1(e,t));}function Ye(e){return S.get(e)?.focusApplied??false}function jo(e,t,n){if(!v$1(e,t))return;Se(t,n.original);let r={},o=c$2.hoverEffectFg[t],i=c$2.hoverEffectBg[t];(o&4278190080)!==0&&(r.fg=o),(i&4278190080)!==0&&(r.bg=i),$(t,r);}function kn(e,t){if(!v$1(e,t))return;let n=Ce(e,t);if(n.hoverApplied)return;let r={},o=c$2.hoverEffectFg[t],i=c$2.hoverEffectBg[t];(o&4278190080)!==0&&(r.fg=o),(i&4278190080)!==0&&(r.bg=i),$(t,r),n.hoverApplied=true,g$1(e,t);}function Rn(e,t){let n=S.get(t);!n||!n.hoverApplied||(n.hoverApplied=false,n.focusApplied?Qo(e,t,n):(Se(t,n.original),S.delete(t)),g$1(e,t));}function Qo(e,t,n){if(!da$1(e,t))return;Se(t,n.original);let r={},o=X.focusEffectFg[t],i=X.focusEffectBg[t];(o&4278190080)!==0&&(r.fg=o),(i&4278190080)!==0&&(r.bg=i),$(t,r);}function $e(e){return S.get(e)?.hoverApplied??false}function ei(e,t,n){Ce(e,t);let r=oe(e,t,n);$(t,r),g$1(e,t);}function Wn(e,t){let n=S.get(t);n&&(Se(t,n.original),S.delete(t),g$1(e,t));}function Ge(e,t){let n=da$1(e,t)&&_$1(e,t),r=v$1(e,t)&&i$2(e,t),o=Ye(t),i=$e(t);n&&!o?An(e,t):!n&&o&&Tn(e,t),r&&!i?kn(e,t):!r&&i&&Rn(e,t);}function Bn(e,t){return {fg:c$3.fg[t],bg:c$3.bg[t],bold:c$3.bold[t]===1,underline:c$3.underline[t]===1,blink:c$3.blink[t]===1,inverse:c$3.inverse[t]===1,transparent:c$3.transparent[t]===1,opacity:c$3.opacity[t]??1}}function ti(e,t){let n=S.get(t);return n?n.original:Bn(e,t)}var G=new Map,z=new Map;function ni(e,t,n){if(G.set(t,n),n.focus&&da$1(e,t)){let r=oe(e,t,n.focus);r.fg!==void 0&&(X.focusEffectFg[t]=r.fg),r.bg!==void 0&&(X.focusEffectBg[t]=r.bg);}if(n.hover&&v$1(e,t)){let r=oe(e,t,n.hover);r.fg!==void 0&&(c$2.hoverEffectFg[t]=r.fg),r.bg!==void 0&&(c$2.hoverEffectBg[t]=r.bg);}Ge(e,t);}function ri(e){return G.get(e)}function oi(e,t){G.delete(t),z.delete(t),Wn(e,t);}function Mn(e){let t=z.get(e);return t||(t={pressApplied:false,disabledApplied:false},z.set(e,t)),t}function ii(e,t){let n=G.get(t);if(!n?.press)return;let r=Mn(t);if(r.pressApplied)return;Ce(e,t);let o=oe(e,t,n.press);$(t,o),r.pressApplied=true,g$1(e,t);}function ai(e,t){let n=z.get(t);n?.pressApplied&&(n.pressApplied=false,Ge(e,t));}function si(e,t){let n=G.get(t);if(!n?.disabled)return;let r=Mn(t);if(r.disabledApplied)return;Ce(e,t);let o=oe(e,t,n.disabled);$(t,o),r.disabledApplied=true,g$1(e,t);}function li(e,t){let n=z.get(t);n?.disabledApplied&&(n.disabledApplied=false,Ge(e,t));}function At(e){return z.get(e)?.pressApplied??false}function Tt(e){return z.get(e)?.disabledApplied??false}function ci(e){return Ye(e)||$e(e)||At(e)||Tt(e)}function ui(e){return {focus:Ye(e),hover:$e(e),press:At(e),disabled:Tt(e)}}function fi(e){S.delete(e),G.delete(e),z.delete(e);}function di(){G.clear(),z.clear();}n();function pi(e){let{type:t,target:n,payload:r,bubbles:o=true}=e,i={type:t,target:n,currentTarget:n,bubbles:o,defaultPrevented:false,propagationStopped:false,immediatePropagationStopped:false,payload:r,stopPropagation(){i.propagationStopped=true;},stopImmediatePropagation(){i.propagationStopped=true,i.immediatePropagationStopped=true;},preventDefault(){i.defaultPrevented=true;}};return i}function yi(e,t,n){let r=0,o=t.target;for(;o!==a;){t.currentTarget=o;let i$2=n(e,o);if(i$2&&(i$2.emit(t.type,t),r++,t.immediatePropagationStopped)||t.propagationStopped||!t.bubbles||!i(e,o,b))break;o=i$1(e,o);}return {defaultPrevented:t.defaultPrevented,propagationStopped:t.propagationStopped,dispatchCount:r}}n();var On=z$1.object({dispatchCount:z$1.number().int().nonnegative(),maxDepth:z$1.number().int().nonnegative(),circularReferenceDetected:z$1.boolean()}),Ln=z$1.object({maxDepth:z$1.number().int().positive().optional(),includeRoot:z$1.boolean().optional()});function mi(e,t,n,r,o,i$1){let a$1=i$1?Ln.parse(i$1):{includeRoot:true,maxDepth:Number.POSITIVE_INFINITY},s=a$1.maxDepth??Number.POSITIVE_INFINITY,l=a$1.includeRoot??true,c=new Set,m=0,P=0,H=false;function Te(pe,Re){if(Re>s)return;if(c.has(pe)){H=true;return}if(c.add(pe),P=Math.max(P,Re),Re>0||l){let Vt=o(e,pe);Vt&&(Vt.emit(n,r),m++);}if(!i(e,pe,b))return;let We=b.firstChild[pe];for(;We!==a;)Te(We,Re+1),We=b.nextSibling[We];}Te(t,0);let ke={dispatchCount:m,maxDepth:P,circularReferenceDetected:H};return On.parse(ke)}n();var p={xi:new Float32Array(1e4),xl:new Float32Array(1e4),yi:new Float32Array(1e4),yl:new Float32Array(1e4),base:new Float32Array(1e4),valid:new Uint8Array(1e4)};function gi(e,t,n){p.xi[t]=n.xi,p.xl[t]=n.xl,p.yi[t]=n.yi,p.yl[t]=n.yl,p.base[t]=n.base,p.valid[t]=1;}function bi(e,t){if(p.valid[t]===1)return {xi:p.xi[t],xl:p.xl[t],yi:p.yi[t],yl:p.yl[t],base:p.base[t]}}function hi(e,t){return p.valid[t]===1}function Ei(e,t){p.valid[t]=0;}function xi(e,t,n){p.valid[t]=0;let r=n(e,t);for(let o of r)p.valid[o]=0;}function vi(e){p.valid.fill(0);}function Ci(e,t){return p.valid[t]!==1?0:p.xl[t]-p.xi[t]}function Si(e,t){return p.valid[t]!==1?0:p.yl[t]-p.yi[t]}function Di(e,t,n){p.valid[t]===1&&(p.base[t]=n);}function kt(e,t,n,r){if(p.valid[t]!==1)return false;let o=p.xi[t],i=p.xl[t],a=p.yi[t],s=p.yl[t];return n>=o&&n<i&&r>=a&&r<s}u();n();function Pi(e){return k$1(e,[E,v$2,c$3])}function Ii(e){return k$1(e,[X])}function ie(e){return k$1(e,[c$2])}function Ai(e){return k$1(e,[k$2])}function Ti(e){return k$1(e,[E,v$2,c$3,d])}function ki(e){return k$1(e,[E,v$2,c$3,k])}function Ri(e){return k$1(e,[E,v$2,c$3,a$3])}function wn(e){return k$1(e,[b])}function Wi(e,t){return t.filter(n=>c$3.visible[n]===1)}function Bi(e,t){return t.filter(n=>c$3.dirty[n]===1)}function Mi(e,t){return t.filter(n=>c$3.visible[n]===1&&c$3.dirty[n]===1)}function zn(e,t){let n=[],r=b.firstChild[t];for(;r!==0;)n.push(r),r=b.nextSibling[r];return n}function Oi(e,t){let n=[],r=[t];for(;r.length>0;){let o=r.pop(),i=zn(e,o);for(let a of i)n.push(a),r.push(a);}return n}function Li(e){return wn(e).filter(n=>b.parent[n]===0)}function wi(e,t){return t.filter(n=>X.focusable[n]===1)}function zi(e,t){return t.filter(n=>c$2.clickable[n]===1)}function Ni(e,t){return [...t].sort((n,r)=>{let o=X.tabIndex[n]??0,i=X.tabIndex[r]??0;return o===0&&i!==0?1:i===0&&o!==0?-1:o-i})}function Fi(e,t){return [...t].sort((n,r)=>(b.depth[n]??0)-(b.depth[r]??0))}n();var h=0,Xe=2147483647,qe=-2147483648,Nn=1e4,f={zIndex:new Int32Array(Nn),localZ:new Int32Array(Nn)};function Ki(e){f.zIndex[e]=h,f.localZ[e]=h;}function q(e,t){i(e,t,f)||(h$1(e,t,f),Ki(t));}function ae(e,t){return i(e,t,f)?f.zIndex[t]??h:h}function _i(e,t){return i(e,t,f)?f.localZ[t]??h:h}function je(e,t){return i(e,t,f)}function Ui(e,t,n){q(e,t),f.zIndex[t]=Math.max(qe,Math.min(Xe,Math.floor(n)));}function Hi(e,t,n){q(e,t),f.localZ[t]=Math.max(qe,Math.min(Xe,Math.floor(n)));}function Vi(e,t){q(e,t);let n=Qe(e,t);if(n.length===0)return;let r=f.zIndex[t]??h;for(let o of n)if(i(e,o,f)){let i=f.zIndex[o]??h;i>=r&&(r=i+1);}f.zIndex[t]=r;}function Zi(e,t){q(e,t);let n=Qe(e,t);if(n.length===0)return;let r=f.zIndex[t]??h;for(let o of n)if(i(e,o,f)){let i=f.zIndex[o]??h;i<=r&&(r=i-1);}f.zIndex[t]=r;}function Ji(e,t){q(e,t);let n=Qe(e,t),r=f.zIndex[t]??h,o=null,i$1=Xe;for(let a of n)if(i(e,a,f)){let s=f.zIndex[a]??h;s>r&&s<i$1&&(o=a,i$1=s);}return o!==null?(f.zIndex[t]=i$1,f.zIndex[o]=r,true):false}function Yi(e,t){q(e,t);let n=Qe(e,t),r=f.zIndex[t]??h,o=null,i$1=qe;for(let a of n)if(i(e,a,f)){let s=f.zIndex[a]??h;s<r&&s>i$1&&(o=a,i$1=s);}return o!==null?(f.zIndex[t]=i$1,f.zIndex[o]=r,true):false}function Fn(e,t){return [...t].sort((n,r)=>{let o=i(e,n,f)?f.zIndex[n]??h:h,i$1=i(e,r,f)?f.zIndex[r]??h:h;return o-i$1})}function Kn(e,t){let n=f$2(e,t);return Fn(e,n)}function Qe(e,t){if(!i(e,t,b))return [];let n=i$1(e,t);return n===a?[]:f$2(e,n).filter(o=>o!==t)}function $i(e,t){let n=Kn(e,t);for(let r=0;r<n.length;r++){let o=n[r];o!==void 0&&(q(e,o),f.zIndex[o]=r);}}function Gi(e){f.zIndex[e]=h,f.localZ[e]=h;}function Xi(){return {entities:[],dirty:true,lastCount:0}}function qi(e){e.dirty=true;}function ji(e){return e.dirty}function ce(e,t){if(!t.dirty)return;let r=ie(e).filter(o=>c$2.clickable[o]===1||c$2.hoverable[o]===1);r.sort((o,i)=>{let a=je(e,o)?f.zIndex[o]??0:0;return (je(e,i)?f.zIndex[i]??0:0)-a}),t.entities=r,t.lastCount=r.length,t.dirty=false;}function Qi(e,t){return ce(e,t),t.entities}function ea(e,t){return ce(e,t),t.entities.length}var Rt={useCachedPositions:true,clickableOnly:true,hoverableOnly:false,interactiveOnly:false};function se(e,t,n){return i(e,t,c$2)?n.interactiveOnly?c$2.clickable[t]===1||c$2.hoverable[t]===1:n.clickableOnly&&n.hoverableOnly?c$2.clickable[t]===1&&c$2.hoverable[t]===1:n.clickableOnly?c$2.clickable[t]===1:n.hoverableOnly?c$2.hoverable[t]===1:true:false}function le(e,t,n,r,o){return o?kt(e,t,n,r):vt(e,t,n,r)}function ta(e,t,n,r,o){let i=o.useCachedPositions??true;ce(e,t);for(let a of t.entities)if(se(e,a,o)&&le(e,a,n,r,i))return a;return null}function na(e,t,n,r){let o=r.useCachedPositions??true,i=ie(e),a=[];for(let s of i)se(e,s,r)&&le(e,s,t,n,o)&&a.push({eid:s,z:ae(e,s)});return a.length===0?null:(a.sort((s,l)=>l.z-s.z),a[0]?.eid??null)}function De(e,t,n,r,o=Rt){return r?ta(e,r,t,n,o):na(e,t,n,o)}function Wt(e,t,n,r,o=Rt){let i=o.useCachedPositions??true,a=[];if(r){ce(e,r);for(let c of r.entities)se(e,c,o)&&le(e,c,t,n,i)&&a.push(c);return a}let s=ie(e),l=[];for(let c of s)se(e,c,o)&&le(e,c,t,n,i)&&l.push({eid:c,z:ae(e,c)});return l.sort((c,m)=>m.z-c.z),l.map(c=>c.eid)}function ra(e,t,n,r,o=Rt){let i=o.useCachedPositions??true,a=[];if(r){ce(e,r);for(let l of r.entities)se(e,l,o)&&le(e,l,t,n,i)&&a.push({entity:l,zIndex:ae(e,l)});return a}let s=ie(e);for(let l of s)se(e,l,o)&&le(e,l,t,n,i)&&a.push({entity:l,zIndex:ae(e,l)});return a.sort((l,c)=>c.zIndex-l.zIndex),a}function oa(e,t,n,r){return De(e,t,n,r,{clickableOnly:true,useCachedPositions:true})!==null}function ia(e,t,n,r){return De(e,t,n,r,{hoverableOnly:true,clickableOnly:false,useCachedPositions:true})!==null}function aa(e,t,n,r){return De(e,t,n,r,{clickableOnly:true,useCachedPositions:true})}function sa(e,t,n,r){return De(e,t,n,r,{hoverableOnly:true,clickableOnly:false,useCachedPositions:true})}function la(e,t,n,r){return Wt(e,t,n,r,{clickableOnly:true,useCachedPositions:true})}function ca(e,t,n,r){return Wt(e,t,n,r,{hoverableOnly:true,clickableOnly:false,useCachedPositions:true})}var _n=z$1.object({keys:z$1.union([z$1.string(),z$1.array(z$1.string()).readonly()]),action:z$1.string().min(1),when:z$1.string().optional(),preventDefault:z$1.boolean().optional(),description:z$1.string().optional()}),ua=z$1.array(_n),fa={esc:"escape",ret:"return",cr:"return",lf:"enter",bs:"backspace",del:"delete",ins:"insert",pgup:"pageup",pgdn:"pagedown",pgdown:"pagedown",arrow_up:"up",arrow_down:"down",arrow_left:"left",arrow_right:"right"},da={control:"ctrl",cmd:"meta",command:"meta",option:"meta",alt:"meta",win:"meta",super:"meta"};function pa(e,t){t==="ctrl"?e.ctrl=true:t==="meta"?e.meta=true:t==="shift"&&(e.shift=true);}function ya(e,t,n){if(t){let r=ma(e);if(!r)return false;n.name=r;}else {let r=ga(e);if(!r)return false;pa(n,r);}return true}function Mt(e){if(!e)return null;let t=e.toLowerCase().split("+").map(r=>r.trim());if(t.length===0)return null;let n={name:"undefined",ctrl:false,meta:false,shift:false};for(let r=0;r<t.length;r++){let o=t[r];if(o&&!ya(o,r===t.length-1,n))return null}return n.name==="undefined"?null:n}function ma(e){let t=e.toLowerCase(),n=fa[t];return n||(t.length===1||/^f(1[0-2]|[1-9])$/.test(t)||new Set(["up","down","left","right","home","end","pageup","pagedown","insert","delete","clear","return","enter","tab","backspace","escape","space"]).has(t)?t:null)}function ga(e){let t=e.toLowerCase();return t==="ctrl"||t==="meta"||t==="shift"?t:da[t]??null}function Ot(e){let t=[];return e.ctrl&&t.push("ctrl"),e.meta&&t.push("meta"),e.shift&&t.push("shift"),t.push(e.name),t.join("+")}function Un(e){let t=[];return e.ctrl&&t.push("ctrl"),e.meta&&t.push("meta"),e.shift&&t.push("shift"),t.push(e.name),t.join("+")}function ba(){return {bindings:new Map,keyIndex:new Map}}function Hn(e,t){let n=new Map(e.bindings),r=new Map;for(let[i,a]of e.keyIndex)r.set(i,[...a]);n.set(t.action,t);let o=Array.isArray(t.keys)?t.keys:[t.keys];for(let i of o){let a=Mt(i);if(!a)continue;let s=Ot(a),l=r.get(s)??[];r.set(s,[...l,t]);}return {bindings:n,keyIndex:r}}function ha(e,t){return t.reduce((n,r)=>Hn(n,r),e)}function Ea(e,t){if(!e.bindings.get(t))return e;let r=new Map(e.bindings),o=new Map;for(let[i,a]of e.keyIndex){let s=a.filter(l=>l.action!==t);s.length>0&&o.set(i,s);}return r.delete(t),{bindings:r,keyIndex:o}}function xa(e,t){return e.bindings.get(t)}function va(e,t){let n=Ot(t);return e.keyIndex.get(n)??[]}function Ca(e,t){let n=Array.isArray(e.keys)?e.keys:[e.keys];for(let r of n){let o=Mt(r);if(o&&o.name===t.name&&o.ctrl===t.ctrl&&o.meta===t.meta&&o.shift===t.shift)return true}return false}function Vn(e,t){if(!e)return true;let n=e.split("&&").map(r=>r.trim());for(let r of n)if(!Zn(r,t))return false;return true}function Zn(e,t){let n=e.trim();if(n.startsWith("!"))return !Zn(n.slice(1),t);if(n.includes("==")){let o=n.split("==").map(c=>c.trim()),i=o[0],a=o[1];if(!i||!a)return false;let s=Bt(i,t),l=a.replace(/^['"]|['"]$/g,"");return String(s)===l}if(n.includes("!=")){let o=n.split("!=").map(c=>c.trim()),i=o[0],a=o[1];if(!i||!a)return false;let s=Bt(i,t),l=a.replace(/^['"]|['"]$/g,"");return String(s)!==l}return !!Bt(n,t)}function Bt(e,t){let n=e.trim();return t[n]}function Sa(e,t,n={}){let r=Un(t),o=e.keyIndex.get(r)??[],i=[];for(let a of o)a.when&&!Vn(a.when,n)||i.push({binding:a,action:a.action,preventDefault:a.preventDefault??true});return i}function Da(e){return Ot(e)}function Pa(e){return Un(e)}function Ia(e){return [...e.bindings.values()]}var Aa=[{keys:["ctrl+c"],action:"copy",description:"Copy selection"},{keys:["ctrl+v"],action:"paste",description:"Paste clipboard"},{keys:["ctrl+x"],action:"cut",description:"Cut selection"},{keys:["ctrl+z"],action:"undo",description:"Undo"},{keys:["ctrl+shift+z","ctrl+y"],action:"redo",description:"Redo"},{keys:["ctrl+a"],action:"selectAll",description:"Select all"},{keys:["backspace"],action:"deleteBack",description:"Delete backwards"},{keys:["delete"],action:"deleteForward",description:"Delete forwards"},{keys:["home"],action:"moveToLineStart",description:"Move to line start"},{keys:["end"],action:"moveToLineEnd",description:"Move to line end"},{keys:["ctrl+home"],action:"moveToStart",description:"Move to document start"},{keys:["ctrl+end"],action:"moveToEnd",description:"Move to document end"}],Ta=[{keys:["tab"],action:"focusNext",description:"Focus next element"},{keys:["shift+tab"],action:"focusPrev",description:"Focus previous element"},{keys:["escape"],action:"cancel",description:"Cancel/close"},{keys:["enter","return"],action:"confirm",description:"Confirm/submit"},{keys:["up"],action:"moveUp",description:"Move up"},{keys:["down"],action:"moveDown",description:"Move down"},{keys:["left"],action:"moveLeft",description:"Move left"},{keys:["right"],action:"moveRight",description:"Move right"},{keys:["pageup"],action:"pageUp",description:"Page up"},{keys:["pagedown"],action:"pageDown",description:"Page down"}];var Jn={CRITICAL:0,HIGH:1,NORMAL:2,LOW:3};function ka(e){let t,n=false;return {get(){return n||(t=e(),n=true),t},isInitialized(){return n},reset(){t=void 0,n=false;}}}var j=[],ue=null,et=null;function Ra(e,t,n){j.find(o=>o.name===e)||j.push({name:e,priority:t,initFn:n,initialized:false,initTimeMs:null});}function Yn(e){let t=j.find(o=>o.name===e);if(!t||t.initialized)return null;ue===null&&(ue=performance.now());let n=performance.now();t.initFn();let r=performance.now()-n;return t.initialized=true,t.initTimeMs=r,et===null&&(et=performance.now()-ue),r}function Wa(e=Jn.LOW){ue===null&&(ue=performance.now());let t=0,n=[...j].filter(r=>!r.initialized&&r.priority<=e).sort((r,o)=>r.priority-o.priority);for(let r of n){let o=Yn(r.name);o!==null&&(t+=o);}return t}function Ba(){return {totalMs:j.filter(n=>n.initialized).reduce((n,r)=>n+(r.initTimeMs??0),0),subsystems:j.map(n=>({name:n.name,priority:n.priority,initTimeMs:n.initTimeMs??0,lazy:!n.initialized})),timeToFirstInit:et??0}}function Ma(e){let t=[],n=["CRITICAL","HIGH","NORMAL","LOW"];t.push("Startup Report"),t.push("\u2550".repeat(40)),t.push(`Total init time: ${e.totalMs.toFixed(1)}ms`),t.push(`Time to first init: ${e.timeToFirstInit.toFixed(1)}ms`),t.push("");for(let r of e.subsystems){let o=r.lazy?"(lazy)":`${r.initTimeMs.toFixed(1)}ms`,i=n[r.priority]??"UNKNOWN";t.push(` [${i}] ${r.name}: ${o}`);}return t.join(`
|
|
2
|
+
`)}function Oa(){j.length=0,ue=null,et=null;}function La(e=6e4){let t=Lt.value;if(t&&Date.now()-t.cachedAt<e)return t;let n=process.env,r=n.TERM??"",o=n.COLORTERM??"",i=o==="truecolor"||o==="24bit"||r.includes("24bit")||r.includes("truecolor"),a=i||r.includes("256color")||o==="256color",s=(n.LANG??"").includes("UTF-8")||(n.LC_ALL??"").includes("UTF-8"),l={term:r,trueColor:i,color256:a,unicode:s,width:process.stdout.columns??80,height:process.stdout.rows??24,cachedAt:Date.now()};return Lt.value=l,l}var Lt={value:null};function wa(){Lt.value=null;}var Gn={0:"INPUT",1:"EARLY_UPDATE",2:"UPDATE",3:"LATE_UPDATE",4:"PHYSICS",5:"LAYOUT",6:"RENDER",7:"POST_RENDER"};function za(e){return typeof e=="number"&&e>=0&&e<=7}function $n(e){for(let t=0;t<=7;t++)e.set(t,{id:t,name:Gn[t]??`PHASE_${t}`,order:t*1e3,isBuiltin:true});}function Xn(){let e=new Map,t=0,n=true,r=[];$n(e);function o(a){let s=Number.MAX_SAFE_INTEGER;for(let l of e.values())l.order>a&&l.order<s&&(s=l.order);return s===Number.MAX_SAFE_INTEGER&&(s=a+1e3),s}function i(){let a=Array.from(e.values());a.sort((s,l)=>s.order-l.order),r=a.map(s=>s.id),n=false;}return {registerPhase(a,s){let l=e.get(s);if(!l)throw new Error(`Cannot register phase after unknown phase: ${String(s)}`);let c=`custom_${a}_${++t}`,m=l.order,P=o(m),H=m+(P-m)/2;return e.set(c,{id:c,name:a,order:H,isBuiltin:false}),n=true,c},unregisterPhase(a){let s=e.get(a);if(!s)return false;if(s.isBuiltin)throw new Error(`Cannot remove built-in phase: ${s.name}`);return e.delete(a),n=true,true},getPhaseOrder(){return n&&i(),r},getPhaseName(a){return e.get(a)?.name},hasPhase(a){return e.has(a)},isBuiltin(a){return e.get(a)?.isBuiltin??false},getPhaseCount(){return e.size},getCustomPhaseCount(){let a=0;for(let s of e.values())s.isBuiltin||a++;return a},getCustomPhases(){let a=[];for(let s of e.values())!s.isBuiltin&&typeof s.id=="string"&&a.push(s.id);return a},clearCustomPhases(){for(let[a,s]of e)s.isBuiltin||e.delete(a);t=0,n=true;},reset(){e.clear(),t=0,$n(e),n=true;}}}var Na=Xn();var Fa=z$1.union([z$1.number(),z$1.string().refine(e=>!!(["center","half","left","right","top","bottom"].includes(e)||/^\d+(\.\d+)?%$/.test(e)||/^(\d+(\.\d+)?%?)([-+]\d+(\.\d+)?)?$/.test(e)),{message:'Position must be a number, percentage (e.g. "50%"), expression (e.g. "50%-5"), or keyword (center, half)'})]),qn={center:"center",half:"half",left:"start",right:"end",top:"start",bottom:"end"};function Ka(e){let t=e.match(/^(\d+(?:\.\d+)?)(%?)(([+-])(\d+(?:\.\d+)?))?$/);if(!t)return null;let n=Number.parseFloat(t[1]),r=t[2]==="%",o=0;if(t[3]){let i=t[4],a=Number.parseFloat(t[5]);o=i==="-"?-a:a;}return {base:n,isPercent:r,offset:o}}function tt(e,t,n=0){if(typeof e=="number")return Math.floor(e)||0;let r=qn[e];if(r)switch(r){case "center":return Math.floor((t-n)/2);case "half":return Math.floor(t/2);case "start":return 0;case "end":return t-n}let o=Ka(e);if(!o)return 0;let i;return o.isPercent?i=o.base/100*t:i=o.base,i+=o.offset,Math.floor(i)}function _a(e,t,n=0){if(typeof e=="number"&&e<0)return t+e-n;if(typeof e=="string"&&e.startsWith("-")){let r=e.match(/^-(\d+(?:\.\d+)?)$/);if(r){let o=Number.parseFloat(r[1]);return t-o-n}}return tt(e,t,n)}function zt(e,t,n=0){let r=t-n;return e<0?0:e>r?Math.max(0,r):e}function Ua(e){return typeof e=="number"?false:e.includes("%")}function Ha(e){return typeof e=="number"?false:e in qn}function Va(){return "center"}function Za(e){return `${e}%`}function Ja(e,t){return t>=0?`${e}%+${t}`:`${e}%${t}`}function jn(e,t,n,r,o=0,i=0){return {x:tt(e,n,o),y:tt(t,r,i)}}function Ya(e,t,n,r,o=0,i=0){let a=jn(e,t,n,r,o,i);return {x:zt(a.x,n,o),y:zt(a.y,r,i)}}function Nt(e,t,n,r,o){e.transition={transition:o,elapsed:0,fromScene:n,toScene:r},o.onStart?.(t);}function $a(e,t){e.transition&&(e.transition.transition.onComplete?.(t),e.transition=null);}function Ft(e,t){e.created||(e.scene.onCreate?.(t),e.created=true);}function nt(e,t){Ft(e,t),e.scene.onEnter?.(t);}function _(e,t){e.onExit?.(t);}function Ga(e,t,n){for(let r=e.stack.length-1;r>=0;r--){let o=e.stack[r];o&&_(o,t);}e.stack=[n.scene],nt(n,t);}function Xa(e,t,n){let r=e.stack[e.stack.length-1];r&&_(r,t),e.stack.push(n.scene),nt(n,t);}function qa(e,t){if(e.stack.length<=0)return false;let n=e.stack[e.stack.length-1];n&&_(n,t),e.stack.pop();let r=e.stack[e.stack.length-1];if(r){let o=e.registry.get(r.name);o&&nt(o,t);}return true}function ja(){let e={registry:new Map,stack:[],transition:null};return {registerScene(t){return e.registry.has(t.name)?false:(e.registry.set(t.name,{scene:t,created:false}),true)},unregisterScene(t,n){let r=e.registry.get(n);if(!r)return false;let o=e.stack.indexOf(r.scene);return o!==-1&&(_(r.scene,t),e.stack.splice(o,1)),r.created&&r.scene.onDestroy?.(t),e.registry.delete(n),true},switchTo(t,n,r){let o=e.registry.get(n);if(!o)return false;if(r){let i=e.stack[e.stack.length-1]??null;for(let a=e.stack.length-1;a>=0;a--){let s=e.stack[a];s&&_(s,t);}e.stack=[o.scene],Ft(o,t),Nt(e,t,i,o.scene,r);}else Ga(e,t,o);return true},push(t,n,r){let o=e.registry.get(n);if(!o)return false;if(r){let i=e.stack[e.stack.length-1]??null;i&&_(i,t),e.stack.push(o.scene),Ft(o,t),Nt(e,t,i,o.scene,r);}else Xa(e,t,o);return true},pop(t,n){if(e.stack.length<=0)return false;if(n){let r=e.stack[e.stack.length-1]??null;r&&_(r,t),e.stack.pop();let o=e.stack[e.stack.length-1]??null;return o?Nt(e,t,r,o,n):e.transition=null,true}return qa(e,t)},getCurrentScene(){return e.stack[e.stack.length-1]??null},getSceneStack(){return [...e.stack]},getRegisteredScenes(){return Array.from(e.registry.keys())},isTransitioning(){return e.transition!==null},getTransitionState(){return e.transition},updateTransition(t,n){if(!e.transition)return;e.transition.elapsed+=n;let r=Math.min(1,e.transition.elapsed/e.transition.transition.duration);if(e.transition.transition.onUpdate?.(t,r),r>=1){let o=e.transition.toScene;$a(e,t);let i=e.registry.get(o.name);i&&nt(i,t);}},reset(t){e.transition=null;for(let n=e.stack.length-1;n>=0;n--){let r=e.stack[n];r&&_(r,t);}for(let n of e.registry.values())n.created&&n.scene.onDestroy?.(t);e.registry.clear(),e.stack=[];}}}function Qa(e,t){return {duration:e,onUpdate:t}}function es(e,t,n){return {duration:e,onUpdate(r,o){n?.(r,o,t);}}}function ts(e,t){return n=>{let r=t();return e.isTransitioning()&&e.updateTransition(n,r),e.isTransitioning()||e.getCurrentScene()?.onUpdate?.(n,r),n}}n();c();var U=new Map;function ns(e){U.set(e.name,e);}function rs(e){return U.delete(e)}function os(e){return U.get(e)}function is(){return Array.from(U.keys())}function as(){U.clear();}function Qn(e){return e instanceof Float32Array||e instanceof Float64Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array}function ss(e,t){let n={};for(let[o,i]of Object.entries(e.store))Qn(i)&&(n[o]=i[t]);let r={fields:n};return e.serialize&&(r.custom=e.serialize(t)),r}function er(e,t){let n=g$2(e),r=t?.entityFilter?n.filter(a=>t.entityFilter.includes(a)):n,o=fs(t?.componentFilter),i$1=[];for(let a of r){let s={},l=false;for(let c of o)i(e,a,c.store)&&(s[c.name]=ss(c,a),l=true);l&&i$1.push({id:a,components:s});}return {version:1,timestamp:Date.now(),entities:i$1,metadata:t?.metadata}}function ls(e,t){return JSON.stringify(er(e,t))}function cs(e,t,n){for(let[r,o]of Object.entries(n.fields)){let i=e.store[r];Qn(i)&&(i[t]=o);}e.deserialize&&n.custom!==void 0&&e.deserialize(t,n.custom);}function tr(e,t,n){let r=t;if(n?.createNew)r=a$4();else if(n?.clearWorld){let a=g$2(r);for(let s of a)e$2(r,s);}let o=new Map,i=0;for(let a of e.entities){let s=d$1(r);o.set(a.id,s);for(let[l,c]of Object.entries(a.components)){let m=U.get(l);m&&(h$1(r,s,m.store),cs(m,s,c),i++);}}return {world:r,entityMap:o,entityCount:o.size,componentCount:i}}function us(e,t,n){let r=JSON.parse(e);return tr(r,t,n)}function fs(e){if(!e)return Array.from(U.values());let t=[];for(let n of e){let r=U.get(n);r&&t.push(r);}return t}function ds(e){return JSON.parse(JSON.stringify(e))}var ps=1;u();function rr(e,t){return o(e,t)?{h:2,v:2}:{h:0,v:0}}function rt(e,t){let n=rr(e,t),r=f$5(e,t)?g$4(e,t):0;return n.h+r}function nr(e,t){let n=rr(e,t),r=f$5(e,t)?h$2(e,t):0;return n.v+r}function or(e,t){if(!l$1(e,t))return rt(e,t);let n=f$3(e,t);if(!n)return rt(e,t);let r=n.split(`
|
|
3
|
+
`),o=0;for(let i of r){let a=b$1(i);a>o&&(o=a);}return o+rt(e,t)}function ir(e,t,n){if(!l$1(e,t))return nr(e,t);let r=f$3(e,t),o=rt(e,t),i=n?n-o:void 0,a;return i&&i>0?a=f$4(r,{width:i,wrap:true}).length:a=r.split(`
|
|
4
|
+
`).length,a+nr(e,t)}function Kt(e,t){let n=or(e,t),r=ir(e,t,n);return {width:n,height:r}}function ys(e,t){if(!A(e,t)||!B(e,t))return false;let n=Kt(e,t),r=v$2.minWidth[t],o=v$2.minHeight[t],i=v$2.maxWidth[t],a=v$2.maxHeight[t],s=Math.min(Math.max(n.width,r),i),l=Math.min(Math.max(n.height,o),a);return v$2.width[t]=s,v$2.height[t]=l,true}function ms(e,t){if(!B(e,t))return;let n=Kt(e,t),r=v$2.minWidth[t],o=v$2.minHeight[t],i=v$2.maxWidth[t],a=v$2.maxHeight[t];return {width:Math.min(Math.max(n.width,r),i),height:Math.min(Math.max(n.height,o),a)}}var sr=["fg","bold","underline","blink","inverse"],gs=["bg","transparent"],de=new Map,Pe=0;function bs(){return Pe}function hs(e){de.delete(e);}function Es(){Pe++,de.clear();}function xs(){de.clear();}function vs(e){let t=de.get(e);return t!==void 0&&t.timestamp===Pe}function fe(e,t){return l$2(e,t)?{fg:c$3.fg[t],bg:c$3.bg[t],bold:c$3.bold[t]===1,underline:c$3.underline[t]===1,blink:c$3.blink[t]===1,inverse:c$3.inverse[t]===1,transparent:c$3.transparent[t]===1,opacity:c$3.opacity[t]??1}:Ht()}function Ht(){return {fg:a$5,bg:0,bold:false,underline:false,blink:false,inverse:false,transparent:false,opacity:1}}function Ut(e,t){return {fg:t.fg!==a$5?t.fg:e.fg,bold:t.bold||e.bold,underline:t.underline||e.underline,blink:t.blink||e.blink,inverse:t.inverse||e.inverse,bg:t.bg,transparent:t.transparent,opacity:t.opacity}}function Cs(e){return e===a$5||e===0}function Ie(e,t){let n=de.get(t);if(n!==void 0&&n.timestamp===Pe)return n.style;let r=fe(e,t);if(!k$3(e,t))return _t(t,r),r;let o=g$3(e,t);if(o.length===0)return _t(t,r),r;let i=Ss(e,o,r);return _t(t,i),i}function Ss(e,t,n){let r=fe(e,t[t.length-1]);for(let o=t.length-2;o>=0;o--){let i=fe(e,t[o]);r=Ut(r,i);}return Ut(r,n)}function _t(e,t){de.set(e,{style:t,timestamp:Pe});}function Ds(e,t){return Ie(e,t)}function Ps(e){return sr.includes(e)}function Is(e,t,n){return Ie(e,t)[n]}function As(e,t,n){let r=fe(e,t);if(ar(r,n))return t;if(!k$3(e,t))return 0;let o=g$3(e,t);for(let i of o){let a=fe(e,i);if(ar(a,n))return i}return 0}function ar(e,t){let n=Ht();switch(t){case "fg":return e.fg!==n.fg;case "bg":return e.bg!==n.bg;case "bold":return e.bold!==n.bold;case "underline":return e.underline!==n.underline;case "blink":return e.blink!==n.blink;case "inverse":return e.inverse!==n.inverse;case "transparent":return e.transparent!==n.transparent;default:return false}}function Ts(e,t){for(let n of t)Ie(e,n);}function ks(e,t){let n=new Map;for(let r of t)n.set(r,Ie(e,r));return n}var N={TERMINAL_TOO_SMALL:"terminal-too-small",UNSUPPORTED_CAPABILITY:"unsupported-capability",DEPRECATED_API:"deprecated-api",PERFORMANCE_ISSUE:"performance-issue"},lr=z$1.object({width:z$1.number().int().nonnegative(),height:z$1.number().int().nonnegative(),minWidth:z$1.number().int().positive(),minHeight:z$1.number().int().positive()}),cr=z$1.object({capability:z$1.string(),fallback:z$1.string().optional()}),ur=z$1.object({api:z$1.string(),replacement:z$1.string(),since:z$1.string()}),fr=z$1.object({metric:z$1.string(),value:z$1.number(),threshold:z$1.number(),frameTime:z$1.number().optional()}),Ae=z$1.object({type:z$1.enum([N.TERMINAL_TOO_SMALL,N.UNSUPPORTED_CAPABILITY,N.DEPRECATED_API,N.PERFORMANCE_ISSUE]),message:z$1.string(),metadata:z$1.union([lr,cr,ur,fr]),timestamp:z$1.number()});function Rs(){return l()}function Ws(e,t,n,r,o){let i={width:t,height:n,minWidth:r,minHeight:o},a={type:N.TERMINAL_TOO_SMALL,message:`Terminal size (${t}x${n}) is smaller than recommended (${r}x${o})`,metadata:i,timestamp:Date.now()};e.emit("warning",Ae.parse(a));}function Bs(e,t,n){let r={capability:t,fallback:n},o={type:N.UNSUPPORTED_CAPABILITY,message:`Terminal capability '${t}' is not supported${n?`. ${n}`:""}`,metadata:r,timestamp:Date.now()};e.emit("warning",Ae.parse(o));}function Ms(e,t,n,r){let o={api:t,replacement:n,since:r},i={type:N.DEPRECATED_API,message:`API '${t}' is deprecated since ${r}. Use '${n}' instead.`,metadata:o,timestamp:Date.now()};e.emit("warning",Ae.parse(i));}function Os(e,t,n,r,o){let i={metric:t,value:n,threshold:r,frameTime:o},a={type:N.PERFORMANCE_ISSUE,message:`Performance issue: ${t} (${n.toFixed(2)}) exceeds threshold (${r.toFixed(2)})`,metadata:i,timestamp:Date.now()};e.emit("warning",Ae.parse(a));}c();export{Gr as $,Jo as $a,Wi as $b,Da as $c,Es as $d,Pr as A,Do as Aa,ui as Ab,Xi as Ac,Ja as Ad,Ir as B,Po as Ba,fi as Bb,qi as Bc,jn as Bd,Ar as C,Io as Ca,di as Cb,ji as Cc,Ya as Cd,Tr as D,L as Da,pi as Db,ce as Dc,ja as Dd,kr as E,St as Ea,yi as Eb,Qi as Ec,Qa as Ed,Rr as F,Ao as Fa,On as Fb,ea as Fc,es as Fd,K as G,To as Ga,Ln as Gb,De as Gc,ts as Gd,g as H,ko as Ha,mi as Hb,Wt as Hc,ns as Hd,Br as I,Ro as Ia,p as Ib,ra as Ic,rs as Id,Mr as J,Wo as Ja,gi as Jb,oa as Jc,os as Jd,Ne as K,Bo as Ka,bi as Kb,ia as Kc,is as Kd,Or as L,Dt as La,hi as Lb,aa as Lc,as as Ld,Lr as M,Mo as Ma,Ei as Mb,sa as Mc,er as Md,ve as N,Oo as Na,xi as Nb,la as Nc,ls as Nd,wr as O,Lo as Oa,vi as Ob,ca as Oc,tr as Od,zr as P,wo as Pa,Ci as Pb,_n as Pc,us as Pd,Nr as Q,zo as Qa,Si as Qb,ua as Qc,ds as Qd,Fe as R,No as Ra,Di as Rb,Mt as Rc,ps as Rd,Fr as S,Fo as Sa,kt as Sb,ba as Sc,or as Sd,Kr as T,Pn as Ta,Pi as Tb,Hn as Tc,ir as Td,_r as U,In as Ua,Ii as Ub,ha as Uc,Kt as Ud,Hr as V,Ko as Va,ie as Vb,Ea as Vc,ys as Vd,Vr as W,_o as Wa,Ai as Wb,xa as Wc,ms as Wd,Zr as X,Uo as Xa,Ti as Xb,va as Xc,sr as Xd,Jr as Y,Ho as Ya,ki as Yb,Ca as Yc,gs as Yd,Yr as Z,Vo as Za,Ri as Zb,Vn as Zc,bs as Zd,$r as _,Zo as _a,wn as _b,Sa as _c,hs as _d,ln as a,Ke as aa,oe as ab,Bi as ac,Pa as ad,xs as ae,cn as b,xn as ba,$o as bb,Mi as bc,Ia as bd,vs as be,un as c,xt as ca,Go as cb,zn as cc,Aa as cd,fe as ce,fn as d,_e as da,Xo as db,Oi as dc,Ta as dd,Ht as de,dr as e,vn as ea,qo as eb,Li as ec,Jn as ed,Ut as ee,pr as f,qr as fa,An as fb,wi as fc,ka as fd,Cs as fe,dn as g,jr as ga,Tn as gb,zi as gc,Ra as gd,Ie as ge,dt as h,Qr as ha,Ye as hb,Ni as hc,Yn as hd,Ds as he,pn as i,vt as ia,kn as ib,Fi as ic,Wa as id,Ps as ie,mr as j,eo as ja,Rn as jb,h as jc,Ba as jd,Is as je,gr as k,Sn as ka,$e as kb,Xe as kc,Ma as kd,As as ke,pt as l,to as la,ei as lb,qe as lc,Oa as ld,Ts as le,yn as m,no as ma,Wn as mb,f as mc,La as md,ks as me,mn as n,ro as na,Ge as nb,ae as nc,wa as nd,N as ne,gn as o,Ue as oa,Bn as ob,_i as oc,Gn as od,lr as oe,br as p,Dn as pa,ti as pb,je as pc,za as pd,cr as pe,hr as q,oo as qa,ni as qb,Ui as qc,Xn as qd,ur as qe,Er as r,io as ra,ri as rb,Hi as rc,Na as rd,fr as re,yt as s,ao as sa,oi as sb,Vi as sc,Fa as sd,Ae as se,mt as t,Ve as ta,ii as tb,Zi as tc,tt as td,Rs as te,O as u,ho as ua,ai as ub,Ji as uc,_a as ud,Ws as ue,xr as v,Eo as va,si as vb,Yi as vc,zt as vd,Bs as ve,gt as w,xo as wa,li as wb,Fn as wc,Ua as wd,Ms as we,bt as x,vo as xa,At as xb,Kn as xc,Ha as xd,Os as xe,vr as y,Co as ya,Tt as yb,$i as yc,Va as yd,Dr as z,So as za,ci as zb,Gi as zc,Za as zd};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {r as r$1,w as w$1}from'./chunk-W5OU7Z6J.js';import {l}from'./chunk-Z4EZERNE.js';import {n,i as i$1,h as h$1,j as j$1}from'./chunk-PXXGH3BV.js';n();var T=1e4,H=1,h={sheets:new Map,nameToId:new Map};function pn(){h.sheets.clear(),h.nameToId.clear(),H=1;}function xn(t){let n=H++,e=t.frames[0],o=t.height??e?.length??0,m=t.width??e?.[0]?.length??0,s={id:n,name:t.name,frames:t.frames,width:m,height:o};return h.sheets.set(n,s),h.nameToId.set(t.name,n),n}function B(t){return h.sheets.get(t)}function bn(t){let n=h.nameToId.get(t);if(n!==void 0)return h.sheets.get(n)}function q(t){return h.nameToId.get(t)}function dn(t){let n=h.sheets.get(t);return n?(h.nameToId.delete(n.name),h.sheets.delete(t),true):false}var f={frameIndex:new Uint16Array(T),frameCount:new Uint16Array(T),frameWidth:new Uint8Array(T),frameHeight:new Uint8Array(T),spriteSheetId:new Uint32Array(T)};function K(t,n,e,o=0){let m=B(e);if(m)return i$1(t,n,f)||h$1(t,n,f),f.spriteSheetId[n]=e,f.frameCount[n]=m.frames.length,f.frameWidth[n]=m.width,f.frameHeight[n]=m.height,f.frameIndex[n]=Math.min(o,m.frames.length-1),n}function hn(t,n,e,o=0){let m=q(e);if(m!==void 0)return K(t,n,m,o)}function En(t,n){if(i$1(t,n,f))return {frameIndex:f.frameIndex[n],frameCount:f.frameCount[n],frameWidth:f.frameWidth[n],frameHeight:f.frameHeight[n],spriteSheetId:f.spriteSheetId[n]}}function An(t,n){if(!i$1(t,n,f))return;let e=f.spriteSheetId[n],o=B(e);if(!o)return;let m=f.frameIndex[n];return o.frames[m]}function O(t,n,e){if(!i$1(t,n,f))return n;let o=f.frameCount[n],m=Math.max(0,Math.min(e,o-1));return f.frameIndex[n]=m,n}function gn(t,n){if(!i$1(t,n,f))return n;let e=f.frameCount[n],o=f.frameIndex[n];return f.frameIndex[n]=(o+1)%e,n}function In(t,n){if(!i$1(t,n,f))return n;let e=f.frameCount[n],o=f.frameIndex[n];return f.frameIndex[n]=o===0?e-1:o-1,n}function Sn(t,n){return i$1(t,n,f)}function Cn(t,n){if(!i$1(t,n,f))return;let e=f.spriteSheetId[n];return B(e)}function Wn(t,n){return i$1(t,n,f)&&(f.spriteSheetId[n]=0,f.frameIndex[n]=0,f.frameCount[n]=0,f.frameWidth[n]=0,f.frameHeight[n]=0),n}n();var W=1e4,N=1,E={animations:new Map,nameToId:new Map};function Xn(){E.animations.clear(),E.nameToId.clear(),N=1;}function Yn(t){l.parse(t);let n=N++,e=t.frames.reduce((m,s)=>m+s.duration,0),o={id:n,name:t.name,frames:t.frames,totalDuration:e};return E.animations.set(n,o),E.nameToId.set(t.name,n),n}function R(t){return E.animations.get(t)}function vn(t){let n=E.nameToId.get(t);if(n!==void 0)return E.animations.get(n)}function $(t){return E.nameToId.get(t)}function Bn(t){let n=E.animations.get(t);return n?(E.nameToId.delete(n.name),E.animations.delete(t),true):false}var j=(e=>(e[e.FORWARD=1]="FORWARD",e[e.REVERSE=-1]="REVERSE",e))(j||{}),r={animationId:new Uint32Array(W),playing:new Uint8Array(W),loop:new Uint8Array(W),speed:new Float32Array(W),elapsed:new Float32Array(W),currentFrameIndex:new Uint16Array(W),direction:new Int8Array(W)};function z(t){r.animationId[t]=0,r.playing[t]=0,r.loop[t]=1,r.speed[t]=1,r.elapsed[t]=0,r.currentFrameIndex[t]=0,r.direction[t]=1;}function G(t,n,e,o={}){let m=R(e);if(!m||m.frames.length===0)return;i$1(t,n,r)||(h$1(t,n,r),z(n));let{loop:s=true,speed:p=1,direction:l=1,startFrame:b}=o,y=b;y===void 0&&(y=l===1?0:m.frames.length-1),y=Math.max(0,Math.min(y,m.frames.length-1)),r.animationId[n]=e,r.playing[n]=1,r.loop[n]=s?1:0,r.speed[n]=p,r.elapsed[n]=0,r.currentFrameIndex[n]=y,r.direction[n]=l;let d=m.frames[y];return d&&i$1(t,n,f)&&O(t,n,d.frameIndex),n}function On(t,n,e,o={}){let m=$(e);if(m!==void 0)return G(t,n,m,o)}function Rn(t,n){return i$1(t,n,r)&&(r.playing[n]=0,r.elapsed[n]=0,r.currentFrameIndex[n]=0),n}function Mn(t,n){return i$1(t,n,r)&&(r.playing[n]=0),n}function Un(t,n){return i$1(t,n,r)&&(r.playing[n]=1),n}function Ln(t,n){if(i$1(t,n,r))return {animationId:r.animationId[n],playing:r.playing[n]===1,loop:r.loop[n]===1,speed:r.speed[n],elapsed:r.elapsed[n],currentFrameIndex:r.currentFrameIndex[n],direction:r.direction[n]}}function Pn(t,n){return i$1(t,n,r)?r.playing[n]===1:false}function Vn(t,n){return i$1(t,n,r)}function kn(t,n,e){return i$1(t,n,r)&&(r.speed[n]=e),n}function Hn(t,n,e){return i$1(t,n,r)&&(r.loop[n]=e?1:0),n}function Nn(t,n,e){return i$1(t,n,r)&&(r.direction[n]=e),n}function _n(t,n){if(!i$1(t,n,r))return;let e=r.animationId[n];return R(e)}function qn(t,n){return i$1(t,n,r)&&(r.animationId[n]=0,r.playing[n]=0,r.loop[n]=1,r.speed[n]=1,r.elapsed[n]=0,r.currentFrameIndex[n]=0,r.direction[n]=1),n}function J(t,n,e,o){return n>=e?o?(r.currentFrameIndex[t]=0,false):(r.playing[t]=0,r.currentFrameIndex[t]=e-1,true):(r.currentFrameIndex[t]=n,false)}function Q(t,n,e,o){return n<0?o?(r.currentFrameIndex[t]=e-1,false):(r.playing[t]=0,r.currentFrameIndex[t]=0,true):(r.currentFrameIndex[t]=n,false)}function Z(t,n,e){let o=r.currentFrameIndex[n],m=e[o];m&&i$1(t,n,f)&&O(t,n,m.frameIndex);}function Kn(t,n,e){if(!i$1(t,n,r)||r.playing[n]!==1)return false;let o=r.animationId[n],m=R(o);if(!m||m.frames.length===0)return false;let s=r.speed[n],p=r.direction[n],l=r.loop[n]===1,b=r.elapsed[n]+e*s;r.elapsed[n]=b;let y=r.currentFrameIndex[n],d=m.frames[y];if(!d||b<d.duration)return false;r.elapsed[n]=b-d.duration;let I=y+p,A=p===1?J(n,I,m.frames.length,l):Q(n,I,m.frames.length,l);return A||Z(t,n,m.frames),A}n();var g=1e4,nn=(e=>(e[e.BOX=0]="BOX",e[e.CIRCLE=1]="CIRCLE",e))(nn||{}),i={type:new Uint8Array(g),width:new Float32Array(g),height:new Float32Array(g),offsetX:new Float32Array(g),offsetY:new Float32Array(g),layer:new Uint16Array(g),mask:new Uint16Array(g),isTrigger:new Uint8Array(g)},tn=1,en=65535;function v(t){i.type[t]=0,i.width[t]=1,i.height[t]=1,i.offsetX[t]=0,i.offsetY[t]=0,i.layer[t]=tn,i.mask[t]=en,i.isTrigger[t]=0;}function zn(t,n,e={}){return i$1(t,n,i)||(h$1(t,n,i),v(n)),e.type!==void 0&&(i.type[n]=e.type),e.width!==void 0&&(i.width[n]=e.width),e.height!==void 0&&(i.height[n]=e.height),e.offsetX!==void 0&&(i.offsetX[n]=e.offsetX),e.offsetY!==void 0&&(i.offsetY[n]=e.offsetY),e.layer!==void 0&&(i.layer[n]=e.layer),e.mask!==void 0&&(i.mask[n]=e.mask),e.isTrigger!==void 0&&(i.isTrigger[n]=e.isTrigger?1:0),n}function Gn(t,n){if(i$1(t,n,i))return {type:i.type[n],width:i.width[n],height:i.height[n],offsetX:i.offsetX[n],offsetY:i.offsetY[n],layer:i.layer[n],mask:i.mask[n],isTrigger:i.isTrigger[n]===1}}function Jn(t,n){return i$1(t,n,i)}function Qn(t,n){return i$1(t,n,i)&&j$1(t,n,i),n}function Zn(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.layer[n]=e,n}function nt(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.mask[n]=e,n}function tt(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.isTrigger[n]=e?1:0,n}function et(t,n){return i$1(t,n,i)?i.isTrigger[n]===1:false}function rt(t,n,e,o){return (n&e)!==0&&(o&t)!==0}function Y(t,n,e){let o=i.type[t],m=i.width[t],s=i.height[t],p=i.offsetX[t],l=i.offsetY[t],b=n+p,y=e+l;if(o===1){let A=m/2;return {minX:b-A,minY:y-A,maxX:b+A,maxY:y+A}}let d=m/2,I=s/2;return {minX:b-d,minY:y-I,maxX:b+d,maxY:y+I}}function rn(t,n){return t.minX<n.maxX&&t.maxX>n.minX&&t.minY<n.maxY&&t.maxY>n.minY}function on(t,n,e,o,m,s){let p=o-t,l=m-n,b=p*p+l*l,y=e+s;return b<y*y}function _(t,n,e,o){let m=Math.max(o.minX,Math.min(t,o.maxX)),s=Math.max(o.minY,Math.min(n,o.maxY)),p=t-m,l=n-s;return p*p+l*l<e*e}function ot(t,n,e,o,m,s){let p=i.type[t],l=i.type[o],b=i.offsetX[t],y=i.offsetY[t],d=i.offsetX[o],I=i.offsetY[o],A=n+b,M=e+y,U=m+d,L=s+I;if(p===1&&l===1){let S=i.width[t]/2,C=i.width[o]/2;return on(A,M,S,U,L,C)}if(p===0&&l===0){let S=Y(t,n,e),C=Y(o,m,s);return rn(S,C)}if(p===1&&l===0){let S=i.width[t]/2,C=Y(o,m,s);return _(A,M,S,C)}if(p===0&&l===1){let S=Y(t,n,e),C=i.width[o]/2;return _(U,L,C,S)}return false}function at(t,n,e){return t<n?{entityA:t,entityB:n,isTrigger:e}:{entityA:n,entityB:t,isTrigger:e}}function it(t){return `${t.entityA}:${t.entityB}`}n();var D=1e4,a={x:new Float32Array(D),y:new Float32Array(D),maxSpeed:new Float32Array(D),friction:new Float32Array(D)};function w(t){a.x[t]=0,a.y[t]=0,a.maxSpeed[t]=0,a.friction[t]=0;}function st(t,n,e,o){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.x[n]=e,a.y[n]=o,n}function yt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),e.x!==void 0&&(a.x[n]=e.x),e.y!==void 0&&(a.y[n]=e.y),e.maxSpeed!==void 0&&(a.maxSpeed[n]=e.maxSpeed),e.friction!==void 0&&(a.friction[n]=e.friction),n}function ct(t,n){if(i$1(t,n,a))return {x:a.x[n],y:a.y[n],maxSpeed:a.maxSpeed[n],friction:a.friction[n]}}function an(t,n){return i$1(t,n,a)}function lt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.maxSpeed[n]=e,n}function pt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.friction[n]=Math.max(0,Math.min(1,e)),n}function xt(t,n,e,o){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.x[n]=a.x[n]+e,a.y[n]=a.y[n]+o,n}function bt(t,n){if(!i$1(t,n,a))return 0;let e=a.x[n],o=a.y[n];return Math.sqrt(e*e+o*o)}function dt(t,n){return i$1(t,n,a)&&(a.x[n]=0,a.y[n]=0),n}function ht(t,n){return i$1(t,n,a)&&(a.x[n]=0,a.y[n]=0,a.maxSpeed[n]=0,a.friction[n]=0),n}var c={x:new Float32Array(D),y:new Float32Array(D)};function un(t){c.x[t]=0,c.y[t]=0;}function Et(t,n,e,o){return i$1(t,n,c)||(h$1(t,n,c),un(n)),c.x[n]=e,c.y[n]=o,n}function At(t,n){if(i$1(t,n,c))return {x:c.x[n],y:c.y[n]}}function mn(t,n){return i$1(t,n,c)}function gt(t,n){return i$1(t,n,c)&&(c.x[n]=0,c.y[n]=0),n}function It(t,n){return i$1(t,n,c)&&(c.x[n]=0,c.y[n]=0),n}function fn(t,n){c.x[t]===void 0||a.x[t]===void 0||(a.x[t]=a.x[t]+c.x[t]*n,a.y[t]=a.y[t]+c.y[t]*n);}function sn(t,n){let e=a.friction[t];if(e<=0)return;let o=1-e*n;if(o<=0){a.x[t]=0,a.y[t]=0;return}a.x[t]=a.x[t]*o,a.y[t]=a.y[t]*o;}function yn(t){let n=a.maxSpeed[t];if(n<=0)return;let e=a.x[t],o=a.y[t],m=Math.sqrt(e*e+o*o);if(m>n){let s=n/m;a.x[t]=e*s,a.y[t]=o*s;}}function cn(t,n){r$1.x[t]===void 0||a.x[t]===void 0||(r$1.x[t]=r$1.x[t]+a.x[t]*n,r$1.y[t]=r$1.y[t]+a.y[t]*n);}function St(t,n,e){an(t,n)&&(mn(t,n)&&fn(n,e),sn(n,e),yn(n),w$1(t,n)&&cn(n,e));}export{rt as $,r as A,yn as Aa,G as B,cn as Ba,On as C,St as Ca,Rn as D,Mn as E,Un as F,Ln as G,Pn as H,Vn as I,kn as J,Hn as K,Nn as L,_n as M,qn as N,Kn as O,nn as P,i as Q,tn as R,en as S,zn as T,Gn as U,Jn as V,Qn as W,Zn as X,nt as Y,tt as Z,et as _,h as a,Y as aa,pn as b,rn as ba,xn as c,on as ca,B as d,_ as da,bn as e,ot as ea,q as f,at as fa,dn as g,it as ga,f as h,a as ha,K as i,st as ia,hn as j,yt as ja,En as k,ct as ka,An as l,an as la,O as m,lt as ma,gn as n,pt as na,In as o,xt as oa,Sn as p,bt as pa,Cn as q,dt as qa,Wn as r,ht as ra,E as s,c as sa,Xn as t,Et as ta,Yn as u,At as ua,R as v,mn as va,vn as w,gt as wa,$ as x,It as xa,Bn as y,fn as ya,j as z,sn as za};
|
|
1
|
+
import {E as E$1,J as J$1}from'./chunk-ZAHG7Y3X.js';import {l}from'./chunk-Z4EZERNE.js';import {n,i as i$1,h as h$1,j as j$1}from'./chunk-PXXGH3BV.js';n();var T=1e4,H=1,h={sheets:new Map,nameToId:new Map};function pn(){h.sheets.clear(),h.nameToId.clear(),H=1;}function xn(t){let n=H++,e=t.frames[0],o=t.height??e?.length??0,m=t.width??e?.[0]?.length??0,s={id:n,name:t.name,frames:t.frames,width:m,height:o};return h.sheets.set(n,s),h.nameToId.set(t.name,n),n}function B(t){return h.sheets.get(t)}function bn(t){let n=h.nameToId.get(t);if(n!==void 0)return h.sheets.get(n)}function q(t){return h.nameToId.get(t)}function dn(t){let n=h.sheets.get(t);return n?(h.nameToId.delete(n.name),h.sheets.delete(t),true):false}var f={frameIndex:new Uint16Array(T),frameCount:new Uint16Array(T),frameWidth:new Uint8Array(T),frameHeight:new Uint8Array(T),spriteSheetId:new Uint32Array(T)};function K(t,n,e,o=0){let m=B(e);if(m)return i$1(t,n,f)||h$1(t,n,f),f.spriteSheetId[n]=e,f.frameCount[n]=m.frames.length,f.frameWidth[n]=m.width,f.frameHeight[n]=m.height,f.frameIndex[n]=Math.min(o,m.frames.length-1),n}function hn(t,n,e,o=0){let m=q(e);if(m!==void 0)return K(t,n,m,o)}function En(t,n){if(i$1(t,n,f))return {frameIndex:f.frameIndex[n],frameCount:f.frameCount[n],frameWidth:f.frameWidth[n],frameHeight:f.frameHeight[n],spriteSheetId:f.spriteSheetId[n]}}function An(t,n){if(!i$1(t,n,f))return;let e=f.spriteSheetId[n],o=B(e);if(!o)return;let m=f.frameIndex[n];return o.frames[m]}function O(t,n,e){if(!i$1(t,n,f))return n;let o=f.frameCount[n],m=Math.max(0,Math.min(e,o-1));return f.frameIndex[n]=m,n}function gn(t,n){if(!i$1(t,n,f))return n;let e=f.frameCount[n],o=f.frameIndex[n];return f.frameIndex[n]=(o+1)%e,n}function In(t,n){if(!i$1(t,n,f))return n;let e=f.frameCount[n],o=f.frameIndex[n];return f.frameIndex[n]=o===0?e-1:o-1,n}function Sn(t,n){return i$1(t,n,f)}function Cn(t,n){if(!i$1(t,n,f))return;let e=f.spriteSheetId[n];return B(e)}function Wn(t,n){return i$1(t,n,f)&&(f.spriteSheetId[n]=0,f.frameIndex[n]=0,f.frameCount[n]=0,f.frameWidth[n]=0,f.frameHeight[n]=0),n}n();var W=1e4,N=1,E={animations:new Map,nameToId:new Map};function Xn(){E.animations.clear(),E.nameToId.clear(),N=1;}function Yn(t){l.parse(t);let n=N++,e=t.frames.reduce((m,s)=>m+s.duration,0),o={id:n,name:t.name,frames:t.frames,totalDuration:e};return E.animations.set(n,o),E.nameToId.set(t.name,n),n}function R(t){return E.animations.get(t)}function vn(t){let n=E.nameToId.get(t);if(n!==void 0)return E.animations.get(n)}function $(t){return E.nameToId.get(t)}function Bn(t){let n=E.animations.get(t);return n?(E.nameToId.delete(n.name),E.animations.delete(t),true):false}var j=(e=>(e[e.FORWARD=1]="FORWARD",e[e.REVERSE=-1]="REVERSE",e))(j||{}),r={animationId:new Uint32Array(W),playing:new Uint8Array(W),loop:new Uint8Array(W),speed:new Float32Array(W),elapsed:new Float32Array(W),currentFrameIndex:new Uint16Array(W),direction:new Int8Array(W)};function z(t){r.animationId[t]=0,r.playing[t]=0,r.loop[t]=1,r.speed[t]=1,r.elapsed[t]=0,r.currentFrameIndex[t]=0,r.direction[t]=1;}function G(t,n,e,o={}){let m=R(e);if(!m||m.frames.length===0)return;i$1(t,n,r)||(h$1(t,n,r),z(n));let{loop:s=true,speed:p=1,direction:l=1,startFrame:b}=o,y=b;y===void 0&&(y=l===1?0:m.frames.length-1),y=Math.max(0,Math.min(y,m.frames.length-1)),r.animationId[n]=e,r.playing[n]=1,r.loop[n]=s?1:0,r.speed[n]=p,r.elapsed[n]=0,r.currentFrameIndex[n]=y,r.direction[n]=l;let d=m.frames[y];return d&&i$1(t,n,f)&&O(t,n,d.frameIndex),n}function On(t,n,e,o={}){let m=$(e);if(m!==void 0)return G(t,n,m,o)}function Rn(t,n){return i$1(t,n,r)&&(r.playing[n]=0,r.elapsed[n]=0,r.currentFrameIndex[n]=0),n}function Mn(t,n){return i$1(t,n,r)&&(r.playing[n]=0),n}function Un(t,n){return i$1(t,n,r)&&(r.playing[n]=1),n}function Ln(t,n){if(i$1(t,n,r))return {animationId:r.animationId[n],playing:r.playing[n]===1,loop:r.loop[n]===1,speed:r.speed[n],elapsed:r.elapsed[n],currentFrameIndex:r.currentFrameIndex[n],direction:r.direction[n]}}function Pn(t,n){return i$1(t,n,r)?r.playing[n]===1:false}function Vn(t,n){return i$1(t,n,r)}function kn(t,n,e){return i$1(t,n,r)&&(r.speed[n]=e),n}function Hn(t,n,e){return i$1(t,n,r)&&(r.loop[n]=e?1:0),n}function Nn(t,n,e){return i$1(t,n,r)&&(r.direction[n]=e),n}function _n(t,n){if(!i$1(t,n,r))return;let e=r.animationId[n];return R(e)}function qn(t,n){return i$1(t,n,r)&&(r.animationId[n]=0,r.playing[n]=0,r.loop[n]=1,r.speed[n]=1,r.elapsed[n]=0,r.currentFrameIndex[n]=0,r.direction[n]=1),n}function J(t,n,e,o){return n>=e?o?(r.currentFrameIndex[t]=0,false):(r.playing[t]=0,r.currentFrameIndex[t]=e-1,true):(r.currentFrameIndex[t]=n,false)}function Q(t,n,e,o){return n<0?o?(r.currentFrameIndex[t]=e-1,false):(r.playing[t]=0,r.currentFrameIndex[t]=0,true):(r.currentFrameIndex[t]=n,false)}function Z(t,n,e){let o=r.currentFrameIndex[n],m=e[o];m&&i$1(t,n,f)&&O(t,n,m.frameIndex);}function Kn(t,n,e){if(!i$1(t,n,r)||r.playing[n]!==1)return false;let o=r.animationId[n],m=R(o);if(!m||m.frames.length===0)return false;let s=r.speed[n],p=r.direction[n],l=r.loop[n]===1,b=r.elapsed[n]+e*s;r.elapsed[n]=b;let y=r.currentFrameIndex[n],d=m.frames[y];if(!d||b<d.duration)return false;r.elapsed[n]=b-d.duration;let I=y+p,A=p===1?J(n,I,m.frames.length,l):Q(n,I,m.frames.length,l);return A||Z(t,n,m.frames),A}n();var g=1e4,nn=(e=>(e[e.BOX=0]="BOX",e[e.CIRCLE=1]="CIRCLE",e))(nn||{}),i={type:new Uint8Array(g),width:new Float32Array(g),height:new Float32Array(g),offsetX:new Float32Array(g),offsetY:new Float32Array(g),layer:new Uint16Array(g),mask:new Uint16Array(g),isTrigger:new Uint8Array(g)},tn=1,en=65535;function v(t){i.type[t]=0,i.width[t]=1,i.height[t]=1,i.offsetX[t]=0,i.offsetY[t]=0,i.layer[t]=tn,i.mask[t]=en,i.isTrigger[t]=0;}function zn(t,n,e={}){return i$1(t,n,i)||(h$1(t,n,i),v(n)),e.type!==void 0&&(i.type[n]=e.type),e.width!==void 0&&(i.width[n]=e.width),e.height!==void 0&&(i.height[n]=e.height),e.offsetX!==void 0&&(i.offsetX[n]=e.offsetX),e.offsetY!==void 0&&(i.offsetY[n]=e.offsetY),e.layer!==void 0&&(i.layer[n]=e.layer),e.mask!==void 0&&(i.mask[n]=e.mask),e.isTrigger!==void 0&&(i.isTrigger[n]=e.isTrigger?1:0),n}function Gn(t,n){if(i$1(t,n,i))return {type:i.type[n],width:i.width[n],height:i.height[n],offsetX:i.offsetX[n],offsetY:i.offsetY[n],layer:i.layer[n],mask:i.mask[n],isTrigger:i.isTrigger[n]===1}}function Jn(t,n){return i$1(t,n,i)}function Qn(t,n){return i$1(t,n,i)&&j$1(t,n,i),n}function Zn(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.layer[n]=e,n}function nt(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.mask[n]=e,n}function tt(t,n,e){return i$1(t,n,i)||(h$1(t,n,i),v(n)),i.isTrigger[n]=e?1:0,n}function et(t,n){return i$1(t,n,i)?i.isTrigger[n]===1:false}function rt(t,n,e,o){return (n&e)!==0&&(o&t)!==0}function Y(t,n,e){let o=i.type[t],m=i.width[t],s=i.height[t],p=i.offsetX[t],l=i.offsetY[t],b=n+p,y=e+l;if(o===1){let A=m/2;return {minX:b-A,minY:y-A,maxX:b+A,maxY:y+A}}let d=m/2,I=s/2;return {minX:b-d,minY:y-I,maxX:b+d,maxY:y+I}}function rn(t,n){return t.minX<n.maxX&&t.maxX>n.minX&&t.minY<n.maxY&&t.maxY>n.minY}function on(t,n,e,o,m,s){let p=o-t,l=m-n,b=p*p+l*l,y=e+s;return b<y*y}function _(t,n,e,o){let m=Math.max(o.minX,Math.min(t,o.maxX)),s=Math.max(o.minY,Math.min(n,o.maxY)),p=t-m,l=n-s;return p*p+l*l<e*e}function ot(t,n,e,o,m,s){let p=i.type[t],l=i.type[o],b=i.offsetX[t],y=i.offsetY[t],d=i.offsetX[o],I=i.offsetY[o],A=n+b,M=e+y,U=m+d,L=s+I;if(p===1&&l===1){let S=i.width[t]/2,C=i.width[o]/2;return on(A,M,S,U,L,C)}if(p===0&&l===0){let S=Y(t,n,e),C=Y(o,m,s);return rn(S,C)}if(p===1&&l===0){let S=i.width[t]/2,C=Y(o,m,s);return _(A,M,S,C)}if(p===0&&l===1){let S=Y(t,n,e),C=i.width[o]/2;return _(U,L,C,S)}return false}function at(t,n,e){return t<n?{entityA:t,entityB:n,isTrigger:e}:{entityA:n,entityB:t,isTrigger:e}}function it(t){return `${t.entityA}:${t.entityB}`}n();var D=1e4,a={x:new Float32Array(D),y:new Float32Array(D),maxSpeed:new Float32Array(D),friction:new Float32Array(D)};function w(t){a.x[t]=0,a.y[t]=0,a.maxSpeed[t]=0,a.friction[t]=0;}function st(t,n,e,o){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.x[n]=e,a.y[n]=o,n}function yt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),e.x!==void 0&&(a.x[n]=e.x),e.y!==void 0&&(a.y[n]=e.y),e.maxSpeed!==void 0&&(a.maxSpeed[n]=e.maxSpeed),e.friction!==void 0&&(a.friction[n]=e.friction),n}function ct(t,n){if(i$1(t,n,a))return {x:a.x[n],y:a.y[n],maxSpeed:a.maxSpeed[n],friction:a.friction[n]}}function an(t,n){return i$1(t,n,a)}function lt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.maxSpeed[n]=e,n}function pt(t,n,e){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.friction[n]=Math.max(0,Math.min(1,e)),n}function xt(t,n,e,o){return i$1(t,n,a)||(h$1(t,n,a),w(n)),a.x[n]=a.x[n]+e,a.y[n]=a.y[n]+o,n}function bt(t,n){if(!i$1(t,n,a))return 0;let e=a.x[n],o=a.y[n];return Math.sqrt(e*e+o*o)}function dt(t,n){return i$1(t,n,a)&&(a.x[n]=0,a.y[n]=0),n}function ht(t,n){return i$1(t,n,a)&&(a.x[n]=0,a.y[n]=0,a.maxSpeed[n]=0,a.friction[n]=0),n}var c={x:new Float32Array(D),y:new Float32Array(D)};function un(t){c.x[t]=0,c.y[t]=0;}function Et(t,n,e,o){return i$1(t,n,c)||(h$1(t,n,c),un(n)),c.x[n]=e,c.y[n]=o,n}function At(t,n){if(i$1(t,n,c))return {x:c.x[n],y:c.y[n]}}function mn(t,n){return i$1(t,n,c)}function gt(t,n){return i$1(t,n,c)&&(c.x[n]=0,c.y[n]=0),n}function It(t,n){return i$1(t,n,c)&&(c.x[n]=0,c.y[n]=0),n}function fn(t,n){c.x[t]===void 0||a.x[t]===void 0||(a.x[t]=a.x[t]+c.x[t]*n,a.y[t]=a.y[t]+c.y[t]*n);}function sn(t,n){let e=a.friction[t];if(e<=0)return;let o=1-e*n;if(o<=0){a.x[t]=0,a.y[t]=0;return}a.x[t]=a.x[t]*o,a.y[t]=a.y[t]*o;}function yn(t){let n=a.maxSpeed[t];if(n<=0)return;let e=a.x[t],o=a.y[t],m=Math.sqrt(e*e+o*o);if(m>n){let s=n/m;a.x[t]=e*s,a.y[t]=o*s;}}function cn(t,n){E$1.x[t]===void 0||a.x[t]===void 0||(E$1.x[t]=E$1.x[t]+a.x[t]*n,E$1.y[t]=E$1.y[t]+a.y[t]*n);}function St(t,n,e){an(t,n)&&(mn(t,n)&&fn(n,e),sn(n,e),yn(n),J$1(t,n)&&cn(n,e));}export{rt as $,r as A,yn as Aa,G as B,cn as Ba,On as C,St as Ca,Rn as D,Mn as E,Un as F,Ln as G,Pn as H,Vn as I,kn as J,Hn as K,Nn as L,_n as M,qn as N,Kn as O,nn as P,i as Q,tn as R,en as S,zn as T,Gn as U,Jn as V,Qn as W,Zn as X,nt as Y,tt as Z,et as _,h as a,Y as aa,pn as b,rn as ba,xn as c,on as ca,B as d,_ as da,bn as e,ot as ea,q as f,at as fa,dn as g,it as ga,f as h,a as ha,K as i,st as ia,hn as j,yt as ja,En as k,ct as ka,An as l,an as la,O as m,lt as ma,gn as n,pt as na,In as o,xt as oa,Sn as p,bt as pa,Cn as q,dt as qa,Wn as r,ht as ra,E as s,c as sa,Xn as t,Et as ta,Yn as u,At as ua,R as v,mn as va,vn as w,gt as wa,$ as x,It as xa,Bn as y,fn as ya,j as z,sn as za};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {i as i$1,c,e,a as a$1,b}from'./chunk-Z4EZERNE.js';import {f,a,e as e$1}from'./chunk-SHUC6JWA.js';import {k,g as g$1,l,b as b$1,i as i$3}from'./chunk-G7GIWWLE.js';import {n,i as i$2,h as h$1}from'./chunk-PXXGH3BV.js';n();f();f();var p=1e4,q=a(255,255,255),J=a(0,0,0,0),o={visible:new Uint8Array(p),dirty:new Uint8Array(p),fg:new Uint32Array(p),bg:new Uint32Array(p),bold:new Uint8Array(p),underline:new Uint8Array(p),blink:new Uint8Array(p),inverse:new Uint8Array(p),transparent:new Uint8Array(p),opacity:new Uint8Array(p)};function Q(t){o.visible[t]=1,o.dirty[t]=1,o.fg[t]=q,o.bg[t]=J,o.bold[t]=0,o.underline[t]=0,o.blink[t]=0,o.inverse[t]=0,o.transparent[t]=0,o.opacity[t]=255;}function _(t,n){i$2(t,n,o)||(h$1(t,n,o),Q(n));}function pn(t,n,e){return i$1.parse(e),_(t,n),tn(n,e),o.dirty[n]=1,n}function X(t,n){n.fg!==void 0&&(o.fg[t]=e$1(n.fg)),n.bg!==void 0&&(o.bg[t]=e$1(n.bg));}function W(t,n,e){e!==void 0&&(n[t]=e?1:0);}function nn(t,n){if(W(t,o.bold,n.bold),W(t,o.underline,n.underline),W(t,o.blink,n.blink),W(t,o.inverse,n.inverse),W(t,o.transparent,n.transparent),n.opacity!==void 0){let e=Math.max(0,Math.min(1,n.opacity));o.opacity[t]=Math.round(e*255);}}function tn(t,n){X(t,n),nn(t,n);}function xn(t,n){if(i$2(t,n,o))return {fg:o.fg[n],bg:o.bg[n],bold:o.bold[n]===1,underline:o.underline[n]===1,blink:o.blink[n]===1,inverse:o.inverse[n]===1,transparent:o.transparent[n]===1,opacity:o.opacity[n]/255}}function En(t,n){if(i$2(t,n,o))return {visible:o.visible[n]===1,dirty:o.dirty[n]===1,fg:o.fg[n],bg:o.bg[n],bold:o.bold[n]===1,underline:o.underline[n]===1,blink:o.blink[n]===1,inverse:o.inverse[n]===1,transparent:o.transparent[n]===1,opacity:o.opacity[n]/255}}function hn(t,n){return _(t,n),o.dirty[n]=1,n}function gn(t,n){return i$2(t,n,o)&&(o.dirty[n]=0),n}function dn(t,n){return i$2(t,n,o)?o.dirty[n]===1:false}function B(t,n,e){_(t,n);let r=o.visible[n]===1;return o.visible[n]=e?1:0,r!==e&&(o.dirty[n]=1),n}function V(t,n){return i$2(t,n,o)?o.visible[n]===1:false}function Wn(t,n){return i$2(t,n,o)}function In(t,n){return B(t,n,true)}function Fn(t,n){return B(t,n,false)}function An(t,n){let e=V(t,n);return B(t,n,!e)}function Dn(t,n){if(!V(t,n))return false;if(!k(t,n))return true;let e=g$1(t,n);for(let r of e)if(!V(t,r))return false;return true}function Tn(t,n){if(!k(t,n)||l(t,n))return false;let e=g$1(t,n);if(e.length===0)return true;let r=e[e.length-1];return r===void 0?true:!l(t,r)}n();var g=1e4,x=-1;function en(t){return -(t+2)}function K(t){if(t>=x)return null;let n=-(t+2);return n===0?0:n}function Un(t){return t<x}var i={width:new Float32Array(g),height:new Float32Array(g),minWidth:new Float32Array(g),minHeight:new Float32Array(g),maxWidth:new Float32Array(g),maxHeight:new Float32Array(g),shrink:new Uint8Array(g)};function G(t){if(t==="auto")return x;if(typeof t=="string"){let n=Number.parseFloat(t);return en(n)}return t}function On(t,n,e,r){return c.parse(e),c.parse(r),i$2(t,n,i)||(h$1(t,n,i),i.minWidth[n]=0,i.minHeight[n]=0,i.maxWidth[n]=Number.POSITIVE_INFINITY,i.maxHeight[n]=Number.POSITIVE_INFINITY,i.shrink[n]=0),i.width[n]=G(e),i.height[n]=G(r),n}function D(t,n){if(i$2(t,n,i))return {width:i.width[n],height:i.height[n],minWidth:i.minWidth[n],minHeight:i.minHeight[n],maxWidth:i.maxWidth[n],maxHeight:i.maxHeight[n],shrink:i.shrink[n]===1}}function kn(t,n,e$1){return e.parse(e$1),i$2(t,n,i)||(h$1(t,n,i),i.width[n]=x,i.height[n]=x,i.minWidth[n]=0,i.minHeight[n]=0,i.maxWidth[n]=Number.POSITIVE_INFINITY,i.maxHeight[n]=Number.POSITIVE_INFINITY,i.shrink[n]=0),e$1.minWidth!==void 0&&(i.minWidth[n]=e$1.minWidth),e$1.minHeight!==void 0&&(i.minHeight[n]=e$1.minHeight),e$1.maxWidth!==void 0&&(i.maxWidth[n]=e$1.maxWidth),e$1.maxHeight!==void 0&&(i.maxHeight[n]=e$1.maxHeight),n}function zn(t,n,e){return i$2(t,n,i)||(h$1(t,n,i),i.width[n]=x,i.height[n]=x,i.minWidth[n]=0,i.minHeight[n]=0,i.maxWidth[n]=Number.POSITIVE_INFINITY,i.maxHeight[n]=Number.POSITIVE_INFINITY),i.shrink[n]=e?1:0,n}function Hn(t,n){return i$2(t,n,i)?i.shrink[n]===1:false}function Nn(t,n){return i$2(t,n,i)}function Vn(t,n,e){if(!i$2(t,n,i))return;let r=i.width[n];if(r===x)return;let f=K(r);return f!==null?f/100*e:r}function _n(t,n,e){if(!i$2(t,n,i))return;let r=i.height[n];if(r===x)return;let f=K(r);return f!==null?f/100*e:r}n();var T=1e4,u={x:new Float32Array(T),y:new Float32Array(T),z:new Uint16Array(T),absolute:new Uint8Array(T)};function h(t,n,e,r,f=0){return a$1.parse({x:e,y:r,z:f}),i$2(t,n,u)||(h$1(t,n,u),u.absolute[n]=0),u.x[n]=e,u.y[n]=r,u.z[n]=f,n}function Yn(t,n){if(i$2(t,n,u))return {x:u.x[n],y:u.y[n],z:u.z[n],absolute:u.absolute[n]===1}}function Ln(t,n,e){return i$2(t,n,u)||(h$1(t,n,u),u.x[n]=0,u.y[n]=0,u.z[n]=0),u.absolute[n]=e?1:0,n}function Gn(t,n){return i$2(t,n,u)?u.absolute[n]===1:false}function Kn(t,n){return i$2(t,n,u)}function $n(t,n,e,r){return i$2(t,n,u)||(h$1(t,n,u),u.x[n]=0,u.y[n]=0,u.z[n]=0,u.absolute[n]=0),u.x[n]=u.x[n]+e,u.y[n]=u.y[n]+r,n}function d(t,n,e){return b.parse(e),i$2(t,n,u)||(h$1(t,n,u),u.x[n]=0,u.y[n]=0,u.absolute[n]=0),u.z[n]=e,n}function P(t,n){return i$2(t,n,u)?u.z[n]:0}function jn(t,n,e){let r=0;for(let l of e)if(l!==n&&i$2(t,l,u)){let c=u.z[l];c>r&&(r=c);}let f=Math.min(r+1,65535);return d(t,n,f)}function qn(t,n,e){let r=65535;for(let l of e)if(l!==n&&i$2(t,l,u)){let c=u.z[l];c<r&&(r=c);}let f=Math.max(r-1,0);return d(t,n,f)}function Jn(t,n,e){let r=P(t,n),f=65535,l=false;for(let c of e)if(c!==n&&i$2(t,c,u)){let m=u.z[c];m>r&&m<f&&(f=m,l=true);}return l?d(t,n,Math.min(f+1,65535)):n}function Qn(t,n,e){let r=P(t,n),f=0,l=false;for(let c of e)if(c!==n&&i$2(t,c,u)){let m=u.z[c];m<r&&m>f&&(f=m,l=true);}return l?d(t,n,Math.max(f-1,0)):n}function Xn(t,n){let e=[];for(let r of n)i$2(t,r,u)&&e.push({entity:r,z:u.z[r]});e.sort((r,f)=>r.z-f.z);for(let r=0;r<e.length;r++){let f=e[r];f&&(u.z[f.entity]=r);}}function nt(t,n,e){let r=P(t,n),f=P(t,e);d(t,n,f),d(t,e,r);}function tt(t,n,e){if(!i$2(t,n,b$1)){let E=v(e,0,0,0,0);return h(t,n,E.x,E.y),n}let r=i$3(t,n);if(r===0){let E=v(e,0,0,0,0);return h(t,n,E.x,E.y),n}let f=D(t,r);if(!f){let E=v(e,0,0,0,0);return h(t,n,E.x,E.y),n}let l=D(t,n),c=l?.width??0,m=l?.height??0,M=v(e,f.width,f.height,c,m);return h(t,n,M.x,M.y),n}function v(t,n,e,r,f){switch(t){case "center":return {x:Math.floor((n-r)/2),y:Math.floor((e-f)/2)};case "top-left":case "tl":return {x:0,y:0};case "top-right":case "tr":return {x:Math.max(0,n-r),y:0};case "bottom-left":case "bl":return {x:0,y:Math.max(0,e-f)};case "bottom-right":case "br":return {x:Math.max(0,n-r),y:Math.max(0,e-f)};default:return {x:0,y:0}}}function et(t,n,e,r){if(!i$2(t,n,b$1))return h(t,n,0,0),n;let f=i$3(t,n);if(f===0)return h(t,n,0,0),n;let l=D(t,f);if(!l)return h(t,n,0,0),n;let c=Math.floor(l.width*e/100),m=Math.floor(l.height*r/100);return h(t,n,c,m),n}n();var I=1e4,rn=4294967295,on=0,s={focusable:new Uint8Array(I),focused:new Uint8Array(I),tabIndex:new Int16Array(I),focusEffectFg:new Uint32Array(I),focusEffectBg:new Uint32Array(I)},y=null;function un(t){s.focusable[t]=1,s.focused[t]=0,s.tabIndex[t]=0,s.focusEffectFg[t]=rn,s.focusEffectBg[t]=on;}function S(t,n){i$2(t,n,s)||(h$1(t,n,s),un(n));}function ut(t,n,e){return S(t,n),e.focusable!==void 0&&(s.focusable[n]=e.focusable?1:0),e.tabIndex!==void 0&&(s.tabIndex[n]=e.tabIndex),e.focusEffectFg!==void 0&&(s.focusEffectFg[n]=e.focusEffectFg),e.focusEffectBg!==void 0&&(s.focusEffectBg[n]=e.focusEffectBg),n}function it(t,n,e){return S(t,n),s.focusable[n]=e?1:0,n}function at(t,n){return i$2(t,n,s)?s.focused[n]===1:false}function ft(t,n){return i$2(t,n,s)?s.focusable[n]===1:false}function $(t,n){return S(t,n),s.focusable[n]!==1||(y!==null&&y!==n&&i$2(t,y,s)&&(s.focused[y]=0),s.focused[n]=1,y=n),n}function st(t,n){return i$2(t,n,s)&&(s.focused[n]=0,y===n&&(y=null)),n}function lt(t,n){if(i$2(t,n,s))return {focusable:s.focusable[n]===1,focused:s.focused[n]===1,tabIndex:s.tabIndex[n],focusEffectFg:s.focusEffectFg[n],focusEffectBg:s.focusEffectBg[n]}}function ct(t,n){return i$2(t,n,s)}function bt(){return y}function yt(t,n,e){return S(t,n),s.tabIndex[n]=e,n}function mt(t,n){return i$2(t,n,s)?s.tabIndex[n]:-1}function an(t,n){return i$2(t,n,s)?s.tabIndex[n]>=0&&s.focusable[n]===1:false}function j(t,n){return n.filter(e=>an(t,e)).sort((e,r)=>s.tabIndex[e]-s.tabIndex[r])}function pt(t,n){let e=j(t,n);if(e.length===0)return null;let f=((y!==null?e.indexOf(y):-1)+1)%e.length,l=e[f];return l!==void 0?($(t,l),l):null}function xt(t,n){let e=j(t,n);if(e.length===0)return null;let f=((y!==null?e.indexOf(y):0)-1+e.length)%e.length,l=e[f];return l!==void 0?($(t,l),l):null}function Et(){y=null;}export{ft as $,Hn as A,Nn as B,Vn as C,_n as D,u as E,h as F,Yn as G,Ln as H,Gn as I,Kn as J,$n as K,d as L,P as M,jn as N,qn as O,Jn as P,Qn as Q,Xn as R,nt as S,tt as T,et as U,rn as V,on as W,s as X,ut as Y,it as Z,at as _,q as a,$ as aa,J as b,st as ba,o as c,lt as ca,pn as d,ct as da,xn as e,bt as ea,En as f,yt as fa,hn as g,mt as ga,gn as h,an as ha,dn as i,j as ia,B as j,pt as ja,V as k,xt as ka,Wn as l,Et as la,In as m,Fn as n,An as o,Dn as p,Tn as q,x as r,en as s,K as t,Un as u,i as v,On as w,D as x,kn as y,zn as z};
|
package/dist/cli/init.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ interface TemplateFile {
|
|
|
37
37
|
*/
|
|
38
38
|
interface CliConfig {
|
|
39
39
|
/** Template to scaffold (undefined = interactive) */
|
|
40
|
-
readonly template?: string;
|
|
40
|
+
readonly template?: string | undefined;
|
|
41
41
|
/** Target directory */
|
|
42
42
|
readonly dir: string;
|
|
43
43
|
/** List available templates */
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { E as Entity, W as World } from './types-CPB4CpbH.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Memory-efficient component storage utilities.
|
|
5
|
+
*
|
|
6
|
+
* Provides helpers for measuring, optimizing, and managing memory
|
|
7
|
+
* for large entity counts. Includes sparse storage for rarely-used
|
|
8
|
+
* components and memory pool pre-allocation.
|
|
9
|
+
*
|
|
10
|
+
* @module utils/componentStorage
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Memory usage report for component storage.
|
|
15
|
+
*/
|
|
16
|
+
interface ComponentMemoryReport {
|
|
17
|
+
/** Total bytes used by all components */
|
|
18
|
+
readonly totalBytes: number;
|
|
19
|
+
/** Per-component byte usage */
|
|
20
|
+
readonly componentBytes: ReadonlyMap<string, number>;
|
|
21
|
+
/** Number of entities tracked */
|
|
22
|
+
readonly entityCount: number;
|
|
23
|
+
/** Average bytes per entity */
|
|
24
|
+
readonly avgBytesPerEntity: number;
|
|
25
|
+
/** Memory efficiency ratio (used / allocated) */
|
|
26
|
+
readonly efficiency: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Configuration for sparse component storage.
|
|
30
|
+
*/
|
|
31
|
+
interface SparseStorageConfig {
|
|
32
|
+
/** Initial capacity (default: 64) */
|
|
33
|
+
readonly initialCapacity: number;
|
|
34
|
+
/** Growth factor when expanding (default: 2) */
|
|
35
|
+
readonly growthFactor: number;
|
|
36
|
+
/** Maximum capacity before warning (default: 100000) */
|
|
37
|
+
readonly maxCapacity: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A sparse component store using Map for memory efficiency.
|
|
41
|
+
* Suitable for components that only a small fraction of entities use.
|
|
42
|
+
*/
|
|
43
|
+
interface SparseStore<T> {
|
|
44
|
+
/** Gets value for an entity */
|
|
45
|
+
get(eid: Entity): T | undefined;
|
|
46
|
+
/** Sets value for an entity */
|
|
47
|
+
set(eid: Entity, value: T): void;
|
|
48
|
+
/** Checks if entity has a value */
|
|
49
|
+
has(eid: Entity): boolean;
|
|
50
|
+
/** Removes value for an entity */
|
|
51
|
+
delete(eid: Entity): boolean;
|
|
52
|
+
/** Number of stored entries */
|
|
53
|
+
readonly size: number;
|
|
54
|
+
/** Iterates over all entries */
|
|
55
|
+
entries(): IterableIterator<[Entity, T]>;
|
|
56
|
+
/** Clears all data */
|
|
57
|
+
clear(): void;
|
|
58
|
+
/** Estimated memory usage in bytes */
|
|
59
|
+
memoryUsage(): number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Pre-allocated typed array pool for SoA components.
|
|
63
|
+
*/
|
|
64
|
+
interface TypedArrayPool {
|
|
65
|
+
/** Allocates a Float32Array from the pool */
|
|
66
|
+
allocateF32(size: number): Float32Array;
|
|
67
|
+
/** Allocates a Uint32Array from the pool */
|
|
68
|
+
allocateU32(size: number): Uint32Array;
|
|
69
|
+
/** Allocates a Uint8Array from the pool */
|
|
70
|
+
allocateU8(size: number): Uint8Array;
|
|
71
|
+
/** Returns an array to the pool */
|
|
72
|
+
release(arr: ArrayBufferView): void;
|
|
73
|
+
/** Total bytes allocated */
|
|
74
|
+
readonly totalAllocated: number;
|
|
75
|
+
/** Total bytes in free pool */
|
|
76
|
+
readonly totalFree: number;
|
|
77
|
+
/** Clears the pool */
|
|
78
|
+
reset(): void;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Configuration for creating a component store.
|
|
82
|
+
*/
|
|
83
|
+
interface ComponentStoreConfig {
|
|
84
|
+
/**
|
|
85
|
+
* When true, the store is backed by a PackedStore for cache-friendly
|
|
86
|
+
* dense iteration via forEach/data(). Use this for stores iterated in
|
|
87
|
+
* hot paths (widget rendering, systems).
|
|
88
|
+
*
|
|
89
|
+
* When false (default), the store is backed by a plain Map for
|
|
90
|
+
* point-lookup access with no iteration overhead.
|
|
91
|
+
*/
|
|
92
|
+
readonly iterable: boolean;
|
|
93
|
+
/** Initial capacity hint for iterable stores (default: 64) */
|
|
94
|
+
readonly initialCapacity?: number;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A Map-like store that maps Entity to a value of type T.
|
|
98
|
+
*
|
|
99
|
+
* Depending on configuration, the backing store is either:
|
|
100
|
+
* - PackedStore (iterable mode): cache-friendly dense iteration, ideal for hot paths
|
|
101
|
+
* - Map (non-iterable mode): simple point lookups with minimal overhead
|
|
102
|
+
*
|
|
103
|
+
* The API is intentionally Map-compatible so existing `Map<Entity, T>` usage
|
|
104
|
+
* can be migrated with minimal changes.
|
|
105
|
+
*/
|
|
106
|
+
interface ComponentStore<T> {
|
|
107
|
+
/** Gets the value for an entity, or undefined if not present. */
|
|
108
|
+
get(eid: Entity): T | undefined;
|
|
109
|
+
/** Sets (or replaces) the value for an entity. */
|
|
110
|
+
set(eid: Entity, value: T): void;
|
|
111
|
+
/** Returns true if the entity has a value in this store. */
|
|
112
|
+
has(eid: Entity): boolean;
|
|
113
|
+
/** Removes the value for an entity. Returns true if it was present. */
|
|
114
|
+
delete(eid: Entity): boolean;
|
|
115
|
+
/** Number of entities in the store. */
|
|
116
|
+
readonly size: number;
|
|
117
|
+
/** Removes all entries. */
|
|
118
|
+
clear(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Iterates over all entries, calling fn for each.
|
|
121
|
+
* In iterable mode, iteration traverses the dense PackedStore data array
|
|
122
|
+
* for cache-friendly access. In non-iterable mode, iterates the Map.
|
|
123
|
+
*/
|
|
124
|
+
forEach(fn: (value: T, eid: Entity) => void): void;
|
|
125
|
+
/**
|
|
126
|
+
* Returns a readonly view of the dense data array for fastest iteration.
|
|
127
|
+
* Only meaningful in iterable mode. In non-iterable mode, returns an
|
|
128
|
+
* empty frozen array.
|
|
129
|
+
*
|
|
130
|
+
* WARNING: Only elements at indices `0` through `size - 1` are live.
|
|
131
|
+
* Elements beyond `size` are stale leftovers from swap-and-pop removals.
|
|
132
|
+
* Do not modify the array structure (push/pop/splice).
|
|
133
|
+
*/
|
|
134
|
+
data(): readonly T[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Creates a component store that maps Entity to a value of type T.
|
|
138
|
+
*
|
|
139
|
+
* Use `iterable: true` for stores that need cache-friendly iteration
|
|
140
|
+
* (backed by PackedStore). Use `iterable: false` (default) for stores
|
|
141
|
+
* that only need point lookups (backed by Map).
|
|
142
|
+
*
|
|
143
|
+
* The Entity-to-PackedHandle mapping is fully internal; callers never
|
|
144
|
+
* touch handles directly.
|
|
145
|
+
*
|
|
146
|
+
* @param config - Store configuration (iterable mode, initial capacity)
|
|
147
|
+
* @returns A new component store
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* import { createComponentStore } from 'blecsd';
|
|
152
|
+
*
|
|
153
|
+
* // Iterable store for hot-path iteration (e.g., rendering)
|
|
154
|
+
* interface TabData { label: string; active: boolean; }
|
|
155
|
+
* const tabStore = createComponentStore<TabData>({ iterable: true });
|
|
156
|
+
* tabStore.set(eid, { label: 'Home', active: true });
|
|
157
|
+
* tabStore.forEach((data, eid) => {
|
|
158
|
+
* // Dense iteration backed by PackedStore
|
|
159
|
+
* });
|
|
160
|
+
*
|
|
161
|
+
* // Non-iterable store for point lookups (e.g., callbacks, config)
|
|
162
|
+
* const callbacks = createComponentStore<() => void>({ iterable: false });
|
|
163
|
+
* callbacks.set(eid, () => console.log('clicked'));
|
|
164
|
+
* const cb = callbacks.get(eid);
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
declare function createComponentStore<T>(config?: ComponentStoreConfig): ComponentStore<T>;
|
|
168
|
+
/**
|
|
169
|
+
* Creates a sparse component store backed by a Map.
|
|
170
|
+
* Ideal for components present on <10% of entities.
|
|
171
|
+
*
|
|
172
|
+
* @param _config - Optional configuration
|
|
173
|
+
* @returns A new sparse store
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* import { createSparseStore } from 'blecsd';
|
|
178
|
+
*
|
|
179
|
+
* const debugInfo = createSparseStore<{ label: string }>();
|
|
180
|
+
* debugInfo.set(eid, { label: 'Player' });
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
declare function createSparseStore<T>(_config?: Partial<SparseStorageConfig>): SparseStore<T>;
|
|
184
|
+
/**
|
|
185
|
+
* Creates a typed array pool for pre-allocation.
|
|
186
|
+
* Reduces GC pressure from repeated allocation of component arrays.
|
|
187
|
+
*
|
|
188
|
+
* @returns A new typed array pool
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```typescript
|
|
192
|
+
* import { createTypedArrayPool } from 'blecsd';
|
|
193
|
+
*
|
|
194
|
+
* const pool = createTypedArrayPool();
|
|
195
|
+
* const positions = pool.allocateF32(10000); // Pre-allocate for 10K entities
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
declare function createTypedArrayPool(): TypedArrayPool;
|
|
199
|
+
/**
|
|
200
|
+
* Estimates memory usage for a given entity count with standard components.
|
|
201
|
+
*
|
|
202
|
+
* @param entityCount - Number of entities to estimate for
|
|
203
|
+
* @param componentCount - Average number of components per entity
|
|
204
|
+
* @param bytesPerComponent - Average bytes per component field (default: 4 for f32)
|
|
205
|
+
* @param fieldsPerComponent - Average fields per component (default: 4)
|
|
206
|
+
* @returns Estimated memory in bytes
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```typescript
|
|
210
|
+
* import { estimateMemoryUsage } from 'blecsd';
|
|
211
|
+
*
|
|
212
|
+
* const bytes = estimateMemoryUsage(100000, 5);
|
|
213
|
+
* console.log(`~${(bytes / 1024 / 1024).toFixed(1)}MB for 100K entities`);
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
declare function estimateMemoryUsage(entityCount: number, componentCount: number, bytesPerComponent?: number, fieldsPerComponent?: number): number;
|
|
217
|
+
/**
|
|
218
|
+
* Generates a component memory report.
|
|
219
|
+
*
|
|
220
|
+
* @param world - The ECS world
|
|
221
|
+
* @param components - Named components to measure
|
|
222
|
+
* @returns Memory report
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```typescript
|
|
226
|
+
* import { getComponentMemoryReport, Position, Velocity } from 'blecsd';
|
|
227
|
+
*
|
|
228
|
+
* const report = getComponentMemoryReport(world, {
|
|
229
|
+
* Position: Position,
|
|
230
|
+
* Velocity: Velocity,
|
|
231
|
+
* });
|
|
232
|
+
* console.log(`Total: ${report.totalBytes} bytes`);
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
declare function getComponentMemoryReport(_world: World, components: Record<string, Record<string, ArrayLike<number>>>): ComponentMemoryReport;
|
|
236
|
+
/**
|
|
237
|
+
* Checks if entity count is within safe memory bounds.
|
|
238
|
+
*
|
|
239
|
+
* @param entityCount - Current entity count
|
|
240
|
+
* @param maxMemoryMB - Maximum memory in MB (default: 100)
|
|
241
|
+
* @param avgComponentsPerEntity - Average components per entity (default: 5)
|
|
242
|
+
* @returns Whether the entity count is within bounds
|
|
243
|
+
*/
|
|
244
|
+
declare function isWithinMemoryBounds(entityCount: number, maxMemoryMB?: number, avgComponentsPerEntity?: number): boolean;
|
|
245
|
+
|
|
246
|
+
export { type ComponentMemoryReport as C, type SparseStorageConfig as S, type TypedArrayPool as T, type ComponentStore as a, type ComponentStoreConfig as b, type SparseStore as c, createComponentStore as d, createSparseStore as e, createTypedArrayPool as f, estimateMemoryUsage as g, getComponentMemoryReport as h, isWithinMemoryBounds as i };
|