UNPKG

@drincs/pixi-vn

Version:

Pixi'VN is a npm package that provides various features for creating visual novels.

9 lines (8 loc) 28.5 kB
import {b as b$1,d,a,c,e,f as f$1,g}from'./chunk-TTRUPDAB.mjs';import*as et from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as qt from'@drincs/pixi-vn/characters';export*from'@drincs/pixi-vn/characters';import {PixiError,GameUnifier}from'@drincs/pixi-vn/core';export*from'@drincs/pixi-vn/core';import*as it from'@drincs/pixi-vn/history';export*from'@drincs/pixi-vn/history';import*as C from'@drincs/pixi-vn/narration';export*from'@drincs/pixi-vn/narration';import*as at from'@drincs/pixi-vn/sound';export*from'@drincs/pixi-vn/sound';import*as I from'@drincs/pixi-vn/storage';export*from'@drincs/pixi-vn/storage';import {motion}from'@drincs/pixi-vn/motion';var ne=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Jt=new Set,jt=typeof process=="object"&&process?process:{},Qt=(g,e,i,s)=>{typeof jt.emitWarning=="function"?jt.emitWarning(g,e,i,s):console.error(`[${i}] ${e}: ${g}`);},Nt=globalThis.AbortController,Xt=globalThis.AbortSignal;if(typeof Nt>"u"){Xt=class{constructor(){b$1(this,"onabort");b$1(this,"_onabort",[]);b$1(this,"reason");b$1(this,"aborted",false);}addEventListener(i,s){this._onabort.push(s);}},Nt=class{constructor(){b$1(this,"signal",new Xt);e();}abort(i){if(!this.signal.aborted){this.signal.reason=i,this.signal.aborted=true;for(let s of this.signal._onabort)s(i);this.signal.onabort?.(i);}}};let g=jt.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{g&&(g=false,Qt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e));};}var ae=g=>!Jt.has(g);var lt=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),Zt=g=>lt(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?Dt:null:null,Dt=class extends Array{constructor(g){super(g),this.fill(0);}},st,St,le=(st=class{constructor(e,i){b$1(this,"heap");b$1(this,"length");if(!c(st,St))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e),this.length=0;}static create(e$1){let i=Zt(e$1);if(!i)return [];e(st,St,true);let s=new st(e$1,i);return e(st,St,false),s}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},St=new WeakMap,d(st,St,false),st),$t,Bt,K,G,q,ut,X,yt,Et,$,U,B,T,b,f,F,z,N,D,J,L,Q,Z,V,W,tt,pt,P,xt,l,It,ft,ot,Ot,Y,ee,mt,At,Tt,ht,dt,Mt,Lt,Ct,A,Gt,wt,ct,zt,bt,te=(bt=class{constructor(e$1){d(this,l);d(this,K);d(this,G);d(this,q);d(this,ut);d(this,X);d(this,yt);d(this,Et);d(this,$);b$1(this,"ttl");b$1(this,"ttlResolution");b$1(this,"ttlAutopurge");b$1(this,"updateAgeOnGet");b$1(this,"updateAgeOnHas");b$1(this,"allowStale");b$1(this,"noDisposeOnSet");b$1(this,"noUpdateTTL");b$1(this,"maxEntrySize");b$1(this,"sizeCalculation");b$1(this,"noDeleteOnFetchRejection");b$1(this,"noDeleteOnStaleGet");b$1(this,"allowStaleOnFetchAbort");b$1(this,"allowStaleOnFetchRejection");b$1(this,"ignoreFetchAbort");d(this,U);d(this,B);d(this,T);d(this,b);d(this,f);d(this,F);d(this,z);d(this,N);d(this,D);d(this,J);d(this,L);d(this,Q);d(this,Z);d(this,V);d(this,W);d(this,tt);d(this,pt);d(this,P);d(this,xt);d(this,ft,()=>{});d(this,ot,()=>{});d(this,Ot,()=>{});d(this,Y,()=>false);d(this,mt,e=>{});d(this,At,(e,i,s)=>{});d(this,Tt,(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});b$1(this,$t,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:d$1,allowStale:c$1,dispose:v,onInsert:R,disposeAfter:S,noDisposeOnSet:rt,noUpdateTTL:M,maxSize:k=0,maxEntrySize:w=0,sizeCalculation:E,fetchMethod:a,memoMethod:x,noDeleteOnFetchRejection:O,noDeleteOnStaleGet:u,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:j,ignoreFetchAbort:H,perf:gt}=e$1;if(gt!==void 0&&typeof gt?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(e(this,$,gt??ne),i!==0&&!lt(i))throw new TypeError("max option must be a nonnegative integer");let vt=i?Zt(i):Array;if(!vt)throw new Error("invalid max value: "+i);if(e(this,K,i),e(this,G,k),this.maxEntrySize=w||c(this,G),this.sizeCalculation=E,this.sizeCalculation){if(!c(this,G)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(x!==void 0&&typeof x!="function")throw new TypeError("memoMethod must be a function if defined");if(e(this,Et,x),a!==void 0&&typeof a!="function")throw new TypeError("fetchMethod must be a function if specified");if(e(this,yt,a),e(this,pt,!!a),e(this,T,new Map),e(this,b,new Array(i).fill(void 0)),e(this,f,new Array(i).fill(void 0)),e(this,F,new vt(i)),e(this,z,new vt(i)),e(this,N,0),e(this,D,0),e(this,J,le.create(i)),e(this,U,0),e(this,B,0),typeof v=="function"&&e(this,q,v),typeof R=="function"&&e(this,ut,R),typeof S=="function"?(e(this,X,S),e(this,L,[])):(e(this,X,void 0),e(this,L,void 0)),e(this,tt,!!c(this,q)),e(this,xt,!!c(this,ut)),e(this,P,!!c(this,X)),this.noDisposeOnSet=!!rt,this.noUpdateTTL=!!M,this.noDeleteOnFetchRejection=!!O,this.allowStaleOnFetchRejection=!!m,this.allowStaleOnFetchAbort=!!j,this.ignoreFetchAbort=!!H,this.maxEntrySize!==0){if(c(this,G)!==0&&!lt(c(this,G)))throw new TypeError("maxSize must be a positive integer if specified");if(!lt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");f$1(this,l,ee).call(this);}if(this.allowStale=!!c$1,this.noDeleteOnStaleGet=!!u,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!d$1,this.ttlResolution=lt(r)||r===0?r:1,this.ttlAutopurge=!!n,this.ttl=s||0,this.ttl){if(!lt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");f$1(this,l,It).call(this);}if(c(this,K)===0&&this.ttl===0&&c(this,G)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!c(this,K)&&!c(this,G)){let Pt="LRU_CACHE_UNBOUNDED";ae(Pt)&&(Jt.add(Pt),Qt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Pt,bt));}}get perf(){return c(this,$)}static unsafeExposeInternals(e){return {starts:c(e,Z),ttls:c(e,V),autopurgeTimers:c(e,W),sizes:c(e,Q),keyMap:c(e,T),keyList:c(e,b),valList:c(e,f),next:c(e,F),prev:c(e,z),get head(){return c(e,N)},get tail(){return c(e,D)},free:c(e,J),isBackgroundFetch:i=>{var s;return f$1(s=e,l,A).call(s,i)},backgroundFetch:(i,s,r,n)=>{var o;return f$1(o=e,l,Ct).call(o,i,s,r,n)},moveToTail:i=>{var s;return f$1(s=e,l,wt).call(s,i)},indexes:i=>{var s;return f$1(s=e,l,ht).call(s,i)},rindexes:i=>{var s;return f$1(s=e,l,dt).call(s,i)},isStale:i=>{var s;return c(s=e,Y).call(s,i)}}}get max(){return c(this,K)}get maxSize(){return c(this,G)}get calculatedSize(){return c(this,B)}get size(){return c(this,U)}get fetchMethod(){return c(this,yt)}get memoMethod(){return c(this,Et)}get dispose(){return c(this,q)}get onInsert(){return c(this,ut)}get disposeAfter(){return c(this,X)}getRemainingTTL(e){return c(this,T).has(e)?1/0:0}*entries(){for(let e of f$1(this,l,ht).call(this))c(this,f)[e]!==void 0&&c(this,b)[e]!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield [c(this,b)[e],c(this,f)[e]]);}*rentries(){for(let e of f$1(this,l,dt).call(this))c(this,f)[e]!==void 0&&c(this,b)[e]!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield [c(this,b)[e],c(this,f)[e]]);}*keys(){for(let e of f$1(this,l,ht).call(this)){let i=c(this,b)[e];i!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield i);}}*rkeys(){for(let e of f$1(this,l,dt).call(this)){let i=c(this,b)[e];i!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield i);}}*values(){for(let e of f$1(this,l,ht).call(this))c(this,f)[e]!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield c(this,f)[e]);}*rvalues(){for(let e of f$1(this,l,dt).call(this))c(this,f)[e]!==void 0&&!f$1(this,l,A).call(this,c(this,f)[e])&&(yield c(this,f)[e]);}[(Bt=Symbol.iterator,$t=Symbol.toStringTag,Bt)](){return this.entries()}find(e,i={}){for(let s of f$1(this,l,ht).call(this)){let r=c(this,f)[s],n=f$1(this,l,A).call(this,r)?r.__staleWhileFetching:r;if(n!==void 0&&e(n,c(this,b)[s],this))return this.get(c(this,b)[s],i)}}forEach(e,i=this){for(let s of f$1(this,l,ht).call(this)){let r=c(this,f)[s],n=f$1(this,l,A).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,c(this,b)[s],this);}}rforEach(e,i=this){for(let s of f$1(this,l,dt).call(this)){let r=c(this,f)[s],n=f$1(this,l,A).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,c(this,b)[s],this);}}purgeStale(){let e=false;for(let i of f$1(this,l,dt).call(this,{allowStale:true}))c(this,Y).call(this,i)&&(f$1(this,l,ct).call(this,c(this,b)[i],"expire"),e=true);return e}info(e){let i=c(this,T).get(e);if(i===void 0)return;let s=c(this,f)[i],r=f$1(this,l,A).call(this,s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(c(this,V)&&c(this,Z)){let o=c(this,V)[i],d=c(this,Z)[i];if(o&&d){let c$1=o-(c(this,$).now()-d);n.ttl=c$1,n.start=Date.now();}}return c(this,Q)&&(n.size=c(this,Q)[i]),n}dump(){let e=[];for(let i of f$1(this,l,ht).call(this,{allowStale:true})){let s=c(this,b)[i],r=c(this,f)[i],n=f$1(this,l,A).call(this,r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(c(this,V)&&c(this,Z)){o.ttl=c(this,V)[i];let d=c(this,$).now()-c(this,Z)[i];o.start=Math.floor(Date.now()-d);}c(this,Q)&&(o.size=c(this,Q)[i]),e.unshift([s,o]);}return e}load(e){this.clear();for(let[i,s]of e){if(s.start){let r=Date.now()-s.start;s.start=c(this,$).now()-r;}this.set(i,s.value,s);}}set(e$1,i,s={}){var rt,M,k,w;if(i===void 0)return this.delete(e$1),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:d=this.sizeCalculation,status:c$1}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,R=c(this,Tt).call(this,e$1,i,s.size||0,d);if(this.maxEntrySize&&R>this.maxEntrySize)return c$1&&(c$1.set="miss",c$1.maxEntrySizeExceeded=true),f$1(this,l,ct).call(this,e$1,"set"),this;let S=c(this,U)===0?void 0:c(this,T).get(e$1);if(S===void 0)S=c(this,U)===0?c(this,D):c(this,J).length!==0?c(this,J).pop():c(this,U)===c(this,K)?f$1(this,l,Lt).call(this,false):c(this,U),c(this,b)[S]=e$1,c(this,f)[S]=i,c(this,T).set(e$1,S),c(this,F)[c(this,D)]=S,c(this,z)[S]=c(this,D),e(this,D,S),g(this,U)._++,c(this,At).call(this,S,R,c$1),c$1&&(c$1.set="add"),v=false,c(this,xt)&&((rt=c(this,ut))==null||rt.call(this,i,e$1,"add"));else {f$1(this,l,wt).call(this,S);let E=c(this,f)[S];if(i!==E){if(c(this,pt)&&f$1(this,l,A).call(this,E)){E.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:a}=E;a!==void 0&&!o&&(c(this,tt)&&((M=c(this,q))==null||M.call(this,a,e$1,"set")),c(this,P)&&c(this,L)?.push([a,e$1,"set"]));}else o||(c(this,tt)&&((k=c(this,q))==null||k.call(this,E,e$1,"set")),c(this,P)&&c(this,L)?.push([E,e$1,"set"]));if(c(this,mt).call(this,S),c(this,At).call(this,S,R,c$1),c(this,f)[S]=i,c$1){c$1.set="replace";let a=E&&f$1(this,l,A).call(this,E)?E.__staleWhileFetching:E;a!==void 0&&(c$1.oldValue=a);}}else c$1&&(c$1.set="update");c(this,xt)&&this.onInsert?.(i,e$1,i===E?"update":"replace");}if(r!==0&&!c(this,V)&&f$1(this,l,It).call(this),c(this,V)&&(v||c(this,Ot).call(this,S,r,n),c$1&&c(this,ot).call(this,c$1,S)),!o&&c(this,P)&&c(this,L)){let E=c(this,L),a;for(;a=E?.shift();)(w=c(this,X))==null||w.call(this,...a);}return this}pop(){var e;try{for(;c(this,U);){let i=c(this,f)[c(this,N)];if(f$1(this,l,Lt).call(this,!0),f$1(this,l,A).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(c(this,P)&&c(this,L)){let i=c(this,L),s;for(;s=i?.shift();)(e=c(this,X))==null||e.call(this,...s);}}}has(e,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=c(this,T).get(e);if(n!==void 0){let o=c(this,f)[n];if(f$1(this,l,A).call(this,o)&&o.__staleWhileFetching===void 0)return false;if(c(this,Y).call(this,n))r&&(r.has="stale",c(this,ot).call(this,r,n));else return s&&c(this,ft).call(this,n),r&&(r.has="hit",c(this,ot).call(this,r,n)),true}else r&&(r.has="miss");return false}peek(e,i={}){let{allowStale:s=this.allowStale}=i,r=c(this,T).get(e);if(r===void 0||!s&&c(this,Y).call(this,r))return;let n=c(this,f)[r];return f$1(this,l,A).call(this,n)?n.__staleWhileFetching:n}async fetch(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:d=this.noDisposeOnSet,size:c$1=0,sizeCalculation:v=this.sizeCalculation,noUpdateTTL:R=this.noUpdateTTL,noDeleteOnFetchRejection:S=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:rt=this.allowStaleOnFetchRejection,ignoreFetchAbort:M=this.ignoreFetchAbort,allowStaleOnFetchAbort:k=this.allowStaleOnFetchAbort,context:w,forceRefresh:E=false,status:a,signal:x}=i;if(!c(this,pt))return a&&(a.fetch="get"),this.get(e,{allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,status:a});let O={allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:d,size:c$1,sizeCalculation:v,noUpdateTTL:R,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:rt,allowStaleOnFetchAbort:k,ignoreFetchAbort:M,status:a,signal:x},u=c(this,T).get(e);if(u===void 0){a&&(a.fetch="miss");let m=f$1(this,l,Ct).call(this,e,u,O,w);return m.__returned=m}else {let m=c(this,f)[u];if(f$1(this,l,A).call(this,m)){let vt=s&&m.__staleWhileFetching!==void 0;return a&&(a.fetch="inflight",vt&&(a.returnedStale=true)),vt?m.__staleWhileFetching:m.__returned=m}let j=c(this,Y).call(this,u);if(!E&&!j)return a&&(a.fetch="hit"),f$1(this,l,wt).call(this,u),r&&c(this,ft).call(this,u),a&&c(this,ot).call(this,a,u),m;let H=f$1(this,l,Ct).call(this,e,u,O,w),gt=H.__staleWhileFetching!==void 0&&s;return a&&(a.fetch=j?"stale":"refresh",gt&&j&&(a.returnedStale=true)),gt?H.__staleWhileFetching:H.__returned=H}}async forceFetch(e,i={}){let s=await this.fetch(e,i);if(s===void 0)throw new Error("fetch() returned undefined");return s}memo(e,i={}){let s=c(this,Et);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,d=this.get(e,o);if(!n&&d!==void 0)return d;let c$1=s(e,d,{options:o,context:r});return this.set(e,c$1,o),c$1}get(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,d=c(this,T).get(e);if(d!==void 0){let c$1=c(this,f)[d],v=f$1(this,l,A).call(this,c$1);return o&&c(this,ot).call(this,o,d),c(this,Y).call(this,d)?(o&&(o.get="stale"),v?(o&&s&&c$1.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?c$1.__staleWhileFetching:void 0):(n||f$1(this,l,ct).call(this,e,"expire"),o&&s&&(o.returnedStale=true),s?c$1:void 0)):(o&&(o.get="hit"),v?c$1.__staleWhileFetching:(f$1(this,l,wt).call(this,d),r&&c(this,ft).call(this,d),c$1))}else o&&(o.get="miss");}delete(e){return f$1(this,l,ct).call(this,e,"delete")}clear(){return f$1(this,l,zt).call(this,"delete")}},K=new WeakMap,G=new WeakMap,q=new WeakMap,ut=new WeakMap,X=new WeakMap,yt=new WeakMap,Et=new WeakMap,$=new WeakMap,U=new WeakMap,B=new WeakMap,T=new WeakMap,b=new WeakMap,f=new WeakMap,F=new WeakMap,z=new WeakMap,N=new WeakMap,D=new WeakMap,J=new WeakMap,L=new WeakMap,Q=new WeakMap,Z=new WeakMap,V=new WeakMap,W=new WeakMap,tt=new WeakMap,pt=new WeakMap,P=new WeakMap,xt=new WeakMap,l=new WeakSet,It=function(){let e$1=new Dt(c(this,K)),i=new Dt(c(this,K));e(this,V,e$1),e(this,Z,i);let s=this.ttlAutopurge?new Array(c(this,K)):void 0;e(this,W,s),e(this,Ot,(d,c$1,v=c(this,$).now())=>{i[d]=c$1!==0?v:0,e$1[d]=c$1,r(d,c$1);}),e(this,ft,d=>{i[d]=e$1[d]!==0?c(this,$).now():0,r(d,e$1[d]);});let r=this.ttlAutopurge?(d,c$1)=>{if(s?.[d]&&(clearTimeout(s[d]),s[d]=void 0),c$1&&c$1!==0&&s){let v=setTimeout(()=>{c(this,Y).call(this,d)&&f$1(this,l,ct).call(this,c(this,b)[d],"expire");},c$1+1);v.unref&&v.unref(),s[d]=v;}}:()=>{};e(this,ot,(d,c)=>{if(e$1[c]){let v=e$1[c],R=i[c];if(!v||!R)return;d.ttl=v,d.start=R,d.now=n||o();let S=d.now-R;d.remainingTTL=v-S;}});let n=0,o=()=>{let d=c(this,$).now();if(this.ttlResolution>0){n=d;let c=setTimeout(()=>n=0,this.ttlResolution);c.unref&&c.unref();}return d};this.getRemainingTTL=d=>{let c$1=c(this,T).get(d);if(c$1===void 0)return 0;let v=e$1[c$1],R=i[c$1];if(!v||!R)return 1/0;let S=(n||o())-R;return v-S},e(this,Y,d=>{let c=i[d],v=e$1[d];return !!v&&!!c&&(n||o())-c>v});},ft=new WeakMap,ot=new WeakMap,Ot=new WeakMap,Y=new WeakMap,ee=function(){let e$1=new Dt(c(this,K));e(this,B,0),e(this,Q,e$1),e(this,mt,i=>{e(this,B,c(this,B)-e$1[i]),e$1[i]=0;}),e(this,Tt,(i,s,r,n)=>{if(f$1(this,l,A).call(this,s))return 0;if(!lt(r))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(r=n(s,i),!lt(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r}),e(this,At,(i,s,r)=>{if(e$1[i]=s,c(this,G)){let n=c(this,G)-e$1[i];for(;c(this,B)>n;)f$1(this,l,Lt).call(this,true);}e(this,B,c(this,B)+e$1[i]),r&&(r.entrySize=s,r.totalCalculatedSize=c(this,B));});},mt=new WeakMap,At=new WeakMap,Tt=new WeakMap,ht=function*({allowStale:e=this.allowStale}={}){if(c(this,U))for(let i=c(this,D);!(!f$1(this,l,Mt).call(this,i)||((e||!c(this,Y).call(this,i))&&(yield i),i===c(this,N)));)i=c(this,z)[i];},dt=function*({allowStale:e=this.allowStale}={}){if(c(this,U))for(let i=c(this,N);!(!f$1(this,l,Mt).call(this,i)||((e||!c(this,Y).call(this,i))&&(yield i),i===c(this,D)));)i=c(this,F)[i];},Mt=function(e){return e!==void 0&&c(this,T).get(c(this,b)[e])===e},Lt=function(e$1){var n;let i=c(this,N),s=c(this,b)[i],r=c(this,f)[i];return c(this,pt)&&f$1(this,l,A).call(this,r)?r.__abortController.abort(new Error("evicted")):(c(this,tt)||c(this,P))&&(c(this,tt)&&((n=c(this,q))==null||n.call(this,r,s,"evict")),c(this,P)&&c(this,L)?.push([r,s,"evict"])),c(this,mt).call(this,i),c(this,W)?.[i]&&(clearTimeout(c(this,W)[i]),c(this,W)[i]=void 0),e$1&&(c(this,b)[i]=void 0,c(this,f)[i]=void 0,c(this,J).push(i)),c(this,U)===1?(e(this,N,e(this,D,0)),c(this,J).length=0):e(this,N,c(this,F)[i]),c(this,T).delete(s),g(this,U)._--,i},Ct=function(e,i,s,r){let n=i===void 0?void 0:c(this,f)[i];if(f$1(this,l,A).call(this,n))return n;let o=new Nt,{signal:d}=s;d?.addEventListener("abort",()=>o.abort(d.reason),{signal:o.signal});let c$1={signal:o.signal,options:s,context:r},v=(w,E=false)=>{let{aborted:a}=o.signal,x=s.ignoreFetchAbort&&w!==void 0,O=s.ignoreFetchAbort||!!(s.allowStaleOnFetchAbort&&w!==void 0);if(s.status&&(a&&!E?(s.status.fetchAborted=true,s.status.fetchError=o.signal.reason,x&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),a&&!x&&!E)return S(o.signal.reason,O);let u=M,m=c(this,f)[i];return (m===M||x&&E&&m===void 0)&&(w===void 0?u.__staleWhileFetching!==void 0?c(this,f)[i]=u.__staleWhileFetching:f$1(this,l,ct).call(this,e,"fetch"):(s.status&&(s.status.fetchUpdated=true),this.set(e,w,c$1.options))),w},R=w=>(s.status&&(s.status.fetchRejected=true,s.status.fetchError=w),S(w,false)),S=(w,E)=>{let{aborted:a}=o.signal,x=a&&s.allowStaleOnFetchAbort,O=x||s.allowStaleOnFetchRejection,u=O||s.noDeleteOnFetchRejection,m=M;if(c(this,f)[i]===M&&(!u||!E&&m.__staleWhileFetching===void 0?f$1(this,l,ct).call(this,e,"fetch"):x||(c(this,f)[i]=m.__staleWhileFetching)),O)return s.status&&m.__staleWhileFetching!==void 0&&(s.status.returnedStale=true),m.__staleWhileFetching;if(m.__returned===m)throw w},rt=(w,E)=>{var x;let a=(x=c(this,yt))==null?void 0:x.call(this,e,n,c$1);a&&a instanceof Promise&&a.then(O=>w(O===void 0?void 0:O),E),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(w(void 0),s.allowStaleOnFetchAbort&&(w=O=>v(O,true)));});};s.status&&(s.status.fetchDispatched=true);let M=new Promise(rt).then(v,R),k=Object.assign(M,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return i===void 0?(this.set(e,k,{...c$1.options,status:void 0}),i=c(this,T).get(e)):c(this,f)[i]=k,k},A=function(e){if(!c(this,pt))return false;let i=e;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt},Gt=function(e,i){c(this,z)[i]=e,c(this,F)[e]=i;},wt=function(e$1){e$1!==c(this,D)&&(e$1===c(this,N)?e(this,N,c(this,F)[e$1]):f$1(this,l,Gt).call(this,c(this,z)[e$1],c(this,F)[e$1]),f$1(this,l,Gt).call(this,c(this,D),e$1),e(this,D,e$1));},ct=function(e$1,i){var r,n;let s=false;if(c(this,U)!==0){let o=c(this,T).get(e$1);if(o!==void 0)if(c(this,W)?.[o]&&(clearTimeout(c(this,W)?.[o]),c(this,W)[o]=void 0),s=true,c(this,U)===1)f$1(this,l,zt).call(this,i);else {c(this,mt).call(this,o);let d=c(this,f)[o];if(f$1(this,l,A).call(this,d)?d.__abortController.abort(new Error("deleted")):(c(this,tt)||c(this,P))&&(c(this,tt)&&((r=c(this,q))==null||r.call(this,d,e$1,i)),c(this,P)&&c(this,L)?.push([d,e$1,i])),c(this,T).delete(e$1),c(this,b)[o]=void 0,c(this,f)[o]=void 0,o===c(this,D))e(this,D,c(this,z)[o]);else if(o===c(this,N))e(this,N,c(this,F)[o]);else {let c$1=c(this,z)[o];c(this,F)[c$1]=c(this,F)[o];let v=c(this,F)[o];c(this,z)[v]=c(this,z)[o];}g(this,U)._--,c(this,J).push(o);}}if(c(this,P)&&c(this,L)?.length){let o=c(this,L),d;for(;d=o?.shift();)(n=c(this,X))==null||n.call(this,...d);}return s},zt=function(e$1){var i,s;for(let r of f$1(this,l,dt).call(this,{allowStale:true})){let n=c(this,f)[r];if(f$1(this,l,A).call(this,n))n.__abortController.abort(new Error("deleted"));else {let o=c(this,b)[r];c(this,tt)&&((i=c(this,q))==null||i.call(this,n,o,e$1)),c(this,P)&&c(this,L)?.push([n,o,e$1]);}}if(c(this,T).clear(),c(this,f).fill(void 0),c(this,b).fill(void 0),c(this,V)&&c(this,Z)){c(this,V).fill(0),c(this,Z).fill(0);for(let r of c(this,W)??[])r!==void 0&&clearTimeout(r);c(this,W)?.fill(void 0);}if(c(this,Q)&&c(this,Q).fill(0),e(this,N,0),e(this,D,0),c(this,J).length=0,e(this,B,0),e(this,U,0),c(this,P)&&c(this,L)){let r=c(this,L),n;for(;n=r?.shift();)(s=c(this,X))==null||s.call(this,...n);}},bt);var Ft=class{constructor(e){b$1(this,"cache");b$1(this,"map",new Map);this.cache=new te({max:e.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){return this.cache.clear(),this.map.clear()}delete(e){let i=this.map.delete(e);return i&&this.cache.delete(e),i}get forEach(){return this.map.forEach}get(e){let i=this.cache.get(e);return i||this.map.get(e)}has(e){return this.map.has(e)}set(e,i){return this.map.set(e,i),this.cache.set(e,i),this}get size(){return this.map.size}entries(){return this.map.entries()}keys(){return this.map.keys()}values(){return this.map.values()}};var Ut="1.6.1";var Vt="repeat";function Wt(g){return {type:"pause",duration:g}}var Yt="__game_layer__";var de="general";var ce={CURRENT_DIALOGUE_MEMORY_KEY:"dialogue",LAST_DIALOGUE_ADDED_IN_STEP_MEMORY_KEY:"dialogue:step_counter",CURRENT_MENU_OPTIONS_MEMORY_KEY:"choice:options",LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY:"choice:step_counter",CURRENT_INPUT_VALUE_MEMORY_KEY:"input:value",LAST_INPUT_ADDED_IN_STEP_MEMORY_KEY:"input:step_counter",CURRENT_INPUT_INFO_MEMORY_KEY:"input:info",CHARACTER_CATEGORY_KEY:"character",ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY:"___glue___",OPENED_LABELS_COUNTER_KEY:"label:opened",ALL_CHOICES_MADE_KEY:"choices:made",CURRENT_STEP_TIMES_COUNTER_KEY:"label:history",LAST_STEP_GLUED:"glue:last_step"};var ie={};var Ht={};a(Ht,{createExportableElement:()=>se});var _t;(r=>(r.log=(n,...o)=>console.log(`[Pixi\u2019VN] ${n}`,...o),r.warn=(n,...o)=>console.warn(`[Pixi\u2019VN] ${n}`,...o),r.error=(n,...o)=>console.error(`[Pixi\u2019VN] ${n}`,...o),r.info=(n,...o)=>console.info(`[Pixi\u2019VN] ${n}`,...o)))(_t||(_t={}));function se(g){try{if(typeof g>"u")return g;let e=JSON.stringify(g);return JSON.parse(e)}catch(e){throw _t.error("Error creating exportable element",g,e),new PixiError("not_json_serializable","Error creating exportable element")}}function re(){console.info(` _______ _ _ _ ____ ____ ____ _____ |_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _| | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | _| |_ | | > ' < | | \\ ' / _| |_\\ |_ |_____| [___][__]\`\\_][___] \\_/ |_____|\\____| `);}function Kt(){let g=window.location.pathname+window.location.hash;return g.includes("#")&&(g=g.split("#")[1]),g}var kt;(E=>{async function g(a,x,O){if(GameUnifier.init({navigate:x?.navigate,getCurrentGameStepState:()=>{let u={};try{u=et.canvas.export();}catch{}return {path:Kt(),storage:I.storage.export(),canvas:u,sound:at.sound.export(),labelIndex:C.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:C.narration.openedLabels}},restoreGameStepState:async(u,m)=>{it.HistoryManagerStatic._originalStepData=u,C.NarrationManagerStatic.openedLabels=u.openedLabels,I.storage.restore(u.storage);try{await et.canvas.restore(u.canvas),await at.sound.restore(u.sound);}catch{}m(u.path);},getStepCounter:()=>C.narration.stepCounter,setStepCounter:u=>{C.NarrationManagerStatic._stepCounter=u;},getOpenedLabels:()=>C.narration.openedLabels.length,addHistoryItem:(u,m)=>it.stepHistory.add(u,m),getCharacter:u=>qt.RegisteredCharacters.get(u),processNavigationRequests:(u,m)=>{let j=u,H=Promise.resolve();return u>0?(j--,H=C.narration.continue(m)):u<0&&(j=0,H=it.stepHistory.back(m,{steps:u*-1})),{newValue:j,result:H}},animate:(u,m,j,H)=>motion.animate(u,m,j,H),getVariable:(u,m)=>I.StorageManagerStatic.getVariable(u,m),setVariable:(u,m,j)=>I.StorageManagerStatic.setVariable(u,m,j),removeVariable:(u,m)=>I.StorageManagerStatic.removeVariable(u,m),getFlag:u=>I.storage.getFlag(u),setFlag:(u,m)=>I.storage.setFlag(u,m),onLabelClosing:u=>I.StorageManagerStatic.clearOldTempVariables(u)}),re(),!a||!x){_t.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await et.canvas.init(a,x,O)}E.init=g;function e(){I.storage.clear();try{et.canvas.clear();}catch{}at.sound.clear(),C.narration.clear(),it.stepHistory.clear();}E.clear=e;function i(){let a={};try{a=et.canvas.export();}catch{}return {pixivn_version:Ut,stepData:C.narration.export(),storageData:I.storage.export(),canvasData:a,soundData:at.sound.export(),historyData:it.stepHistory.export(),path:Kt()}}E.exportGameState=i;async function s(a,x){it.stepHistory.restore(a.historyData);let O=it.stepHistory.lastKey;if(typeof O=="number"){let u=it.stepHistory.stepsInfoMap.get(O)||null;await C.narration.restore(a.stepData,u);}I.storage.restore(a.storageData);try{await et.canvas.restore(a.canvasData),await at.sound.restore(a.soundData);}catch{}await x(a.path);}E.restoreGameState=s;async function r(a,x){return et.canvas.removeAll(),et.canvas.clear(),at.sound.stopAll(),await C.narration.call(a,x)}E.start=r;function n(a){return JSON.parse(a)}E.jsonToGameState=n;function o(a){GameUnifier.onEnd=a;}E.onEnd=o;function d(a){return _t.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),GameUnifier.addOnError((x,O)=>a("step",x,O))}E.onError=d;function c(a){return GameUnifier.addOnError(a)}E.addOnError=c;function v(a){return GameUnifier.removeOnError(a)}E.removeOnError=v;function R(a){C.NarrationManagerStatic.onStepStart=a;}E.onStepStart=R;function S(a){C.NarrationManagerStatic.onLoadingLabel=a;}E.onLoadingLabel=S;function rt(a){C.NarrationManagerStatic.onStepEnd=a;}E.onStepEnd=rt;function M(a){GameUnifier.navigate=a;}E.onNavigate=M;function k(a){return GameUnifier.addOnPreContinue(a)}E.addOnPreContinue=k;function w(a){return GameUnifier.removeOnPreContinue(a)}E.removeOnPreContinue=w;})(kt||(kt={}));var ze={characterUtils:qt,canvasUtils:et,narrationUtils:C,soundUtils:at,CANVAS_APP_GAME_LAYER_ALIAS:Yt,Pause:Wt,Repeat:Vt,PIXIVN_VERSION:Ut,...Ht,...ie,canvas:et.canvas,narration:C.narration,sound:at.sound,storage:I.storage,history:it.stepHistory,Game:kt,GameUnifier:GameUnifier};export{Yt as CANVAS_APP_GAME_LAYER_ALIAS,Ft as CachedMap,de as GENERAL_CHANNEL,kt as Game,Ut as PIXIVN_VERSION,Wt as Pause,Vt as Repeat,ce as SYSTEM_RESERVED_STORAGE_KEYS,se as createExportableElement,ze as default};