UNPKG

@drincs/pixi-vn

Version:

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

2 lines 28.9 kB
import {b as b$1,d,a,c,e,f as f$1,g}from'./chunk-TTRUPDAB.mjs';import*as nt from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as Bt 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 et 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 ut from'@drincs/pixi-vn/sound';export*from'@drincs/pixi-vn/sound';import*as G from'@drincs/pixi-vn/storage';export*from'@drincs/pixi-vn/storage';import {motion}from'@drincs/pixi-vn/motion';var de=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Zt=new Set,jt=typeof process=="object"&&process?process:{},te=(m,e,i,s)=>{typeof jt.emitWarning=="function"?jt.emitWarning(m,e,i,s):console.error(`[${i}] ${e}: ${m}`);},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 m=jt.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{m&&(m=false,te("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 pe=m=>!Zt.has(m);var at=m=>m&&m===Math.floor(m)&&m>0&&isFinite(m),ee=m=>at(m)?m<=Math.pow(2,8)?Uint8Array:m<=Math.pow(2,16)?Uint16Array:m<=Math.pow(2,32)?Uint32Array:m<=Number.MAX_SAFE_INTEGER?Dt:null:null,Dt=class extends Array{constructor(m){super(m),this.fill(0);}},it,St,ue=(it=class{constructor(e,i){b$1(this,"heap");b$1(this,"length");if(!c(it,St))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e),this.length=0;}static create(e$1){let i=ee(e$1);if(!i)return [];e(it,St,true);let s=new it(e$1,i);return e(it,St,false),s}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},St=new WeakMap,d(it,St,false),it),Jt,Qt,K,M,q,ft,$,yt,xt,B,U,X,T,b,f,P,z,N,D,J,L,Q,Z,V,W,tt,dt,j,Et,l,Gt,mt,ot,Ot,Y,se,gt,wt,Tt,lt,ht,It,Lt,Ct,w,Mt,At,ct,zt,bt,ie=(bt=class{constructor(e$1){d(this,l);d(this,K);d(this,M);d(this,q);d(this,ft);d(this,$);d(this,yt);d(this,xt);d(this,B);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,X);d(this,T);d(this,b);d(this,f);d(this,P);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,dt);d(this,j);d(this,Et);d(this,mt,()=>{});d(this,ot,()=>{});d(this,Ot,()=>{});d(this,Y,()=>false);d(this,gt,e=>{});d(this,wt,(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,Jt,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:h,allowStale:d$1,dispose:v,onInsert:R,disposeAfter:S,noDisposeOnSet:rt,noUpdateTTL:I,maxSize:k=0,maxEntrySize:A=0,sizeCalculation:y,fetchMethod:a,memoMethod:x,noDeleteOnFetchRejection:O,noDeleteOnStaleGet:u,allowStaleOnFetchRejection:g,allowStaleOnFetchAbort:F,ignoreFetchAbort:H,perf:_t}=e$1;if(_t!==void 0&&typeof _t?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(e(this,B,_t??de),i!==0&&!at(i))throw new TypeError("max option must be a nonnegative integer");let vt=i?ee(i):Array;if(!vt)throw new Error("invalid max value: "+i);if(e(this,K,i),e(this,M,k),this.maxEntrySize=A||c(this,M),this.sizeCalculation=y,this.sizeCalculation){if(!c(this,M)&&!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,xt,x),a!==void 0&&typeof a!="function")throw new TypeError("fetchMethod must be a function if specified");if(e(this,yt,a),e(this,dt,!!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,P,new vt(i)),e(this,z,new vt(i)),e(this,N,0),e(this,D,0),e(this,J,ue.create(i)),e(this,U,0),e(this,X,0),typeof v=="function"&&e(this,q,v),typeof R=="function"&&e(this,ft,R),typeof S=="function"?(e(this,$,S),e(this,L,[])):(e(this,$,void 0),e(this,L,void 0)),e(this,tt,!!c(this,q)),e(this,Et,!!c(this,ft)),e(this,j,!!c(this,$)),this.noDisposeOnSet=!!rt,this.noUpdateTTL=!!I,this.noDeleteOnFetchRejection=!!O,this.allowStaleOnFetchRejection=!!g,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!H,this.maxEntrySize!==0){if(c(this,M)!==0&&!at(c(this,M)))throw new TypeError("maxSize must be a positive integer if specified");if(!at(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");f$1(this,l,se).call(this);}if(this.allowStale=!!d$1,this.noDeleteOnStaleGet=!!u,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!h,this.ttlResolution=at(r)||r===0?r:1,this.ttlAutopurge=!!n,this.ttl=s||0,this.ttl){if(!at(this.ttl))throw new TypeError("ttl must be a positive integer if specified");f$1(this,l,Gt).call(this);}if(c(this,K)===0&&this.ttl===0&&c(this,M)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!c(this,K)&&!c(this,M)){let Pt="LRU_CACHE_UNBOUNDED";pe(Pt)&&(Zt.add(Pt),te("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Pt,bt));}}get perf(){return c(this,B)}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,P),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,w).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,At).call(s,i)},indexes:i=>{var s;return f$1(s=e,l,lt).call(s,i)},rindexes:i=>{var s;return f$1(s=e,l,ht).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,M)}get calculatedSize(){return c(this,X)}get size(){return c(this,U)}get fetchMethod(){return c(this,yt)}get memoMethod(){return c(this,xt)}get dispose(){return c(this,q)}get onInsert(){return c(this,ft)}get disposeAfter(){return c(this,$)}getRemainingTTL(e){return c(this,T).has(e)?1/0:0}*entries(){for(let e of f$1(this,l,lt).call(this))c(this,f)[e]!==void 0&&c(this,b)[e]!==void 0&&!f$1(this,l,w).call(this,c(this,f)[e])&&(yield [c(this,b)[e],c(this,f)[e]]);}*rentries(){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,w).call(this,c(this,f)[e])&&(yield [c(this,b)[e],c(this,f)[e]]);}*keys(){for(let e of f$1(this,l,lt).call(this)){let i=c(this,b)[e];i!==void 0&&!f$1(this,l,w).call(this,c(this,f)[e])&&(yield i);}}*rkeys(){for(let e of f$1(this,l,ht).call(this)){let i=c(this,b)[e];i!==void 0&&!f$1(this,l,w).call(this,c(this,f)[e])&&(yield i);}}*values(){for(let e of f$1(this,l,lt).call(this))c(this,f)[e]!==void 0&&!f$1(this,l,w).call(this,c(this,f)[e])&&(yield c(this,f)[e]);}*rvalues(){for(let e of f$1(this,l,ht).call(this))c(this,f)[e]!==void 0&&!f$1(this,l,w).call(this,c(this,f)[e])&&(yield c(this,f)[e]);}[(Qt=Symbol.iterator,Jt=Symbol.toStringTag,Qt)](){return this.entries()}find(e,i={}){for(let s of f$1(this,l,lt).call(this)){let r=c(this,f)[s],n=f$1(this,l,w).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,lt).call(this)){let r=c(this,f)[s],n=f$1(this,l,w).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,ht).call(this)){let r=c(this,f)[s],n=f$1(this,l,w).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,ht).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,w).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],h=c(this,Z)[i];if(o&&h){let d=o-(c(this,B).now()-h);n.ttl=d,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,lt).call(this,{allowStale:true})){let s=c(this,b)[i],r=c(this,f)[i],n=f$1(this,l,w).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 h=c(this,B).now()-c(this,Z)[i];o.start=Math.floor(Date.now()-h);}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,B).now()-r;}this.set(i,s.value,s);}}set(e$1,i,s={}){var rt,I,k,A;if(i===void 0)return this.delete(e$1),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:h=this.sizeCalculation,status:d}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,R=c(this,Tt).call(this,e$1,i,s.size||0,h);if(this.maxEntrySize&&R>this.maxEntrySize)return d&&(d.set="miss",d.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,P)[c(this,D)]=S,c(this,z)[S]=c(this,D),e(this,D,S),g(this,U)._++,c(this,wt).call(this,S,R,d),d&&(d.set="add"),v=false,c(this,Et)&&((rt=c(this,ft))==null||rt.call(this,i,e$1,"add"));else {f$1(this,l,At).call(this,S);let y=c(this,f)[S];if(i!==y){if(c(this,dt)&&f$1(this,l,w).call(this,y)){y.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:a}=y;a!==void 0&&!o&&(c(this,tt)&&((I=c(this,q))==null||I.call(this,a,e$1,"set")),c(this,j)&&c(this,L)?.push([a,e$1,"set"]));}else o||(c(this,tt)&&((k=c(this,q))==null||k.call(this,y,e$1,"set")),c(this,j)&&c(this,L)?.push([y,e$1,"set"]));if(c(this,gt).call(this,S),c(this,wt).call(this,S,R,d),c(this,f)[S]=i,d){d.set="replace";let a=y&&f$1(this,l,w).call(this,y)?y.__staleWhileFetching:y;a!==void 0&&(d.oldValue=a);}}else d&&(d.set="update");c(this,Et)&&this.onInsert?.(i,e$1,i===y?"update":"replace");}if(r!==0&&!c(this,V)&&f$1(this,l,Gt).call(this),c(this,V)&&(v||c(this,Ot).call(this,S,r,n),d&&c(this,ot).call(this,d,S)),!o&&c(this,j)&&c(this,L)){let y=c(this,L),a;for(;a=y?.shift();)(A=c(this,$))==null||A.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,w).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(c(this,j)&&c(this,L)){let i=c(this,L),s;for(;s=i?.shift();)(e=c(this,$))==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,w).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,mt).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,w).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:h=this.noDisposeOnSet,size:d=0,sizeCalculation:v=this.sizeCalculation,noUpdateTTL:R=this.noUpdateTTL,noDeleteOnFetchRejection:S=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:rt=this.allowStaleOnFetchRejection,ignoreFetchAbort:I=this.ignoreFetchAbort,allowStaleOnFetchAbort:k=this.allowStaleOnFetchAbort,context:A,forceRefresh:y=false,status:a,signal:x}=i;if(!c(this,dt))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:h,size:d,sizeCalculation:v,noUpdateTTL:R,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:rt,allowStaleOnFetchAbort:k,ignoreFetchAbort:I,status:a,signal:x},u=c(this,T).get(e);if(u===void 0){a&&(a.fetch="miss");let g=f$1(this,l,Ct).call(this,e,u,O,A);return g.__returned=g}else {let g=c(this,f)[u];if(f$1(this,l,w).call(this,g)){let vt=s&&g.__staleWhileFetching!==void 0;return a&&(a.fetch="inflight",vt&&(a.returnedStale=true)),vt?g.__staleWhileFetching:g.__returned=g}let F=c(this,Y).call(this,u);if(!y&&!F)return a&&(a.fetch="hit"),f$1(this,l,At).call(this,u),r&&c(this,mt).call(this,u),a&&c(this,ot).call(this,a,u),g;let H=f$1(this,l,Ct).call(this,e,u,O,A),_t=H.__staleWhileFetching!==void 0&&s;return a&&(a.fetch=F?"stale":"refresh",_t&&F&&(a.returnedStale=true)),_t?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,xt);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,h=this.get(e,o);if(!n&&h!==void 0)return h;let d=s(e,h,{options:o,context:r});return this.set(e,d,o),d}get(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,h=c(this,T).get(e);if(h!==void 0){let d=c(this,f)[h],v=f$1(this,l,w).call(this,d);return o&&c(this,ot).call(this,o,h),c(this,Y).call(this,h)?(o&&(o.get="stale"),v?(o&&s&&d.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?d.__staleWhileFetching:void 0):(n||f$1(this,l,ct).call(this,e,"expire"),o&&s&&(o.returnedStale=true),s?d:void 0)):(o&&(o.get="hit"),v?d.__staleWhileFetching:(f$1(this,l,At).call(this,h),r&&c(this,mt).call(this,h),d))}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,M=new WeakMap,q=new WeakMap,ft=new WeakMap,$=new WeakMap,yt=new WeakMap,xt=new WeakMap,B=new WeakMap,U=new WeakMap,X=new WeakMap,T=new WeakMap,b=new WeakMap,f=new WeakMap,P=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,dt=new WeakMap,j=new WeakMap,Et=new WeakMap,l=new WeakSet,Gt=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,(h,d,v=c(this,B).now())=>{i[h]=d!==0?v:0,e$1[h]=d,r(h,d);}),e(this,mt,h=>{i[h]=e$1[h]!==0?c(this,B).now():0,r(h,e$1[h]);});let r=this.ttlAutopurge?(h,d)=>{if(s?.[h]&&(clearTimeout(s[h]),s[h]=void 0),d&&d!==0&&s){let v=setTimeout(()=>{c(this,Y).call(this,h)&&f$1(this,l,ct).call(this,c(this,b)[h],"expire");},d+1);v.unref&&v.unref(),s[h]=v;}}:()=>{};e(this,ot,(h,d)=>{if(e$1[d]){let v=e$1[d],R=i[d];if(!v||!R)return;h.ttl=v,h.start=R,h.now=n||o();let S=h.now-R;h.remainingTTL=v-S;}});let n=0,o=()=>{let h=c(this,B).now();if(this.ttlResolution>0){n=h;let d=setTimeout(()=>n=0,this.ttlResolution);d.unref&&d.unref();}return h};this.getRemainingTTL=h=>{let d=c(this,T).get(h);if(d===void 0)return 0;let v=e$1[d],R=i[d];if(!v||!R)return 1/0;let S=(n||o())-R;return v-S},e(this,Y,h=>{let d=i[h],v=e$1[h];return !!v&&!!d&&(n||o())-d>v});},mt=new WeakMap,ot=new WeakMap,Ot=new WeakMap,Y=new WeakMap,se=function(){let e$1=new Dt(c(this,K));e(this,X,0),e(this,Q,e$1),e(this,gt,i=>{e(this,X,c(this,X)-e$1[i]),e$1[i]=0;}),e(this,Tt,(i,s,r,n)=>{if(f$1(this,l,w).call(this,s))return 0;if(!at(r))if(n){if(typeof n!="function")throw new TypeError("sizeCalculation must be a function");if(r=n(s,i),!at(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,wt,(i,s,r)=>{if(e$1[i]=s,c(this,M)){let n=c(this,M)-e$1[i];for(;c(this,X)>n;)f$1(this,l,Lt).call(this,true);}e(this,X,c(this,X)+e$1[i]),r&&(r.entrySize=s,r.totalCalculatedSize=c(this,X));});},gt=new WeakMap,wt=new WeakMap,Tt=new WeakMap,lt=function*({allowStale:e=this.allowStale}={}){if(c(this,U))for(let i=c(this,D);!(!f$1(this,l,It).call(this,i)||((e||!c(this,Y).call(this,i))&&(yield i),i===c(this,N)));)i=c(this,z)[i];},ht=function*({allowStale:e=this.allowStale}={}){if(c(this,U))for(let i=c(this,N);!(!f$1(this,l,It).call(this,i)||((e||!c(this,Y).call(this,i))&&(yield i),i===c(this,D)));)i=c(this,P)[i];},It=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,dt)&&f$1(this,l,w).call(this,r)?r.__abortController.abort(new Error("evicted")):(c(this,tt)||c(this,j))&&(c(this,tt)&&((n=c(this,q))==null||n.call(this,r,s,"evict")),c(this,j)&&c(this,L)?.push([r,s,"evict"])),c(this,gt).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,P)[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,w).call(this,n))return n;let o=new Nt,{signal:h}=s;h?.addEventListener("abort",()=>o.abort(h.reason),{signal:o.signal});let d={signal:o.signal,options:s,context:r},v=(A,y=false)=>{let{aborted:a}=o.signal,x=s.ignoreFetchAbort&&A!==void 0,O=s.ignoreFetchAbort||!!(s.allowStaleOnFetchAbort&&A!==void 0);if(s.status&&(a&&!y?(s.status.fetchAborted=true,s.status.fetchError=o.signal.reason,x&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),a&&!x&&!y)return S(o.signal.reason,O);let u=I,g=c(this,f)[i];return (g===I||x&&y&&g===void 0)&&(A===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,A,d.options))),A},R=A=>(s.status&&(s.status.fetchRejected=true,s.status.fetchError=A),S(A,false)),S=(A,y)=>{let{aborted:a}=o.signal,x=a&&s.allowStaleOnFetchAbort,O=x||s.allowStaleOnFetchRejection,u=O||s.noDeleteOnFetchRejection,g=I;if(c(this,f)[i]===I&&(!u||!y&&g.__staleWhileFetching===void 0?f$1(this,l,ct).call(this,e,"fetch"):x||(c(this,f)[i]=g.__staleWhileFetching)),O)return s.status&&g.__staleWhileFetching!==void 0&&(s.status.returnedStale=true),g.__staleWhileFetching;if(g.__returned===g)throw A},rt=(A,y)=>{var x;let a=(x=c(this,yt))==null?void 0:x.call(this,e,n,d);a&&a instanceof Promise&&a.then(O=>A(O===void 0?void 0:O),y),o.signal.addEventListener("abort",()=>{(!s.ignoreFetchAbort||s.allowStaleOnFetchAbort)&&(A(void 0),s.allowStaleOnFetchAbort&&(A=O=>v(O,true)));});};s.status&&(s.status.fetchDispatched=true);let I=new Promise(rt).then(v,R),k=Object.assign(I,{__abortController:o,__staleWhileFetching:n,__returned:void 0});return i===void 0?(this.set(e,k,{...d.options,status:void 0}),i=c(this,T).get(e)):c(this,f)[i]=k,k},w=function(e){if(!c(this,dt))return false;let i=e;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt},Mt=function(e,i){c(this,z)[i]=e,c(this,P)[e]=i;},At=function(e$1){e$1!==c(this,D)&&(e$1===c(this,N)?e(this,N,c(this,P)[e$1]):f$1(this,l,Mt).call(this,c(this,z)[e$1],c(this,P)[e$1]),f$1(this,l,Mt).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,gt).call(this,o);let h=c(this,f)[o];if(f$1(this,l,w).call(this,h)?h.__abortController.abort(new Error("deleted")):(c(this,tt)||c(this,j))&&(c(this,tt)&&((r=c(this,q))==null||r.call(this,h,e$1,i)),c(this,j)&&c(this,L)?.push([h,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,P)[o]);else {let d=c(this,z)[o];c(this,P)[d]=c(this,P)[o];let v=c(this,P)[o];c(this,z)[v]=c(this,z)[o];}g(this,U)._--,c(this,J).push(o);}}if(c(this,j)&&c(this,L)?.length){let o=c(this,L),h;for(;h=o?.shift();)(n=c(this,$))==null||n.call(this,...h);}return s},zt=function(e$1){var i,s;for(let r of f$1(this,l,ht).call(this,{allowStale:true})){let n=c(this,f)[r];if(f$1(this,l,w).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,j)&&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,X,0),e(this,U,0),c(this,j)&&c(this,L)){let r=c(this,L),n;for(;n=r?.shift();)(s=c(this,$))==null||s.call(this,...n);}},bt);var Ft=class{constructor(e){b$1(this,"cache");b$1(this,"map",new Map);this.cache=new ie({max:e.cacheSize}),this.map=new Map;}get[Symbol.iterator](){return this.map[Symbol.iterator]}get[Symbol.toStringTag](){return this.map[Symbol.toStringTag]}clear(){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.8.1";var Vt={version:Ut};var Wt="repeat";function Yt(m){return {type:"pause",duration:m}}var Ht="__game_layer__";var fe={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 oe={};var Kt={};a(Kt,{createExportableElement:()=>ne});var pt;(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)))(pt||(pt={}));function ne(m){try{if(typeof m>"u")return m;let e=JSON.stringify(m);return JSON.parse(e)}catch(e){throw pt.error("Error creating exportable element",m,e),new PixiError("not_json_serializable","Error creating exportable element")}}var ge=typeof window<"u"&&typeof document<"u",ae=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${Vt.version}`],le=31,_e="background:#2f90da;color:#fff;font-weight:bold;",ve="background:#c832bb;color:#fff;font-weight:bold;",Se="background:transparent;font-weight:bold;",kt=` v${Vt.version}`;function he(){if(!ge)return;let m=[],e=[];for(let i=0;i<ae.length;i++){let s=ae[i],r=s.endsWith(kt),n=r?s.slice(0,-kt.length):s,o=n.slice(0,le),h=n.slice(le),d=r?"%c%s%c%s%c%s":"%c%s%c%s";m.push(d),e.push(_e,o,ve,h),r&&e.push(Se,kt);}console.info(m.join(` `),...e);}function qt(){let m=window.location.pathname+window.location.hash;return m.includes("#")&&(m=m.split("#")[1]),m}he();var $t;(y=>{async function m(a,x,O){if(GameUnifier.init({navigate:x?.navigate,getCurrentGameStepState:()=>{let u={};try{u=nt.canvas.export();}catch{}return {path:qt(),storage:G.storage.export(),canvas:u,sound:ut.sound.export(),labelIndex:C.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:C.narration.openedLabels}},restoreGameStepState:async(u,g)=>{et.HistoryManagerStatic._originalStepData=u,C.NarrationManagerStatic.openedLabels=u.openedLabels,G.storage.restore(u.storage);try{await nt.canvas.restore(u.canvas),await ut.sound.restore(u.sound);}catch(F){pt.error("Error restoring game step state:",F);}await g(u.path);},getStepCounter:()=>C.narration.stepCounter,setStepCounter:u=>{C.NarrationManagerStatic._stepCounter=u;},getOpenedLabels:()=>C.narration.openedLabels.length,addHistoryItem:(u,g)=>et.stepHistory.add(u,g),getCharacter:u=>Bt.RegisteredCharacters.get(u),processNavigationRequests:(u,g)=>{let F=u,H=Promise.resolve();return u>0?(F--,H=C.narration.continue(g)):u<0&&(F=0,H=et.stepHistory.back(g,{steps:u*-1})),{newValue:F,result:H}},animate:(u,g,F,H)=>motion.animate(u,g,F,H),getVariable:(u,g)=>G.StorageRegistry.getVariable(u,g),setVariable:(u,g,F)=>G.StorageRegistry.setVariable(u,g,F),removeVariable:(u,g)=>G.StorageRegistry.removeVariable(u,g),getFlag:u=>G.storage.getFlag(u),setFlag:(u,g)=>G.storage.setFlag(u,g),onLabelClosing:u=>G.StorageRegistry.clearOldTempVariables(u)}),!a||!x){pt.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await nt.canvas.init(a,x,O)}y.init=m;function e(){G.storage.clear();try{nt.canvas.clear();}catch{}ut.sound.clear(),C.narration.clear(),et.stepHistory.clear();}y.clear=e;function i(){let a={};try{a=nt.canvas.export();}catch{}return {pixivn_version:Ut,stepData:C.narration.export(),storageData:G.storage.export(),canvasData:a,soundData:ut.sound.export(),historyData:et.stepHistory.export(),path:qt()}}y.exportGameState=i;async function s(a,x){et.stepHistory.restore(a.historyData);let O=et.stepHistory.lastKey;if(typeof O=="number"){let u=et.stepHistory.stepsInfoMap.get(O)||null;await C.narration.restore(a.stepData,u);}G.storage.restore(a.storageData);try{await nt.canvas.restore(a.canvasData),await ut.sound.restore(a.soundData);}catch{}x?await x(a.path):await GameUnifier.navigate(a.path);}y.restoreGameState=s;async function r(a,x){return y.clear(),await C.narration.call(a,x)}y.start=r;function n(a){return JSON.parse(a)}y.jsonToGameState=n;function o(a){GameUnifier.onEnd=a;}y.onEnd=o;function h(a){return pt.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),GameUnifier.addOnError((x,O)=>a("step",x,O))}y.onError=h;function d(a){return GameUnifier.addOnError(a)}y.addOnError=d;function v(a){return GameUnifier.removeOnError(a)}y.removeOnError=v;function R(a){C.NarrationManagerStatic.onStepStart=a;}y.onStepStart=R;function S(a){C.NarrationManagerStatic.onLoadingLabel=a;}y.onLoadingLabel=S;function rt(a){C.NarrationManagerStatic.onStepEnd=a;}y.onStepEnd=rt;function I(a){GameUnifier.navigate=a;}y.onNavigate=I;function k(a){return GameUnifier.addOnPreContinue(a)}y.addOnPreContinue=k;function A(a){return GameUnifier.removeOnPreContinue(a)}y.removeOnPreContinue=A;})($t||($t={}));var $e={characterUtils:Bt,canvasUtils:nt,narrationUtils:C,soundUtils:ut,CANVAS_APP_GAME_LAYER_ALIAS:Ht,Pause:Yt,Repeat:Wt,PIXIVN_VERSION:Ut,...Kt,...oe,canvas:nt.canvas,narration:C.narration,sound:ut.sound,storage:G.storage,history:et.stepHistory,Game:$t,GameUnifier:GameUnifier};export{Ht as CANVAS_APP_GAME_LAYER_ALIAS,Ft as CachedMap,$t as Game,Ut as PIXIVN_VERSION,Yt as Pause,Wt as Repeat,fe as SYSTEM_RESERVED_STORAGE_KEYS,ne as createExportableElement,$e as default};