@dcl-regenesislabs/web-editor 0.3.10 → 0.3.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl-regenesislabs/web-editor",
3
- "version": "0.3.10",
3
+ "version": "0.3.12",
4
4
  "license": "Apache-2.0",
5
5
  "description": "The Decentraland scene editor for the web explorer: editor.js plus the files it loads beside it. Served by version, not installed.",
6
6
  "repository": {
@@ -1,4 +1,4 @@
1
- var Ct=Object.create;var Je=Object.defineProperty;var Mt=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty;var Wt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Dt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Nt(e))!Vt.call(t,s)&&s!==n&&Je(t,s,{get:()=>e[s],enumerable:!(r=Mt(e,s))||r.enumerable});return t};var Ft=(t,e,n)=>(n=t!=null?Ct(Bt(t)):{},Dt(e||!t||!t.__esModule?Je(n,"default",{value:t,enumerable:!0}):n,t));var $t=Wt((Wr,At)=>{function kt(t){return Array.isArray(t)?t:[t]}var Ue="",vt=" ",Oe="\\",jn=/^\s+$/,In=/(?:[^\\]|^)\\$/,Sn=/^\\!/,_n=/^\\#/,On=/\r?\n/g,Tn=/^\.*\/|^\.+$/,Te="/",xt="node-ignore";typeof Symbol<"u"&&(xt=Symbol.for("node-ignore"));var bt=xt,Un=(t,e,n)=>Object.defineProperty(t,e,{value:n}),Ln=/([0-z])-([0-z])/g,Rt=()=>!1,Cn=t=>t.replace(Ln,(e,n,r)=>n.charCodeAt(0)<=r.charCodeAt(0)?e:Ue),Mn=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Nn=[[/^\uFEFF/,()=>Ue],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,n)=>e+(n.indexOf("\\")===0?vt:Ue)],[/(\\+?)\s/g,(t,e)=>{let{length:n}=e;return e.slice(0,n-n%2)+vt}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,n)=>e+6<n.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(t,e,n)=>{let r=n.replace(/\\\*/g,"[^\\/]*");return e+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Oe],[/\\\\/g,()=>Oe],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,n,r,s)=>e===Oe?`\\[${n}${Mn(r)}${s}`:s==="]"&&r.length%2===0?`[${Cn(n)}${r}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],Pt=Object.create(null),Bn=(t,e)=>{let n=Pt[t];return n||(n=Nn.reduce((r,[s,i])=>r.replace(s,i.bind(t)),t),Pt[t]=n),e?new RegExp(n,"i"):new RegExp(n)},Me=t=>typeof t=="string",Vn=t=>t&&Me(t)&&!jn.test(t)&&!In.test(t)&&t.indexOf("#")!==0,Wn=t=>t.split(On),Le=class{constructor(e,n,r,s){this.origin=e,this.pattern=n,this.negative=r,this.regex=s}},Dn=(t,e)=>{let n=t,r=!1;t.indexOf("!")===0&&(r=!0,t=t.substr(1)),t=t.replace(Sn,"!").replace(_n,"#");let s=Bn(t,e);return new Le(n,t,r,s)},Fn=(t,e)=>{throw new e(t)},B=(t,e,n)=>Me(t)?t?B.isNotRelative(t)?n(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:n("path must not be empty",TypeError):n(`path must be a string, but got \`${e}\``,TypeError),Et=t=>Tn.test(t);B.isNotRelative=Et;B.convert=t=>t;var Ce=class{constructor({ignorecase:e=!0,ignoreCase:n=e,allowRelativePaths:r=!1}={}){Un(this,bt,!0),this._rules=[],this._ignoreCase=n,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[bt]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Vn(e)){let n=Dn(e,this._ignoreCase);this._added=!0,this._rules.push(n)}}add(e){return this._added=!1,kt(Me(e)?Wn(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,n){let r=!1,s=!1;return this._rules.forEach(i=>{let{negative:c}=i;if(s===c&&r!==s||c&&!r&&!s&&!n)return;i.regex.test(e)&&(r=!c,s=c)}),{ignored:r,unignored:s}}_test(e,n,r,s){let i=e&&B.convert(e);return B(i,e,this._allowRelativePaths?Rt:Fn),this._t(i,n,r,s)}_t(e,n,r,s){if(e in n)return n[e];if(s||(s=e.split(Te)),s.pop(),!s.length)return n[e]=this._testOne(e,r);let i=this._t(s.join(Te)+Te,n,r,s);return n[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return kt(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},le=t=>new Ce(t),zn=t=>B(t&&B.convert(t),t,Rt);le.isPathValid=zn;le.default=le;At.exports=le;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=n=>/^\\\\\?\\/.test(n)||/["<>|\u0000-\u001F]+/u.test(n)?n:n.replace(/\\/g,"/");B.convert=t;let e=/^[a-z]:\//i;B.isNotRelative=n=>e.test(n)||Et(n)}});var re="/scene";function ge(t){let e=[];for(let n of t.split("/"))n===".."?e.pop():n!==""&&n!=="."&&e.push(n);return"/"+e.join("/")}var L=(t,e)=>ge(t+"/"+e);function M(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Ge(t){let e=t.slice(t.lastIndexOf("/")+1),n=e.lastIndexOf(".");return n<=0?"":e.slice(n)}var zt=new TextDecoder,X=class{constructor(){this.files=new Map;this.dirs=new Set;this.parsed=new Map}set(e,n){this.files.set(e,n),this.parsed.delete(e);for(let r=M(e);!this.dirs.has(r)&&(this.dirs.add(r),r!=="/");r=M(r));}has(e){return this.files.has(e)}isDir(e){return this.dirs.has(e)}read(e){return this.files.get(e)}text(e){let n=this.files.get(e);return n===void 0||typeof n=="string"?n:zt.decode(n)}json(e){if(this.parsed.has(e))return this.parsed.get(e);let n,r=this.text(e);if(r!==void 0)try{n=JSON.parse(r)}catch{n=void 0}return this.parsed.set(e,n),n}},v=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);var F=".dcl-package.json",pe=class{constructor(){this.packages=new Map}has(e){return this.packages.has(e)}list(e){return[...this.packages.get(e)?.keys()??[]]}read(e,n){return this.packages.get(e)?.get(n)}write(e,n,r){let s=this.packages.get(e);s===void 0&&this.packages.set(e,s=new Map),s.set(n,r)}remove(e){this.packages.delete(e)}},He=t=>Array.isArray(t)?t.filter(e=>typeof e=="string"):[];async function Z(t,e){if(!await t.has(e))return;let n=await t.read(e,F);if(n!==void 0)try{let r=JSON.parse(new TextDecoder().decode(n));return!v(r)||typeof r.integrity!="string"?void 0:{integrity:r.integrity,files:Number(r.files)||0,bytes:Number(r.bytes)||0,installScripts:He(r.installScripts),native:r.native===!0,nodeBuiltins:He(r.nodeBuiltins)}}catch{return}}var Xe=async(t,e,n)=>t.write(e,F,new TextEncoder().encode(JSON.stringify(n)));async function he(t,e,n){let r;try{r=await fetch(t,e===void 0?{}:{integrity:e,mode:"cors"})}catch(s){if(e===void 0)throw s;let i=await fetch(t).then(c=>c.ok,()=>!1);throw new Error(i?`${n} does not match the hash this editor was published with. The editor will not run it: reload the page, and if this persists the files you were served were altered.`:`${n} could not be loaded (${t}). Check the connection and reload the page.`)}if(!r.ok)throw new Error(`${n} could not be loaded: ${r.status} ${t}`);return r}var Ze=/\.(tsx?|mts|cts|jsx?|mjs|cjs|json|composite|css|txt)$/,Kt=/\.d\.[mc]?ts$/;function qt(t){let e=t.get("scene.json");if(e!==void 0)try{let n=JSON.parse(new TextDecoder().decode(e)).main;return typeof n=="string"?n:void 0}catch{return}}async function Jt(t){let{integrity:e}=t;if(e===void 0)return new Worker(t.workerUrl);let n=new URL(t.workerUrl,location.href).href,r=await(await he(n,e.worker,"web-build/worker.js")).text(),s=URL.createObjectURL(new Blob([r],{type:"text/javascript"})),i=new Worker(s);return setTimeout(()=>URL.revokeObjectURL(s),6e4),i}function Gt(t){let e=Jt(t),n=m=>void e.then(g=>g.postMessage(m),()=>{}),r=new Map,s=1,i=new Map,c=1,f=()=>{},a=()=>{},d=new Promise((m,g)=>{f=m,a=g}),l=m=>{a(new Error(m));for(let[g,k]of r){let E={type:"failed",buildId:g,message:m};t.onEvent?.(E),k.resolve({buildId:g,ok:!1,outputs:new Map,diagnostics:[],events:[...k.events,E],ms:0})}r.clear();for(let g of i.values())g.reject(new Error(m));i.clear()},h=m=>{let g=m.data;if(g.type==="ready")f({sdkVersion:g.sdkVersion,esbuildVersion:g.esbuildVersion,snapshot:{sdkVersion:g.sdkVersion,provided:g.provided}});else if(g.type==="packagesSet"){let k=i.get(g.requestId);i.delete(g.requestId),g.error===void 0?k?.resolve(g.shadowed):k?.reject(new Error(g.error))}else if(g.type==="initFailed")l(g.message);else if(g.type==="event")r.get(g.event.buildId)?.events.push(g.event),t.onEvent?.(g.event);else{let k=r.get(g.buildId);if(k===void 0)return;r.delete(g.buildId),k.resolve({buildId:g.buildId,ok:k.events.some(E=>E.type==="bundleSaved"),outputs:new Map(g.outputs),diagnostics:k.events.flatMap(E=>E.type==="diagnostics"?E.diagnostics:[]),events:k.events,ms:g.ms})}};e.then(m=>{m.onerror=g=>l(g.message||"The build worker failed to start"),m.onmessage=h},m=>l(m instanceof Error?m.message:String(m)));let{integrity:y}=t;return n({type:"init",wasmUrl:new URL(t.wasmUrl,location.href).href,snapshotUrl:new URL(t.snapshotUrl,location.href).href,integrity:y===void 0?void 0:{wasm:y.wasm,snapshot:y.snapshot}}),d.catch(()=>{}),{ready:d,build(m,g={}){let k=s++,E=qt(m),$=[...m].filter(([j])=>Ze.test(j)&&j!==E);return new Promise(j=>{r.set(k,{events:[],resolve:j}),n({type:"build",buildId:k,files:$,options:g})})},async setPackages(m,g){let k=[],E=0;for(let[C,G]of Object.entries(m?.packages??{})){let ue=g===void 0?void 0:await Z(g,C);if(g===void 0||ue?.integrity!==G.integrity)throw new Error(`${C} is not in the package store`);for(let S of await g.list(C)){if(!Ze.test(S)||Kt.test(S)||S===F)continue;let D=await g.read(C,S);if(D===void 0)throw new Error(`${C} is incomplete in the package store: ${S}`);k.push([C,S,D]),E+=D.length}}let $=c++,j=await new Promise((C,G)=>{i.set($,{resolve:C,reject:G}),n({type:"packages",requestId:$,lock:m,files:k})});return{packages:Object.keys(m?.packages??{}).length-j.length,files:k.length,bytes:E,shadowed:j}},dispose(){e.then(m=>m.terminate(),()=>{}),l("The scene builder was disposed")}}}var Ye=[".tsx",".ts",".jsx",".js",".css",".json"],Qe=[".jsx",".js",".css",".json",".tsx",".ts"],Ht={".js":[".ts",".tsx"],".jsx":[".ts",".tsx"],".mjs":[".mts"],".cjs":[".cts"]},et=t=>!/^\.{0,2}\//.test(t)&&t!=="."&&t!=="..",Xt=t=>t.split("/",t.startsWith("@")?2:1).join("/"),me=t=>(t+"/").includes("/node_modules/");function Zt(t){let e=t.replace(/^\.\//,""),n=(e.includes("/")?e:"**/"+e).replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\/|\*\*|\*|\?/g,r=>r==="**/"?"(?:.*/)?":r==="**"?".*":r==="*"?"[^/]*":"[^/]");return new RegExp("^"+n+"$")}var Y=class{constructor(e){this.config=e;this.packages=new Map}resolve(e,n,r){let s=this.locate(e,n,r);return s===void 0?{kind:"missing"}:s.disabled?{kind:"disabled",path:s.path}:{kind:"file",path:s.path,sideEffects:this.hasSideEffects(s.path)}}locate(e,n,r){if(!et(e))return this.loadPath(e.startsWith("/")?ge(e):L(n,e),r);for(let[c,f]of Object.entries(this.config.aliases??{}))if(e===c||e.startsWith(c+"/"))return this.loadPath(f+e.slice(c.length),r);let s=this.enclosingPackage(n);if(e.startsWith("#"))return s===null?void 0:this.packageImports(s,e,r);if(s!==null&&v(s.json.browser)){let c=s.json.browser[e];if(c===!1)return{path:e,disabled:!0};if(typeof c=="string")return et(c)?this.loadPackage(c,s.dir,r):this.loadPath(L(s.dir,c),r)}let{tsconfig:i}=this.config;if(i!==void 0&&!me(n)){let c=this.loadTsconfigPath(i,e,r);if(c!==void 0)return c}return this.loadPackage(e,n,r)}loadTsconfigPath(e,n,r){let s;for(let[i,c]of Object.entries(e.paths??{})){let f=i.indexOf("*");if(f===-1){if(i===n){s={star:"",prefix:1/0,targets:c};break}continue}let a=i.slice(0,f),d=i.slice(f+1);n.length<a.length+d.length||!n.startsWith(a)||!n.endsWith(d)||(s===void 0||a.length>s.prefix)&&(s={star:n.slice(a.length,n.length-d.length),prefix:a.length,targets:c})}if(s!==void 0)for(let i of s.targets){let c=this.loadPath(L(e.pathsBase,i.replace("*",s.star)),r);if(c!==void 0)return c}return e.baseUrl===void 0?void 0:this.loadPath(L(e.baseUrl,n),r)}loadPackage(e,n,r){let s=Xt(e),i=e.slice(s.length);for(let c=n;;c=M(c)){if(!c.endsWith("/node_modules")){let f=L(c,"node_modules/"+s),a=this.config.links?.[s];if(!this.config.vfs.isDir(f)&&a!==void 0&&c===this.config.linkRoot&&(f=a),this.config.vfs.isDir(f)){let d=this.packageAt(f)?.json.exports;if(d!=null){let h=this.matchExports(f,d,"."+i,r);return h===void 0?void 0:this.applyBrowserMap(h,r)}let l=this.loadPath(f+i,r);if(l!==void 0)return l}}if(c==="/")return}}packageImports(e,n,r){let{imports:s}=e.json;return v(s)?this.matchSubpath(s,n,r,c=>c.startsWith("./")?this.loadPath(L(e.dir,c),r):this.loadPackage(c,e.dir,r)):void 0}matchExports(e,n,r,s){let i=v(n)&&Object.keys(n).some(f=>f.startsWith("."))?n:{".":n};return this.matchSubpath(i,r,s,f=>{if(!f.startsWith("./"))return;let a=L(e,f);return this.config.vfs.has(a)?{path:a}:void 0})?.path}matchSubpath(e,n,r,s){let i=new Set(["browser","default","module",r]),c=(d,l)=>{if(typeof d=="string")return s(l===null?d:d.split("*").join(l));if(Array.isArray(d)){for(let h of d){let y=c(h,l);if(y!==void 0)return y}return}if(v(d)){for(let[h,y]of Object.entries(d)){if(!i.has(h))continue;let m=c(y,l);if(m!==void 0)return m}return}return d===null?null:void 0};if(Object.prototype.hasOwnProperty.call(e,n)&&!n.includes("*"))return c(e[n],null)??void 0;let f;for(let d of Object.keys(e)){let l=d.indexOf("*"),h=l===-1?d:d.slice(0,l),y=l===-1?"":d.slice(l+1);l===-1&&!d.endsWith("/")||n.length<h.length+y.length||!n.startsWith(h)||!n.endsWith(y)||(f===void 0||d.length>f.key.length)&&(f={key:d,star:n.slice(h.length,n.length-y.length)})}if(f===void 0)return;let a=e[f.key];return f.key.endsWith("/")&&typeof a=="string"?s(a+f.star):c(a,f.star)??void 0}loadPath(e,n){let r=this.loadAsFile(e)??this.loadAsDirectory(e,n);return r===void 0?void 0:this.applyBrowserMap(r,n)}applyBrowserMap(e,n){let r=this.enclosingPackage(M(e));if(r===null||!v(r.json.browser))return{path:e};let s="./"+e.slice(r.dir.length+1),i=s.replace(/\.(js|json)$/,"");for(let c of[s,i,s.slice(2),i.slice(2)]){let f=r.json.browser[c];if(f===!1)return{path:e,disabled:!0};if(typeof f=="string"){let a=L(r.dir,f),d=this.loadAsFile(a)??this.loadAsDirectory(a,n);return d===void 0?void 0:{path:d}}}return{path:e}}loadAsFile(e){let{vfs:n}=this.config;if(n.has(e))return e;for(let s of me(e)?Qe:Ye)if(n.has(e+s))return e+s;let r=Ge(e);for(let s of Ht[r]??[]){let i=e.slice(0,-r.length)+s;if(n.has(i))return i}}loadAsIndex(e){for(let n of me(e)?Qe:Ye){let r=e+"/index"+n;if(this.config.vfs.has(r))return r}}loadAsDirectory(e,n){if(!this.config.vfs.isDir(e))return;let r=this.packageAt(e);return(r===null?void 0:this.loadMainField(r,n))??this.loadAsIndex(e)}loadMainField(e,n){let r=f=>{if(typeof f!="string")return;let a=L(e.dir,f);return this.loadAsFile(a)??this.loadAsIndex(a)},s=r(e.json.browser);if(s!==void 0)return s;let i=r(e.json.module);if(i===void 0)return r(e.json.main);let c=e.json.main===void 0?this.loadAsIndex(e.dir):r(e.json.main);return n==="require"&&c!==void 0?c:i}packageAt(e){let n=this.packages.get(e);if(n!==void 0)return n;let r=this.config.vfs.json(e+"/package.json"),s=v(r)?{dir:e,json:r}:null;return this.packages.set(e,s),s}enclosingPackage(e){for(let n=e;;n=M(n)){let r=this.packageAt(n);if(r!==null)return r;if(n==="/")return null}}hasSideEffects(e){let n=this.enclosingPackage(M(e)),r=n?.json.sideEffects;if(n===null||r===void 0||r===!0)return!0;if(!Array.isArray(r))return r!==!1;let s=e.slice(n.dir.length+1);return r.some(i=>typeof i=="string"&&Zt(i).test(s))}};var tt="@dcl/asset-packs";function nt(t,e){let n=t.get(e);if(n!==void 0)try{let r=JSON.parse(new TextDecoder().decode(n));return v(r)?r:void 0}catch{return}}function Yt(t){let e=new Map,n=nt(t,"package.json"),r=v(n?.dependencies)?n.dependencies[tt]:void 0;if(typeof r!="string"||!r.startsWith("file:"))return e;let s=L(re,r.slice(5));if(!s.startsWith(`${re}/`))return e;let i=s.slice(re.length+1),c=nt(t,`${i}/package.json`);if(c?.name!==tt||c.version!=="0.0.1-stub"||!t.has(`${i}/dist/index.js`))return e;let f=new TextEncoder;for(let[a,d]of Object.entries({"events.js":`'use strict'
1
+ var Ct=Object.create;var Je=Object.defineProperty;var Mt=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty;var Wt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Dt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Nt(e))!Vt.call(t,s)&&s!==n&&Je(t,s,{get:()=>e[s],enumerable:!(r=Mt(e,s))||r.enumerable});return t};var Ft=(t,e,n)=>(n=t!=null?Ct(Bt(t)):{},Dt(e||!t||!t.__esModule?Je(n,"default",{value:t,enumerable:!0}):n,t));var $t=Wt((Wr,At)=>{function kt(t){return Array.isArray(t)?t:[t]}var Ue="",vt=" ",Oe="\\",jn=/^\s+$/,In=/(?:[^\\]|^)\\$/,Sn=/^\\!/,_n=/^\\#/,On=/\r?\n/g,Tn=/^\.*\/|^\.+$/,Te="/",xt="node-ignore";typeof Symbol<"u"&&(xt=Symbol.for("node-ignore"));var bt=xt,Un=(t,e,n)=>Object.defineProperty(t,e,{value:n}),Ln=/([0-z])-([0-z])/g,Rt=()=>!1,Cn=t=>t.replace(Ln,(e,n,r)=>n.charCodeAt(0)<=r.charCodeAt(0)?e:Ue),Mn=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Nn=[[/^\uFEFF/,()=>Ue],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,n)=>e+(n.indexOf("\\")===0?vt:Ue)],[/(\\+?)\s/g,(t,e)=>{let{length:n}=e;return e.slice(0,n-n%2)+vt}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,n)=>e+6<n.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(t,e,n)=>{let r=n.replace(/\\\*/g,"[^\\/]*");return e+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Oe],[/\\\\/g,()=>Oe],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,n,r,s)=>e===Oe?`\\[${n}${Mn(r)}${s}`:s==="]"&&r.length%2===0?`[${Cn(n)}${r}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],Pt=Object.create(null),Bn=(t,e)=>{let n=Pt[t];return n||(n=Nn.reduce((r,[s,i])=>r.replace(s,i.bind(t)),t),Pt[t]=n),e?new RegExp(n,"i"):new RegExp(n)},Me=t=>typeof t=="string",Vn=t=>t&&Me(t)&&!jn.test(t)&&!In.test(t)&&t.indexOf("#")!==0,Wn=t=>t.split(On),Le=class{constructor(e,n,r,s){this.origin=e,this.pattern=n,this.negative=r,this.regex=s}},Dn=(t,e)=>{let n=t,r=!1;t.indexOf("!")===0&&(r=!0,t=t.substr(1)),t=t.replace(Sn,"!").replace(_n,"#");let s=Bn(t,e);return new Le(n,t,r,s)},Fn=(t,e)=>{throw new e(t)},B=(t,e,n)=>Me(t)?t?B.isNotRelative(t)?n(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:n("path must not be empty",TypeError):n(`path must be a string, but got \`${e}\``,TypeError),Et=t=>Tn.test(t);B.isNotRelative=Et;B.convert=t=>t;var Ce=class{constructor({ignorecase:e=!0,ignoreCase:n=e,allowRelativePaths:r=!1}={}){Un(this,bt,!0),this._rules=[],this._ignoreCase=n,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[bt]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Vn(e)){let n=Dn(e,this._ignoreCase);this._added=!0,this._rules.push(n)}}add(e){return this._added=!1,kt(Me(e)?Wn(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,n){let r=!1,s=!1;return this._rules.forEach(i=>{let{negative:c}=i;if(s===c&&r!==s||c&&!r&&!s&&!n)return;i.regex.test(e)&&(r=!c,s=c)}),{ignored:r,unignored:s}}_test(e,n,r,s){let i=e&&B.convert(e);return B(i,e,this._allowRelativePaths?Rt:Fn),this._t(i,n,r,s)}_t(e,n,r,s){if(e in n)return n[e];if(s||(s=e.split(Te)),s.pop(),!s.length)return n[e]=this._testOne(e,r);let i=this._t(s.join(Te)+Te,n,r,s);return n[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return kt(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},le=t=>new Ce(t),zn=t=>B(t&&B.convert(t),t,Rt);le.isPathValid=zn;le.default=le;At.exports=le;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=n=>/^\\\\\?\\/.test(n)||/["<>|\u0000-\u001F]+/u.test(n)?n:n.replace(/\\/g,"/");B.convert=t;let e=/^[a-z]:\//i;B.isNotRelative=n=>e.test(n)||Et(n)}});var re="/scene";function ge(t){let e=[];for(let n of t.split("/"))n===".."?e.pop():n!==""&&n!=="."&&e.push(n);return"/"+e.join("/")}var L=(t,e)=>ge(t+"/"+e);function M(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Ge(t){let e=t.slice(t.lastIndexOf("/")+1),n=e.lastIndexOf(".");return n<=0?"":e.slice(n)}var zt=new TextDecoder,X=class{constructor(){this.files=new Map;this.dirs=new Set;this.parsed=new Map}set(e,n){this.files.set(e,n),this.parsed.delete(e);for(let r=M(e);!this.dirs.has(r)&&(this.dirs.add(r),r!=="/");r=M(r));}has(e){return this.files.has(e)}isDir(e){return this.dirs.has(e)}read(e){return this.files.get(e)}text(e){let n=this.files.get(e);return n===void 0||typeof n=="string"?n:zt.decode(n)}json(e){if(this.parsed.has(e))return this.parsed.get(e);let n,r=this.text(e);if(r!==void 0)try{n=JSON.parse(r)}catch{n=void 0}return this.parsed.set(e,n),n}},v=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);var F=".dcl-package.json",pe=class{constructor(){this.packages=new Map}has(e){return this.packages.has(e)}list(e){return[...this.packages.get(e)?.keys()??[]]}read(e,n){return this.packages.get(e)?.get(n)}write(e,n,r){let s=this.packages.get(e);s===void 0&&this.packages.set(e,s=new Map),s.set(n,r)}remove(e){this.packages.delete(e)}},He=t=>Array.isArray(t)?t.filter(e=>typeof e=="string"):[];async function Z(t,e){if(!await t.has(e))return;let n=await t.read(e,F);if(n!==void 0)try{let r=JSON.parse(new TextDecoder().decode(n));return!v(r)||typeof r.integrity!="string"?void 0:{integrity:r.integrity,files:Number(r.files)||0,bytes:Number(r.bytes)||0,installScripts:He(r.installScripts),native:r.native===!0,nodeBuiltins:He(r.nodeBuiltins)}}catch{return}}var Xe=async(t,e,n)=>t.write(e,F,new TextEncoder().encode(JSON.stringify(n)));async function he(t,e,n){let r;try{r=await fetch(t,e===void 0?{}:{integrity:e,mode:"cors"})}catch(s){if(e===void 0)throw s;let i=await fetch(t).then(c=>c.ok,()=>!1);throw new Error(i?`${n} does not match the hash this editor was published with. The editor will not run it: reload the page, and if this persists the files you were served were altered.`:`${n} could not be loaded (${t}). Check the connection and reload the page.`)}if(!r.ok)throw new Error(`${n} could not be loaded: ${r.status} ${t}`);return r}var Ze=/\.(tsx?|mts|cts|jsx?|mjs|cjs|json|composite|css|txt)$/,Kt=/\.d\.[mc]?ts$/;function qt(t){let e=t.get("scene.json");if(e!==void 0)try{let n=JSON.parse(new TextDecoder().decode(e)).main;return typeof n=="string"?n:void 0}catch{return}}async function Jt(t){let{integrity:e}=t;if(e===void 0)return new Worker(t.workerUrl);let n=new URL(t.workerUrl,location.href).href,r=await(await he(n,e.worker,"scene-compiler/worker.js")).text(),s=URL.createObjectURL(new Blob([r],{type:"text/javascript"})),i=new Worker(s);return setTimeout(()=>URL.revokeObjectURL(s),6e4),i}function Gt(t){let e=Jt(t),n=m=>void e.then(g=>g.postMessage(m),()=>{}),r=new Map,s=1,i=new Map,c=1,f=()=>{},a=()=>{},d=new Promise((m,g)=>{f=m,a=g}),l=m=>{a(new Error(m));for(let[g,k]of r){let E={type:"failed",buildId:g,message:m};t.onEvent?.(E),k.resolve({buildId:g,ok:!1,outputs:new Map,diagnostics:[],events:[...k.events,E],ms:0})}r.clear();for(let g of i.values())g.reject(new Error(m));i.clear()},h=m=>{let g=m.data;if(g.type==="ready")f({sdkVersion:g.sdkVersion,esbuildVersion:g.esbuildVersion,snapshot:{sdkVersion:g.sdkVersion,provided:g.provided}});else if(g.type==="packagesSet"){let k=i.get(g.requestId);i.delete(g.requestId),g.error===void 0?k?.resolve(g.shadowed):k?.reject(new Error(g.error))}else if(g.type==="initFailed")l(g.message);else if(g.type==="event")r.get(g.event.buildId)?.events.push(g.event),t.onEvent?.(g.event);else{let k=r.get(g.buildId);if(k===void 0)return;r.delete(g.buildId),k.resolve({buildId:g.buildId,ok:k.events.some(E=>E.type==="bundleSaved"),outputs:new Map(g.outputs),diagnostics:k.events.flatMap(E=>E.type==="diagnostics"?E.diagnostics:[]),events:k.events,ms:g.ms})}};e.then(m=>{m.onerror=g=>l(g.message||"The build worker failed to start"),m.onmessage=h},m=>l(m instanceof Error?m.message:String(m)));let{integrity:y}=t;return n({type:"init",wasmUrl:new URL(t.wasmUrl,location.href).href,snapshotUrl:new URL(t.snapshotUrl,location.href).href,integrity:y===void 0?void 0:{wasm:y.wasm,snapshot:y.snapshot}}),d.catch(()=>{}),{ready:d,build(m,g={}){let k=s++,E=qt(m),$=[...m].filter(([j])=>Ze.test(j)&&j!==E);return new Promise(j=>{r.set(k,{events:[],resolve:j}),n({type:"build",buildId:k,files:$,options:g})})},async setPackages(m,g){let k=[],E=0;for(let[C,G]of Object.entries(m?.packages??{})){let ue=g===void 0?void 0:await Z(g,C);if(g===void 0||ue?.integrity!==G.integrity)throw new Error(`${C} is not in the package store`);for(let S of await g.list(C)){if(!Ze.test(S)||Kt.test(S)||S===F)continue;let D=await g.read(C,S);if(D===void 0)throw new Error(`${C} is incomplete in the package store: ${S}`);k.push([C,S,D]),E+=D.length}}let $=c++,j=await new Promise((C,G)=>{i.set($,{resolve:C,reject:G}),n({type:"packages",requestId:$,lock:m,files:k})});return{packages:Object.keys(m?.packages??{}).length-j.length,files:k.length,bytes:E,shadowed:j}},dispose(){e.then(m=>m.terminate(),()=>{}),l("The scene builder was disposed")}}}var Ye=[".tsx",".ts",".jsx",".js",".css",".json"],Qe=[".jsx",".js",".css",".json",".tsx",".ts"],Ht={".js":[".ts",".tsx"],".jsx":[".ts",".tsx"],".mjs":[".mts"],".cjs":[".cts"]},et=t=>!/^\.{0,2}\//.test(t)&&t!=="."&&t!=="..",Xt=t=>t.split("/",t.startsWith("@")?2:1).join("/"),me=t=>(t+"/").includes("/node_modules/");function Zt(t){let e=t.replace(/^\.\//,""),n=(e.includes("/")?e:"**/"+e).replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\/|\*\*|\*|\?/g,r=>r==="**/"?"(?:.*/)?":r==="**"?".*":r==="*"?"[^/]*":"[^/]");return new RegExp("^"+n+"$")}var Y=class{constructor(e){this.config=e;this.packages=new Map}resolve(e,n,r){let s=this.locate(e,n,r);return s===void 0?{kind:"missing"}:s.disabled?{kind:"disabled",path:s.path}:{kind:"file",path:s.path,sideEffects:this.hasSideEffects(s.path)}}locate(e,n,r){if(!et(e))return this.loadPath(e.startsWith("/")?ge(e):L(n,e),r);for(let[c,f]of Object.entries(this.config.aliases??{}))if(e===c||e.startsWith(c+"/"))return this.loadPath(f+e.slice(c.length),r);let s=this.enclosingPackage(n);if(e.startsWith("#"))return s===null?void 0:this.packageImports(s,e,r);if(s!==null&&v(s.json.browser)){let c=s.json.browser[e];if(c===!1)return{path:e,disabled:!0};if(typeof c=="string")return et(c)?this.loadPackage(c,s.dir,r):this.loadPath(L(s.dir,c),r)}let{tsconfig:i}=this.config;if(i!==void 0&&!me(n)){let c=this.loadTsconfigPath(i,e,r);if(c!==void 0)return c}return this.loadPackage(e,n,r)}loadTsconfigPath(e,n,r){let s;for(let[i,c]of Object.entries(e.paths??{})){let f=i.indexOf("*");if(f===-1){if(i===n){s={star:"",prefix:1/0,targets:c};break}continue}let a=i.slice(0,f),d=i.slice(f+1);n.length<a.length+d.length||!n.startsWith(a)||!n.endsWith(d)||(s===void 0||a.length>s.prefix)&&(s={star:n.slice(a.length,n.length-d.length),prefix:a.length,targets:c})}if(s!==void 0)for(let i of s.targets){let c=this.loadPath(L(e.pathsBase,i.replace("*",s.star)),r);if(c!==void 0)return c}return e.baseUrl===void 0?void 0:this.loadPath(L(e.baseUrl,n),r)}loadPackage(e,n,r){let s=Xt(e),i=e.slice(s.length);for(let c=n;;c=M(c)){if(!c.endsWith("/node_modules")){let f=L(c,"node_modules/"+s),a=this.config.links?.[s];if(!this.config.vfs.isDir(f)&&a!==void 0&&c===this.config.linkRoot&&(f=a),this.config.vfs.isDir(f)){let d=this.packageAt(f)?.json.exports;if(d!=null){let h=this.matchExports(f,d,"."+i,r);return h===void 0?void 0:this.applyBrowserMap(h,r)}let l=this.loadPath(f+i,r);if(l!==void 0)return l}}if(c==="/")return}}packageImports(e,n,r){let{imports:s}=e.json;return v(s)?this.matchSubpath(s,n,r,c=>c.startsWith("./")?this.loadPath(L(e.dir,c),r):this.loadPackage(c,e.dir,r)):void 0}matchExports(e,n,r,s){let i=v(n)&&Object.keys(n).some(f=>f.startsWith("."))?n:{".":n};return this.matchSubpath(i,r,s,f=>{if(!f.startsWith("./"))return;let a=L(e,f);return this.config.vfs.has(a)?{path:a}:void 0})?.path}matchSubpath(e,n,r,s){let i=new Set(["browser","default","module",r]),c=(d,l)=>{if(typeof d=="string")return s(l===null?d:d.split("*").join(l));if(Array.isArray(d)){for(let h of d){let y=c(h,l);if(y!==void 0)return y}return}if(v(d)){for(let[h,y]of Object.entries(d)){if(!i.has(h))continue;let m=c(y,l);if(m!==void 0)return m}return}return d===null?null:void 0};if(Object.prototype.hasOwnProperty.call(e,n)&&!n.includes("*"))return c(e[n],null)??void 0;let f;for(let d of Object.keys(e)){let l=d.indexOf("*"),h=l===-1?d:d.slice(0,l),y=l===-1?"":d.slice(l+1);l===-1&&!d.endsWith("/")||n.length<h.length+y.length||!n.startsWith(h)||!n.endsWith(y)||(f===void 0||d.length>f.key.length)&&(f={key:d,star:n.slice(h.length,n.length-y.length)})}if(f===void 0)return;let a=e[f.key];return f.key.endsWith("/")&&typeof a=="string"?s(a+f.star):c(a,f.star)??void 0}loadPath(e,n){let r=this.loadAsFile(e)??this.loadAsDirectory(e,n);return r===void 0?void 0:this.applyBrowserMap(r,n)}applyBrowserMap(e,n){let r=this.enclosingPackage(M(e));if(r===null||!v(r.json.browser))return{path:e};let s="./"+e.slice(r.dir.length+1),i=s.replace(/\.(js|json)$/,"");for(let c of[s,i,s.slice(2),i.slice(2)]){let f=r.json.browser[c];if(f===!1)return{path:e,disabled:!0};if(typeof f=="string"){let a=L(r.dir,f),d=this.loadAsFile(a)??this.loadAsDirectory(a,n);return d===void 0?void 0:{path:d}}}return{path:e}}loadAsFile(e){let{vfs:n}=this.config;if(n.has(e))return e;for(let s of me(e)?Qe:Ye)if(n.has(e+s))return e+s;let r=Ge(e);for(let s of Ht[r]??[]){let i=e.slice(0,-r.length)+s;if(n.has(i))return i}}loadAsIndex(e){for(let n of me(e)?Qe:Ye){let r=e+"/index"+n;if(this.config.vfs.has(r))return r}}loadAsDirectory(e,n){if(!this.config.vfs.isDir(e))return;let r=this.packageAt(e);return(r===null?void 0:this.loadMainField(r,n))??this.loadAsIndex(e)}loadMainField(e,n){let r=f=>{if(typeof f!="string")return;let a=L(e.dir,f);return this.loadAsFile(a)??this.loadAsIndex(a)},s=r(e.json.browser);if(s!==void 0)return s;let i=r(e.json.module);if(i===void 0)return r(e.json.main);let c=e.json.main===void 0?this.loadAsIndex(e.dir):r(e.json.main);return n==="require"&&c!==void 0?c:i}packageAt(e){let n=this.packages.get(e);if(n!==void 0)return n;let r=this.config.vfs.json(e+"/package.json"),s=v(r)?{dir:e,json:r}:null;return this.packages.set(e,s),s}enclosingPackage(e){for(let n=e;;n=M(n)){let r=this.packageAt(n);if(r!==null)return r;if(n==="/")return null}}hasSideEffects(e){let n=this.enclosingPackage(M(e)),r=n?.json.sideEffects;if(n===null||r===void 0||r===!0)return!0;if(!Array.isArray(r))return r!==!1;let s=e.slice(n.dir.length+1);return r.some(i=>typeof i=="string"&&Zt(i).test(s))}};var tt="@dcl/asset-packs";function nt(t,e){let n=t.get(e);if(n!==void 0)try{let r=JSON.parse(new TextDecoder().decode(n));return v(r)?r:void 0}catch{return}}function Yt(t){let e=new Map,n=nt(t,"package.json"),r=v(n?.dependencies)?n.dependencies[tt]:void 0;if(typeof r!="string"||!r.startsWith("file:"))return e;let s=L(re,r.slice(5));if(!s.startsWith(`${re}/`))return e;let i=s.slice(re.length+1),c=nt(t,`${i}/package.json`);if(c?.name!==tt||c.version!=="0.0.1-stub"||!t.has(`${i}/dist/index.js`))return e;let f=new TextEncoder;for(let[a,d]of Object.entries({"events.js":`'use strict'
2
2
  module.exports = require('./index')
3
3
  `,"events.d.ts":`export { getActionEvents, getTriggerEvents } from './index'
4
4
  `})){let l=`${i}/dist/${a}`;t.has(l)||e.set(l,f.encode(d))}return e}var ie="0|[1-9]\\d*",rt="(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?",Qt=new RegExp(`^[v=\\s]*(${ie})\\.(${ie})\\.(${ie})${rt}$`),we=`${ie}|[xX*]`,en=new RegExp(`^[v=\\s]*(${we})(?:\\.(${we})(?:\\.(${we})${rt})?)?$`),tn=/^(<=|>=|<|>|=|\^|~>|~)?\s*(.*)$/,st=256;function V(t){if(t.length>st)return;let e=Qt.exec(t.trim());if(e===null)return;let[n,r,s]=[Number(e[1]),Number(e[2]),Number(e[3])];if([n,r,s].every(Number.isSafeInteger))return{major:n,minor:r,patch:s,prerelease:it(e[4])}}var it=t=>t===void 0?[]:t.split(".").map(e=>/^\d+$/.test(e)?Number(e):e);function oe(t,e){let n=t.major-e.major||t.minor-e.minor||t.patch-e.patch;if(n!==0)return Math.sign(n);if(t.prerelease.length===0||e.prerelease.length===0)return Math.sign(e.prerelease.length-t.prerelease.length);for(let r=0;;r++){let[s,i]=[t.prerelease[r],e.prerelease[r]];if(s===void 0&&i===void 0)return 0;if(s===void 0)return-1;if(i===void 0)return 1;if(s!==i)return typeof s!=typeof i?typeof s=="number"?-1:1:s<i?-1:1}}var se=(t,e=0,n=0,r=[])=>({major:t,minor:e,patch:n,prerelease:r}),ye=t=>t===void 0||/^[xX*]$/.test(t);function ke(t,e){let[,n="",r=""]=tn.exec(t)??[],s=en.exec(r);if(s===null)return;let[i,c,f]=[ye(s[1]),ye(s[2]),ye(s[3])],a=i?0:Number(s[1]),d=i||c?0:Number(s[2]),l=i||c||f?0:Number(s[3]),h=!i&&!c&&!f,y=e?[0]:[],m=se(a,d,l,h?it(s[4]):y),g=j=>({op:"<",version:{...j,prerelease:[0]}}),k=se(a+1),E=se(a,d+1);if(n==="^"){if(i)return[];let j=se(a,d,l+1);return a>0||c?j=k:(d>0||f)&&(j=E),[{op:">=",version:m},g(j)]}if(n==="~"||n==="~>")return i?[]:[{op:">=",version:m},g(c?k:E)];if(h)return[{op:n===""?"=":n,version:m}];if(n===""||n==="=")return i?[]:[{op:">=",version:m},g(c?k:E)];if(i)return n==="<"||n===">"?null:[];let $=c?k:E;return n===">"?[{op:">=",version:{...$,prerelease:y}}]:n==="<="?[g($)]:n==="<"?[g(m)]:[{op:">=",version:m}]}function nn(t,e,n){let r=ke(">="+t,n),s=ke("<="+e,n);if(r===void 0||s===void 0||r===null||s===null)return;let[i]=r;return n&&i!==void 0&&i.version.prerelease.length===0&&(i.version.prerelease=[0]),[...r,...s]}function ot(t,e=!1){if(t.length>st)return;let n=[];for(let r of t.split("||")){let s=r.trim(),i=/^(\S+)\s+-\s+(\S+)$/.exec(s);if(i!==null){let a=nn(i[1],i[2],e);if(a===void 0)return;n.push(a);continue}let c=[],f=!1;for(let a of s.replace(/(<=|>=|<|>|=|\^|~>|~)\s+/g,"$1").split(/\s+/)){if(a==="")continue;let d=ke(a,e);if(d===void 0)return;d===null?f=!0:c.push(...d)}f||n.push(c)}return n}var Q=t=>ot(t)!==void 0;function rn(t,{op:e,version:n}){let r=oe(t,n);switch(e){case"=":return r===0;case"<":return r<0;case"<=":return r<=0;case">":return r>0;case">=":return r>=0}}function z(t,e,n={}){let r=typeof t=="string"?V(t):t,s=ot(e,n.includePrerelease===!0);return r===void 0||s===void 0?!1:s.some(i=>i.every(c=>rn(r,c))?r.prerelease.length===0||n.includePrerelease===!0?!0:i.some(({version:c})=>c.prerelease.length>0&&c.major===r.major&&c.minor===r.minor&&c.patch===r.patch):!1)}function ve(t,e){let n;for(let r of t){let s=V(r);s===void 0||!z(s,e)||(n===void 0||oe(s,n.version)>0)&&(n={text:r,version:s})}return n?.text}var sn="dcl-editor.lock.json",on=/^(?:@[A-Za-z0-9-~][A-Za-z0-9-._~]*\/)?[A-Za-z0-9-~][A-Za-z0-9-._~]*$/,an=/^sha512-[A-Za-z0-9+/]{86}==$/,K=t=>t.length<=214&&on.test(t);function q(t){let e=t.lastIndexOf("@");if(e<=0)return;let[n,r]=[t.slice(0,e),t.slice(e+1)];return K(n)&&V(r)!==void 0?{name:n,version:r}:void 0}var N=(t,e)=>e.startsWith("npm:")?e.slice(4):`${t}@${e}`,be=(t,e)=>e.startsWith(t+"@")&&e.lastIndexOf("@")===t.length?e.slice(t.length+1):"npm:"+e;function at(t){if(t===void 0)return{};if(!v(t))return;let e={};for(let[n,r]of Object.entries(t)){if(typeof r!="string"||!K(n)||q(N(n,r))===void 0)return;e[n]=r}return e}function cn(t){if(t===void 0)return;let e;try{e=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{return}if(!v(e)||e.lockfileVersion!==1||typeof e.registry!="string"||!v(e.packages))return;let n=at(e.dependencies);if(n===void 0)return;let r={};for(let[s,i]of Object.entries(e.packages)){if(q(s)===void 0||!v(i))return;let c=at(i.dependencies);if(typeof i.resolved!="string"||typeof i.integrity!="string"||!an.test(i.integrity)||c===void 0)return;r[s]={resolved:i.resolved,integrity:i.integrity,...Object.keys(c).length>0?{dependencies:c}:{}}}return{lockfileVersion:1,registry:e.registry,dependencies:n,packages:r}}var dn=t=>JSON.stringify(t,null,2)+`
@@ -701,4 +701,4 @@ module.exports = require('./index')
701
701
  `)).replace(i.scriptsArray,()=>n.size===0?"[]":`[
702
702
  ${t.join(`,
703
703
  `)}
704
- ]`)}function w3(e,n){return e.map(o=>({severity:n,message:o.text,file:o.location?.file,line:o.location?.line,column:o.location?.column,lineText:o.location?.lineText,...$t(o.detail)&&typeof o.detail.missingPackage=="string"?{missingPackage:o.detail.missingPackage}:{}}))}var Bte=e=>e instanceof Error&&"errors"in e&&Array.isArray(e.errors);function Ute(e,n,o){let t=`Could not resolve "${e}"`;if(!Um(e)||e.startsWith("#"))return{text:t};let i=n.lastIndexOf("/node_modules/"),r=i===-1?"":` (imported by ${Dm(n.slice(i+14))})`;if(uI(e))return{text:`${t}: it is a Node built-in, which a scene does not have${r}`};let c=Dm(e);return o.isDir(ot(kt,"node_modules/"+c))?{text:`${t}: the package "${c}" has no module there${r}`}:{text:`${t}: the package "${c}" is not installed${r}`,detail:{missingPackage:c}}}var $m=class{constructor(n,o){this.esbuild=n;this.snapshot=o;this.contextKey=""}setPackages(n){this.packages=n}async build(n,o){let t=o.production===!0,i=Wl(n,"scene.json");if(i===void 0)return Gl("scene.json is missing or is not valid JSON");let r=i.main;if(typeof r!="string"||r==="")return Gl('scene.json needs a "main" entry, the path of the built bundle');if(i.runtimeVersion!=="7")return Gl('scene.json needs "runtimeVersion": "7"');if(!n.has("tsconfig.json"))return Gl("tsconfig.json is missing");if(!n.has(Lm))return Gl(`${Lm} is missing`);let c=[],{meta:s}=this.snapshot,a=pI(this.snapshot,n,this.packages),u=a.dependencies["@dcl/sdk"];typeof u=="string"&&/^\d/.test(u)&&u!==s.sdkVersion&&c.push({severity:"warning",file:"package.json",message:`This project pins @dcl/sdk ${u}; it is built here with ${s.sdkVersion}.`});let d=sI(n);c.push(...d.diagnostics);let p=cI(n);p&&!a.ownAssetPacks&&c.push({severity:"warning",message:"This scene uses smart items but ships no @dcl/asset-packs; they are built as no-ops."}),this.inputs={vfs:a.vfs,resolver:a.resolver,virtualModules:{"sdk-composite":`export const compositeFromLoader = {${d.compositeLines.join(",")}}`,"sdk-scripts":Ite(this.snapshot,d.scripts)}};let f={bundle:!0,platform:"browser",format:"cjs",write:!1,outfile:ot(kt,r),sourcemap:t?!1:"inline",minify:t,minifyIdentifiers:t,minifySyntax:t,minifyWhitespace:t,treeShaking:!0,absWorkingDir:kt,target:"es2020",sourceRoot:"dcl://"+(t?"/":Fn("/"+r)),define:{document:"undefined",window:"undefined",DEBUG:t?"false":"true","globalThis.DEBUG":t?"false":"true","process.env.NODE_ENV":JSON.stringify(t?"production":"development"),DCL_MAX_COMPOSITE_ENTITY:String(d.maxCompositeEntity)},tsconfigRaw:JSON.stringify({compilerOptions:fI(a.tsconfig.compilerOptions)}),supported:{"import-assertions":!1,"import-meta":!1,"dynamic-import":!1,hashbang:!1},logOverride:{"import-is-undefined":"silent"},logLevel:"silent",stdin:{contents:(p?s.entrypoint.editorScene:s.entrypoint.scene).split(JSON.stringify(s.placeholders.entrypoint)).join(JSON.stringify(ot(kt,Lm))),resolveDir:ot(kt,Fn(Lm)),sourcefile:"index.ts.entry-point.ts",loader:"ts"}};try{let g=await(await this.contextFor(f)).rebuild();c.push(...w3(g.warnings,"warning"));let m=g.outputFiles?.[0];if(m===void 0)return{outputs:new Map,bundleFile:void 0,diagnostics:c,failure:"The bundler produced no output"};let y=new Map([[r,m.contents]]);return d.crdt!==void 0&&y.set("main.crdt",d.crdt),{outputs:y,bundleFile:r,diagnostics:c,failure:void 0}}catch(h){if(!Bte(h))throw h;return c.push(...w3(h.errors,"error"),...w3(h.warnings,"warning")),{outputs:new Map,bundleFile:void 0,diagnostics:c,failure:h.message}}}async contextFor(n){let o=JSON.stringify(n);return this.context!==void 0&&o===this.contextKey?this.context:(await this.context?.dispose(),this.context=await this.esbuild.context({...n,plugins:[this.plugin()]}),this.contextKey=o,this.context)}plugin(){let n=()=>{if(this.inputs===void 0)throw new Error("no build in progress");return this.inputs};return{name:"in-memory-scene",setup:o=>{o.onResolve({filter:/~sdk\/all-composites/},()=>({namespace:"sdk-composite",path:"all-composites"})),o.onResolve({filter:/~sdk\/script-utils/},()=>({namespace:"sdk-scripts",path:"script-utils"})),o.onLoad({filter:/.*/,namespace:"sdk-composite"},()=>({loader:"js",contents:n().virtualModules["sdk-composite"]})),o.onLoad({filter:/.*/,namespace:"sdk-scripts"},()=>({loader:"ts",contents:n().virtualModules["sdk-scripts"],resolveDir:kt})),o.onResolve({filter:/.*/},t=>{if(Mte.test(t.path))return{path:t.path,external:!0};let i=t.kind==="require-call"||t.kind==="require-resolve"?"require":"import",r=n().resolver.resolve(t.path,t.resolveDir||kt,i);return r.kind==="file"?{path:r.path,sideEffects:r.sideEffects}:r.kind==="disabled"?{path:r.path,namespace:"disabled"}:{errors:[Ute(t.path,t.importer,n().vfs)]}}),o.onLoad({filter:/.*/,namespace:"disabled"},()=>({loader:"js",contents:""})),o.onLoad({filter:/.*/,namespace:"file"},t=>{let i=n().vfs.read(t.path),r=Rte[Bc(t.path)];return i===void 0?{errors:[{text:`File not found: ${t.path}`}]}:r===void 0?{errors:[{text:`No loader is configured for "${Bc(t.path)}" files: ${t.path}`}]}:{contents:i,loader:r}})}}}};async function A3(e,n,o){let t;try{t=await fetch(e,n===void 0?{}:{integrity:n,mode:"cors"})}catch(i){if(n===void 0)throw i;let r=await fetch(e).then(c=>c.ok,()=>!1);throw new Error(r?`${o} does not match the hash this editor was published with. The editor will not run it: reload the page, and if this persists the files you were served were altered.`:`${o} could not be loaded (${e}). Check the connection and reload the page.`)}if(!t.ok)throw new Error(`${o} could not be loaded: ${t.status} ${e}`);return t}var Cc=(e,n=[])=>self.postMessage(e,n),Hl=e=>Cc({type:"event",event:e}),k3=e=>e instanceof Error?e.message:String(e);async function xte(e){let n=new Uint8Array(await crypto.subtle.digest("SHA-256",Jm(e)));return Array.from(n,o=>o.toString(16).padStart(2,"0")).join("")}function Dte(){let e=self.setTimeout.bind(self),n=[],o=new MessageChannel;o.port1.onmessage=()=>n.shift()?.();let t=(i,r,...c)=>typeof i!="function"||r!==void 0&&r>0?e(i,r,...c):(n.push(()=>i(...c)),o.port2.postMessage(null),0);self.setTimeout=t}async function Lte(e){Dte();let[n,o]=await Promise.all([A3(e.wasmUrl,e.integrity?.wasm,"web-build/esbuild.wasm"),A3(e.snapshotUrl,e.integrity?.snapshot,"web-build/sdk-snapshot.json")]),t=await WebAssembly.compile(await n.arrayBuffer()),[,i]=await Promise.all([as.initialize({wasmModule:t,worker:!1}),o.json()]);if(as.version!==i.meta.esbuildVersion)throw new Error(`bundler ${as.version} does not match the SDK's ${i.meta.esbuildVersion}`);let r={};for(let[c,{version:s}]of Object.entries(i.meta.provided))r[c]=s;return Cc({type:"ready",sdkVersion:i.meta.sdkVersion,esbuildVersion:as.version,provided:r}),{session:new $m(as,i),snapshotNames:new Set(Object.keys(r))}}var Rc,jm=Promise.resolve();async function $te(e){let{buildId:n}=e,o=performance.now(),t=()=>Math.round(performance.now()-o);Hl({type:"buildStarted",buildId:n});let i=new Map;try{if(Rc===void 0)throw new Error("build requested before init");let c=await(await Rc).session.build(new Map(e.files),e.options);Hl({type:"diagnostics",buildId:n,diagnostics:c.diagnostics});let s=c.bundleFile===void 0?void 0:c.outputs.get(c.bundleFile);c.failure!==void 0||c.bundleFile===void 0||s===void 0?Hl({type:"failed",buildId:n,message:c.failure??"The build produced no bundle"}):(i=c.outputs,Hl({type:"bundleSaved",buildId:n,file:c.bundleFile,hash:await xte(s),bytes:s.length,ms:t()}))}catch(c){Hl({type:"failed",buildId:n,message:k3(c)})}let r=[...i];Cc({type:"result",buildId:n,outputs:r,ms:t()},r.map(([,c])=>c.buffer))}async function jte(e){let{requestId:n}=e;try{if(Rc===void 0)throw new Error("packages sent before init");let{session:o,snapshotNames:t}=await Rc,i=e.lock===null?void 0:x3(e.lock,e.files,t);o.setPackages(i),Cc({type:"packagesSet",requestId:n,packages:i?.count??0,shadowed:i?.shadowed??[]})}catch(o){Cc({type:"packagesSet",requestId:n,error:k3(o),packages:0,shadowed:[]})}}self.onmessage=e=>{let n=e.data;n.type==="init"?(Rc=Lte(n),Rc.catch(o=>Cc({type:"initFailed",message:k3(o)}))):n.type==="packages"?jm=jm.then(()=>jte(n)):jm=jm.then(()=>$te(n))};})();
704
+ ]`)}function w3(e,n){return e.map(o=>({severity:n,message:o.text,file:o.location?.file,line:o.location?.line,column:o.location?.column,lineText:o.location?.lineText,...$t(o.detail)&&typeof o.detail.missingPackage=="string"?{missingPackage:o.detail.missingPackage}:{}}))}var Bte=e=>e instanceof Error&&"errors"in e&&Array.isArray(e.errors);function Ute(e,n,o){let t=`Could not resolve "${e}"`;if(!Um(e)||e.startsWith("#"))return{text:t};let i=n.lastIndexOf("/node_modules/"),r=i===-1?"":` (imported by ${Dm(n.slice(i+14))})`;if(uI(e))return{text:`${t}: it is a Node built-in, which a scene does not have${r}`};let c=Dm(e);return o.isDir(ot(kt,"node_modules/"+c))?{text:`${t}: the package "${c}" has no module there${r}`}:{text:`${t}: the package "${c}" is not installed${r}`,detail:{missingPackage:c}}}var $m=class{constructor(n,o){this.esbuild=n;this.snapshot=o;this.contextKey=""}setPackages(n){this.packages=n}async build(n,o){let t=o.production===!0,i=Wl(n,"scene.json");if(i===void 0)return Gl("scene.json is missing or is not valid JSON");let r=i.main;if(typeof r!="string"||r==="")return Gl('scene.json needs a "main" entry, the path of the built bundle');if(i.runtimeVersion!=="7")return Gl('scene.json needs "runtimeVersion": "7"');if(!n.has("tsconfig.json"))return Gl("tsconfig.json is missing");if(!n.has(Lm))return Gl(`${Lm} is missing`);let c=[],{meta:s}=this.snapshot,a=pI(this.snapshot,n,this.packages),u=a.dependencies["@dcl/sdk"];typeof u=="string"&&/^\d/.test(u)&&u!==s.sdkVersion&&c.push({severity:"warning",file:"package.json",message:`This project pins @dcl/sdk ${u}; it is built here with ${s.sdkVersion}.`});let d=sI(n);c.push(...d.diagnostics);let p=cI(n);p&&!a.ownAssetPacks&&c.push({severity:"warning",message:"This scene uses smart items but ships no @dcl/asset-packs; they are built as no-ops."}),this.inputs={vfs:a.vfs,resolver:a.resolver,virtualModules:{"sdk-composite":`export const compositeFromLoader = {${d.compositeLines.join(",")}}`,"sdk-scripts":Ite(this.snapshot,d.scripts)}};let f={bundle:!0,platform:"browser",format:"cjs",write:!1,outfile:ot(kt,r),sourcemap:t?!1:"inline",minify:t,minifyIdentifiers:t,minifySyntax:t,minifyWhitespace:t,treeShaking:!0,absWorkingDir:kt,target:"es2020",sourceRoot:"dcl://"+(t?"/":Fn("/"+r)),define:{document:"undefined",window:"undefined",DEBUG:t?"false":"true","globalThis.DEBUG":t?"false":"true","process.env.NODE_ENV":JSON.stringify(t?"production":"development"),DCL_MAX_COMPOSITE_ENTITY:String(d.maxCompositeEntity)},tsconfigRaw:JSON.stringify({compilerOptions:fI(a.tsconfig.compilerOptions)}),supported:{"import-assertions":!1,"import-meta":!1,"dynamic-import":!1,hashbang:!1},logOverride:{"import-is-undefined":"silent"},logLevel:"silent",stdin:{contents:(p?s.entrypoint.editorScene:s.entrypoint.scene).split(JSON.stringify(s.placeholders.entrypoint)).join(JSON.stringify(ot(kt,Lm))),resolveDir:ot(kt,Fn(Lm)),sourcefile:"index.ts.entry-point.ts",loader:"ts"}};try{let g=await(await this.contextFor(f)).rebuild();c.push(...w3(g.warnings,"warning"));let m=g.outputFiles?.[0];if(m===void 0)return{outputs:new Map,bundleFile:void 0,diagnostics:c,failure:"The bundler produced no output"};let y=new Map([[r,m.contents]]);return d.crdt!==void 0&&y.set("main.crdt",d.crdt),{outputs:y,bundleFile:r,diagnostics:c,failure:void 0}}catch(h){if(!Bte(h))throw h;return c.push(...w3(h.errors,"error"),...w3(h.warnings,"warning")),{outputs:new Map,bundleFile:void 0,diagnostics:c,failure:h.message}}}async contextFor(n){let o=JSON.stringify(n);return this.context!==void 0&&o===this.contextKey?this.context:(await this.context?.dispose(),this.context=await this.esbuild.context({...n,plugins:[this.plugin()]}),this.contextKey=o,this.context)}plugin(){let n=()=>{if(this.inputs===void 0)throw new Error("no build in progress");return this.inputs};return{name:"in-memory-scene",setup:o=>{o.onResolve({filter:/~sdk\/all-composites/},()=>({namespace:"sdk-composite",path:"all-composites"})),o.onResolve({filter:/~sdk\/script-utils/},()=>({namespace:"sdk-scripts",path:"script-utils"})),o.onLoad({filter:/.*/,namespace:"sdk-composite"},()=>({loader:"js",contents:n().virtualModules["sdk-composite"]})),o.onLoad({filter:/.*/,namespace:"sdk-scripts"},()=>({loader:"ts",contents:n().virtualModules["sdk-scripts"],resolveDir:kt})),o.onResolve({filter:/.*/},t=>{if(Mte.test(t.path))return{path:t.path,external:!0};let i=t.kind==="require-call"||t.kind==="require-resolve"?"require":"import",r=n().resolver.resolve(t.path,t.resolveDir||kt,i);return r.kind==="file"?{path:r.path,sideEffects:r.sideEffects}:r.kind==="disabled"?{path:r.path,namespace:"disabled"}:{errors:[Ute(t.path,t.importer,n().vfs)]}}),o.onLoad({filter:/.*/,namespace:"disabled"},()=>({loader:"js",contents:""})),o.onLoad({filter:/.*/,namespace:"file"},t=>{let i=n().vfs.read(t.path),r=Rte[Bc(t.path)];return i===void 0?{errors:[{text:`File not found: ${t.path}`}]}:r===void 0?{errors:[{text:`No loader is configured for "${Bc(t.path)}" files: ${t.path}`}]}:{contents:i,loader:r}})}}}};async function A3(e,n,o){let t;try{t=await fetch(e,n===void 0?{}:{integrity:n,mode:"cors"})}catch(i){if(n===void 0)throw i;let r=await fetch(e).then(c=>c.ok,()=>!1);throw new Error(r?`${o} does not match the hash this editor was published with. The editor will not run it: reload the page, and if this persists the files you were served were altered.`:`${o} could not be loaded (${e}). Check the connection and reload the page.`)}if(!t.ok)throw new Error(`${o} could not be loaded: ${t.status} ${e}`);return t}var Cc=(e,n=[])=>self.postMessage(e,n),Hl=e=>Cc({type:"event",event:e}),k3=e=>e instanceof Error?e.message:String(e);async function xte(e){let n=new Uint8Array(await crypto.subtle.digest("SHA-256",Jm(e)));return Array.from(n,o=>o.toString(16).padStart(2,"0")).join("")}function Dte(){let e=self.setTimeout.bind(self),n=[],o=new MessageChannel;o.port1.onmessage=()=>n.shift()?.();let t=(i,r,...c)=>typeof i!="function"||r!==void 0&&r>0?e(i,r,...c):(n.push(()=>i(...c)),o.port2.postMessage(null),0);self.setTimeout=t}async function Lte(e){Dte();let[n,o]=await Promise.all([A3(e.wasmUrl,e.integrity?.wasm,"scene-compiler/esbuild.wasm"),A3(e.snapshotUrl,e.integrity?.snapshot,"scene-compiler/sdk-snapshot.json")]),t=await WebAssembly.compile(await n.arrayBuffer()),[,i]=await Promise.all([as.initialize({wasmModule:t,worker:!1}),o.json()]);if(as.version!==i.meta.esbuildVersion)throw new Error(`bundler ${as.version} does not match the SDK's ${i.meta.esbuildVersion}`);let r={};for(let[c,{version:s}]of Object.entries(i.meta.provided))r[c]=s;return Cc({type:"ready",sdkVersion:i.meta.sdkVersion,esbuildVersion:as.version,provided:r}),{session:new $m(as,i),snapshotNames:new Set(Object.keys(r))}}var Rc,jm=Promise.resolve();async function $te(e){let{buildId:n}=e,o=performance.now(),t=()=>Math.round(performance.now()-o);Hl({type:"buildStarted",buildId:n});let i=new Map;try{if(Rc===void 0)throw new Error("build requested before init");let c=await(await Rc).session.build(new Map(e.files),e.options);Hl({type:"diagnostics",buildId:n,diagnostics:c.diagnostics});let s=c.bundleFile===void 0?void 0:c.outputs.get(c.bundleFile);c.failure!==void 0||c.bundleFile===void 0||s===void 0?Hl({type:"failed",buildId:n,message:c.failure??"The build produced no bundle"}):(i=c.outputs,Hl({type:"bundleSaved",buildId:n,file:c.bundleFile,hash:await xte(s),bytes:s.length,ms:t()}))}catch(c){Hl({type:"failed",buildId:n,message:k3(c)})}let r=[...i];Cc({type:"result",buildId:n,outputs:r,ms:t()},r.map(([,c])=>c.buffer))}async function jte(e){let{requestId:n}=e;try{if(Rc===void 0)throw new Error("packages sent before init");let{session:o,snapshotNames:t}=await Rc,i=e.lock===null?void 0:x3(e.lock,e.files,t);o.setPackages(i),Cc({type:"packagesSet",requestId:n,packages:i?.count??0,shadowed:i?.shadowed??[]})}catch(o){Cc({type:"packagesSet",requestId:n,error:k3(o),packages:0,shadowed:[]})}}self.onmessage=e=>{let n=e.data;n.type==="init"?(Rc=Lte(n),Rc.catch(o=>Cc({type:"initFailed",message:k3(o)}))):n.type==="packages"?jm=jm.then(()=>jte(n)):jm=jm.then(()=>$te(n))};})();
File without changes
File without changes