@drincs/pixi-vn 1.8.5 → 1.8.7

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/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var T=require('@drincs/pixi-vn/canvas'),$=require('@drincs/pixi-vn/characters'),core=require('@drincs/pixi-vn/core'),A=require('@drincs/pixi-vn/history'),S=require('@drincs/pixi-vn/narration'),D=require('@drincs/pixi-vn/sound'),x=require('@drincs/pixi-vn/storage'),motion=require('@drincs/pixi-vn/motion');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var T__namespace=/*#__PURE__*/_interopNamespace(T);var $__namespace=/*#__PURE__*/_interopNamespace($);var A__namespace=/*#__PURE__*/_interopNamespace(A);var S__namespace=/*#__PURE__*/_interopNamespace(S);var D__namespace=/*#__PURE__*/_interopNamespace(D);var x__namespace=/*#__PURE__*/_interopNamespace(x);var lt=Object.defineProperty;var ht=(c,t)=>{for(var e in t)lt(c,e,{get:t[e],enumerable:true});};var ct=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,X=new Set,z=typeof process=="object"&&process?process:{},J=(c,t,e,i)=>{typeof z.emitWarning=="function"?z.emitWarning(c,t,e,i):console.error(`[${e}] ${t}: ${c}`);},G=globalThis.AbortController,B=globalThis.AbortSignal;if(typeof G>"u"){B=class{onabort;_onabort=[];reason;aborted=false;addEventListener(e,i){this._onabort.push(i);}},G=class{constructor(){t();}signal=new B;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=true;for(let i of this.signal._onabort)i(e);this.signal.onabort?.(e);}}};let c=z.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{c&&(c=false,J("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",t));};}var dt=c=>!X.has(c);var R=c=>c&&c===Math.floor(c)&&c>0&&isFinite(c),Q=c=>R(c)?c<=Math.pow(2,8)?Uint8Array:c<=Math.pow(2,16)?Uint16Array:c<=Math.pow(2,32)?Uint32Array:c<=Number.MAX_SAFE_INTEGER?j:null:null,j=class extends Array{constructor(c){super(c),this.fill(0);}},pt=class F{heap;length;static#a=false;static create(t){let e=Q(t);if(!e)return [];F.#a=true;let i=new F(t,e);return F.#a=false,i}constructor(t,e){if(!F.#a)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new e(t),this.length=0;}push(t){this.heap[this.length++]=t;}pop(){return this.heap[--this.length]}},Z=class tt{#a;#d;#g;#R;#_;#N;#F;#v;get perf(){return this.#v}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#r;#S;#s;#i;#t;#h;#p;#l;#o;#y;#n;#E;#x;#u;#f;#b;#U;#c;#P;static unsafeExposeInternals(t){return {starts:t.#x,ttls:t.#u,autopurgeTimers:t.#f,sizes:t.#E,keyMap:t.#s,keyList:t.#i,valList:t.#t,next:t.#h,prev:t.#p,get head(){return t.#l},get tail(){return t.#o},free:t.#y,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,i,s,r)=>t.#I(e,i,s,r),moveToTail:e=>t.#C(e),indexes:e=>t.#w(e),rindexes:e=>t.#A(e),isStale:e=>t.#m(e)}}get max(){return this.#a}get maxSize(){return this.#d}get calculatedSize(){return this.#S}get size(){return this.#r}get fetchMethod(){return this.#N}get memoMethod(){return this.#F}get dispose(){return this.#g}get onInsert(){return this.#R}get disposeAfter(){return this.#_}constructor(t){let{max:e=0,ttl:i,ttlResolution:s=1,ttlAutopurge:r,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:l,dispose:p,onInsert:v,disposeAfter:u,noDisposeOnSet:m,noUpdateTTL:g,maxSize:U=0,maxEntrySize:_=0,sizeCalculation:b,fetchMethod:o,memoMethod:f,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:h,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:E,ignoreFetchAbort:w,perf:C}=t;if(C!==void 0&&typeof C?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#v=C??ct,e!==0&&!R(e))throw new TypeError("max option must be a nonnegative integer");let N=e?Q(e):Array;if(!N)throw new Error("invalid max value: "+e);if(this.#a=e,this.#d=U,this.maxEntrySize=_||this.#d,this.sizeCalculation=b,this.sizeCalculation){if(!this.#d&&!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(f!==void 0&&typeof f!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#F=f,o!==void 0&&typeof o!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#N=o,this.#U=!!o,this.#s=new Map,this.#i=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#h=new N(e),this.#p=new N(e),this.#l=0,this.#o=0,this.#y=pt.create(e),this.#r=0,this.#S=0,typeof p=="function"&&(this.#g=p),typeof v=="function"&&(this.#R=v),typeof u=="function"?(this.#_=u,this.#n=[]):(this.#_=void 0,this.#n=void 0),this.#b=!!this.#g,this.#P=!!this.#R,this.#c=!!this.#_,this.noDisposeOnSet=!!m,this.noUpdateTTL=!!g,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!d,this.allowStaleOnFetchAbort=!!E,this.ignoreFetchAbort=!!w,this.maxEntrySize!==0){if(this.#d!==0&&!R(this.#d))throw new TypeError("maxSize must be a positive integer if specified");if(!R(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#K();}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!h,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=R(s)||s===0?s:1,this.ttlAutopurge=!!r,this.ttl=i||0,this.ttl){if(!R(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#M();}if(this.#a===0&&this.ttl===0&&this.#d===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#a&&!this.#d){let M="LRU_CACHE_UNBOUNDED";dt(M)&&(X.add(M),J("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",M,tt));}}getRemainingTTL(t){return this.#s.has(t)?1/0:0}#M(){let t=new j(this.#a),e=new j(this.#a);this.#u=t,this.#x=e;let i=this.ttlAutopurge?new Array(this.#a):void 0;this.#f=i,this.#z=(a,l,p=this.#v.now())=>{e[a]=l!==0?p:0,t[a]=l,s(a,l);},this.#D=a=>{e[a]=t[a]!==0?this.#v.now():0,s(a,t[a]);};let s=this.ttlAutopurge?(a,l)=>{if(i?.[a]&&(clearTimeout(i[a]),i[a]=void 0),l&&l!==0&&i){let p=setTimeout(()=>{this.#m(a)&&this.#O(this.#i[a],"expire");},l+1);p.unref&&p.unref(),i[a]=p;}}:()=>{};this.#T=(a,l)=>{if(t[l]){let p=t[l],v=e[l];if(!p||!v)return;a.ttl=p,a.start=v,a.now=r||n();let u=a.now-v;a.remainingTTL=p-u;}};let r=0,n=()=>{let a=this.#v.now();if(this.ttlResolution>0){r=a;let l=setTimeout(()=>r=0,this.ttlResolution);l.unref&&l.unref();}return a};this.getRemainingTTL=a=>{let l=this.#s.get(a);if(l===void 0)return 0;let p=t[l],v=e[l];if(!p||!v)return 1/0;let u=(r||n())-v;return p-u},this.#m=a=>{let l=e[a],p=t[a];return !!p&&!!l&&(r||n())-l>p};}#D=()=>{};#T=()=>{};#z=()=>{};#m=()=>false;#K(){let t=new j(this.#a);this.#S=0,this.#E=t,this.#L=e=>{this.#S-=t[e],t[e]=0;},this.#V=(e,i,s,r)=>{if(this.#e(i))return 0;if(!R(s))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(s=r(i,e),!R(s))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 s},this.#j=(e,i,s)=>{if(t[e]=i,this.#d){let r=this.#d-t[e];for(;this.#S>r;)this.#G(true);}this.#S+=t[e],s&&(s.entrySize=i,s.totalCalculatedSize=this.#S);};}#L=t=>{};#j=(t,e,i)=>{};#V=(t,e,i,s)=>{if(i||s)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#w({allowStale:t=this.allowStale}={}){if(this.#r)for(let e=this.#o;!(!this.#W(e)||((t||!this.#m(e))&&(yield e),e===this.#l));)e=this.#p[e];}*#A({allowStale:t=this.allowStale}={}){if(this.#r)for(let e=this.#l;!(!this.#W(e)||((t||!this.#m(e))&&(yield e),e===this.#o));)e=this.#h[e];}#W(t){return t!==void 0&&this.#s.get(this.#i[t])===t}*entries(){for(let t of this.#w())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#i[t],this.#t[t]]);}*rentries(){for(let t of this.#A())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#i[t],this.#t[t]]);}*keys(){for(let t of this.#w()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*rkeys(){for(let t of this.#A()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*values(){for(let t of this.#w())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}*rvalues(){for(let t of this.#A())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,e={}){for(let i of this.#w()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;if(r!==void 0&&t(r,this.#i[i],this))return this.get(this.#i[i],e)}}forEach(t,e=this){for(let i of this.#w()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;r!==void 0&&t.call(e,r,this.#i[i],this);}}rforEach(t,e=this){for(let i of this.#A()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;r!==void 0&&t.call(e,r,this.#i[i],this);}}purgeStale(){let t=false;for(let e of this.#A({allowStale:true}))this.#m(e)&&(this.#O(this.#i[e],"expire"),t=true);return t}info(t){let e=this.#s.get(t);if(e===void 0)return;let i=this.#t[e],s=this.#e(i)?i.__staleWhileFetching:i;if(s===void 0)return;let r={value:s};if(this.#u&&this.#x){let n=this.#u[e],a=this.#x[e];if(n&&a){let l=n-(this.#v.now()-a);r.ttl=l,r.start=Date.now();}}return this.#E&&(r.size=this.#E[e]),r}dump(){let t=[];for(let e of this.#w({allowStale:true})){let i=this.#i[e],s=this.#t[e],r=this.#e(s)?s.__staleWhileFetching:s;if(r===void 0||i===void 0)continue;let n={value:r};if(this.#u&&this.#x){n.ttl=this.#u[e];let a=this.#v.now()-this.#x[e];n.start=Math.floor(Date.now()-a);}this.#E&&(n.size=this.#E[e]),t.unshift([i,n]);}return t}load(t){this.clear();for(let[e,i]of t){if(i.start){let s=Date.now()-i.start;i.start=this.#v.now()-s;}this.set(e,i.value,i);}}set(t,e,i={}){if(e===void 0)return this.delete(t),this;let{ttl:s=this.ttl,start:r,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:l}=i,{noUpdateTTL:p=this.noUpdateTTL}=i,v=this.#V(t,e,i.size||0,a);if(this.maxEntrySize&&v>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=true),this.#O(t,"set"),this;let u=this.#r===0?void 0:this.#s.get(t);if(u===void 0)u=this.#r===0?this.#o:this.#y.length!==0?this.#y.pop():this.#r===this.#a?this.#G(false):this.#r,this.#i[u]=t,this.#t[u]=e,this.#s.set(t,u),this.#h[this.#o]=u,this.#p[u]=this.#o,this.#o=u,this.#r++,this.#j(u,v,l),l&&(l.set="add"),p=false,this.#P&&this.#R?.(e,t,"add");else {this.#C(u);let m=this.#t[u];if(e!==m){if(this.#U&&this.#e(m)){m.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:g}=m;g!==void 0&&!n&&(this.#b&&this.#g?.(g,t,"set"),this.#c&&this.#n?.push([g,t,"set"]));}else n||(this.#b&&this.#g?.(m,t,"set"),this.#c&&this.#n?.push([m,t,"set"]));if(this.#L(u),this.#j(u,v,l),this.#t[u]=e,l){l.set="replace";let g=m&&this.#e(m)?m.__staleWhileFetching:m;g!==void 0&&(l.oldValue=g);}}else l&&(l.set="update");this.#P&&this.onInsert?.(e,t,e===m?"update":"replace");}if(s!==0&&!this.#u&&this.#M(),this.#u&&(p||this.#z(u,s,r),l&&this.#T(l,u)),!n&&this.#c&&this.#n){let m=this.#n,g;for(;g=m?.shift();)this.#_?.(...g);}return this}pop(){try{for(;this.#r;){let t=this.#t[this.#l];if(this.#G(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#c&&this.#n){let t=this.#n,e;for(;e=t?.shift();)this.#_?.(...e);}}}#G(t){let e=this.#l,i=this.#i[e],s=this.#t[e];return this.#U&&this.#e(s)?s.__abortController.abort(new Error("evicted")):(this.#b||this.#c)&&(this.#b&&this.#g?.(s,i,"evict"),this.#c&&this.#n?.push([s,i,"evict"])),this.#L(e),this.#f?.[e]&&(clearTimeout(this.#f[e]),this.#f[e]=void 0),t&&(this.#i[e]=void 0,this.#t[e]=void 0,this.#y.push(e)),this.#r===1?(this.#l=this.#o=0,this.#y.length=0):this.#l=this.#h[e],this.#s.delete(i),this.#r--,e}has(t,e={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=e,r=this.#s.get(t);if(r!==void 0){let n=this.#t[r];if(this.#e(n)&&n.__staleWhileFetching===void 0)return false;if(this.#m(r))s&&(s.has="stale",this.#T(s,r));else return i&&this.#D(r),s&&(s.has="hit",this.#T(s,r)),true}else s&&(s.has="miss");return false}peek(t,e={}){let{allowStale:i=this.allowStale}=e,s=this.#s.get(t);if(s===void 0||!i&&this.#m(s))return;let r=this.#t[s];return this.#e(r)?r.__staleWhileFetching:r}#I(t,e,i,s){let r=e===void 0?void 0:this.#t[e];if(this.#e(r))return r;let n=new G,{signal:a}=i;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let l={signal:n.signal,options:i,context:s},p=(_,b=false)=>{let{aborted:o}=n.signal,f=i.ignoreFetchAbort&&_!==void 0,y=i.ignoreFetchAbort||!!(i.allowStaleOnFetchAbort&&_!==void 0);if(i.status&&(o&&!b?(i.status.fetchAborted=true,i.status.fetchError=n.signal.reason,f&&(i.status.fetchAbortIgnored=true)):i.status.fetchResolved=true),o&&!f&&!b)return u(n.signal.reason,y);let h=g,d=this.#t[e];return (d===g||f&&b&&d===void 0)&&(_===void 0?h.__staleWhileFetching!==void 0?this.#t[e]=h.__staleWhileFetching:this.#O(t,"fetch"):(i.status&&(i.status.fetchUpdated=true),this.set(t,_,l.options))),_},v=_=>(i.status&&(i.status.fetchRejected=true,i.status.fetchError=_),u(_,false)),u=(_,b)=>{let{aborted:o}=n.signal,f=o&&i.allowStaleOnFetchAbort,y=f||i.allowStaleOnFetchRejection,h=y||i.noDeleteOnFetchRejection,d=g;if(this.#t[e]===g&&(!h||!b&&d.__staleWhileFetching===void 0?this.#O(t,"fetch"):f||(this.#t[e]=d.__staleWhileFetching)),y)return i.status&&d.__staleWhileFetching!==void 0&&(i.status.returnedStale=true),d.__staleWhileFetching;if(d.__returned===d)throw _},m=(_,b)=>{let o=this.#N?.(t,r,l);o&&o instanceof Promise&&o.then(f=>_(f===void 0?void 0:f),b),n.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(_(void 0),i.allowStaleOnFetchAbort&&(_=f=>p(f,true)));});};i.status&&(i.status.fetchDispatched=true);let g=new Promise(m).then(p,v),U=Object.assign(g,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return e===void 0?(this.set(t,U,{...l.options,status:void 0}),e=this.#s.get(t)):this.#t[e]=U,U}#e(t){if(!this.#U)return false;let e=t;return !!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof G}async fetch(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:p=this.sizeCalculation,noUpdateTTL:v=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:U=this.allowStaleOnFetchAbort,context:_,forceRefresh:b=false,status:o,signal:f}=e;if(!this.#U)return o&&(o.fetch="get"),this.get(t,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,status:o});let y={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:l,sizeCalculation:p,noUpdateTTL:v,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:U,ignoreFetchAbort:g,status:o,signal:f},h=this.#s.get(t);if(h===void 0){o&&(o.fetch="miss");let d=this.#I(t,h,y,_);return d.__returned=d}else {let d=this.#t[h];if(this.#e(d)){let N=i&&d.__staleWhileFetching!==void 0;return o&&(o.fetch="inflight",N&&(o.returnedStale=true)),N?d.__staleWhileFetching:d.__returned=d}let E=this.#m(h);if(!b&&!E)return o&&(o.fetch="hit"),this.#C(h),s&&this.#D(h),o&&this.#T(o,h),d;let w=this.#I(t,h,y,_),C=w.__staleWhileFetching!==void 0&&i;return o&&(o.fetch=E?"stale":"refresh",C&&E&&(o.returnedStale=true)),C?w.__staleWhileFetching:w.__returned=w}}async forceFetch(t,e={}){let i=await this.fetch(t,e);if(i===void 0)throw new Error("fetch() returned undefined");return i}memo(t,e={}){let i=this.#F;if(!i)throw new Error("no memoMethod provided to constructor");let{context:s,forceRefresh:r,...n}=e,a=this.get(t,n);if(!r&&a!==void 0)return a;let l=i(t,a,{options:n,context:s});return this.set(t,l,n),l}get(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=e,a=this.#s.get(t);if(a!==void 0){let l=this.#t[a],p=this.#e(l);return n&&this.#T(n,a),this.#m(a)?(n&&(n.get="stale"),p?(n&&i&&l.__staleWhileFetching!==void 0&&(n.returnedStale=true),i?l.__staleWhileFetching:void 0):(r||this.#O(t,"expire"),n&&i&&(n.returnedStale=true),i?l:void 0)):(n&&(n.get="hit"),p?l.__staleWhileFetching:(this.#C(a),s&&this.#D(a),l))}else n&&(n.get="miss");}#Y(t,e){this.#p[e]=t,this.#h[t]=e;}#C(t){t!==this.#o&&(t===this.#l?this.#l=this.#h[t]:this.#Y(this.#p[t],this.#h[t]),this.#Y(this.#o,t),this.#o=t);}delete(t){return this.#O(t,"delete")}#O(t,e){let i=false;if(this.#r!==0){let s=this.#s.get(t);if(s!==void 0)if(this.#f?.[s]&&(clearTimeout(this.#f?.[s]),this.#f[s]=void 0),i=true,this.#r===1)this.#H(e);else {this.#L(s);let r=this.#t[s];if(this.#e(r)?r.__abortController.abort(new Error("deleted")):(this.#b||this.#c)&&(this.#b&&this.#g?.(r,t,e),this.#c&&this.#n?.push([r,t,e])),this.#s.delete(t),this.#i[s]=void 0,this.#t[s]=void 0,s===this.#o)this.#o=this.#p[s];else if(s===this.#l)this.#l=this.#h[s];else {let n=this.#p[s];this.#h[n]=this.#h[s];let a=this.#h[s];this.#p[a]=this.#p[s];}this.#r--,this.#y.push(s);}}if(this.#c&&this.#n?.length){let s=this.#n,r;for(;r=s?.shift();)this.#_?.(...r);}return i}clear(){return this.#H("delete")}#H(t){for(let e of this.#A({allowStale:true})){let i=this.#t[e];if(this.#e(i))i.__abortController.abort(new Error("deleted"));else {let s=this.#i[e];this.#b&&this.#g?.(i,s,t),this.#c&&this.#n?.push([i,s,t]);}}if(this.#s.clear(),this.#t.fill(void 0),this.#i.fill(void 0),this.#u&&this.#x){this.#u.fill(0),this.#x.fill(0);for(let e of this.#f??[])e!==void 0&&clearTimeout(e);this.#f?.fill(void 0);}if(this.#E&&this.#E.fill(0),this.#l=0,this.#o=0,this.#y.length=0,this.#S=0,this.#r=0,this.#c&&this.#n){let e=this.#n,i;for(;i=e?.shift();)this.#_?.(...i);}}};var I=class{cache;map=new Map;constructor(t){this.cache=new Z({max:t.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(t){let e=this.map.delete(t);return e&&this.cache.delete(t),e}get forEach(){return this.map.forEach}get(t){let e=this.cache.get(t);return e||this.map.get(t)}has(t){return this.map.has(t)}set(t,e){return this.map.set(t,e),this.cache.set(t,e),this}get size(){return this.map.size}entries(){return this.map.entries()}keys(){return this.map.keys()}values(){return this.map.values()}};var P="1.8.5";var V={version:P};var W="repeat";function Y(c){return {type:"pause",duration:c}}var H="__game_layer__";var ut={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 it={};var K={};ht(K,{createExportableElement:()=>st});var L;(s=>(s.log=(r,...n)=>console.log(`[Pixi\u2019VN] ${r}`,...n),s.warn=(r,...n)=>console.warn(`[Pixi\u2019VN] ${r}`,...n),s.error=(r,...n)=>console.error(`[Pixi\u2019VN] ${r}`,...n),s.info=(r,...n)=>console.info(`[Pixi\u2019VN] ${r}`,...n)))(L||={});function st(c){try{if(typeof c>"u")return c;let t=JSON.stringify(c);return JSON.parse(t)}catch(t){throw L.error("Error creating exportable element",c,t),new core.PixiError("not_json_serializable","Error creating exportable element")}}var mt=typeof window<"u"&&typeof document<"u",rt=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${V.version}`],ot=31,gt="background:#2f90da;color:#fff;font-weight:bold;",_t="background:#c832bb;color:#fff;font-weight:bold;",vt="background:transparent;font-weight:bold;",k=` v${V.version}`;function nt(){if(!mt)return;let c=[],t=[];for(let e=0;e<rt.length;e++){let i=rt[e],s=i.endsWith(k),r=s?i.slice(0,-k.length):i,n=r.slice(0,ot),a=r.slice(ot),l=s?"%c%s%c%s%c%s":"%c%s%c%s";c.push(l),t.push(gt,n,_t,a),s&&t.push(vt,k);}console.info(c.join(`
2
- `),...t);}function q(){let c=window.location.pathname+window.location.hash;return c.includes("#")&&(c=c.split("#")[1]),c}nt();exports.Game=void 0;(b=>{async function c(o,f,y){if(core.GameUnifier.init({navigate:f?.navigate,getCurrentGameStepState:()=>{let h={};try{h=T__namespace.canvas.export();}catch{}return {path:q(),storage:x__namespace.storage.export(),canvas:h,sound:D__namespace.sound.export(),labelIndex:S__namespace.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:S__namespace.narration.openedLabels}},restoreGameStepState:async(h,d)=>{A__namespace.HistoryManagerStatic._originalStepData=h,S__namespace.NarrationManagerStatic.openedLabels=h.openedLabels,x__namespace.storage.restore(h.storage);try{await T__namespace.canvas.restore(h.canvas),await D__namespace.sound.restore(h.sound);}catch(E){L.error("Error restoring game step state:",E);}await d(h.path);},getStepCounter:()=>S__namespace.narration.stepCounter,setStepCounter:h=>{S__namespace.NarrationManagerStatic._stepCounter=h;},getOpenedLabels:()=>S__namespace.narration.openedLabels.length,addHistoryItem:(h,d)=>A__namespace.stepHistory.add(h,d),getCharacter:h=>$__namespace.RegisteredCharacters.get(h),processNavigationRequests:(h,d)=>{let E=h,w=Promise.resolve();return h>0?(E--,w=S__namespace.narration.continue(d)):h<0&&(E=0,w=A__namespace.stepHistory.back(d,{steps:h*-1})),{newValue:E,result:w}},animate:(h,d,E,w)=>motion.motion.animate(h,d,E,w),getVariable:(h,d)=>x__namespace.StorageRegistry.getVariable(h,d),setVariable:(h,d,E)=>x__namespace.StorageRegistry.setVariable(h,d,E),removeVariable:(h,d)=>x__namespace.StorageRegistry.removeVariable(h,d),getFlag:h=>x__namespace.storage.getFlag(h),setFlag:(h,d)=>x__namespace.storage.setFlag(h,d),onLabelClosing:h=>x__namespace.StorageRegistry.clearOldTempVariables(h)}),!o||!f){L.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await T__namespace.canvas.init(o,f,y)}b.init=c;function t(){x__namespace.storage.clear();try{T__namespace.canvas.clear();}catch{}D__namespace.sound.clear(),S__namespace.narration.clear(),A__namespace.stepHistory.clear();}b.clear=t;function e(){let o={};try{o=T__namespace.canvas.export();}catch{}return {pixivn_version:P,stepData:S__namespace.narration.export(),storageData:x__namespace.storage.export(),canvasData:o,soundData:D__namespace.sound.export(),historyData:A__namespace.stepHistory.export(),path:q()}}b.exportGameState=e;async function i(o,f){A__namespace.stepHistory.restore(o.historyData);let y=A__namespace.stepHistory.lastKey;if(typeof y=="number"){let h=A__namespace.stepHistory.stepsInfoMap.get(y)||null;await S__namespace.narration.restore(o.stepData,h);}x__namespace.storage.restore(o.storageData);try{await T__namespace.canvas.restore(o.canvasData),await D__namespace.sound.restore(o.soundData);}catch{}f?await f(o.path):await core.GameUnifier.navigate(o.path);}b.restoreGameState=i;async function s(o,f){return b.clear(),await S__namespace.narration.call(o,f)}b.start=s;function r(o){return JSON.parse(o)}b.jsonToGameState=r;function n(o){core.GameUnifier.onEnd=o;}b.onEnd=n;function a(o){return L.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),core.GameUnifier.addOnError((f,y)=>o("step",f,y))}b.onError=a;function l(o){return core.GameUnifier.addOnError(o)}b.addOnError=l;function p(o){return core.GameUnifier.removeOnError(o)}b.removeOnError=p;function v(o){S__namespace.NarrationManagerStatic.onStepStart=o;}b.onStepStart=v;function u(o){S__namespace.NarrationManagerStatic.onLoadingLabel=o;}b.onLoadingLabel=u;function m(o){S__namespace.NarrationManagerStatic.onStepEnd=o;}b.onStepEnd=m;function g(o){core.GameUnifier.navigate=o;}b.onNavigate=g;function U(o){return core.GameUnifier.addOnPreContinue(o)}b.addOnPreContinue=U;function _(o){return core.GameUnifier.removeOnPreContinue(o)}b.removeOnPreContinue=_;})(exports.Game||={});var qt={characterUtils:$__namespace,canvasUtils:T__namespace,narrationUtils:S__namespace,soundUtils:D__namespace,CANVAS_APP_GAME_LAYER_ALIAS:H,Pause:Y,Repeat:W,PIXIVN_VERSION:P,...K,...it,canvas:T__namespace.canvas,narration:S__namespace.narration,sound:D__namespace.sound,storage:x__namespace.storage,history:A__namespace.stepHistory,Game:exports.Game,GameUnifier:core.GameUnifier};exports.CANVAS_APP_GAME_LAYER_ALIAS=H;exports.CachedMap=I;exports.PIXIVN_VERSION=P;exports.Pause=Y;exports.Repeat=W;exports.SYSTEM_RESERVED_STORAGE_KEYS=ut;exports.createExportableElement=st;exports.default=qt;Object.keys(T).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return T[k]}})});Object.keys($).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return $[k]}})});Object.keys(core).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return core[k]}})});Object.keys(A).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return A[k]}})});Object.keys(S).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return S[k]}})});Object.keys(D).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return D[k]}})});Object.keys(x).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return x[k]}})});
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var nt=require('@drincs/pixi-vn/canvas'),Bt=require('@drincs/pixi-vn/characters'),core=require('@drincs/pixi-vn/core'),et=require('@drincs/pixi-vn/history'),C=require('@drincs/pixi-vn/narration'),pt=require('@drincs/pixi-vn/sound'),G=require('@drincs/pixi-vn/storage'),motion=require('@drincs/pixi-vn/motion');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var nt__namespace=/*#__PURE__*/_interopNamespace(nt);var Bt__namespace=/*#__PURE__*/_interopNamespace(Bt);var et__namespace=/*#__PURE__*/_interopNamespace(et);var C__namespace=/*#__PURE__*/_interopNamespace(C);var pt__namespace=/*#__PURE__*/_interopNamespace(pt);var G__namespace=/*#__PURE__*/_interopNamespace(G);var Xt=Object.defineProperty;var Jt=h=>{throw TypeError(h)};var ue=(h,e,i)=>e in h?Xt(h,e,{enumerable:true,configurable:true,writable:true,value:i}):h[e]=i;var fe=(h,e)=>{for(var i in e)Xt(h,i,{get:e[i],enumerable:true});};var x=(h,e,i)=>ue(h,typeof e!="symbol"?e+"":e,i),jt=(h,e,i)=>e.has(h)||Jt("Cannot "+i);var t=(h,e,i)=>(jt(h,e,"read from private field"),i?i.call(h):e.get(h)),_=(h,e,i)=>e.has(h)?Jt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(h):e.set(h,i),u=(h,e,i,s)=>(jt(h,e,"write to private field"),e.set(h,i),i),d=(h,e,i)=>(jt(h,e,"access private method"),i);var Rt=(h,e,i,s)=>({set _(r){u(h,e,r);},get _(){return t(h,e,s)}});var me=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,ee=new Set,Gt=typeof process=="object"&&process?process:{},ie=(h,e,i,s)=>{typeof Gt.emitWarning=="function"?Gt.emitWarning(h,e,i,s):console.error(`[${i}] ${e}: ${h}`);},Nt=globalThis.AbortController,Qt=globalThis.AbortSignal;if(typeof Nt>"u"){Qt=class{constructor(){x(this,"onabort");x(this,"_onabort",[]);x(this,"reason");x(this,"aborted",false);}addEventListener(i,s){this._onabort.push(s);}},Nt=class{constructor(){x(this,"signal",new Qt);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 h=Gt.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{h&&(h=false,ie("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 ge=h=>!ee.has(h);var at=h=>h&&h===Math.floor(h)&&h>0&&isFinite(h),se=h=>at(h)?h<=Math.pow(2,8)?Uint8Array:h<=Math.pow(2,16)?Uint16Array:h<=Math.pow(2,32)?Uint32Array:h<=Number.MAX_SAFE_INTEGER?Dt:null:null,Dt=class extends Array{constructor(h){super(h),this.fill(0);}},it,St,_e=(it=class{constructor(e,i){x(this,"heap");x(this,"length");if(!t(it,St))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e),this.length=0;}static create(e){let i=se(e);if(!i)return [];u(it,St,true);let s=new it(e,i);return u(it,St,false),s}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},St=new WeakMap,_(it,St,false),it),Zt,te,K,M,q,ut,$,yt,Et,B,U,X,T,w,m,P,z,N,D,J,L,Q,Z,V,W,tt,dt,j,xt,l,It,ft,ot,Ot,Y,oe,mt,bt,Tt,lt,ht,Mt,Lt,Ct,b,zt,At,ct,Vt,wt,re=(wt=class{constructor(e){_(this,l);_(this,K);_(this,M);_(this,q);_(this,ut);_(this,$);_(this,yt);_(this,Et);_(this,B);x(this,"ttl");x(this,"ttlResolution");x(this,"ttlAutopurge");x(this,"updateAgeOnGet");x(this,"updateAgeOnHas");x(this,"allowStale");x(this,"noDisposeOnSet");x(this,"noUpdateTTL");x(this,"maxEntrySize");x(this,"sizeCalculation");x(this,"noDeleteOnFetchRejection");x(this,"noDeleteOnStaleGet");x(this,"allowStaleOnFetchAbort");x(this,"allowStaleOnFetchRejection");x(this,"ignoreFetchAbort");_(this,U);_(this,X);_(this,T);_(this,w);_(this,m);_(this,P);_(this,z);_(this,N);_(this,D);_(this,J);_(this,L);_(this,Q);_(this,Z);_(this,V);_(this,W);_(this,tt);_(this,dt);_(this,j);_(this,xt);_(this,ft,()=>{});_(this,ot,()=>{});_(this,Ot,()=>{});_(this,Y,()=>false);_(this,mt,e=>{});_(this,bt,(e,i,s)=>{});_(this,Tt,(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});x(this,Zt,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:c,allowStale:p,dispose:v,onInsert:R,disposeAfter:S,noDisposeOnSet:rt,noUpdateTTL:I,maxSize:k=0,maxEntrySize:A=0,sizeCalculation:y,fetchMethod:a,memoMethod:E,noDeleteOnFetchRejection:O,noDeleteOnStaleGet:f,allowStaleOnFetchRejection:g,allowStaleOnFetchAbort:F,ignoreFetchAbort:H,perf:_t}=e;if(_t!==void 0&&typeof _t?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(u(this,B,_t??me),i!==0&&!at(i))throw new TypeError("max option must be a nonnegative integer");let vt=i?se(i):Array;if(!vt)throw new Error("invalid max value: "+i);if(u(this,K,i),u(this,M,k),this.maxEntrySize=A||t(this,M),this.sizeCalculation=y,this.sizeCalculation){if(!t(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(E!==void 0&&typeof E!="function")throw new TypeError("memoMethod must be a function if defined");if(u(this,Et,E),a!==void 0&&typeof a!="function")throw new TypeError("fetchMethod must be a function if specified");if(u(this,yt,a),u(this,dt,!!a),u(this,T,new Map),u(this,w,new Array(i).fill(void 0)),u(this,m,new Array(i).fill(void 0)),u(this,P,new vt(i)),u(this,z,new vt(i)),u(this,N,0),u(this,D,0),u(this,J,_e.create(i)),u(this,U,0),u(this,X,0),typeof v=="function"&&u(this,q,v),typeof R=="function"&&u(this,ut,R),typeof S=="function"?(u(this,$,S),u(this,L,[])):(u(this,$,void 0),u(this,L,void 0)),u(this,tt,!!t(this,q)),u(this,xt,!!t(this,ut)),u(this,j,!!t(this,$)),this.noDisposeOnSet=!!rt,this.noUpdateTTL=!!I,this.noDeleteOnFetchRejection=!!O,this.allowStaleOnFetchRejection=!!g,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!H,this.maxEntrySize!==0){if(t(this,M)!==0&&!at(t(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");d(this,l,oe).call(this);}if(this.allowStale=!!p,this.noDeleteOnStaleGet=!!f,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!c,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");d(this,l,It).call(this);}if(t(this,K)===0&&this.ttl===0&&t(this,M)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!t(this,K)&&!t(this,M)){let Pt="LRU_CACHE_UNBOUNDED";ge(Pt)&&(ee.add(Pt),ie("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Pt,wt));}}get perf(){return t(this,B)}static unsafeExposeInternals(e){return {starts:t(e,Z),ttls:t(e,V),autopurgeTimers:t(e,W),sizes:t(e,Q),keyMap:t(e,T),keyList:t(e,w),valList:t(e,m),next:t(e,P),prev:t(e,z),get head(){return t(e,N)},get tail(){return t(e,D)},free:t(e,J),isBackgroundFetch:i=>{var s;return d(s=e,l,b).call(s,i)},backgroundFetch:(i,s,r,n)=>{var o;return d(o=e,l,Ct).call(o,i,s,r,n)},moveToTail:i=>{var s;return d(s=e,l,At).call(s,i)},indexes:i=>{var s;return d(s=e,l,lt).call(s,i)},rindexes:i=>{var s;return d(s=e,l,ht).call(s,i)},isStale:i=>{var s;return t(s=e,Y).call(s,i)}}}get max(){return t(this,K)}get maxSize(){return t(this,M)}get calculatedSize(){return t(this,X)}get size(){return t(this,U)}get fetchMethod(){return t(this,yt)}get memoMethod(){return t(this,Et)}get dispose(){return t(this,q)}get onInsert(){return t(this,ut)}get disposeAfter(){return t(this,$)}getRemainingTTL(e){return t(this,T).has(e)?1/0:0}*entries(){for(let e of d(this,l,lt).call(this))t(this,m)[e]!==void 0&&t(this,w)[e]!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield [t(this,w)[e],t(this,m)[e]]);}*rentries(){for(let e of d(this,l,ht).call(this))t(this,m)[e]!==void 0&&t(this,w)[e]!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield [t(this,w)[e],t(this,m)[e]]);}*keys(){for(let e of d(this,l,lt).call(this)){let i=t(this,w)[e];i!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield i);}}*rkeys(){for(let e of d(this,l,ht).call(this)){let i=t(this,w)[e];i!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield i);}}*values(){for(let e of d(this,l,lt).call(this))t(this,m)[e]!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield t(this,m)[e]);}*rvalues(){for(let e of d(this,l,ht).call(this))t(this,m)[e]!==void 0&&!d(this,l,b).call(this,t(this,m)[e])&&(yield t(this,m)[e]);}[(te=Symbol.iterator,Zt=Symbol.toStringTag,te)](){return this.entries()}find(e,i={}){for(let s of d(this,l,lt).call(this)){let r=t(this,m)[s],n=d(this,l,b).call(this,r)?r.__staleWhileFetching:r;if(n!==void 0&&e(n,t(this,w)[s],this))return this.get(t(this,w)[s],i)}}forEach(e,i=this){for(let s of d(this,l,lt).call(this)){let r=t(this,m)[s],n=d(this,l,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,t(this,w)[s],this);}}rforEach(e,i=this){for(let s of d(this,l,ht).call(this)){let r=t(this,m)[s],n=d(this,l,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e.call(i,n,t(this,w)[s],this);}}purgeStale(){let e=false;for(let i of d(this,l,ht).call(this,{allowStale:true}))t(this,Y).call(this,i)&&(d(this,l,ct).call(this,t(this,w)[i],"expire"),e=true);return e}info(e){let i=t(this,T).get(e);if(i===void 0)return;let s=t(this,m)[i],r=d(this,l,b).call(this,s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(t(this,V)&&t(this,Z)){let o=t(this,V)[i],c=t(this,Z)[i];if(o&&c){let p=o-(t(this,B).now()-c);n.ttl=p,n.start=Date.now();}}return t(this,Q)&&(n.size=t(this,Q)[i]),n}dump(){let e=[];for(let i of d(this,l,lt).call(this,{allowStale:true})){let s=t(this,w)[i],r=t(this,m)[i],n=d(this,l,b).call(this,r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(t(this,V)&&t(this,Z)){o.ttl=t(this,V)[i];let c=t(this,B).now()-t(this,Z)[i];o.start=Math.floor(Date.now()-c);}t(this,Q)&&(o.size=t(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=t(this,B).now()-r;}this.set(i,s.value,s);}}set(e,i,s={}){var rt,I,k,A;if(i===void 0)return this.delete(e),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:c=this.sizeCalculation,status:p}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,R=t(this,Tt).call(this,e,i,s.size||0,c);if(this.maxEntrySize&&R>this.maxEntrySize)return p&&(p.set="miss",p.maxEntrySizeExceeded=true),d(this,l,ct).call(this,e,"set"),this;let S=t(this,U)===0?void 0:t(this,T).get(e);if(S===void 0)S=t(this,U)===0?t(this,D):t(this,J).length!==0?t(this,J).pop():t(this,U)===t(this,K)?d(this,l,Lt).call(this,false):t(this,U),t(this,w)[S]=e,t(this,m)[S]=i,t(this,T).set(e,S),t(this,P)[t(this,D)]=S,t(this,z)[S]=t(this,D),u(this,D,S),Rt(this,U)._++,t(this,bt).call(this,S,R,p),p&&(p.set="add"),v=false,t(this,xt)&&((rt=t(this,ut))==null||rt.call(this,i,e,"add"));else {d(this,l,At).call(this,S);let y=t(this,m)[S];if(i!==y){if(t(this,dt)&&d(this,l,b).call(this,y)){y.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:a}=y;a!==void 0&&!o&&(t(this,tt)&&((I=t(this,q))==null||I.call(this,a,e,"set")),t(this,j)&&t(this,L)?.push([a,e,"set"]));}else o||(t(this,tt)&&((k=t(this,q))==null||k.call(this,y,e,"set")),t(this,j)&&t(this,L)?.push([y,e,"set"]));if(t(this,mt).call(this,S),t(this,bt).call(this,S,R,p),t(this,m)[S]=i,p){p.set="replace";let a=y&&d(this,l,b).call(this,y)?y.__staleWhileFetching:y;a!==void 0&&(p.oldValue=a);}}else p&&(p.set="update");t(this,xt)&&this.onInsert?.(i,e,i===y?"update":"replace");}if(r!==0&&!t(this,V)&&d(this,l,It).call(this),t(this,V)&&(v||t(this,Ot).call(this,S,r,n),p&&t(this,ot).call(this,p,S)),!o&&t(this,j)&&t(this,L)){let y=t(this,L),a;for(;a=y?.shift();)(A=t(this,$))==null||A.call(this,...a);}return this}pop(){var e;try{for(;t(this,U);){let i=t(this,m)[t(this,N)];if(d(this,l,Lt).call(this,!0),d(this,l,b).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(t(this,j)&&t(this,L)){let i=t(this,L),s;for(;s=i?.shift();)(e=t(this,$))==null||e.call(this,...s);}}}has(e,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=t(this,T).get(e);if(n!==void 0){let o=t(this,m)[n];if(d(this,l,b).call(this,o)&&o.__staleWhileFetching===void 0)return false;if(t(this,Y).call(this,n))r&&(r.has="stale",t(this,ot).call(this,r,n));else return s&&t(this,ft).call(this,n),r&&(r.has="hit",t(this,ot).call(this,r,n)),true}else r&&(r.has="miss");return false}peek(e,i={}){let{allowStale:s=this.allowStale}=i,r=t(this,T).get(e);if(r===void 0||!s&&t(this,Y).call(this,r))return;let n=t(this,m)[r];return d(this,l,b).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:c=this.noDisposeOnSet,size:p=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:E}=i;if(!t(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:c,size:p,sizeCalculation:v,noUpdateTTL:R,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:rt,allowStaleOnFetchAbort:k,ignoreFetchAbort:I,status:a,signal:E},f=t(this,T).get(e);if(f===void 0){a&&(a.fetch="miss");let g=d(this,l,Ct).call(this,e,f,O,A);return g.__returned=g}else {let g=t(this,m)[f];if(d(this,l,b).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=t(this,Y).call(this,f);if(!y&&!F)return a&&(a.fetch="hit"),d(this,l,At).call(this,f),r&&t(this,ft).call(this,f),a&&t(this,ot).call(this,a,f),g;let H=d(this,l,Ct).call(this,e,f,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=t(this,Et);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,c=this.get(e,o);if(!n&&c!==void 0)return c;let p=s(e,c,{options:o,context:r});return this.set(e,p,o),p}get(e,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,c=t(this,T).get(e);if(c!==void 0){let p=t(this,m)[c],v=d(this,l,b).call(this,p);return o&&t(this,ot).call(this,o,c),t(this,Y).call(this,c)?(o&&(o.get="stale"),v?(o&&s&&p.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?p.__staleWhileFetching:void 0):(n||d(this,l,ct).call(this,e,"expire"),o&&s&&(o.returnedStale=true),s?p:void 0)):(o&&(o.get="hit"),v?p.__staleWhileFetching:(d(this,l,At).call(this,c),r&&t(this,ft).call(this,c),p))}else o&&(o.get="miss");}delete(e){return d(this,l,ct).call(this,e,"delete")}clear(){return d(this,l,Vt).call(this,"delete")}},K=new WeakMap,M=new WeakMap,q=new WeakMap,ut=new WeakMap,$=new WeakMap,yt=new WeakMap,Et=new WeakMap,B=new WeakMap,U=new WeakMap,X=new WeakMap,T=new WeakMap,w=new WeakMap,m=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,xt=new WeakMap,l=new WeakSet,It=function(){let e=new Dt(t(this,K)),i=new Dt(t(this,K));u(this,V,e),u(this,Z,i);let s=this.ttlAutopurge?new Array(t(this,K)):void 0;u(this,W,s),u(this,Ot,(c,p,v=t(this,B).now())=>{i[c]=p!==0?v:0,e[c]=p,r(c,p);}),u(this,ft,c=>{i[c]=e[c]!==0?t(this,B).now():0,r(c,e[c]);});let r=this.ttlAutopurge?(c,p)=>{if(s?.[c]&&(clearTimeout(s[c]),s[c]=void 0),p&&p!==0&&s){let v=setTimeout(()=>{t(this,Y).call(this,c)&&d(this,l,ct).call(this,t(this,w)[c],"expire");},p+1);v.unref&&v.unref(),s[c]=v;}}:()=>{};u(this,ot,(c,p)=>{if(e[p]){let v=e[p],R=i[p];if(!v||!R)return;c.ttl=v,c.start=R,c.now=n||o();let S=c.now-R;c.remainingTTL=v-S;}});let n=0,o=()=>{let c=t(this,B).now();if(this.ttlResolution>0){n=c;let p=setTimeout(()=>n=0,this.ttlResolution);p.unref&&p.unref();}return c};this.getRemainingTTL=c=>{let p=t(this,T).get(c);if(p===void 0)return 0;let v=e[p],R=i[p];if(!v||!R)return 1/0;let S=(n||o())-R;return v-S},u(this,Y,c=>{let p=i[c],v=e[c];return !!v&&!!p&&(n||o())-p>v});},ft=new WeakMap,ot=new WeakMap,Ot=new WeakMap,Y=new WeakMap,oe=function(){let e=new Dt(t(this,K));u(this,X,0),u(this,Q,e),u(this,mt,i=>{u(this,X,t(this,X)-e[i]),e[i]=0;}),u(this,Tt,(i,s,r,n)=>{if(d(this,l,b).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}),u(this,bt,(i,s,r)=>{if(e[i]=s,t(this,M)){let n=t(this,M)-e[i];for(;t(this,X)>n;)d(this,l,Lt).call(this,true);}u(this,X,t(this,X)+e[i]),r&&(r.entrySize=s,r.totalCalculatedSize=t(this,X));});},mt=new WeakMap,bt=new WeakMap,Tt=new WeakMap,lt=function*({allowStale:e=this.allowStale}={}){if(t(this,U))for(let i=t(this,D);!(!d(this,l,Mt).call(this,i)||((e||!t(this,Y).call(this,i))&&(yield i),i===t(this,N)));)i=t(this,z)[i];},ht=function*({allowStale:e=this.allowStale}={}){if(t(this,U))for(let i=t(this,N);!(!d(this,l,Mt).call(this,i)||((e||!t(this,Y).call(this,i))&&(yield i),i===t(this,D)));)i=t(this,P)[i];},Mt=function(e){return e!==void 0&&t(this,T).get(t(this,w)[e])===e},Lt=function(e){var n;let i=t(this,N),s=t(this,w)[i],r=t(this,m)[i];return t(this,dt)&&d(this,l,b).call(this,r)?r.__abortController.abort(new Error("evicted")):(t(this,tt)||t(this,j))&&(t(this,tt)&&((n=t(this,q))==null||n.call(this,r,s,"evict")),t(this,j)&&t(this,L)?.push([r,s,"evict"])),t(this,mt).call(this,i),t(this,W)?.[i]&&(clearTimeout(t(this,W)[i]),t(this,W)[i]=void 0),e&&(t(this,w)[i]=void 0,t(this,m)[i]=void 0,t(this,J).push(i)),t(this,U)===1?(u(this,N,u(this,D,0)),t(this,J).length=0):u(this,N,t(this,P)[i]),t(this,T).delete(s),Rt(this,U)._--,i},Ct=function(e,i,s,r){let n=i===void 0?void 0:t(this,m)[i];if(d(this,l,b).call(this,n))return n;let o=new Nt,{signal:c}=s;c?.addEventListener("abort",()=>o.abort(c.reason),{signal:o.signal});let p={signal:o.signal,options:s,context:r},v=(A,y=false)=>{let{aborted:a}=o.signal,E=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,E&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),a&&!E&&!y)return S(o.signal.reason,O);let f=I,g=t(this,m)[i];return (g===I||E&&y&&g===void 0)&&(A===void 0?f.__staleWhileFetching!==void 0?t(this,m)[i]=f.__staleWhileFetching:d(this,l,ct).call(this,e,"fetch"):(s.status&&(s.status.fetchUpdated=true),this.set(e,A,p.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,E=a&&s.allowStaleOnFetchAbort,O=E||s.allowStaleOnFetchRejection,f=O||s.noDeleteOnFetchRejection,g=I;if(t(this,m)[i]===I&&(!f||!y&&g.__staleWhileFetching===void 0?d(this,l,ct).call(this,e,"fetch"):E||(t(this,m)[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 E;let a=(E=t(this,yt))==null?void 0:E.call(this,e,n,p);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,{...p.options,status:void 0}),i=t(this,T).get(e)):t(this,m)[i]=k,k},b=function(e){if(!t(this,dt))return false;let i=e;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt},zt=function(e,i){t(this,z)[i]=e,t(this,P)[e]=i;},At=function(e){e!==t(this,D)&&(e===t(this,N)?u(this,N,t(this,P)[e]):d(this,l,zt).call(this,t(this,z)[e],t(this,P)[e]),d(this,l,zt).call(this,t(this,D),e),u(this,D,e));},ct=function(e,i){var r,n;let s=false;if(t(this,U)!==0){let o=t(this,T).get(e);if(o!==void 0)if(t(this,W)?.[o]&&(clearTimeout(t(this,W)?.[o]),t(this,W)[o]=void 0),s=true,t(this,U)===1)d(this,l,Vt).call(this,i);else {t(this,mt).call(this,o);let c=t(this,m)[o];if(d(this,l,b).call(this,c)?c.__abortController.abort(new Error("deleted")):(t(this,tt)||t(this,j))&&(t(this,tt)&&((r=t(this,q))==null||r.call(this,c,e,i)),t(this,j)&&t(this,L)?.push([c,e,i])),t(this,T).delete(e),t(this,w)[o]=void 0,t(this,m)[o]=void 0,o===t(this,D))u(this,D,t(this,z)[o]);else if(o===t(this,N))u(this,N,t(this,P)[o]);else {let p=t(this,z)[o];t(this,P)[p]=t(this,P)[o];let v=t(this,P)[o];t(this,z)[v]=t(this,z)[o];}Rt(this,U)._--,t(this,J).push(o);}}if(t(this,j)&&t(this,L)?.length){let o=t(this,L),c;for(;c=o?.shift();)(n=t(this,$))==null||n.call(this,...c);}return s},Vt=function(e){var i,s;for(let r of d(this,l,ht).call(this,{allowStale:true})){let n=t(this,m)[r];if(d(this,l,b).call(this,n))n.__abortController.abort(new Error("deleted"));else {let o=t(this,w)[r];t(this,tt)&&((i=t(this,q))==null||i.call(this,n,o,e)),t(this,j)&&t(this,L)?.push([n,o,e]);}}if(t(this,T).clear(),t(this,m).fill(void 0),t(this,w).fill(void 0),t(this,V)&&t(this,Z)){t(this,V).fill(0),t(this,Z).fill(0);for(let r of t(this,W)??[])r!==void 0&&clearTimeout(r);t(this,W)?.fill(void 0);}if(t(this,Q)&&t(this,Q).fill(0),u(this,N,0),u(this,D,0),t(this,J).length=0,u(this,X,0),u(this,U,0),t(this,j)&&t(this,L)){let r=t(this,L),n;for(;n=r?.shift();)(s=t(this,$))==null||s.call(this,...n);}},wt);var Ft=class{constructor(e){x(this,"cache");x(this,"map",new Map);this.cache=new re({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.7";var Wt={version:Ut};var Yt="repeat";function Ht(h){return {type:"pause",duration:h}}var Kt="__game_layer__";var ve={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 ae={};var kt={};fe(kt,{createExportableElement:()=>le});var gt;(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)))(gt||={});function le(h){try{if(typeof h>"u")return h;let e=JSON.stringify(h);return JSON.parse(e)}catch(e){throw gt.error("Error creating exportable element",h,e),new core.PixiError("not_json_serializable","Error creating exportable element")}}var ye=typeof window<"u"&&typeof document<"u",he=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${Wt.version}`],ce=31,Ee="background:#2f90da;color:#fff;font-weight:bold;",xe="background:#c832bb;color:#fff;font-weight:bold;",be="background:transparent;font-weight:bold;",qt=` v${Wt.version}`;function de(){if(!ye)return;let h=[],e=[];for(let i=0;i<he.length;i++){let s=he[i],r=s.endsWith(qt),n=r?s.slice(0,-qt.length):s,o=n.slice(0,ce),c=n.slice(ce),p=r?"%c%s%c%s%c%s":"%c%s%c%s";h.push(p),e.push(Ee,o,xe,c),r&&e.push(be,qt);}console.info(h.join(`
2
+ `),...e);}function $t(){let h=window.location.pathname+window.location.hash;return h.includes("#")&&(h=h.split("#")[1]),h}de();exports.Game=void 0;(y=>{async function h(a,E,O){if(core.GameUnifier.init({navigate:E?.navigate,getCurrentGameStepState:()=>{let f={};try{f=nt__namespace.canvas.export();}catch{}return {path:$t(),storage:G__namespace.storage.export(),canvas:f,sound:pt__namespace.sound.export(),labelIndex:C__namespace.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:C__namespace.narration.openedLabels}},restoreGameStepState:async(f,g)=>{et__namespace.HistoryManagerStatic._originalStepData=f,C__namespace.NarrationManagerStatic.openedLabels=f.openedLabels,G__namespace.storage.restore(f.storage);try{await nt__namespace.canvas.restore(f.canvas),await pt__namespace.sound.restore(f.sound);}catch(F){gt.error("Error restoring game step state:",F);}await g(f.path);},getStepCounter:()=>C__namespace.narration.stepCounter,setStepCounter:f=>{C__namespace.NarrationManagerStatic._stepCounter=f;},getOpenedLabels:()=>C__namespace.narration.openedLabels.length,addHistoryItem:(f,g)=>et__namespace.stepHistory.add(f,g),getCharacter:f=>Bt__namespace.RegisteredCharacters.get(f),processNavigationRequests:(f,g)=>{let F=f,H=Promise.resolve();return f>0?(F--,H=C__namespace.narration.continue(g)):f<0&&(F=0,H=et__namespace.stepHistory.back(g,{steps:f*-1})),{newValue:F,result:H}},animate:(f,g,F,H)=>motion.motion.animate(f,g,F,H),getVariable:(f,g)=>G__namespace.StorageRegistry.getVariable(f,g),setVariable:(f,g,F)=>G__namespace.StorageRegistry.setVariable(f,g,F),removeVariable:(f,g)=>G__namespace.StorageRegistry.removeVariable(f,g),getFlag:f=>G__namespace.storage.getFlag(f),setFlag:(f,g)=>G__namespace.storage.setFlag(f,g),onLabelClosing:f=>G__namespace.StorageRegistry.clearOldTempVariables(f)}),!a||!E){gt.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await nt__namespace.canvas.init(a,E,O)}y.init=h;function e(){G__namespace.storage.clear();try{nt__namespace.canvas.clear();}catch{}pt__namespace.sound.clear(),C__namespace.narration.clear(),et__namespace.stepHistory.clear();}y.clear=e;function i(){let a={};try{a=nt__namespace.canvas.export();}catch{}return {pixivn_version:Ut,stepData:C__namespace.narration.export(),storageData:G__namespace.storage.export(),canvasData:a,soundData:pt__namespace.sound.export(),historyData:et__namespace.stepHistory.export(),path:$t()}}y.exportGameState=i;async function s(a,E){et__namespace.stepHistory.restore(a.historyData);let O=et__namespace.stepHistory.lastKey;if(typeof O=="number"){let f=et__namespace.stepHistory.stepsInfoMap.get(O)||null;await C__namespace.narration.restore(a.stepData,f);}G__namespace.storage.restore(a.storageData);try{await nt__namespace.canvas.restore(a.canvasData),await pt__namespace.sound.restore(a.soundData);}catch{}E?await E(a.path):await core.GameUnifier.navigate(a.path);}y.restoreGameState=s;async function r(a,E){return y.clear(),await C__namespace.narration.call(a,E)}y.start=r;function n(a){return JSON.parse(a)}y.jsonToGameState=n;function o(a){core.GameUnifier.onEnd=a;}y.onEnd=o;function c(a){return gt.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),core.GameUnifier.addOnError((E,O)=>a("step",E,O))}y.onError=c;function p(a){return core.GameUnifier.addOnError(a)}y.addOnError=p;function v(a){return core.GameUnifier.removeOnError(a)}y.removeOnError=v;function R(a){C__namespace.NarrationManagerStatic.onStepStart=a;}y.onStepStart=R;function S(a){C__namespace.NarrationManagerStatic.onLoadingLabel=a;}y.onLoadingLabel=S;function rt(a){C__namespace.NarrationManagerStatic.onStepEnd=a;}y.onStepEnd=rt;function I(a){core.GameUnifier.navigate=a;}y.onNavigate=I;function k(a){return core.GameUnifier.addOnPreContinue(a)}y.addOnPreContinue=k;function A(a){return core.GameUnifier.removeOnPreContinue(a)}y.removeOnPreContinue=A;})(exports.Game||={});var ti={characterUtils:Bt__namespace,canvasUtils:nt__namespace,narrationUtils:C__namespace,soundUtils:pt__namespace,CANVAS_APP_GAME_LAYER_ALIAS:Kt,Pause:Ht,Repeat:Yt,PIXIVN_VERSION:Ut,...kt,...ae,canvas:nt__namespace.canvas,narration:C__namespace.narration,sound:pt__namespace.sound,storage:G__namespace.storage,history:et__namespace.stepHistory,Game:exports.Game,GameUnifier:core.GameUnifier};exports.CANVAS_APP_GAME_LAYER_ALIAS=Kt;exports.CachedMap=Ft;exports.PIXIVN_VERSION=Ut;exports.Pause=Ht;exports.Repeat=Yt;exports.SYSTEM_RESERVED_STORAGE_KEYS=ve;exports.createExportableElement=le;exports.default=ti;Object.keys(nt).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return nt[k]}})});Object.keys(Bt).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return Bt[k]}})});Object.keys(core).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return core[k]}})});Object.keys(et).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return et[k]}})});Object.keys(C).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return C[k]}})});Object.keys(pt).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return pt[k]}})});Object.keys(G).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return G[k]}})});
package/dist/index.d.cts CHANGED
@@ -29,7 +29,7 @@ import './HistoryStep-DtOryKAZ.cjs';
29
29
  import 'microdiff';
30
30
  import './StorageElementType-C7ETezlL.cjs';
31
31
 
32
- var version = "1.8.5";
32
+ var version = "1.8.7";
33
33
 
34
34
  /**
35
35
  * @deprecated
package/dist/index.d.ts CHANGED
@@ -29,7 +29,7 @@ import './HistoryStep-DtOryKAZ.js';
29
29
  import 'microdiff';
30
30
  import './StorageElementType-C7ETezlL.js';
31
31
 
32
- var version = "1.8.5";
32
+ var version = "1.8.7";
33
33
 
34
34
  /**
35
35
  * @deprecated
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import {b}from'./chunk-3GXLF557.mjs';import*as T from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as $ 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 A from'@drincs/pixi-vn/history';export*from'@drincs/pixi-vn/history';import*as S from'@drincs/pixi-vn/narration';export*from'@drincs/pixi-vn/narration';import*as D from'@drincs/pixi-vn/sound';export*from'@drincs/pixi-vn/sound';import*as x from'@drincs/pixi-vn/storage';export*from'@drincs/pixi-vn/storage';import {motion}from'@drincs/pixi-vn/motion';var ht=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,X=new Set,z=typeof process=="object"&&process?process:{},J=(c,t,e,i)=>{typeof z.emitWarning=="function"?z.emitWarning(c,t,e,i):console.error(`[${e}] ${t}: ${c}`);},G=globalThis.AbortController,B=globalThis.AbortSignal;if(typeof G>"u"){B=class{onabort;_onabort=[];reason;aborted=false;addEventListener(e,i){this._onabort.push(i);}},G=class{constructor(){t();}signal=new B;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=true;for(let i of this.signal._onabort)i(e);this.signal.onabort?.(e);}}};let c=z.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{c&&(c=false,J("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",t));};}var ct=c=>!X.has(c);var R=c=>c&&c===Math.floor(c)&&c>0&&isFinite(c),Q=c=>R(c)?c<=Math.pow(2,8)?Uint8Array:c<=Math.pow(2,16)?Uint16Array:c<=Math.pow(2,32)?Uint32Array:c<=Number.MAX_SAFE_INTEGER?j:null:null,j=class extends Array{constructor(c){super(c),this.fill(0);}},dt=class F{heap;length;static#a=false;static create(t){let e=Q(t);if(!e)return [];F.#a=true;let i=new F(t,e);return F.#a=false,i}constructor(t,e){if(!F.#a)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new e(t),this.length=0;}push(t){this.heap[this.length++]=t;}pop(){return this.heap[--this.length]}},Z=class tt{#a;#d;#g;#R;#_;#N;#F;#v;get perf(){return this.#v}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#r;#S;#s;#i;#t;#h;#p;#l;#o;#y;#n;#E;#x;#u;#f;#b;#U;#c;#P;static unsafeExposeInternals(t){return {starts:t.#x,ttls:t.#u,autopurgeTimers:t.#f,sizes:t.#E,keyMap:t.#s,keyList:t.#i,valList:t.#t,next:t.#h,prev:t.#p,get head(){return t.#l},get tail(){return t.#o},free:t.#y,isBackgroundFetch:e=>t.#e(e),backgroundFetch:(e,i,s,r)=>t.#I(e,i,s,r),moveToTail:e=>t.#C(e),indexes:e=>t.#w(e),rindexes:e=>t.#A(e),isStale:e=>t.#m(e)}}get max(){return this.#a}get maxSize(){return this.#d}get calculatedSize(){return this.#S}get size(){return this.#r}get fetchMethod(){return this.#N}get memoMethod(){return this.#F}get dispose(){return this.#g}get onInsert(){return this.#R}get disposeAfter(){return this.#_}constructor(t){let{max:e=0,ttl:i,ttlResolution:s=1,ttlAutopurge:r,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:l,dispose:p,onInsert:v,disposeAfter:u,noDisposeOnSet:m,noUpdateTTL:g,maxSize:U=0,maxEntrySize:_=0,sizeCalculation:b,fetchMethod:o,memoMethod:f,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:h,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:E,ignoreFetchAbort:w,perf:C}=t;if(C!==void 0&&typeof C?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#v=C??ht,e!==0&&!R(e))throw new TypeError("max option must be a nonnegative integer");let N=e?Q(e):Array;if(!N)throw new Error("invalid max value: "+e);if(this.#a=e,this.#d=U,this.maxEntrySize=_||this.#d,this.sizeCalculation=b,this.sizeCalculation){if(!this.#d&&!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(f!==void 0&&typeof f!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#F=f,o!==void 0&&typeof o!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#N=o,this.#U=!!o,this.#s=new Map,this.#i=new Array(e).fill(void 0),this.#t=new Array(e).fill(void 0),this.#h=new N(e),this.#p=new N(e),this.#l=0,this.#o=0,this.#y=dt.create(e),this.#r=0,this.#S=0,typeof p=="function"&&(this.#g=p),typeof v=="function"&&(this.#R=v),typeof u=="function"?(this.#_=u,this.#n=[]):(this.#_=void 0,this.#n=void 0),this.#b=!!this.#g,this.#P=!!this.#R,this.#c=!!this.#_,this.noDisposeOnSet=!!m,this.noUpdateTTL=!!g,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!d,this.allowStaleOnFetchAbort=!!E,this.ignoreFetchAbort=!!w,this.maxEntrySize!==0){if(this.#d!==0&&!R(this.#d))throw new TypeError("maxSize must be a positive integer if specified");if(!R(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#K();}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!h,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=R(s)||s===0?s:1,this.ttlAutopurge=!!r,this.ttl=i||0,this.ttl){if(!R(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#M();}if(this.#a===0&&this.ttl===0&&this.#d===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#a&&!this.#d){let M="LRU_CACHE_UNBOUNDED";ct(M)&&(X.add(M),J("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",M,tt));}}getRemainingTTL(t){return this.#s.has(t)?1/0:0}#M(){let t=new j(this.#a),e=new j(this.#a);this.#u=t,this.#x=e;let i=this.ttlAutopurge?new Array(this.#a):void 0;this.#f=i,this.#z=(a,l,p=this.#v.now())=>{e[a]=l!==0?p:0,t[a]=l,s(a,l);},this.#D=a=>{e[a]=t[a]!==0?this.#v.now():0,s(a,t[a]);};let s=this.ttlAutopurge?(a,l)=>{if(i?.[a]&&(clearTimeout(i[a]),i[a]=void 0),l&&l!==0&&i){let p=setTimeout(()=>{this.#m(a)&&this.#O(this.#i[a],"expire");},l+1);p.unref&&p.unref(),i[a]=p;}}:()=>{};this.#T=(a,l)=>{if(t[l]){let p=t[l],v=e[l];if(!p||!v)return;a.ttl=p,a.start=v,a.now=r||n();let u=a.now-v;a.remainingTTL=p-u;}};let r=0,n=()=>{let a=this.#v.now();if(this.ttlResolution>0){r=a;let l=setTimeout(()=>r=0,this.ttlResolution);l.unref&&l.unref();}return a};this.getRemainingTTL=a=>{let l=this.#s.get(a);if(l===void 0)return 0;let p=t[l],v=e[l];if(!p||!v)return 1/0;let u=(r||n())-v;return p-u},this.#m=a=>{let l=e[a],p=t[a];return !!p&&!!l&&(r||n())-l>p};}#D=()=>{};#T=()=>{};#z=()=>{};#m=()=>false;#K(){let t=new j(this.#a);this.#S=0,this.#E=t,this.#L=e=>{this.#S-=t[e],t[e]=0;},this.#V=(e,i,s,r)=>{if(this.#e(i))return 0;if(!R(s))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(s=r(i,e),!R(s))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 s},this.#j=(e,i,s)=>{if(t[e]=i,this.#d){let r=this.#d-t[e];for(;this.#S>r;)this.#G(true);}this.#S+=t[e],s&&(s.entrySize=i,s.totalCalculatedSize=this.#S);};}#L=t=>{};#j=(t,e,i)=>{};#V=(t,e,i,s)=>{if(i||s)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#w({allowStale:t=this.allowStale}={}){if(this.#r)for(let e=this.#o;!(!this.#W(e)||((t||!this.#m(e))&&(yield e),e===this.#l));)e=this.#p[e];}*#A({allowStale:t=this.allowStale}={}){if(this.#r)for(let e=this.#l;!(!this.#W(e)||((t||!this.#m(e))&&(yield e),e===this.#o));)e=this.#h[e];}#W(t){return t!==void 0&&this.#s.get(this.#i[t])===t}*entries(){for(let t of this.#w())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#i[t],this.#t[t]]);}*rentries(){for(let t of this.#A())this.#t[t]!==void 0&&this.#i[t]!==void 0&&!this.#e(this.#t[t])&&(yield [this.#i[t],this.#t[t]]);}*keys(){for(let t of this.#w()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*rkeys(){for(let t of this.#A()){let e=this.#i[t];e!==void 0&&!this.#e(this.#t[t])&&(yield e);}}*values(){for(let t of this.#w())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}*rvalues(){for(let t of this.#A())this.#t[t]!==void 0&&!this.#e(this.#t[t])&&(yield this.#t[t]);}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,e={}){for(let i of this.#w()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;if(r!==void 0&&t(r,this.#i[i],this))return this.get(this.#i[i],e)}}forEach(t,e=this){for(let i of this.#w()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;r!==void 0&&t.call(e,r,this.#i[i],this);}}rforEach(t,e=this){for(let i of this.#A()){let s=this.#t[i],r=this.#e(s)?s.__staleWhileFetching:s;r!==void 0&&t.call(e,r,this.#i[i],this);}}purgeStale(){let t=false;for(let e of this.#A({allowStale:true}))this.#m(e)&&(this.#O(this.#i[e],"expire"),t=true);return t}info(t){let e=this.#s.get(t);if(e===void 0)return;let i=this.#t[e],s=this.#e(i)?i.__staleWhileFetching:i;if(s===void 0)return;let r={value:s};if(this.#u&&this.#x){let n=this.#u[e],a=this.#x[e];if(n&&a){let l=n-(this.#v.now()-a);r.ttl=l,r.start=Date.now();}}return this.#E&&(r.size=this.#E[e]),r}dump(){let t=[];for(let e of this.#w({allowStale:true})){let i=this.#i[e],s=this.#t[e],r=this.#e(s)?s.__staleWhileFetching:s;if(r===void 0||i===void 0)continue;let n={value:r};if(this.#u&&this.#x){n.ttl=this.#u[e];let a=this.#v.now()-this.#x[e];n.start=Math.floor(Date.now()-a);}this.#E&&(n.size=this.#E[e]),t.unshift([i,n]);}return t}load(t){this.clear();for(let[e,i]of t){if(i.start){let s=Date.now()-i.start;i.start=this.#v.now()-s;}this.set(e,i.value,i);}}set(t,e,i={}){if(e===void 0)return this.delete(t),this;let{ttl:s=this.ttl,start:r,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:l}=i,{noUpdateTTL:p=this.noUpdateTTL}=i,v=this.#V(t,e,i.size||0,a);if(this.maxEntrySize&&v>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=true),this.#O(t,"set"),this;let u=this.#r===0?void 0:this.#s.get(t);if(u===void 0)u=this.#r===0?this.#o:this.#y.length!==0?this.#y.pop():this.#r===this.#a?this.#G(false):this.#r,this.#i[u]=t,this.#t[u]=e,this.#s.set(t,u),this.#h[this.#o]=u,this.#p[u]=this.#o,this.#o=u,this.#r++,this.#j(u,v,l),l&&(l.set="add"),p=false,this.#P&&this.#R?.(e,t,"add");else {this.#C(u);let m=this.#t[u];if(e!==m){if(this.#U&&this.#e(m)){m.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:g}=m;g!==void 0&&!n&&(this.#b&&this.#g?.(g,t,"set"),this.#c&&this.#n?.push([g,t,"set"]));}else n||(this.#b&&this.#g?.(m,t,"set"),this.#c&&this.#n?.push([m,t,"set"]));if(this.#L(u),this.#j(u,v,l),this.#t[u]=e,l){l.set="replace";let g=m&&this.#e(m)?m.__staleWhileFetching:m;g!==void 0&&(l.oldValue=g);}}else l&&(l.set="update");this.#P&&this.onInsert?.(e,t,e===m?"update":"replace");}if(s!==0&&!this.#u&&this.#M(),this.#u&&(p||this.#z(u,s,r),l&&this.#T(l,u)),!n&&this.#c&&this.#n){let m=this.#n,g;for(;g=m?.shift();)this.#_?.(...g);}return this}pop(){try{for(;this.#r;){let t=this.#t[this.#l];if(this.#G(!0),this.#e(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#c&&this.#n){let t=this.#n,e;for(;e=t?.shift();)this.#_?.(...e);}}}#G(t){let e=this.#l,i=this.#i[e],s=this.#t[e];return this.#U&&this.#e(s)?s.__abortController.abort(new Error("evicted")):(this.#b||this.#c)&&(this.#b&&this.#g?.(s,i,"evict"),this.#c&&this.#n?.push([s,i,"evict"])),this.#L(e),this.#f?.[e]&&(clearTimeout(this.#f[e]),this.#f[e]=void 0),t&&(this.#i[e]=void 0,this.#t[e]=void 0,this.#y.push(e)),this.#r===1?(this.#l=this.#o=0,this.#y.length=0):this.#l=this.#h[e],this.#s.delete(i),this.#r--,e}has(t,e={}){let{updateAgeOnHas:i=this.updateAgeOnHas,status:s}=e,r=this.#s.get(t);if(r!==void 0){let n=this.#t[r];if(this.#e(n)&&n.__staleWhileFetching===void 0)return false;if(this.#m(r))s&&(s.has="stale",this.#T(s,r));else return i&&this.#D(r),s&&(s.has="hit",this.#T(s,r)),true}else s&&(s.has="miss");return false}peek(t,e={}){let{allowStale:i=this.allowStale}=e,s=this.#s.get(t);if(s===void 0||!i&&this.#m(s))return;let r=this.#t[s];return this.#e(r)?r.__staleWhileFetching:r}#I(t,e,i,s){let r=e===void 0?void 0:this.#t[e];if(this.#e(r))return r;let n=new G,{signal:a}=i;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let l={signal:n.signal,options:i,context:s},p=(_,b=false)=>{let{aborted:o}=n.signal,f=i.ignoreFetchAbort&&_!==void 0,y=i.ignoreFetchAbort||!!(i.allowStaleOnFetchAbort&&_!==void 0);if(i.status&&(o&&!b?(i.status.fetchAborted=true,i.status.fetchError=n.signal.reason,f&&(i.status.fetchAbortIgnored=true)):i.status.fetchResolved=true),o&&!f&&!b)return u(n.signal.reason,y);let h=g,d=this.#t[e];return (d===g||f&&b&&d===void 0)&&(_===void 0?h.__staleWhileFetching!==void 0?this.#t[e]=h.__staleWhileFetching:this.#O(t,"fetch"):(i.status&&(i.status.fetchUpdated=true),this.set(t,_,l.options))),_},v=_=>(i.status&&(i.status.fetchRejected=true,i.status.fetchError=_),u(_,false)),u=(_,b)=>{let{aborted:o}=n.signal,f=o&&i.allowStaleOnFetchAbort,y=f||i.allowStaleOnFetchRejection,h=y||i.noDeleteOnFetchRejection,d=g;if(this.#t[e]===g&&(!h||!b&&d.__staleWhileFetching===void 0?this.#O(t,"fetch"):f||(this.#t[e]=d.__staleWhileFetching)),y)return i.status&&d.__staleWhileFetching!==void 0&&(i.status.returnedStale=true),d.__staleWhileFetching;if(d.__returned===d)throw _},m=(_,b)=>{let o=this.#N?.(t,r,l);o&&o instanceof Promise&&o.then(f=>_(f===void 0?void 0:f),b),n.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(_(void 0),i.allowStaleOnFetchAbort&&(_=f=>p(f,true)));});};i.status&&(i.status.fetchDispatched=true);let g=new Promise(m).then(p,v),U=Object.assign(g,{__abortController:n,__staleWhileFetching:r,__returned:void 0});return e===void 0?(this.set(t,U,{...l.options,status:void 0}),e=this.#s.get(t)):this.#t[e]=U,U}#e(t){if(!this.#U)return false;let e=t;return !!e&&e instanceof Promise&&e.hasOwnProperty("__staleWhileFetching")&&e.__abortController instanceof G}async fetch(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:p=this.sizeCalculation,noUpdateTTL:v=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:U=this.allowStaleOnFetchAbort,context:_,forceRefresh:b=false,status:o,signal:f}=e;if(!this.#U)return o&&(o.fetch="get"),this.get(t,{allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,status:o});let y={allowStale:i,updateAgeOnGet:s,noDeleteOnStaleGet:r,ttl:n,noDisposeOnSet:a,size:l,sizeCalculation:p,noUpdateTTL:v,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:U,ignoreFetchAbort:g,status:o,signal:f},h=this.#s.get(t);if(h===void 0){o&&(o.fetch="miss");let d=this.#I(t,h,y,_);return d.__returned=d}else {let d=this.#t[h];if(this.#e(d)){let N=i&&d.__staleWhileFetching!==void 0;return o&&(o.fetch="inflight",N&&(o.returnedStale=true)),N?d.__staleWhileFetching:d.__returned=d}let E=this.#m(h);if(!b&&!E)return o&&(o.fetch="hit"),this.#C(h),s&&this.#D(h),o&&this.#T(o,h),d;let w=this.#I(t,h,y,_),C=w.__staleWhileFetching!==void 0&&i;return o&&(o.fetch=E?"stale":"refresh",C&&E&&(o.returnedStale=true)),C?w.__staleWhileFetching:w.__returned=w}}async forceFetch(t,e={}){let i=await this.fetch(t,e);if(i===void 0)throw new Error("fetch() returned undefined");return i}memo(t,e={}){let i=this.#F;if(!i)throw new Error("no memoMethod provided to constructor");let{context:s,forceRefresh:r,...n}=e,a=this.get(t,n);if(!r&&a!==void 0)return a;let l=i(t,a,{options:n,context:s});return this.set(t,l,n),l}get(t,e={}){let{allowStale:i=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:n}=e,a=this.#s.get(t);if(a!==void 0){let l=this.#t[a],p=this.#e(l);return n&&this.#T(n,a),this.#m(a)?(n&&(n.get="stale"),p?(n&&i&&l.__staleWhileFetching!==void 0&&(n.returnedStale=true),i?l.__staleWhileFetching:void 0):(r||this.#O(t,"expire"),n&&i&&(n.returnedStale=true),i?l:void 0)):(n&&(n.get="hit"),p?l.__staleWhileFetching:(this.#C(a),s&&this.#D(a),l))}else n&&(n.get="miss");}#Y(t,e){this.#p[e]=t,this.#h[t]=e;}#C(t){t!==this.#o&&(t===this.#l?this.#l=this.#h[t]:this.#Y(this.#p[t],this.#h[t]),this.#Y(this.#o,t),this.#o=t);}delete(t){return this.#O(t,"delete")}#O(t,e){let i=false;if(this.#r!==0){let s=this.#s.get(t);if(s!==void 0)if(this.#f?.[s]&&(clearTimeout(this.#f?.[s]),this.#f[s]=void 0),i=true,this.#r===1)this.#H(e);else {this.#L(s);let r=this.#t[s];if(this.#e(r)?r.__abortController.abort(new Error("deleted")):(this.#b||this.#c)&&(this.#b&&this.#g?.(r,t,e),this.#c&&this.#n?.push([r,t,e])),this.#s.delete(t),this.#i[s]=void 0,this.#t[s]=void 0,s===this.#o)this.#o=this.#p[s];else if(s===this.#l)this.#l=this.#h[s];else {let n=this.#p[s];this.#h[n]=this.#h[s];let a=this.#h[s];this.#p[a]=this.#p[s];}this.#r--,this.#y.push(s);}}if(this.#c&&this.#n?.length){let s=this.#n,r;for(;r=s?.shift();)this.#_?.(...r);}return i}clear(){return this.#H("delete")}#H(t){for(let e of this.#A({allowStale:true})){let i=this.#t[e];if(this.#e(i))i.__abortController.abort(new Error("deleted"));else {let s=this.#i[e];this.#b&&this.#g?.(i,s,t),this.#c&&this.#n?.push([i,s,t]);}}if(this.#s.clear(),this.#t.fill(void 0),this.#i.fill(void 0),this.#u&&this.#x){this.#u.fill(0),this.#x.fill(0);for(let e of this.#f??[])e!==void 0&&clearTimeout(e);this.#f?.fill(void 0);}if(this.#E&&this.#E.fill(0),this.#l=0,this.#o=0,this.#y.length=0,this.#S=0,this.#r=0,this.#c&&this.#n){let e=this.#n,i;for(;i=e?.shift();)this.#_?.(...i);}}};var I=class{cache;map=new Map;constructor(t){this.cache=new Z({max:t.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(t){let e=this.map.delete(t);return e&&this.cache.delete(t),e}get forEach(){return this.map.forEach}get(t){let e=this.cache.get(t);return e||this.map.get(t)}has(t){return this.map.has(t)}set(t,e){return this.map.set(t,e),this.cache.set(t,e),this}get size(){return this.map.size}entries(){return this.map.entries()}keys(){return this.map.keys()}values(){return this.map.values()}};var P="1.8.5";var V={version:P};var W="repeat";function Y(c){return {type:"pause",duration:c}}var H="__game_layer__";var pt={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 it={};var K={};b(K,{createExportableElement:()=>st});var L;(s=>(s.log=(r,...n)=>console.log(`[Pixi\u2019VN] ${r}`,...n),s.warn=(r,...n)=>console.warn(`[Pixi\u2019VN] ${r}`,...n),s.error=(r,...n)=>console.error(`[Pixi\u2019VN] ${r}`,...n),s.info=(r,...n)=>console.info(`[Pixi\u2019VN] ${r}`,...n)))(L||={});function st(c){try{if(typeof c>"u")return c;let t=JSON.stringify(c);return JSON.parse(t)}catch(t){throw L.error("Error creating exportable element",c,t),new PixiError("not_json_serializable","Error creating exportable element")}}var ft=typeof window<"u"&&typeof document<"u",rt=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${V.version}`],ot=31,mt="background:#2f90da;color:#fff;font-weight:bold;",gt="background:#c832bb;color:#fff;font-weight:bold;",_t="background:transparent;font-weight:bold;",k=` v${V.version}`;function nt(){if(!ft)return;let c=[],t=[];for(let e=0;e<rt.length;e++){let i=rt[e],s=i.endsWith(k),r=s?i.slice(0,-k.length):i,n=r.slice(0,ot),a=r.slice(ot),l=s?"%c%s%c%s%c%s":"%c%s%c%s";c.push(l),t.push(mt,n,gt,a),s&&t.push(_t,k);}console.info(c.join(`
2
- `),...t);}function q(){let c=window.location.pathname+window.location.hash;return c.includes("#")&&(c=c.split("#")[1]),c}nt();var at;(b=>{async function c(o,f,y){if(GameUnifier.init({navigate:f?.navigate,getCurrentGameStepState:()=>{let h={};try{h=T.canvas.export();}catch{}return {path:q(),storage:x.storage.export(),canvas:h,sound:D.sound.export(),labelIndex:S.NarrationManagerStatic.currentLabelStepIndex||0,openedLabels:S.narration.openedLabels}},restoreGameStepState:async(h,d)=>{A.HistoryManagerStatic._originalStepData=h,S.NarrationManagerStatic.openedLabels=h.openedLabels,x.storage.restore(h.storage);try{await T.canvas.restore(h.canvas),await D.sound.restore(h.sound);}catch(E){L.error("Error restoring game step state:",E);}await d(h.path);},getStepCounter:()=>S.narration.stepCounter,setStepCounter:h=>{S.NarrationManagerStatic._stepCounter=h;},getOpenedLabels:()=>S.narration.openedLabels.length,addHistoryItem:(h,d)=>A.stepHistory.add(h,d),getCharacter:h=>$.RegisteredCharacters.get(h),processNavigationRequests:(h,d)=>{let E=h,w=Promise.resolve();return h>0?(E--,w=S.narration.continue(d)):h<0&&(E=0,w=A.stepHistory.back(d,{steps:h*-1})),{newValue:E,result:w}},animate:(h,d,E,w)=>motion.animate(h,d,E,w),getVariable:(h,d)=>x.StorageRegistry.getVariable(h,d),setVariable:(h,d,E)=>x.StorageRegistry.setVariable(h,d,E),removeVariable:(h,d)=>x.StorageRegistry.removeVariable(h,d),getFlag:h=>x.storage.getFlag(h),setFlag:(h,d)=>x.storage.setFlag(h,d),onLabelClosing:h=>x.StorageRegistry.clearOldTempVariables(h)}),!o||!f){L.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await T.canvas.init(o,f,y)}b.init=c;function t(){x.storage.clear();try{T.canvas.clear();}catch{}D.sound.clear(),S.narration.clear(),A.stepHistory.clear();}b.clear=t;function e(){let o={};try{o=T.canvas.export();}catch{}return {pixivn_version:P,stepData:S.narration.export(),storageData:x.storage.export(),canvasData:o,soundData:D.sound.export(),historyData:A.stepHistory.export(),path:q()}}b.exportGameState=e;async function i(o,f){A.stepHistory.restore(o.historyData);let y=A.stepHistory.lastKey;if(typeof y=="number"){let h=A.stepHistory.stepsInfoMap.get(y)||null;await S.narration.restore(o.stepData,h);}x.storage.restore(o.storageData);try{await T.canvas.restore(o.canvasData),await D.sound.restore(o.soundData);}catch{}f?await f(o.path):await GameUnifier.navigate(o.path);}b.restoreGameState=i;async function s(o,f){return b.clear(),await S.narration.call(o,f)}b.start=s;function r(o){return JSON.parse(o)}b.jsonToGameState=r;function n(o){GameUnifier.onEnd=o;}b.onEnd=n;function a(o){return L.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),GameUnifier.addOnError((f,y)=>o("step",f,y))}b.onError=a;function l(o){return GameUnifier.addOnError(o)}b.addOnError=l;function p(o){return GameUnifier.removeOnError(o)}b.removeOnError=p;function v(o){S.NarrationManagerStatic.onStepStart=o;}b.onStepStart=v;function u(o){S.NarrationManagerStatic.onLoadingLabel=o;}b.onLoadingLabel=u;function m(o){S.NarrationManagerStatic.onStepEnd=o;}b.onStepEnd=m;function g(o){GameUnifier.navigate=o;}b.onNavigate=g;function U(o){return GameUnifier.addOnPreContinue(o)}b.addOnPreContinue=U;function _(o){return GameUnifier.removeOnPreContinue(o)}b.removeOnPreContinue=_;})(at||={});var Kt={characterUtils:$,canvasUtils:T,narrationUtils:S,soundUtils:D,CANVAS_APP_GAME_LAYER_ALIAS:H,Pause:Y,Repeat:W,PIXIVN_VERSION:P,...K,...it,canvas:T.canvas,narration:S.narration,sound:D.sound,storage:x.storage,history:A.stepHistory,Game:at,GameUnifier:GameUnifier};export{H as CANVAS_APP_GAME_LAYER_ALIAS,I as CachedMap,at as Game,P as PIXIVN_VERSION,Y as Pause,W as Repeat,pt as SYSTEM_RESERVED_STORAGE_KEYS,st as createExportableElement,Kt as default};
1
+ import {d,f as f$1,b as b$1,e,g,h,i}from'./chunk-K7JIC2F2.mjs';import*as nt from'@drincs/pixi-vn/canvas';export*from'@drincs/pixi-vn/canvas';import*as $t 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 pt 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,Qt=new Set,jt=typeof process=="object"&&process?process:{},Zt=(m,e,i,s)=>{typeof jt.emitWarning=="function"?jt.emitWarning(m,e,i,s):console.error(`[${i}] ${e}: ${m}`);},Nt=globalThis.AbortController,Bt=globalThis.AbortSignal;if(typeof Nt>"u"){Bt=class{constructor(){d(this,"onabort");d(this,"_onabort",[]);d(this,"reason");d(this,"aborted",false);}addEventListener(i,s){this._onabort.push(s);}},Nt=class{constructor(){d(this,"signal",new Bt);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,Zt("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=>!Qt.has(m);var at=m=>m&&m===Math.floor(m)&&m>0&&isFinite(m),te=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$1,i){d(this,"heap");d(this,"length");if(!e(it,St))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new i(e$1),this.length=0;}static create(e){let i=te(e);if(!i)return [];g(it,St,true);let s=new it(e,i);return g(it,St,false),s}push(e){this.heap[this.length++]=e;}pop(){return this.heap[--this.length]}},St=new WeakMap,f$1(it,St,false),it),Xt,Jt,K,M,q,ut,$,yt,Et,B,U,X,T,w,f,P,z,N,D,J,L,Q,Z,V,W,tt,dt,j,xt,l,Gt,ft,ot,Ot,Y,ie,mt,bt,Tt,lt,ht,It,Lt,Ct,b,Mt,At,ct,zt,wt,ee=(wt=class{constructor(e$1){f$1(this,l);f$1(this,K);f$1(this,M);f$1(this,q);f$1(this,ut);f$1(this,$);f$1(this,yt);f$1(this,Et);f$1(this,B);d(this,"ttl");d(this,"ttlResolution");d(this,"ttlAutopurge");d(this,"updateAgeOnGet");d(this,"updateAgeOnHas");d(this,"allowStale");d(this,"noDisposeOnSet");d(this,"noUpdateTTL");d(this,"maxEntrySize");d(this,"sizeCalculation");d(this,"noDeleteOnFetchRejection");d(this,"noDeleteOnStaleGet");d(this,"allowStaleOnFetchAbort");d(this,"allowStaleOnFetchRejection");d(this,"ignoreFetchAbort");f$1(this,U);f$1(this,X);f$1(this,T);f$1(this,w);f$1(this,f);f$1(this,P);f$1(this,z);f$1(this,N);f$1(this,D);f$1(this,J);f$1(this,L);f$1(this,Q);f$1(this,Z);f$1(this,V);f$1(this,W);f$1(this,tt);f$1(this,dt);f$1(this,j);f$1(this,xt);f$1(this,ft,()=>{});f$1(this,ot,()=>{});f$1(this,Ot,()=>{});f$1(this,Y,()=>false);f$1(this,mt,e=>{});f$1(this,bt,(e,i,s)=>{});f$1(this,Tt,(e,i,s,r)=>{if(s||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});d(this,Xt,"LRUCache");let{max:i=0,ttl:s,ttlResolution:r=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:h$1,allowStale:d$1,dispose:v,onInsert:R,disposeAfter:S,noDisposeOnSet:rt,noUpdateTTL:I,maxSize:k=0,maxEntrySize:A=0,sizeCalculation:y,fetchMethod:a,memoMethod:E,noDeleteOnFetchRejection:O,noDeleteOnStaleGet:u,allowStaleOnFetchRejection:g$1,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(g(this,B,_t??de),i!==0&&!at(i))throw new TypeError("max option must be a nonnegative integer");let vt=i?te(i):Array;if(!vt)throw new Error("invalid max value: "+i);if(g(this,K,i),g(this,M,k),this.maxEntrySize=A||e(this,M),this.sizeCalculation=y,this.sizeCalculation){if(!e(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(E!==void 0&&typeof E!="function")throw new TypeError("memoMethod must be a function if defined");if(g(this,Et,E),a!==void 0&&typeof a!="function")throw new TypeError("fetchMethod must be a function if specified");if(g(this,yt,a),g(this,dt,!!a),g(this,T,new Map),g(this,w,new Array(i).fill(void 0)),g(this,f,new Array(i).fill(void 0)),g(this,P,new vt(i)),g(this,z,new vt(i)),g(this,N,0),g(this,D,0),g(this,J,ue.create(i)),g(this,U,0),g(this,X,0),typeof v=="function"&&g(this,q,v),typeof R=="function"&&g(this,ut,R),typeof S=="function"?(g(this,$,S),g(this,L,[])):(g(this,$,void 0),g(this,L,void 0)),g(this,tt,!!e(this,q)),g(this,xt,!!e(this,ut)),g(this,j,!!e(this,$)),this.noDisposeOnSet=!!rt,this.noUpdateTTL=!!I,this.noDeleteOnFetchRejection=!!O,this.allowStaleOnFetchRejection=!!g$1,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!H,this.maxEntrySize!==0){if(e(this,M)!==0&&!at(e(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");h(this,l,ie).call(this);}if(this.allowStale=!!d$1,this.noDeleteOnStaleGet=!!u,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!h$1,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");h(this,l,Gt).call(this);}if(e(this,K)===0&&this.ttl===0&&e(this,M)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!e(this,K)&&!e(this,M)){let Pt="LRU_CACHE_UNBOUNDED";pe(Pt)&&(Qt.add(Pt),Zt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Pt,wt));}}get perf(){return e(this,B)}static unsafeExposeInternals(e$1){return {starts:e(e$1,Z),ttls:e(e$1,V),autopurgeTimers:e(e$1,W),sizes:e(e$1,Q),keyMap:e(e$1,T),keyList:e(e$1,w),valList:e(e$1,f),next:e(e$1,P),prev:e(e$1,z),get head(){return e(e$1,N)},get tail(){return e(e$1,D)},free:e(e$1,J),isBackgroundFetch:i=>{var s;return h(s=e$1,l,b).call(s,i)},backgroundFetch:(i,s,r,n)=>{var o;return h(o=e$1,l,Ct).call(o,i,s,r,n)},moveToTail:i=>{var s;return h(s=e$1,l,At).call(s,i)},indexes:i=>{var s;return h(s=e$1,l,lt).call(s,i)},rindexes:i=>{var s;return h(s=e$1,l,ht).call(s,i)},isStale:i=>{var s;return e(s=e$1,Y).call(s,i)}}}get max(){return e(this,K)}get maxSize(){return e(this,M)}get calculatedSize(){return e(this,X)}get size(){return e(this,U)}get fetchMethod(){return e(this,yt)}get memoMethod(){return e(this,Et)}get dispose(){return e(this,q)}get onInsert(){return e(this,ut)}get disposeAfter(){return e(this,$)}getRemainingTTL(e$1){return e(this,T).has(e$1)?1/0:0}*entries(){for(let e$1 of h(this,l,lt).call(this))e(this,f)[e$1]!==void 0&&e(this,w)[e$1]!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield [e(this,w)[e$1],e(this,f)[e$1]]);}*rentries(){for(let e$1 of h(this,l,ht).call(this))e(this,f)[e$1]!==void 0&&e(this,w)[e$1]!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield [e(this,w)[e$1],e(this,f)[e$1]]);}*keys(){for(let e$1 of h(this,l,lt).call(this)){let i=e(this,w)[e$1];i!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield i);}}*rkeys(){for(let e$1 of h(this,l,ht).call(this)){let i=e(this,w)[e$1];i!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield i);}}*values(){for(let e$1 of h(this,l,lt).call(this))e(this,f)[e$1]!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}*rvalues(){for(let e$1 of h(this,l,ht).call(this))e(this,f)[e$1]!==void 0&&!h(this,l,b).call(this,e(this,f)[e$1])&&(yield e(this,f)[e$1]);}[(Jt=Symbol.iterator,Xt=Symbol.toStringTag,Jt)](){return this.entries()}find(e$1,i={}){for(let s of h(this,l,lt).call(this)){let r=e(this,f)[s],n=h(this,l,b).call(this,r)?r.__staleWhileFetching:r;if(n!==void 0&&e$1(n,e(this,w)[s],this))return this.get(e(this,w)[s],i)}}forEach(e$1,i=this){for(let s of h(this,l,lt).call(this)){let r=e(this,f)[s],n=h(this,l,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,w)[s],this);}}rforEach(e$1,i=this){for(let s of h(this,l,ht).call(this)){let r=e(this,f)[s],n=h(this,l,b).call(this,r)?r.__staleWhileFetching:r;n!==void 0&&e$1.call(i,n,e(this,w)[s],this);}}purgeStale(){let e$1=false;for(let i of h(this,l,ht).call(this,{allowStale:true}))e(this,Y).call(this,i)&&(h(this,l,ct).call(this,e(this,w)[i],"expire"),e$1=true);return e$1}info(e$1){let i=e(this,T).get(e$1);if(i===void 0)return;let s=e(this,f)[i],r=h(this,l,b).call(this,s)?s.__staleWhileFetching:s;if(r===void 0)return;let n={value:r};if(e(this,V)&&e(this,Z)){let o=e(this,V)[i],h=e(this,Z)[i];if(o&&h){let d=o-(e(this,B).now()-h);n.ttl=d,n.start=Date.now();}}return e(this,Q)&&(n.size=e(this,Q)[i]),n}dump(){let e$1=[];for(let i of h(this,l,lt).call(this,{allowStale:true})){let s=e(this,w)[i],r=e(this,f)[i],n=h(this,l,b).call(this,r)?r.__staleWhileFetching:r;if(n===void 0||s===void 0)continue;let o={value:n};if(e(this,V)&&e(this,Z)){o.ttl=e(this,V)[i];let h=e(this,B).now()-e(this,Z)[i];o.start=Math.floor(Date.now()-h);}e(this,Q)&&(o.size=e(this,Q)[i]),e$1.unshift([s,o]);}return e$1}load(e$1){this.clear();for(let[i,s]of e$1){if(s.start){let r=Date.now()-s.start;s.start=e(this,B).now()-r;}this.set(i,s.value,s);}}set(e$1,i$1,s={}){var rt,I,k,A;if(i$1===void 0)return this.delete(e$1),this;let{ttl:r=this.ttl,start:n,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:h$1=this.sizeCalculation,status:d}=s,{noUpdateTTL:v=this.noUpdateTTL}=s,R=e(this,Tt).call(this,e$1,i$1,s.size||0,h$1);if(this.maxEntrySize&&R>this.maxEntrySize)return d&&(d.set="miss",d.maxEntrySizeExceeded=true),h(this,l,ct).call(this,e$1,"set"),this;let S=e(this,U)===0?void 0:e(this,T).get(e$1);if(S===void 0)S=e(this,U)===0?e(this,D):e(this,J).length!==0?e(this,J).pop():e(this,U)===e(this,K)?h(this,l,Lt).call(this,false):e(this,U),e(this,w)[S]=e$1,e(this,f)[S]=i$1,e(this,T).set(e$1,S),e(this,P)[e(this,D)]=S,e(this,z)[S]=e(this,D),g(this,D,S),i(this,U)._++,e(this,bt).call(this,S,R,d),d&&(d.set="add"),v=false,e(this,xt)&&((rt=e(this,ut))==null||rt.call(this,i$1,e$1,"add"));else {h(this,l,At).call(this,S);let y=e(this,f)[S];if(i$1!==y){if(e(this,dt)&&h(this,l,b).call(this,y)){y.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:a}=y;a!==void 0&&!o&&(e(this,tt)&&((I=e(this,q))==null||I.call(this,a,e$1,"set")),e(this,j)&&e(this,L)?.push([a,e$1,"set"]));}else o||(e(this,tt)&&((k=e(this,q))==null||k.call(this,y,e$1,"set")),e(this,j)&&e(this,L)?.push([y,e$1,"set"]));if(e(this,mt).call(this,S),e(this,bt).call(this,S,R,d),e(this,f)[S]=i$1,d){d.set="replace";let a=y&&h(this,l,b).call(this,y)?y.__staleWhileFetching:y;a!==void 0&&(d.oldValue=a);}}else d&&(d.set="update");e(this,xt)&&this.onInsert?.(i$1,e$1,i$1===y?"update":"replace");}if(r!==0&&!e(this,V)&&h(this,l,Gt).call(this),e(this,V)&&(v||e(this,Ot).call(this,S,r,n),d&&e(this,ot).call(this,d,S)),!o&&e(this,j)&&e(this,L)){let y=e(this,L),a;for(;a=y?.shift();)(A=e(this,$))==null||A.call(this,...a);}return this}pop(){var e$1;try{for(;e(this,U);){let i=e(this,f)[e(this,N)];if(h(this,l,Lt).call(this,!0),h(this,l,b).call(this,i)){if(i.__staleWhileFetching)return i.__staleWhileFetching}else if(i!==void 0)return i}}finally{if(e(this,j)&&e(this,L)){let i=e(this,L),s;for(;s=i?.shift();)(e$1=e(this,$))==null||e$1.call(this,...s);}}}has(e$1,i={}){let{updateAgeOnHas:s=this.updateAgeOnHas,status:r}=i,n=e(this,T).get(e$1);if(n!==void 0){let o=e(this,f)[n];if(h(this,l,b).call(this,o)&&o.__staleWhileFetching===void 0)return false;if(e(this,Y).call(this,n))r&&(r.has="stale",e(this,ot).call(this,r,n));else return s&&e(this,ft).call(this,n),r&&(r.has="hit",e(this,ot).call(this,r,n)),true}else r&&(r.has="miss");return false}peek(e$1,i={}){let{allowStale:s=this.allowStale}=i,r=e(this,T).get(e$1);if(r===void 0||!s&&e(this,Y).call(this,r))return;let n=e(this,f)[r];return h(this,l,b).call(this,n)?n.__staleWhileFetching:n}async fetch(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:h$1=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:E}=i;if(!e(this,dt))return a&&(a.fetch="get"),this.get(e$1,{allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,status:a});let O={allowStale:s,updateAgeOnGet:r,noDeleteOnStaleGet:n,ttl:o,noDisposeOnSet:h$1,size:d,sizeCalculation:v,noUpdateTTL:R,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:rt,allowStaleOnFetchAbort:k,ignoreFetchAbort:I,status:a,signal:E},u=e(this,T).get(e$1);if(u===void 0){a&&(a.fetch="miss");let g=h(this,l,Ct).call(this,e$1,u,O,A);return g.__returned=g}else {let g=e(this,f)[u];if(h(this,l,b).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=e(this,Y).call(this,u);if(!y&&!F)return a&&(a.fetch="hit"),h(this,l,At).call(this,u),r&&e(this,ft).call(this,u),a&&e(this,ot).call(this,a,u),g;let H=h(this,l,Ct).call(this,e$1,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$1,i={}){let s=e(this,Et);if(!s)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:n,...o}=i,h=this.get(e$1,o);if(!n&&h!==void 0)return h;let d=s(e$1,h,{options:o,context:r});return this.set(e$1,d,o),d}get(e$1,i={}){let{allowStale:s=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:n=this.noDeleteOnStaleGet,status:o}=i,h$1=e(this,T).get(e$1);if(h$1!==void 0){let d=e(this,f)[h$1],v=h(this,l,b).call(this,d);return o&&e(this,ot).call(this,o,h$1),e(this,Y).call(this,h$1)?(o&&(o.get="stale"),v?(o&&s&&d.__staleWhileFetching!==void 0&&(o.returnedStale=true),s?d.__staleWhileFetching:void 0):(n||h(this,l,ct).call(this,e$1,"expire"),o&&s&&(o.returnedStale=true),s?d:void 0)):(o&&(o.get="hit"),v?d.__staleWhileFetching:(h(this,l,At).call(this,h$1),r&&e(this,ft).call(this,h$1),d))}else o&&(o.get="miss");}delete(e){return h(this,l,ct).call(this,e,"delete")}clear(){return h(this,l,zt).call(this,"delete")}},K=new WeakMap,M=new WeakMap,q=new WeakMap,ut=new WeakMap,$=new WeakMap,yt=new WeakMap,Et=new WeakMap,B=new WeakMap,U=new WeakMap,X=new WeakMap,T=new WeakMap,w=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,xt=new WeakMap,l=new WeakSet,Gt=function(){let e$1=new Dt(e(this,K)),i=new Dt(e(this,K));g(this,V,e$1),g(this,Z,i);let s=this.ttlAutopurge?new Array(e(this,K)):void 0;g(this,W,s),g(this,Ot,(h,d,v=e(this,B).now())=>{i[h]=d!==0?v:0,e$1[h]=d,r(h,d);}),g(this,ft,h=>{i[h]=e$1[h]!==0?e(this,B).now():0,r(h,e$1[h]);});let r=this.ttlAutopurge?(h$1,d)=>{if(s?.[h$1]&&(clearTimeout(s[h$1]),s[h$1]=void 0),d&&d!==0&&s){let v=setTimeout(()=>{e(this,Y).call(this,h$1)&&h(this,l,ct).call(this,e(this,w)[h$1],"expire");},d+1);v.unref&&v.unref(),s[h$1]=v;}}:()=>{};g(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=e(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=e(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},g(this,Y,h=>{let d=i[h],v=e$1[h];return !!v&&!!d&&(n||o())-d>v});},ft=new WeakMap,ot=new WeakMap,Ot=new WeakMap,Y=new WeakMap,ie=function(){let e$1=new Dt(e(this,K));g(this,X,0),g(this,Q,e$1),g(this,mt,i=>{g(this,X,e(this,X)-e$1[i]),e$1[i]=0;}),g(this,Tt,(i,s,r,n)=>{if(h(this,l,b).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}),g(this,bt,(i,s,r)=>{if(e$1[i]=s,e(this,M)){let n=e(this,M)-e$1[i];for(;e(this,X)>n;)h(this,l,Lt).call(this,true);}g(this,X,e(this,X)+e$1[i]),r&&(r.entrySize=s,r.totalCalculatedSize=e(this,X));});},mt=new WeakMap,bt=new WeakMap,Tt=new WeakMap,lt=function*({allowStale:e$1=this.allowStale}={}){if(e(this,U))for(let i=e(this,D);!(!h(this,l,It).call(this,i)||((e$1||!e(this,Y).call(this,i))&&(yield i),i===e(this,N)));)i=e(this,z)[i];},ht=function*({allowStale:e$1=this.allowStale}={}){if(e(this,U))for(let i=e(this,N);!(!h(this,l,It).call(this,i)||((e$1||!e(this,Y).call(this,i))&&(yield i),i===e(this,D)));)i=e(this,P)[i];},It=function(e$1){return e$1!==void 0&&e(this,T).get(e(this,w)[e$1])===e$1},Lt=function(e$1){var n;let i$1=e(this,N),s=e(this,w)[i$1],r=e(this,f)[i$1];return e(this,dt)&&h(this,l,b).call(this,r)?r.__abortController.abort(new Error("evicted")):(e(this,tt)||e(this,j))&&(e(this,tt)&&((n=e(this,q))==null||n.call(this,r,s,"evict")),e(this,j)&&e(this,L)?.push([r,s,"evict"])),e(this,mt).call(this,i$1),e(this,W)?.[i$1]&&(clearTimeout(e(this,W)[i$1]),e(this,W)[i$1]=void 0),e$1&&(e(this,w)[i$1]=void 0,e(this,f)[i$1]=void 0,e(this,J).push(i$1)),e(this,U)===1?(g(this,N,g(this,D,0)),e(this,J).length=0):g(this,N,e(this,P)[i$1]),e(this,T).delete(s),i(this,U)._--,i$1},Ct=function(e$1,i,s,r){let n=i===void 0?void 0:e(this,f)[i];if(h(this,l,b).call(this,n))return n;let o=new Nt,{signal:h$1}=s;h$1?.addEventListener("abort",()=>o.abort(h$1.reason),{signal:o.signal});let d={signal:o.signal,options:s,context:r},v=(A,y=false)=>{let{aborted:a}=o.signal,E=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,E&&(s.status.fetchAbortIgnored=true)):s.status.fetchResolved=true),a&&!E&&!y)return S(o.signal.reason,O);let u=I,g=e(this,f)[i];return (g===I||E&&y&&g===void 0)&&(A===void 0?u.__staleWhileFetching!==void 0?e(this,f)[i]=u.__staleWhileFetching:h(this,l,ct).call(this,e$1,"fetch"):(s.status&&(s.status.fetchUpdated=true),this.set(e$1,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,E=a&&s.allowStaleOnFetchAbort,O=E||s.allowStaleOnFetchRejection,u=O||s.noDeleteOnFetchRejection,g=I;if(e(this,f)[i]===I&&(!u||!y&&g.__staleWhileFetching===void 0?h(this,l,ct).call(this,e$1,"fetch"):E||(e(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 E;let a=(E=e(this,yt))==null?void 0:E.call(this,e$1,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$1,k,{...d.options,status:void 0}),i=e(this,T).get(e$1)):e(this,f)[i]=k,k},b=function(e$1){if(!e(this,dt))return false;let i=e$1;return !!i&&i instanceof Promise&&i.hasOwnProperty("__staleWhileFetching")&&i.__abortController instanceof Nt},Mt=function(e$1,i){e(this,z)[i]=e$1,e(this,P)[e$1]=i;},At=function(e$1){e$1!==e(this,D)&&(e$1===e(this,N)?g(this,N,e(this,P)[e$1]):h(this,l,Mt).call(this,e(this,z)[e$1],e(this,P)[e$1]),h(this,l,Mt).call(this,e(this,D),e$1),g(this,D,e$1));},ct=function(e$1,i$1){var r,n;let s=false;if(e(this,U)!==0){let o=e(this,T).get(e$1);if(o!==void 0)if(e(this,W)?.[o]&&(clearTimeout(e(this,W)?.[o]),e(this,W)[o]=void 0),s=true,e(this,U)===1)h(this,l,zt).call(this,i$1);else {e(this,mt).call(this,o);let h$1=e(this,f)[o];if(h(this,l,b).call(this,h$1)?h$1.__abortController.abort(new Error("deleted")):(e(this,tt)||e(this,j))&&(e(this,tt)&&((r=e(this,q))==null||r.call(this,h$1,e$1,i$1)),e(this,j)&&e(this,L)?.push([h$1,e$1,i$1])),e(this,T).delete(e$1),e(this,w)[o]=void 0,e(this,f)[o]=void 0,o===e(this,D))g(this,D,e(this,z)[o]);else if(o===e(this,N))g(this,N,e(this,P)[o]);else {let d=e(this,z)[o];e(this,P)[d]=e(this,P)[o];let v=e(this,P)[o];e(this,z)[v]=e(this,z)[o];}i(this,U)._--,e(this,J).push(o);}}if(e(this,j)&&e(this,L)?.length){let o=e(this,L),h;for(;h=o?.shift();)(n=e(this,$))==null||n.call(this,...h);}return s},zt=function(e$1){var i,s;for(let r of h(this,l,ht).call(this,{allowStale:true})){let n=e(this,f)[r];if(h(this,l,b).call(this,n))n.__abortController.abort(new Error("deleted"));else {let o=e(this,w)[r];e(this,tt)&&((i=e(this,q))==null||i.call(this,n,o,e$1)),e(this,j)&&e(this,L)?.push([n,o,e$1]);}}if(e(this,T).clear(),e(this,f).fill(void 0),e(this,w).fill(void 0),e(this,V)&&e(this,Z)){e(this,V).fill(0),e(this,Z).fill(0);for(let r of e(this,W)??[])r!==void 0&&clearTimeout(r);e(this,W)?.fill(void 0);}if(e(this,Q)&&e(this,Q).fill(0),g(this,N,0),g(this,D,0),e(this,J).length=0,g(this,X,0),g(this,U,0),e(this,j)&&e(this,L)){let r=e(this,L),n;for(;n=r?.shift();)(s=e(this,$))==null||s.call(this,...n);}},wt);var Ft=class{constructor(e){d(this,"cache");d(this,"map",new Map);this.cache=new ee({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.7";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 re={};var Kt={};b$1(Kt,{createExportableElement:()=>oe});var gt;(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)))(gt||={});function oe(m){try{if(typeof m>"u")return m;let e=JSON.stringify(m);return JSON.parse(e)}catch(e){throw gt.error("Error creating exportable element",m,e),new PixiError("not_json_serializable","Error creating exportable element")}}var ge=typeof window<"u"&&typeof document<"u",ne=[" _______ _ _ _ ____ ____ ____ _____ ","|_ __ \\ (_) (_) | | |_ _| |_ _||_ \\|_ _|"," | |__) |__ _ __ __ \\_| \\ \\ / / | \\ | | "," | ___/[ | [ \\ [ ][ | \\ \\ / / | |\\ \\| | "," _| |_ | | > ' < | | \\ ' / _| |_\\ |_ ",`|_____| [___][__]\`\\_][___] \\_/ |_____|\\____| v${Vt.version}`],ae=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 le(){if(!ge)return;let m=[],e=[];for(let i=0;i<ne.length;i++){let s=ne[i],r=s.endsWith(kt),n=r?s.slice(0,-kt.length):s,o=n.slice(0,ae),h=n.slice(ae),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(`
2
+ `),...e);}function qt(){let m=window.location.pathname+window.location.hash;return m.includes("#")&&(m=m.split("#")[1]),m}le();var he;(y=>{async function m(a,E,O){if(GameUnifier.init({navigate:E?.navigate,getCurrentGameStepState:()=>{let u={};try{u=nt.canvas.export();}catch{}return {path:qt(),storage:G.storage.export(),canvas:u,sound:pt.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 pt.sound.restore(u.sound);}catch(F){gt.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=>$t.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||!E){gt.warn("The canvas element or options are not defined. The canvas will not be initialized.");return}return await nt.canvas.init(a,E,O)}y.init=m;function e(){G.storage.clear();try{nt.canvas.clear();}catch{}pt.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:pt.sound.export(),historyData:et.stepHistory.export(),path:qt()}}y.exportGameState=i;async function s(a,E){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 pt.sound.restore(a.soundData);}catch{}E?await E(a.path):await GameUnifier.navigate(a.path);}y.restoreGameState=s;async function r(a,E){return y.clear(),await C.narration.call(a,E)}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 gt.warn("Game.onError is deprecated. Use Game.addOnError / Game.removeOnError to register multiple handlers."),GameUnifier.addOnError((E,O)=>a("step",E,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;})(he||={});var Be={characterUtils:$t,canvasUtils:nt,narrationUtils:C,soundUtils:pt,CANVAS_APP_GAME_LAYER_ALIAS:Ht,Pause:Yt,Repeat:Wt,PIXIVN_VERSION:Ut,...Kt,...re,canvas:nt.canvas,narration:C.narration,sound:pt.sound,storage:G.storage,history:et.stepHistory,Game:he,GameUnifier:GameUnifier};export{Ht as CANVAS_APP_GAME_LAYER_ALIAS,Ft as CachedMap,he as Game,Ut as PIXIVN_VERSION,Yt as Pause,Wt as Repeat,fe as SYSTEM_RESERVED_STORAGE_KEYS,oe as createExportableElement,Be as default};
package/dist/motion.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var canvas=require('@drincs/pixi-vn/canvas'),Y=require('@drincs/pixi-vn/pixi.js'),motion=require('motion'),core=require('@drincs/pixi-vn/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Y__default=/*#__PURE__*/_interopDefault(Y);var Z=Object.create;var z=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var R=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var D=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var rt=(o,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of et(t))!it.call(o,i)&&i!==r&&z(o,i,{get:()=>t[i],enumerable:!(n=tt(t,i))||n.enumerable});return o};var at=(o,t,r)=>(r=o!=null?Z(nt(o)):{},rt(z(r,"default",{value:o,enumerable:true}),o));var N=D((I,F)=>{(function(o,t){typeof I=="object"?F.exports=I=t():typeof define=="function"&&define.amd?define([],t):o.CryptoJS=t();})(I,function(){var o=o||(function(t,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof R=="function")try{n=R("crypto");}catch{}var i=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function e(){}return function(a){var f;return e.prototype=a,f=new e,e.prototype=null,f}})(),c={},g=c.lib={},l=g.Base=(function(){return {extend:function(e){var a=s(this);return e&&a.mixIn(e),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments);}),a.init.prototype=a,a.$super=this,a},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var a in e)e.hasOwnProperty(a)&&(this[a]=e[a]);e.hasOwnProperty("toString")&&(this.toString=e.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),m=g.WordArray=l.extend({init:function(e,a){e=this.words=e||[],a!=r?this.sigBytes=a:this.sigBytes=e.length*4;},toString:function(e){return (e||h).stringify(this)},concat:function(e){var a=this.words,f=e.words,p=this.sigBytes,d=e.sigBytes;if(this.clamp(),p%4)for(var v=0;v<d;v++){var j=f[v>>>2]>>>24-v%4*8&255;a[p+v>>>2]|=j<<24-(p+v)%4*8;}else for(var A=0;A<d;A+=4)a[p+A>>>2]=f[A>>>2];return this.sigBytes+=d,this},clamp:function(){var e=this.words,a=this.sigBytes;e[a>>>2]&=4294967295<<32-a%4*8,e.length=t.ceil(a/4);},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var a=[],f=0;f<e;f+=4)a.push(i());return new m.init(a,e)}}),u=c.enc={},h=u.Hex={stringify:function(e){for(var a=e.words,f=e.sigBytes,p=[],d=0;d<f;d++){var v=a[d>>>2]>>>24-d%4*8&255;p.push((v>>>4).toString(16)),p.push((v&15).toString(16));}return p.join("")},parse:function(e){for(var a=e.length,f=[],p=0;p<a;p+=2)f[p>>>3]|=parseInt(e.substr(p,2),16)<<24-p%8*4;return new m.init(f,a/2)}},T=u.Latin1={stringify:function(e){for(var a=e.words,f=e.sigBytes,p=[],d=0;d<f;d++){var v=a[d>>>2]>>>24-d%4*8&255;p.push(String.fromCharCode(v));}return p.join("")},parse:function(e){for(var a=e.length,f=[],p=0;p<a;p++)f[p>>>2]|=(e.charCodeAt(p)&255)<<24-p%4*8;return new m.init(f,a)}},x=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(T.stringify(e)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(e){return T.parse(unescape(encodeURIComponent(e)))}},b=g.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new m.init,this._nDataBytes=0;},_append:function(e){typeof e=="string"&&(e=x.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes;},_process:function(e){var a,f=this._data,p=f.words,d=f.sigBytes,v=this.blockSize,j=v*4,A=d/j;e?A=t.ceil(A):A=t.max((A|0)-this._minBufferSize,0);var B=A*v,M=t.min(B*4,d);if(B){for(var W=0;W<B;W+=v)this._doProcessBlock(p,W);a=p.splice(0,B),f.sigBytes-=M;}return new m.init(a,M)},clone:function(){var e=l.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});g.Hasher=b.extend({cfg:l.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset();},reset:function(){b.reset.call(this),this._doReset();},update:function(e){return this._append(e),this._process(),this},finalize:function(e){e&&this._append(e);var a=this._doFinalize();return a},blockSize:512/32,_createHelper:function(e){return function(a,f){return new e.init(f).finalize(a)}},_createHmacHelper:function(e){return function(a,f){return new y.HMAC.init(e,f).finalize(a)}}});var y=c.algo={};return c})(Math);return o});});var K=D((P,$)=>{(function(o,t){typeof P=="object"?$.exports=P=t(N()):typeof define=="function"&&define.amd?define(["./core"],t):t(o.CryptoJS);})(P,function(o){return (function(){var t=o,r=t.lib,n=r.WordArray,i=r.Hasher,s=t.algo,c=[],g=s.SHA1=i.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,m){for(var u=this._hash.words,h=u[0],T=u[1],x=u[2],b=u[3],w=u[4],y=0;y<80;y++){if(y<16)c[y]=l[m+y]|0;else {var e=c[y-3]^c[y-8]^c[y-14]^c[y-16];c[y]=e<<1|e>>>31;}var a=(h<<5|h>>>27)+w+c[y];y<20?a+=(T&x|~T&b)+1518500249:y<40?a+=(T^x^b)+1859775393:y<60?a+=(T&x|T&b|x&b)-1894007588:a+=(T^x^b)-899497514,w=b,b=x,x=T<<30|T>>>2,T=h,h=a;}u[0]=u[0]+h|0,u[1]=u[1]+T|0,u[2]=u[2]+x|0,u[3]=u[3]+b|0,u[4]=u[4]+w|0;},_doFinalize:function(){var l=this._data,m=l.words,u=this._nDataBytes*8,h=l.sigBytes*8;return m[h>>>5]|=128<<24-h%32,m[(h+64>>>9<<4)+14]=Math.floor(u/4294967296),m[(h+64>>>9<<4)+15]=u,l.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var l=i.clone.call(this);return l._hash=this._hash.clone(),l}});t.SHA1=i._createHelper(g),t.HmacSHA1=i._createHmacHelper(g);})(),o.SHA1});});var E=(o,t=100)=>{let r=null;return (...n)=>{r&&clearTimeout(r),r=setTimeout(()=>o(...n),t);}};var q=o=>t=>{let r=({lastTime:n})=>t(n);return {start:(n=true)=>{o.add(r),o.start();},stop:()=>o.remove(r),now:()=>o.lastTime}};function k(o,t,r){if(Array.isArray(o)&&Array.isArray(o[0])){t&&"repeat"in t&&t?.repeat===null&&(t.repeat=1/0),o.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[g,l,m]=c;m&&"repeat"in m&&m?.repeat===null&&(m.repeat=1/0);}});let{ticker:n=new Y__default.default.Ticker,driver:i=q(n),...s}=t||{};return motion.animate(o,{driver:i,...s})}else {r&&"repeat"in r&&r?.repeat===null&&(r.repeat=1/0);let{ticker:n=new Y__default.default.Ticker,driver:i=q(n),...s}=r||{};return motion.animate(o,t,{driver:i,...s})}}function ot(o,t){let r={x:0},n=[];return o.forEach((i,s)=>{let{onComplete:c,onPlay:g,...l}=i;if(g){let m=motion.motionValue(s);m.on("change",E(g,50)),n.push([m,s+1,{duration:.01}]);}if(n.push([r,{x:s+1},l]),c){let m=motion.motionValue(s);m.on("change",E(c,50)),n.push([m,s+1,{duration:.01}]);}}),k(n,t)}var J=at(K());var O=class{constructor(t,r){let{duration:n,priority:i,id:s=this.generateTickerId(r),canvasElementAliases:c=[]}=r||{};this._args=t,this.duration=n,this.priority=i,this.id=s,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new Y__default.default.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(t){if(!this.canvasElementAliases.includes(t))return;let r=canvas.canvas.find(t);if(r)return r}generateTickerId(...t){try{return (0,J.default)(JSON.stringify(t)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(r){throw new core.PixiError("not_json_serializable",`Error to generate ticker id: ${r}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(t=>setTimeout(t,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let t=this.id,r=this._args.options?.aliasToRemoveAfter||[];typeof r=="string"&&(r=[r]);let n=this._args.options?.tickerAliasToResume||[];typeof n=="string"&&(n=[n]);let i=this._args.options?.tickerIdToResume||[];typeof i=="string"&&(i=[i]),canvas.canvas.onTickerComplete(t,{aliasToRemoveAfter:r,tickerAliasToResume:n,tickerIdToResume:i,stopTicker:false});};createItem(t){return new Proxy({alias:t},{set:({alias:r},n,i)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[n]===i)return true;let s=this.getItemByAlias(r);if(!s)return true;switch(n){case "pivotX":s.pivot.x=i;break;case "pivotY":s.pivot.y=i;break;case "scaleX":s.scale.x=i;break;case "scaleY":s.scale.y=i;break;default:s[n]=i;break}return true},get:({alias:r},n)=>{if(this._args.startState||(this._args.startState={}),n in this._args.startState)return this._args.startState[n];let i=this.getItemByAlias(r);if(!i)return;let s;switch(n){case "pivotX":s=i.pivot.x;break;case "pivotY":s=i.pivot.y;break;case "scaleX":s=i.scale.x;break;case "scaleY":s=i.scale.y;break;default:s=i[n];break}return this._args.startState={...this._args.startState,[n]:s},s},has:({alias:r},n)=>{let i=this.getItemByAlias(r);if(!i)return false;switch(n){case "pivotX":return "pivot"in i&&"x"in i.pivot;case "pivotY":return "pivot"in i&&"y"in i.pivot;case "scaleX":return "scale"in i&&"x"in i.scale;case "scaleY":return "scale"in i&&"y"in i.scale;default:return n in i}},ownKeys:({alias:r})=>{let n=this.getItemByAlias(r);return n?Object.keys(n):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var S=class extends O{get animation(){let t=this._animation;if(t)return t;let r=this.canvasElementAliases[0],n=this.createItem(r),i=this._args.sequence.map((s,c)=>[n,s[0],{...s[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return t=k(i,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=t,t}alias="motion-sequence"};var _=class extends O{get animation(){let t=this._animation;if(t)return t;let r=this.canvasElementAliases.map(n=>this.createItem(n));return t=k(r,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(t.time=this._args.time),this._animation=t,t}alias="motion"};var C;(i=>(i.log=(s,...c)=>console.log(`[Pixi\u2019VN] ${s}`,...c),i.warn=(s,...c)=>console.warn(`[Pixi\u2019VN] ${s}`,...c),i.error=(s,...c)=>console.error(`[Pixi\u2019VN] ${s}`,...c),i.info=(s,...c)=>console.info(`[Pixi\u2019VN] ${s}`,...c)))(C||={});function H(o){try{if(typeof o>"u")return o;let t=JSON.stringify(o);return JSON.parse(t)}catch(t){throw C.error("Error creating exportable element",o,t),new core.PixiError("not_json_serializable","Error creating exportable element")}}var G;(t=>{function o(r,n,i,s){try{n=H(n);}catch(h){throw C.error("animate keyframes cannot contain functions or classes"),h}try{i=H(i);}catch(h){throw C.error("animate options cannot contain functions or classes"),h}let c=[];typeof r=="string"?c=[r]:Array.isArray(r)?c=r.map(h=>typeof h=="string"?h:h.label):c=[r.label];let g;Array.isArray(n)?g=new S({sequence:n,options:i},{priority:s,canvasElementAliases:c}):g=new _({keyframes:n,options:i},{priority:s,canvasElementAliases:c});let l=canvas.canvas.addTicker(c,g),{forceCompleteBeforeNext:m}=i||{},{completeOnContinue:u=m}=i||{};return l&&u&&canvas.canvas.completeTickerOnStepEnd({id:l}),l}t.animate=o;})(G||={});var pt=G;canvas.RegisteredTickers.add(_,"motion");canvas.RegisteredTickers.add(S,"motion-sequence");exports.animate=k;exports.motion=pt;exports.motionDriver=q;exports.timeline=ot;
1
+ 'use strict';var canvas=require('@drincs/pixi-vn/canvas'),U=require('@drincs/pixi-vn/pixi.js'),motion=require('motion'),core=require('@drincs/pixi-vn/core');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var U__default=/*#__PURE__*/_interopDefault(U);var tt=Object.create;var E=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var it=Object.getPrototypeOf,rt=Object.prototype.hasOwnProperty;var at=(a,e,n)=>e in a?E(a,e,{enumerable:true,configurable:true,writable:true,value:n}):a[e]=n;var q=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var Y=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var ot=(a,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of nt(e))!rt.call(a,r)&&r!==n&&E(a,r,{get:()=>e[r],enumerable:!(i=et(e,r))||i.enumerable});return a};var st=(a,e,n)=>(n=a!=null?tt(it(a)):{},ot(E(n,"default",{value:a,enumerable:true}),a));var v=(a,e,n)=>at(a,typeof e!="symbol"?e+"":e,n);var $=Y((P,N)=>{(function(a,e){typeof P=="object"?N.exports=P=e():typeof define=="function"&&define.amd?define([],e):a.CryptoJS=e();})(P,function(){var a=a||(function(e,n){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var r=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function t(){}return function(o){var f;return t.prototype=o,f=new t,t.prototype=null,f}})(),c={},y=c.lib={},l=y.Base=(function(){return {extend:function(t){var o=s(this);return t&&o.mixIn(t),(!o.hasOwnProperty("init")||this.init===o.init)&&(o.init=function(){o.$super.init.apply(this,arguments);}),o.init.prototype=o,o.$super=this,o},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var o in t)t.hasOwnProperty(o)&&(this[o]=t[o]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),m=y.WordArray=l.extend({init:function(t,o){t=this.words=t||[],o!=n?this.sigBytes=o:this.sigBytes=t.length*4;},toString:function(t){return (t||h).stringify(this)},concat:function(t){var o=this.words,f=t.words,p=this.sigBytes,g=t.sigBytes;if(this.clamp(),p%4)for(var T=0;T<g;T++){var W=f[T>>>2]>>>24-T%4*8&255;o[p+T>>>2]|=W<<24-(p+T)%4*8;}else for(var O=0;O<g;O+=4)o[p+O>>>2]=f[O>>>2];return this.sigBytes+=g,this},clamp:function(){var t=this.words,o=this.sigBytes;t[o>>>2]&=4294967295<<32-o%4*8,t.length=e.ceil(o/4);},clone:function(){var t=l.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var o=[],f=0;f<t;f+=4)o.push(r());return new m.init(o,t)}}),u=c.enc={},h=u.Hex={stringify:function(t){for(var o=t.words,f=t.sigBytes,p=[],g=0;g<f;g++){var T=o[g>>>2]>>>24-g%4*8&255;p.push((T>>>4).toString(16)),p.push((T&15).toString(16));}return p.join("")},parse:function(t){for(var o=t.length,f=[],p=0;p<o;p+=2)f[p>>>3]|=parseInt(t.substr(p,2),16)<<24-p%8*4;return new m.init(f,o/2)}},b=u.Latin1={stringify:function(t){for(var o=t.words,f=t.sigBytes,p=[],g=0;g<f;g++){var T=o[g>>>2]>>>24-g%4*8&255;p.push(String.fromCharCode(T));}return p.join("")},parse:function(t){for(var o=t.length,f=[],p=0;p<o;p++)f[p>>>2]|=(t.charCodeAt(p)&255)<<24-p%4*8;return new m.init(f,o)}},A=u.Utf8={stringify:function(t){try{return decodeURIComponent(escape(b.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return b.parse(unescape(encodeURIComponent(t)))}},x=y.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new m.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=A.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var o,f=this._data,p=f.words,g=f.sigBytes,T=this.blockSize,W=T*4,O=g/W;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var I=O*T,D=e.min(I*4,g);if(I){for(var R=0;R<I;R+=T)this._doProcessBlock(p,R);o=p.splice(0,I),f.sigBytes-=D;}return new m.init(o,D)},clone:function(){var t=l.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});y.Hasher=x.extend({cfg:l.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var o=this._doFinalize();return o},blockSize:512/32,_createHelper:function(t){return function(o,f){return new t.init(f).finalize(o)}},_createHmacHelper:function(t){return function(o,f){return new d.HMAC.init(t,f).finalize(o)}}});var d=c.algo={};return c})(Math);return a});});var L=Y((j,K)=>{(function(a,e){typeof j=="object"?K.exports=j=e($()):typeof define=="function"&&define.amd?define(["./core"],e):e(a.CryptoJS);})(j,function(a){return (function(){var e=a,n=e.lib,i=n.WordArray,r=n.Hasher,s=e.algo,c=[],y=s.SHA1=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,m){for(var u=this._hash.words,h=u[0],b=u[1],A=u[2],x=u[3],B=u[4],d=0;d<80;d++){if(d<16)c[d]=l[m+d]|0;else {var t=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=t<<1|t>>>31;}var o=(h<<5|h>>>27)+B+c[d];d<20?o+=(b&A|~b&x)+1518500249:d<40?o+=(b^A^x)+1859775393:d<60?o+=(b&A|b&x|A&x)-1894007588:o+=(b^A^x)-899497514,B=x,x=A,A=b<<30|b>>>2,b=h,h=o;}u[0]=u[0]+h|0,u[1]=u[1]+b|0,u[2]=u[2]+A|0,u[3]=u[3]+x|0,u[4]=u[4]+B|0;},_doFinalize:function(){var l=this._data,m=l.words,u=this._nDataBytes*8,h=l.sigBytes*8;return m[h>>>5]|=128<<24-h%32,m[(h+64>>>9<<4)+14]=Math.floor(u/4294967296),m[(h+64>>>9<<4)+15]=u,l.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var l=r.clone.call(this);return l._hash=this._hash.clone(),l}});e.SHA1=r._createHelper(y),e.HmacSHA1=r._createHmacHelper(y);})(),a.SHA1});});var H=(a,e=100)=>{let n=null;return (...i)=>{n&&clearTimeout(n),n=setTimeout(()=>a(...i),e);}};var M=a=>e=>{let n=({lastTime:i})=>e(i);return {start:(i=true)=>{a.add(n),a.start();},stop:()=>a.remove(n),now:()=>a.lastTime}};function C(a,e,n){if(Array.isArray(a)&&Array.isArray(a[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),a.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[y,l,m]=c;m&&"repeat"in m&&m?.repeat===null&&(m.repeat=1/0);}});let{ticker:i=new U__default.default.Ticker,driver:r=M(i),...s}=e||{};return motion.animate(a,{driver:r,...s})}else {n&&"repeat"in n&&n?.repeat===null&&(n.repeat=1/0);let{ticker:i=new U__default.default.Ticker,driver:r=M(i),...s}=n||{};return motion.animate(a,e,{driver:r,...s})}}function ct(a,e){let n={x:0},i=[];return a.forEach((r,s)=>{let{onComplete:c,onPlay:y,...l}=r;if(y){let m=motion.motionValue(s);m.on("change",H(y,50)),i.push([m,s+1,{duration:.01}]);}if(i.push([n,{x:s+1},l]),c){let m=motion.motionValue(s);m.on("change",H(c,50)),i.push([m,s+1,{duration:.01}]);}}),C(i,e)}var V=st(L());var S=class{constructor(e,n){v(this,"id");v(this,"_args");v(this,"duration");v(this,"priority");v(this,"ticker",new U__default.default.Ticker);v(this,"_animation");v(this,"stopped",false);v(this,"_paused",false);v(this,"canvasElementAliases",[]);v(this,"timeout",50);v(this,"onComplete",()=>{let e=this.id,n=this._args.options?.aliasToRemoveAfter||[];typeof n=="string"&&(n=[n]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let r=this._args.options?.tickerIdToResume||[];typeof r=="string"&&(r=[r]),canvas.canvas.onTickerComplete(e,{aliasToRemoveAfter:n,tickerAliasToResume:i,tickerIdToResume:r,stopTicker:false});});let{duration:i,priority:r,id:s=this.generateTickerId(n),canvasElementAliases:c=[]}=n||{};this._args=e,this.duration=i,this.priority=r,this.id=s,this.canvasElementAliases=c;}get args(){return {...this._args,time:this._animation?.time}}getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let n=canvas.canvas.find(e);if(n)return n}generateTickerId(...e){try{return (0,V.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(n){throw new core.PixiError("not_json_serializable",`Error to generate ticker id: ${n}`)}}async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}createItem(e){return new Proxy({alias:e},{set:({alias:n},i,r)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===r)return true;let s=this.getItemByAlias(n);if(!s)return true;switch(i){case "pivotX":s.pivot.x=r;break;case "pivotY":s.pivot.y=r;break;case "scaleX":s.scale.x=r;break;case "scaleY":s.scale.y=r;break;default:s[i]=r;break}return true},get:({alias:n},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let r=this.getItemByAlias(n);if(!r)return;let s;switch(i){case "pivotX":s=r.pivot.x;break;case "pivotY":s=r.pivot.y;break;case "scaleX":s=r.scale.x;break;case "scaleY":s=r.scale.y;break;default:s=r[i];break}return this._args.startState={...this._args.startState,[i]:s},s},has:({alias:n},i)=>{let r=this.getItemByAlias(n);if(!r)return false;switch(i){case "pivotX":return "pivot"in r&&"x"in r.pivot;case "pivotY":return "pivot"in r&&"y"in r.pivot;case "scaleX":return "scale"in r&&"x"in r.scale;case "scaleY":return "scale"in r&&"y"in r.scale;default:return i in r}},ownKeys:({alias:n})=>{let i=this.getItemByAlias(n);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var _=class extends S{constructor(){super(...arguments);v(this,"alias","motion-sequence");}get animation(){let n=this._animation;if(n)return n;let i=this.canvasElementAliases[0],r=this.createItem(i),s=this._args.sequence.map((c,y)=>[r,c[0],{...c[1]||{},ticker:this.ticker,onComplete:y===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return n=C(s,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=n,n}};var k=class extends S{constructor(){super(...arguments);v(this,"alias","motion");}get animation(){let n=this._animation;if(n)return n;let i=this.canvasElementAliases.map(r=>this.createItem(r));return n=C(i,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(n.time=this._args.time),this._animation=n,n}};var w;(r=>(r.log=(s,...c)=>console.log(`[Pixi\u2019VN] ${s}`,...c),r.warn=(s,...c)=>console.warn(`[Pixi\u2019VN] ${s}`,...c),r.error=(s,...c)=>console.error(`[Pixi\u2019VN] ${s}`,...c),r.info=(s,...c)=>console.info(`[Pixi\u2019VN] ${s}`,...c)))(w||={});function z(a){try{if(typeof a>"u")return a;let e=JSON.stringify(a);return JSON.parse(e)}catch(e){throw w.error("Error creating exportable element",a,e),new core.PixiError("not_json_serializable","Error creating exportable element")}}var Q;(e=>{function a(n,i,r,s){try{i=z(i);}catch(h){throw w.error("animate keyframes cannot contain functions or classes"),h}try{r=z(r);}catch(h){throw w.error("animate options cannot contain functions or classes"),h}let c=[];typeof n=="string"?c=[n]:Array.isArray(n)?c=n.map(h=>typeof h=="string"?h:h.label):c=[n.label];let y;Array.isArray(i)?y=new _({sequence:i,options:r},{priority:s,canvasElementAliases:c}):y=new k({keyframes:i,options:r},{priority:s,canvasElementAliases:c});let l=canvas.canvas.addTicker(c,y),{forceCompleteBeforeNext:m}=r||{},{completeOnContinue:u=m}=r||{};return l&&u&&canvas.canvas.completeTickerOnStepEnd({id:l}),l}e.animate=a;})(Q||={});var ut=Q;canvas.RegisteredTickers.add(k,"motion");canvas.RegisteredTickers.add(_,"motion-sequence");exports.animate=C;exports.motion=ut;exports.motionDriver=M;exports.timeline=ct;
package/dist/motion.mjs CHANGED
@@ -1 +1 @@
1
- import {RegisteredTickers,canvas}from'@drincs/pixi-vn/canvas';import Y from'@drincs/pixi-vn/pixi.js';import {animate,motionValue}from'motion';import {PixiError}from'@drincs/pixi-vn/core';var Z=Object.create;var z=Object.defineProperty;var tt=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var R=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var D=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports);var rt=(o,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of et(t))!it.call(o,i)&&i!==r&&z(o,i,{get:()=>t[i],enumerable:!(n=tt(t,i))||n.enumerable});return o};var at=(o,t,r)=>(r=o!=null?Z(nt(o)):{},rt(z(r,"default",{value:o,enumerable:true}),o));var N=D((I,F)=>{(function(o,t){typeof I=="object"?F.exports=I=t():typeof define=="function"&&define.amd?define([],t):o.CryptoJS=t();})(I,function(){var o=o||(function(t,r){var n;if(typeof window<"u"&&window.crypto&&(n=window.crypto),typeof self<"u"&&self.crypto&&(n=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(n=globalThis.crypto),!n&&typeof window<"u"&&window.msCrypto&&(n=window.msCrypto),!n&&typeof global<"u"&&global.crypto&&(n=global.crypto),!n&&typeof R=="function")try{n=R("crypto");}catch{}var i=function(){if(n){if(typeof n.getRandomValues=="function")try{return n.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof n.randomBytes=="function")try{return n.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function e(){}return function(a){var f;return e.prototype=a,f=new e,e.prototype=null,f}})(),c={},g=c.lib={},l=g.Base=(function(){return {extend:function(e){var a=s(this);return e&&a.mixIn(e),(!a.hasOwnProperty("init")||this.init===a.init)&&(a.init=function(){a.$super.init.apply(this,arguments);}),a.init.prototype=a,a.$super=this,a},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var a in e)e.hasOwnProperty(a)&&(this[a]=e[a]);e.hasOwnProperty("toString")&&(this.toString=e.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),m=g.WordArray=l.extend({init:function(e,a){e=this.words=e||[],a!=r?this.sigBytes=a:this.sigBytes=e.length*4;},toString:function(e){return (e||h).stringify(this)},concat:function(e){var a=this.words,f=e.words,p=this.sigBytes,d=e.sigBytes;if(this.clamp(),p%4)for(var v=0;v<d;v++){var j=f[v>>>2]>>>24-v%4*8&255;a[p+v>>>2]|=j<<24-(p+v)%4*8;}else for(var A=0;A<d;A+=4)a[p+A>>>2]=f[A>>>2];return this.sigBytes+=d,this},clamp:function(){var e=this.words,a=this.sigBytes;e[a>>>2]&=4294967295<<32-a%4*8,e.length=t.ceil(a/4);},clone:function(){var e=l.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var a=[],f=0;f<e;f+=4)a.push(i());return new m.init(a,e)}}),u=c.enc={},h=u.Hex={stringify:function(e){for(var a=e.words,f=e.sigBytes,p=[],d=0;d<f;d++){var v=a[d>>>2]>>>24-d%4*8&255;p.push((v>>>4).toString(16)),p.push((v&15).toString(16));}return p.join("")},parse:function(e){for(var a=e.length,f=[],p=0;p<a;p+=2)f[p>>>3]|=parseInt(e.substr(p,2),16)<<24-p%8*4;return new m.init(f,a/2)}},T=u.Latin1={stringify:function(e){for(var a=e.words,f=e.sigBytes,p=[],d=0;d<f;d++){var v=a[d>>>2]>>>24-d%4*8&255;p.push(String.fromCharCode(v));}return p.join("")},parse:function(e){for(var a=e.length,f=[],p=0;p<a;p++)f[p>>>2]|=(e.charCodeAt(p)&255)<<24-p%4*8;return new m.init(f,a)}},x=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(T.stringify(e)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(e){return T.parse(unescape(encodeURIComponent(e)))}},b=g.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new m.init,this._nDataBytes=0;},_append:function(e){typeof e=="string"&&(e=x.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes;},_process:function(e){var a,f=this._data,p=f.words,d=f.sigBytes,v=this.blockSize,j=v*4,A=d/j;e?A=t.ceil(A):A=t.max((A|0)-this._minBufferSize,0);var B=A*v,M=t.min(B*4,d);if(B){for(var W=0;W<B;W+=v)this._doProcessBlock(p,W);a=p.splice(0,B),f.sigBytes-=M;}return new m.init(a,M)},clone:function(){var e=l.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});g.Hasher=b.extend({cfg:l.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset();},reset:function(){b.reset.call(this),this._doReset();},update:function(e){return this._append(e),this._process(),this},finalize:function(e){e&&this._append(e);var a=this._doFinalize();return a},blockSize:512/32,_createHelper:function(e){return function(a,f){return new e.init(f).finalize(a)}},_createHmacHelper:function(e){return function(a,f){return new y.HMAC.init(e,f).finalize(a)}}});var y=c.algo={};return c})(Math);return o});});var K=D((P,$)=>{(function(o,t){typeof P=="object"?$.exports=P=t(N()):typeof define=="function"&&define.amd?define(["./core"],t):t(o.CryptoJS);})(P,function(o){return (function(){var t=o,r=t.lib,n=r.WordArray,i=r.Hasher,s=t.algo,c=[],g=s.SHA1=i.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,m){for(var u=this._hash.words,h=u[0],T=u[1],x=u[2],b=u[3],w=u[4],y=0;y<80;y++){if(y<16)c[y]=l[m+y]|0;else {var e=c[y-3]^c[y-8]^c[y-14]^c[y-16];c[y]=e<<1|e>>>31;}var a=(h<<5|h>>>27)+w+c[y];y<20?a+=(T&x|~T&b)+1518500249:y<40?a+=(T^x^b)+1859775393:y<60?a+=(T&x|T&b|x&b)-1894007588:a+=(T^x^b)-899497514,w=b,b=x,x=T<<30|T>>>2,T=h,h=a;}u[0]=u[0]+h|0,u[1]=u[1]+T|0,u[2]=u[2]+x|0,u[3]=u[3]+b|0,u[4]=u[4]+w|0;},_doFinalize:function(){var l=this._data,m=l.words,u=this._nDataBytes*8,h=l.sigBytes*8;return m[h>>>5]|=128<<24-h%32,m[(h+64>>>9<<4)+14]=Math.floor(u/4294967296),m[(h+64>>>9<<4)+15]=u,l.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var l=i.clone.call(this);return l._hash=this._hash.clone(),l}});t.SHA1=i._createHelper(g),t.HmacSHA1=i._createHmacHelper(g);})(),o.SHA1});});var E=(o,t=100)=>{let r=null;return (...n)=>{r&&clearTimeout(r),r=setTimeout(()=>o(...n),t);}};var q=o=>t=>{let r=({lastTime:n})=>t(n);return {start:(n=true)=>{o.add(r),o.start();},stop:()=>o.remove(r),now:()=>o.lastTime}};function k(o,t,r){if(Array.isArray(o)&&Array.isArray(o[0])){t&&"repeat"in t&&t?.repeat===null&&(t.repeat=1/0),o.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[g,l,m]=c;m&&"repeat"in m&&m?.repeat===null&&(m.repeat=1/0);}});let{ticker:n=new Y.Ticker,driver:i=q(n),...s}=t||{};return animate(o,{driver:i,...s})}else {r&&"repeat"in r&&r?.repeat===null&&(r.repeat=1/0);let{ticker:n=new Y.Ticker,driver:i=q(n),...s}=r||{};return animate(o,t,{driver:i,...s})}}function ot(o,t){let r={x:0},n=[];return o.forEach((i,s)=>{let{onComplete:c,onPlay:g,...l}=i;if(g){let m=motionValue(s);m.on("change",E(g,50)),n.push([m,s+1,{duration:.01}]);}if(n.push([r,{x:s+1},l]),c){let m=motionValue(s);m.on("change",E(c,50)),n.push([m,s+1,{duration:.01}]);}}),k(n,t)}var J=at(K());var O=class{constructor(t,r){let{duration:n,priority:i,id:s=this.generateTickerId(r),canvasElementAliases:c=[]}=r||{};this._args=t,this.duration=n,this.priority=i,this.id=s,this.canvasElementAliases=c;}id;_args;get args(){return {...this._args,time:this._animation?.time}}duration;priority;ticker=new Y.Ticker;_animation;stopped=false;_paused=false;canvasElementAliases=[];getItemByAlias(t){if(!this.canvasElementAliases.includes(t))return;let r=canvas.find(t);if(r)return r}generateTickerId(...t){try{return (0,J.default)(JSON.stringify(t)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(r){throw new PixiError("not_json_serializable",`Error to generate ticker id: ${r}`)}}timeout=50;async complete(){this.animation.complete(),await new Promise(t=>setTimeout(t,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}onComplete=()=>{let t=this.id,r=this._args.options?.aliasToRemoveAfter||[];typeof r=="string"&&(r=[r]);let n=this._args.options?.tickerAliasToResume||[];typeof n=="string"&&(n=[n]);let i=this._args.options?.tickerIdToResume||[];typeof i=="string"&&(i=[i]),canvas.onTickerComplete(t,{aliasToRemoveAfter:r,tickerAliasToResume:n,tickerIdToResume:i,stopTicker:false});};createItem(t){return new Proxy({alias:t},{set:({alias:r},n,i)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[n]===i)return true;let s=this.getItemByAlias(r);if(!s)return true;switch(n){case "pivotX":s.pivot.x=i;break;case "pivotY":s.pivot.y=i;break;case "scaleX":s.scale.x=i;break;case "scaleY":s.scale.y=i;break;default:s[n]=i;break}return true},get:({alias:r},n)=>{if(this._args.startState||(this._args.startState={}),n in this._args.startState)return this._args.startState[n];let i=this.getItemByAlias(r);if(!i)return;let s;switch(n){case "pivotX":s=i.pivot.x;break;case "pivotY":s=i.pivot.y;break;case "scaleX":s=i.scale.x;break;case "scaleY":s=i.scale.y;break;default:s=i[n];break}return this._args.startState={...this._args.startState,[n]:s},s},has:({alias:r},n)=>{let i=this.getItemByAlias(r);if(!i)return false;switch(n){case "pivotX":return "pivot"in i&&"x"in i.pivot;case "pivotY":return "pivot"in i&&"y"in i.pivot;case "scaleX":return "scale"in i&&"x"in i.scale;case "scaleY":return "scale"in i&&"y"in i.scale;default:return n in i}},ownKeys:({alias:r})=>{let n=this.getItemByAlias(r);return n?Object.keys(n):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var S=class extends O{get animation(){let t=this._animation;if(t)return t;let r=this.canvasElementAliases[0],n=this.createItem(r),i=this._args.sequence.map((s,c)=>[n,s[0],{...s[1]||{},ticker:this.ticker,onComplete:c===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return t=k(i,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=t,t}alias="motion-sequence"};var _=class extends O{get animation(){let t=this._animation;if(t)return t;let r=this.canvasElementAliases.map(n=>this.createItem(n));return t=k(r,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(t.time=this._args.time),this._animation=t,t}alias="motion"};var C;(i=>(i.log=(s,...c)=>console.log(`[Pixi\u2019VN] ${s}`,...c),i.warn=(s,...c)=>console.warn(`[Pixi\u2019VN] ${s}`,...c),i.error=(s,...c)=>console.error(`[Pixi\u2019VN] ${s}`,...c),i.info=(s,...c)=>console.info(`[Pixi\u2019VN] ${s}`,...c)))(C||={});function H(o){try{if(typeof o>"u")return o;let t=JSON.stringify(o);return JSON.parse(t)}catch(t){throw C.error("Error creating exportable element",o,t),new PixiError("not_json_serializable","Error creating exportable element")}}var G;(t=>{function o(r,n,i,s){try{n=H(n);}catch(h){throw C.error("animate keyframes cannot contain functions or classes"),h}try{i=H(i);}catch(h){throw C.error("animate options cannot contain functions or classes"),h}let c=[];typeof r=="string"?c=[r]:Array.isArray(r)?c=r.map(h=>typeof h=="string"?h:h.label):c=[r.label];let g;Array.isArray(n)?g=new S({sequence:n,options:i},{priority:s,canvasElementAliases:c}):g=new _({keyframes:n,options:i},{priority:s,canvasElementAliases:c});let l=canvas.addTicker(c,g),{forceCompleteBeforeNext:m}=i||{},{completeOnContinue:u=m}=i||{};return l&&u&&canvas.completeTickerOnStepEnd({id:l}),l}t.animate=o;})(G||={});var pt=G;RegisteredTickers.add(_,"motion");RegisteredTickers.add(S,"motion-sequence");export{k as animate,pt as motion,q as motionDriver,ot as timeline};
1
+ import {RegisteredTickers,canvas}from'@drincs/pixi-vn/canvas';import U from'@drincs/pixi-vn/pixi.js';import {animate,motionValue}from'motion';import {PixiError}from'@drincs/pixi-vn/core';var tt=Object.create;var E=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var it=Object.getPrototypeOf,rt=Object.prototype.hasOwnProperty;var at=(a,e,n)=>e in a?E(a,e,{enumerable:true,configurable:true,writable:true,value:n}):a[e]=n;var q=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var Y=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var ot=(a,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of nt(e))!rt.call(a,r)&&r!==n&&E(a,r,{get:()=>e[r],enumerable:!(i=et(e,r))||i.enumerable});return a};var st=(a,e,n)=>(n=a!=null?tt(it(a)):{},ot(E(n,"default",{value:a,enumerable:true}),a));var v=(a,e,n)=>at(a,typeof e!="symbol"?e+"":e,n);var $=Y((P,N)=>{(function(a,e){typeof P=="object"?N.exports=P=e():typeof define=="function"&&define.amd?define([],e):a.CryptoJS=e();})(P,function(){var a=a||(function(e,n){var i;if(typeof window<"u"&&window.crypto&&(i=window.crypto),typeof self<"u"&&self.crypto&&(i=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(i=globalThis.crypto),!i&&typeof window<"u"&&window.msCrypto&&(i=window.msCrypto),!i&&typeof global<"u"&&global.crypto&&(i=global.crypto),!i&&typeof q=="function")try{i=q("crypto");}catch{}var r=function(){if(i){if(typeof i.getRandomValues=="function")try{return i.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof i.randomBytes=="function")try{return i.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},s=Object.create||(function(){function t(){}return function(o){var f;return t.prototype=o,f=new t,t.prototype=null,f}})(),c={},y=c.lib={},l=y.Base=(function(){return {extend:function(t){var o=s(this);return t&&o.mixIn(t),(!o.hasOwnProperty("init")||this.init===o.init)&&(o.init=function(){o.$super.init.apply(this,arguments);}),o.init.prototype=o,o.$super=this,o},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var o in t)t.hasOwnProperty(o)&&(this[o]=t[o]);t.hasOwnProperty("toString")&&(this.toString=t.toString);},clone:function(){return this.init.prototype.extend(this)}}})(),m=y.WordArray=l.extend({init:function(t,o){t=this.words=t||[],o!=n?this.sigBytes=o:this.sigBytes=t.length*4;},toString:function(t){return (t||h).stringify(this)},concat:function(t){var o=this.words,f=t.words,p=this.sigBytes,g=t.sigBytes;if(this.clamp(),p%4)for(var T=0;T<g;T++){var W=f[T>>>2]>>>24-T%4*8&255;o[p+T>>>2]|=W<<24-(p+T)%4*8;}else for(var O=0;O<g;O+=4)o[p+O>>>2]=f[O>>>2];return this.sigBytes+=g,this},clamp:function(){var t=this.words,o=this.sigBytes;t[o>>>2]&=4294967295<<32-o%4*8,t.length=e.ceil(o/4);},clone:function(){var t=l.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var o=[],f=0;f<t;f+=4)o.push(r());return new m.init(o,t)}}),u=c.enc={},h=u.Hex={stringify:function(t){for(var o=t.words,f=t.sigBytes,p=[],g=0;g<f;g++){var T=o[g>>>2]>>>24-g%4*8&255;p.push((T>>>4).toString(16)),p.push((T&15).toString(16));}return p.join("")},parse:function(t){for(var o=t.length,f=[],p=0;p<o;p+=2)f[p>>>3]|=parseInt(t.substr(p,2),16)<<24-p%8*4;return new m.init(f,o/2)}},b=u.Latin1={stringify:function(t){for(var o=t.words,f=t.sigBytes,p=[],g=0;g<f;g++){var T=o[g>>>2]>>>24-g%4*8&255;p.push(String.fromCharCode(T));}return p.join("")},parse:function(t){for(var o=t.length,f=[],p=0;p<o;p++)f[p>>>2]|=(t.charCodeAt(p)&255)<<24-p%4*8;return new m.init(f,o)}},A=u.Utf8={stringify:function(t){try{return decodeURIComponent(escape(b.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return b.parse(unescape(encodeURIComponent(t)))}},x=y.BufferedBlockAlgorithm=l.extend({reset:function(){this._data=new m.init,this._nDataBytes=0;},_append:function(t){typeof t=="string"&&(t=A.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes;},_process:function(t){var o,f=this._data,p=f.words,g=f.sigBytes,T=this.blockSize,W=T*4,O=g/W;t?O=e.ceil(O):O=e.max((O|0)-this._minBufferSize,0);var I=O*T,D=e.min(I*4,g);if(I){for(var R=0;R<I;R+=T)this._doProcessBlock(p,R);o=p.splice(0,I),f.sigBytes-=D;}return new m.init(o,D)},clone:function(){var t=l.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});y.Hasher=x.extend({cfg:l.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset();},reset:function(){x.reset.call(this),this._doReset();},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var o=this._doFinalize();return o},blockSize:512/32,_createHelper:function(t){return function(o,f){return new t.init(f).finalize(o)}},_createHmacHelper:function(t){return function(o,f){return new d.HMAC.init(t,f).finalize(o)}}});var d=c.algo={};return c})(Math);return a});});var L=Y((j,K)=>{(function(a,e){typeof j=="object"?K.exports=j=e($()):typeof define=="function"&&define.amd?define(["./core"],e):e(a.CryptoJS);})(j,function(a){return (function(){var e=a,n=e.lib,i=n.WordArray,r=n.Hasher,s=e.algo,c=[],y=s.SHA1=r.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(l,m){for(var u=this._hash.words,h=u[0],b=u[1],A=u[2],x=u[3],B=u[4],d=0;d<80;d++){if(d<16)c[d]=l[m+d]|0;else {var t=c[d-3]^c[d-8]^c[d-14]^c[d-16];c[d]=t<<1|t>>>31;}var o=(h<<5|h>>>27)+B+c[d];d<20?o+=(b&A|~b&x)+1518500249:d<40?o+=(b^A^x)+1859775393:d<60?o+=(b&A|b&x|A&x)-1894007588:o+=(b^A^x)-899497514,B=x,x=A,A=b<<30|b>>>2,b=h,h=o;}u[0]=u[0]+h|0,u[1]=u[1]+b|0,u[2]=u[2]+A|0,u[3]=u[3]+x|0,u[4]=u[4]+B|0;},_doFinalize:function(){var l=this._data,m=l.words,u=this._nDataBytes*8,h=l.sigBytes*8;return m[h>>>5]|=128<<24-h%32,m[(h+64>>>9<<4)+14]=Math.floor(u/4294967296),m[(h+64>>>9<<4)+15]=u,l.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var l=r.clone.call(this);return l._hash=this._hash.clone(),l}});e.SHA1=r._createHelper(y),e.HmacSHA1=r._createHmacHelper(y);})(),a.SHA1});});var H=(a,e=100)=>{let n=null;return (...i)=>{n&&clearTimeout(n),n=setTimeout(()=>a(...i),e);}};var M=a=>e=>{let n=({lastTime:i})=>e(i);return {start:(i=true)=>{a.add(n),a.start();},stop:()=>a.remove(n),now:()=>a.lastTime}};function C(a,e,n){if(Array.isArray(a)&&Array.isArray(a[0])){e&&"repeat"in e&&e?.repeat===null&&(e.repeat=1/0),a.forEach(c=>{if(Array.isArray(c)&&c.length===3){let[y,l,m]=c;m&&"repeat"in m&&m?.repeat===null&&(m.repeat=1/0);}});let{ticker:i=new U.Ticker,driver:r=M(i),...s}=e||{};return animate(a,{driver:r,...s})}else {n&&"repeat"in n&&n?.repeat===null&&(n.repeat=1/0);let{ticker:i=new U.Ticker,driver:r=M(i),...s}=n||{};return animate(a,e,{driver:r,...s})}}function ct(a,e){let n={x:0},i=[];return a.forEach((r,s)=>{let{onComplete:c,onPlay:y,...l}=r;if(y){let m=motionValue(s);m.on("change",H(y,50)),i.push([m,s+1,{duration:.01}]);}if(i.push([n,{x:s+1},l]),c){let m=motionValue(s);m.on("change",H(c,50)),i.push([m,s+1,{duration:.01}]);}}),C(i,e)}var V=st(L());var S=class{constructor(e,n){v(this,"id");v(this,"_args");v(this,"duration");v(this,"priority");v(this,"ticker",new U.Ticker);v(this,"_animation");v(this,"stopped",false);v(this,"_paused",false);v(this,"canvasElementAliases",[]);v(this,"timeout",50);v(this,"onComplete",()=>{let e=this.id,n=this._args.options?.aliasToRemoveAfter||[];typeof n=="string"&&(n=[n]);let i=this._args.options?.tickerAliasToResume||[];typeof i=="string"&&(i=[i]);let r=this._args.options?.tickerIdToResume||[];typeof r=="string"&&(r=[r]),canvas.onTickerComplete(e,{aliasToRemoveAfter:n,tickerAliasToResume:i,tickerIdToResume:r,stopTicker:false});});let{duration:i,priority:r,id:s=this.generateTickerId(n),canvasElementAliases:c=[]}=n||{};this._args=e,this.duration=i,this.priority=r,this.id=s,this.canvasElementAliases=c;}get args(){return {...this._args,time:this._animation?.time}}getItemByAlias(e){if(!this.canvasElementAliases.includes(e))return;let n=canvas.find(e);if(n)return n}generateTickerId(...e){try{return (0,V.default)(JSON.stringify(e)).toString()+"_motion_"+Math.random().toString(36).substring(7)}catch(n){throw new PixiError("not_json_serializable",`Error to generate ticker id: ${n}`)}}async complete(){this.animation.complete(),await new Promise(e=>setTimeout(e,this.timeout));}stop(){this.stopped=true,this.animation.stop();}start(){this.args.options?.autoplay!==false&&(this._paused=false,this.animation.play());}createItem(e){return new Proxy({alias:e},{set:({alias:n},i,r)=>{if(this.stopped||this._paused||this._args.startState&&this._args.startState[i]===r)return true;let s=this.getItemByAlias(n);if(!s)return true;switch(i){case "pivotX":s.pivot.x=r;break;case "pivotY":s.pivot.y=r;break;case "scaleX":s.scale.x=r;break;case "scaleY":s.scale.y=r;break;default:s[i]=r;break}return true},get:({alias:n},i)=>{if(this._args.startState||(this._args.startState={}),i in this._args.startState)return this._args.startState[i];let r=this.getItemByAlias(n);if(!r)return;let s;switch(i){case "pivotX":s=r.pivot.x;break;case "pivotY":s=r.pivot.y;break;case "scaleX":s=r.scale.x;break;case "scaleY":s=r.scale.y;break;default:s=r[i];break}return this._args.startState={...this._args.startState,[i]:s},s},has:({alias:n},i)=>{let r=this.getItemByAlias(n);if(!r)return false;switch(i){case "pivotX":return "pivot"in r&&"x"in r.pivot;case "pivotY":return "pivot"in r&&"y"in r.pivot;case "scaleX":return "scale"in r&&"x"in r.scale;case "scaleY":return "scale"in r&&"y"in r.scale;default:return i in r}},ownKeys:({alias:n})=>{let i=this.getItemByAlias(n);return i?Object.keys(i):[]}})}pause(){this.animation&&(this._paused=true,this.animation.pause());}play(){this._paused=false,this.animation.play();}get paused(){return this.animation?this.animation.state==="paused":true}};var _=class extends S{constructor(){super(...arguments);v(this,"alias","motion-sequence");}get animation(){let n=this._animation;if(n)return n;let i=this.canvasElementAliases[0],r=this.createItem(i),s=this._args.sequence.map((c,y)=>[r,c[0],{...c[1]||{},ticker:this.ticker,onComplete:y===this._args.sequence.length-1?()=>this.onComplete():void 0}]);return n=C(s,this._args.options),this._args.time&&(this.animation.time=this._args.time),this._animation=n,n}};var k=class extends S{constructor(){super(...arguments);v(this,"alias","motion");}get animation(){let n=this._animation;if(n)return n;let i=this.canvasElementAliases.map(r=>this.createItem(r));return n=C(i,this._args.keyframes,{...this._args.options,onComplete:()=>this.onComplete(),ticker:this.ticker}),this._args.time&&(n.time=this._args.time),this._animation=n,n}};var w;(r=>(r.log=(s,...c)=>console.log(`[Pixi\u2019VN] ${s}`,...c),r.warn=(s,...c)=>console.warn(`[Pixi\u2019VN] ${s}`,...c),r.error=(s,...c)=>console.error(`[Pixi\u2019VN] ${s}`,...c),r.info=(s,...c)=>console.info(`[Pixi\u2019VN] ${s}`,...c)))(w||={});function z(a){try{if(typeof a>"u")return a;let e=JSON.stringify(a);return JSON.parse(e)}catch(e){throw w.error("Error creating exportable element",a,e),new PixiError("not_json_serializable","Error creating exportable element")}}var Q;(e=>{function a(n,i,r,s){try{i=z(i);}catch(h){throw w.error("animate keyframes cannot contain functions or classes"),h}try{r=z(r);}catch(h){throw w.error("animate options cannot contain functions or classes"),h}let c=[];typeof n=="string"?c=[n]:Array.isArray(n)?c=n.map(h=>typeof h=="string"?h:h.label):c=[n.label];let y;Array.isArray(i)?y=new _({sequence:i,options:r},{priority:s,canvasElementAliases:c}):y=new k({keyframes:i,options:r},{priority:s,canvasElementAliases:c});let l=canvas.addTicker(c,y),{forceCompleteBeforeNext:m}=r||{},{completeOnContinue:u=m}=r||{};return l&&u&&canvas.completeTickerOnStepEnd({id:l}),l}e.animate=a;})(Q||={});var ut=Q;RegisteredTickers.add(k,"motion");RegisteredTickers.add(_,"motion-sequence");export{C as animate,ut as motion,M as motionDriver,ct as timeline};