vuer 0.0.47__py3-none-any.whl → 0.0.48__py3-none-any.whl

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.

Potentially problematic release.


This version of vuer might be problematic. Click here for more details.

Files changed (29) hide show
  1. vuer/client_build/404.html +1 -1
  2. vuer/client_build/assets/chunks/chunk-BDuk_9zr.js +283 -0
  3. vuer/client_build/assets/chunks/chunk-BDuk_9zr.js.map +1 -0
  4. vuer/client_build/assets/chunks/chunk-C5gJ2ppD.js +7734 -0
  5. vuer/client_build/assets/chunks/chunk-C5gJ2ppD.js.map +1 -0
  6. vuer/client_build/assets/chunks/chunk-CJxcxa5L.js +102 -0
  7. vuer/client_build/assets/chunks/chunk-CJxcxa5L.js.map +1 -0
  8. vuer/client_build/assets/chunks/chunk-C_pHWfD7.js +8555 -0
  9. vuer/client_build/assets/chunks/chunk-C_pHWfD7.js.map +1 -0
  10. vuer/client_build/assets/chunks/chunk-DbH882QF.js +3 -0
  11. vuer/client_build/assets/chunks/chunk-DbH882QF.js.map +1 -0
  12. vuer/client_build/assets/entries/entry-client-routing.B6iyyMlN.js +5 -0
  13. vuer/client_build/assets/entries/entry-client-routing.B6iyyMlN.js.map +1 -0
  14. vuer/client_build/assets/entries/pages_editor.GoY-iv_L.js +2 -0
  15. vuer/client_build/assets/entries/pages_editor.GoY-iv_L.js.map +1 -0
  16. vuer/client_build/assets/entries/pages_index.DMEQBjE_.js +2 -0
  17. vuer/client_build/assets/entries/pages_index.DMEQBjE_.js.map +1 -0
  18. vuer/client_build/assets/entries/pages_simple.Bo1gNiEl.js +2 -0
  19. vuer/client_build/assets/entries/pages_simple.Bo1gNiEl.js.map +1 -0
  20. vuer/client_build/editor/index.html +4 -4
  21. vuer/client_build/index.html +4 -4
  22. vuer/client_build/simple/index.html +3 -3
  23. vuer/schemas/scene_components.py +26 -3
  24. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/METADATA +28 -28
  25. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/RECORD +29 -11
  26. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/WHEEL +1 -1
  27. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/LICENSE +0 -0
  28. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/entry_points.txt +0 -0
  29. {vuer-0.0.47.dist-info → vuer-0.0.48.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ import{R as H,d as L,J as B,r as l,j as s,H as K,i as q,a as X,b as k,c as J}from"../chunks/chunk-WT4fnZC5.js";import{V as W,T as Z,F as G,L as Q,Z as Y,l as v,y as ee,a as re,C as g,P as te,x as ne,s as ae,b as se,_ as ie,D as x,c as j,e as w,O as S,v as F,d as b,f as E,g as oe,h as T,i as A,j as O,w as de,k as fe}from"../chunks/chunk-C5gJ2ppD.js";import{X as ce,D as le}from"../chunks/chunk-BDuk_9zr.js";import"../chunks/chunk-D7HrI6pR.js";const R="%[a-f0-9]{2}",D=new RegExp("("+R+")|([^%]+?)","gi"),U=new RegExp("("+R+")+","gi");function m(e,r){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;r=r||1;const t=e.slice(0,r),n=e.slice(r);return Array.prototype.concat.call([],m(t),m(n))}function ue(e){try{return decodeURIComponent(e)}catch{let r=e.match(D)||[];for(let t=1;t<r.length;t++)e=m(r,t).join(""),r=e.match(D)||[];return e}}function me(e){const r={"%FE%FF":"��","%FF%FE":"��"};let t=U.exec(e);for(;t;){try{r[t[0]]=decodeURIComponent(t[0])}catch{const a=ue(t[0]);a!==t[0]&&(r[t[0]]=a)}t=U.exec(e)}r["%C2"]="�";const n=Object.keys(r);for(const a of n)e=e.replace(new RegExp(a,"g"),r[a]);return e}function ye(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return me(e)}}function he(e,r){const t={};if(Array.isArray(r))for(const n of r){const a=Object.getOwnPropertyDescriptor(e,n);a!=null&&a.enumerable&&Object.defineProperty(t,n,a)}else for(const n of Reflect.ownKeys(e)){const a=Object.getOwnPropertyDescriptor(e,n);if(a.enumerable){const o=e[n];r(n,o,e)&&Object.defineProperty(t,n,a)}}return t}function C(e,r){if(!(typeof e=="string"&&typeof r=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e===""||r==="")return[];const t=e.indexOf(r);return t===-1?[]:[e.slice(0,t),e.slice(t+r.length)]}const pe=e=>e==null,ge=e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,r=>`%${r.charCodeAt(0).toString(16).toUpperCase()}`),y=Symbol("encodeFragmentIdentifier");function xe(e){switch(e.arrayFormat){case"index":return r=>(t,n)=>{const a=t.length;return n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?t:n===null?[...t,[f(r,e),"[",a,"]"].join("")]:[...t,[f(r,e),"[",f(a,e),"]=",f(n,e)].join("")]};case"bracket":return r=>(t,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?t:n===null?[...t,[f(r,e),"[]"].join("")]:[...t,[f(r,e),"[]=",f(n,e)].join("")];case"colon-list-separator":return r=>(t,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?t:n===null?[...t,[f(r,e),":list="].join("")]:[...t,[f(r,e),":list=",f(n,e)].join("")];case"comma":case"separator":case"bracket-separator":{const r=e.arrayFormat==="bracket-separator"?"[]=":"=";return t=>(n,a)=>a===void 0||e.skipNull&&a===null||e.skipEmptyString&&a===""?n:(a=a===null?"":a,n.length===0?[[f(t,e),r,f(a,e)].join("")]:[[n,f(a,e)].join(e.arrayFormatSeparator)])}default:return r=>(t,n)=>n===void 0||e.skipNull&&n===null||e.skipEmptyString&&n===""?t:n===null?[...t,f(r,e)]:[...t,[f(r,e),"=",f(n,e)].join("")]}}function je(e){let r;switch(e.arrayFormat){case"index":return(t,n,a)=>{if(r=/\[(\d*)]$/.exec(t),t=t.replace(/\[\d*]$/,""),!r){a[t]=n;return}a[t]===void 0&&(a[t]={}),a[t][r[1]]=n};case"bracket":return(t,n,a)=>{if(r=/(\[])$/.exec(t),t=t.replace(/\[]$/,""),!r){a[t]=n;return}if(a[t]===void 0){a[t]=[n];return}a[t]=[...a[t],n]};case"colon-list-separator":return(t,n,a)=>{if(r=/(:list)$/.exec(t),t=t.replace(/:list$/,""),!r){a[t]=n;return}if(a[t]===void 0){a[t]=[n];return}a[t]=[...a[t],n]};case"comma":case"separator":return(t,n,a)=>{const o=typeof n=="string"&&n.includes(e.arrayFormatSeparator),i=typeof n=="string"&&!o&&c(n,e).includes(e.arrayFormatSeparator);n=i?c(n,e):n;const d=o||i?n.split(e.arrayFormatSeparator).map(u=>c(u,e)):n===null?n:c(n,e);a[t]=d};case"bracket-separator":return(t,n,a)=>{const o=/(\[])$/.test(t);if(t=t.replace(/\[]$/,""),!o){a[t]=n&&c(n,e);return}const i=n===null?[]:c(n,e).split(e.arrayFormatSeparator);if(a[t]===void 0){a[t]=i;return}a[t]=[...a[t],...i]};default:return(t,n,a)=>{if(a[t]===void 0){a[t]=n;return}a[t]=[...[a[t]].flat(),n]}}}function N(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function f(e,r){return r.encode?r.strict?ge(e):encodeURIComponent(e):e}function c(e,r){return r.decode?ye(e):e}function V(e){return Array.isArray(e)?e.sort():typeof e=="object"?V(Object.keys(e)).sort((r,t)=>Number(r)-Number(t)).map(r=>e[r]):e}function I(e){const r=e.indexOf("#");return r!==-1&&(e=e.slice(0,r)),e}function we(e){let r="";const t=e.indexOf("#");return t!==-1&&(r=e.slice(t)),r}function P(e,r,t){return t==="string"&&typeof e=="string"?e:typeof t=="function"&&typeof e=="string"?t(e):r.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")?e.toLowerCase()==="true":t==="number"&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""||r.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?Number(e):e}function h(e){e=I(e);const r=e.indexOf("?");return r===-1?"":e.slice(r+1)}function p(e,r){r={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,types:Object.create(null),...r},N(r.arrayFormatSeparator);const t=je(r),n=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return n;for(const a of e.split("&")){if(a==="")continue;const o=r.decode?a.replaceAll("+"," "):a;let[i,d]=C(o,"=");i===void 0&&(i=o),d=d===void 0?null:["comma","separator","bracket-separator"].includes(r.arrayFormat)?d:c(d,r),t(c(i,r),d,n)}for(const[a,o]of Object.entries(n))if(typeof o=="object"&&o!==null&&r.types[a]!=="string")for(const[i,d]of Object.entries(o)){const u=r.types[a]?r.types[a].replace("[]",""):void 0;o[i]=P(d,r,u)}else typeof o=="object"&&o!==null&&r.types[a]==="string"?n[a]=Object.values(o).join(r.arrayFormatSeparator):n[a]=P(o,r,r.types[a]);return r.sort===!1?n:(r.sort===!0?Object.keys(n).sort():Object.keys(n).sort(r.sort)).reduce((a,o)=>{const i=n[o];return a[o]=i&&typeof i=="object"&&!Array.isArray(i)?V(i):i,a},Object.create(null))}function M(e,r){if(!e)return"";r={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...r},N(r.arrayFormatSeparator);const t=i=>r.skipNull&&pe(e[i])||r.skipEmptyString&&e[i]==="",n=xe(r),a={};for(const[i,d]of Object.entries(e))t(i)||(a[i]=d);const o=Object.keys(a);return r.sort!==!1&&o.sort(r.sort),o.map(i=>{const d=e[i];return d===void 0?"":d===null?f(i,r):Array.isArray(d)?d.length===0&&r.arrayFormat==="bracket-separator"?f(i,r)+"[]":d.reduce(n(i),[]).join("&"):f(i,r)+"="+f(d,r)}).filter(i=>i.length>0).join("&")}function z(e,r){var a;r={decode:!0,...r};let[t,n]=C(e,"#");return t===void 0&&(t=e),{url:((a=t==null?void 0:t.split("?"))==null?void 0:a[0])??"",query:p(h(e),r),...r&&r.parseFragmentIdentifier&&n?{fragmentIdentifier:c(n,r)}:{}}}function _(e,r){r={encode:!0,strict:!0,[y]:!0,...r};const t=I(e.url).split("?")[0]||"",n=h(e.url),a={...p(n,{sort:!1}),...e.query};let o=M(a,r);o&&(o=`?${o}`);let i=we(e.url);if(typeof e.fragmentIdentifier=="string"){const d=new URL(t);d.hash=e.fragmentIdentifier,i=r[y]?d.hash:`#${e.fragmentIdentifier}`}return`${t}${o}${i}`}function $(e,r,t){t={parseFragmentIdentifier:!0,[y]:!1,...t};const{url:n,query:a,fragmentIdentifier:o}=z(e,t);return _({url:n,query:he(a,r),fragmentIdentifier:o},t)}function Se(e,r,t){const n=Array.isArray(r)?a=>!r.includes(a):(a,o)=>!r(a,o);return $(e,n,t)}const Fe=Object.freeze(Object.defineProperty({__proto__:null,exclude:Se,extract:h,parse:p,parseUrl:z,pick:$,stringify:M,stringifyUrl:_},Symbol.toStringTag,{value:"Module"}));typeof window<"u"&&(window.React=H,window.ReactDOM=L,window.VUER=W,window.THREE=Z,window.JSX=B,window.FIBER=G,window.XR=ce,window.Drei=le,window.LEVA=Q,window.ZUSTAND=Y);function be(){const e=ae(),{downlink:r}=se();l.useEffect(()=>{if(!e)return;const n=[r.subscribe("SET",e.addKeyFrame),r.subscribe("ADD",e.addKeyFrame),r.subscribe("UPDATE",e.addKeyFrame),r.subscribe("UPSERT",e.addKeyFrame),r.subscribe("REMOVE",e.addKeyFrame)];return()=>{n.forEach(a=>a())}},[e,r]);const t=l.useMemo(()=>e!=null&&e.store?new ie(r,e.store):r,[r,e==null?void 0:e.store]);return e?s.jsxs(oe,{offset:200,minOffset:48,hidden:!0,style:{width:"100%",height:"100%"},children:[s.jsx(x,{stream:t,prompt:"scene files supported: *.urdf *.pcd *.ply *.splat",style:{display:"flex",flexDirection:"row"},innerStyle:{display:"flex",flexDirection:"row"},children:s.jsx(j,{frameloop:"always",stream:t,bgChildren:[s.jsx(S,{_key:"default-grid"},"default-grid"),s.jsx(F,{},"default-light-stage"),s.jsx(b,{fps:30,stream:!0},"default-hands"),s.jsx(E,{fps:30,stream:!0},"motion-controllers")],children:s.jsx(w,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.45",main:"dist/index.umd.js",dependencies:["VUER","LEVA","FIBER"]})})}),s.jsx(s.Fragment,{children:s.jsx(T,{children:s.jsxs(A,{children:[s.jsx(O,{}),s.jsx(de,{children:s.jsx(fe,{})})]})})}),s.jsx(T,{children:s.jsx(A,{children:s.jsx(O,{})})})]}):s.jsx(x,{stream:t,style:{display:"flex",flexDirection:"row"},innerStyle:{display:"flex",flexDirection:"row"},children:s.jsx(j,{frameloop:"always",stream:r,bgChildren:[s.jsx(S,{_key:"grid"},"grid"),s.jsx(F,{},"default-light-stage"),s.jsx(b,{fps:30,stream:!0},"hands"),s.jsx(E,{fps:30,stream:!0},"motion-controllers")],children:s.jsx(w,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.45",main:"dist/index.umd.js"})})})}function Ee(){const e=g(({children:t})=>t),r=g(({ops:t})=>t);return s.jsxs(te,{vertical:!0,offset:-200,hidden:!0,children:[s.jsx(be,{}),s.jsx(ne,{title:"Scene Graph",nodes:e,sceneOps:r})]})}function Te(){const e=typeof window>"u";if(e)return null;const r=l.useMemo(()=>{const n=Fe.parse(window.document.location.search);return typeof n.collapseMenu=="string"&&(n.collapseMenu=n.collapseMenu.toLowerCase()),n},[]),t=l.useMemo(()=>r.collapseMenu==="true",[r.collapseMenu]);return s.jsxs(s.Fragment,{children:[s.jsx(K,{children:s.jsx("title",{children:"Vuer Editor"})}),s.jsxs("main",{children:[s.jsx(v,{children:e?null:s.jsx(ee,{children:s.jsx(Ee,{})})}),s.jsx(re,{theme:{sizes:{rootWidth:"380px",controlWidth:"200px",numberInputMinWidth:"56px"}},collapsed:t})]})]})}const Ae=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"})),Re={onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},hooksTimeout:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hooksTimeout"]},valueSerialized:{type:"js-serialized",value:{data:{error:3e4,warning:1e4}}}},onHydrationEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onHydrationEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:J}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:k}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:X}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:q}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/editor/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:Ae}}};export{Re as configValuesSerialized};
2
+ //# sourceMappingURL=pages_editor.GoY-iv_L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_editor.GoY-iv_L.js","sources":["../../../../node_modules/decode-uri-component/index.js","../../../../node_modules/filter-obj/index.js","../../../../node_modules/split-on-first/index.js","../../../../node_modules/query-string/base.js","../../../../pages/editor/+Page.tsx"],"sourcesContent":["const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import decodeComponent from 'decode-uri-component';\nimport {includeKeys} from 'filter-obj';\nimport splitOnFirst from 'split-on-first';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: decode(value, options).split(options.arrayFormatSeparator);\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options, type) {\n\tif (type === 'string' && typeof value === 'string') {\n\t\treturn value;\n\t}\n\n\tif (typeof type === 'function' && typeof value === 'string') {\n\t\treturn type(value);\n\t}\n\n\tif (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (type === 'number' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\ttypes: Object.create(null),\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null && options.types[key] !== 'string') {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tconst type = options.types[key] ? options.types[key].replace('[]', '') : undefined;\n\t\t\t\tvalue[key2] = parseValue(value2, options, type);\n\t\t\t}\n\t\t} else if (typeof value === 'object' && value !== null && options.types[key] === 'string') {\n\t\t\treturnValue[key] = Object.values(value).join(options.arrayFormatSeparator);\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options, options.types[key]);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import { Helmet } from '@vuer-ai/react-helmet-async';\nimport './index.scss';\nimport * as VUER from '@vuer-ai/vuer';\nimport {\n Combine,\n ContribLoader,\n GraphView,\n Grid,\n Hands,\n HemisphereLightStage, MotionControllers,\n PlaybackBar,\n PlaybackProvider,\n PlaybackStateProvider,\n QueryParams,\n Resizable,\n ResizableSwitch,\n SceneContainer,\n SceneFileDropContainer,\n Timeline,\n TimelineFileDrop,\n TimelineStateProvider,\n usePlayback,\n useSceneStore,\n useSocket,\n WebSocketProvider,\n} from '@vuer-ai/vuer';\nimport * as LEVA from 'leva';\nimport { Leva } from 'leva';\n\n/** inject globals for plugins */\nimport React, { useEffect, useMemo } from 'react';\nimport * as FIBER from '@react-three/fiber';\nimport * as ReactDOM from 'react-dom';\nimport * as THREE from 'three';\nimport * as JSX from 'react/jsx-runtime';\nimport * as Drei from '@react-three/drei';\nimport * as XR from '@react-three/xr';\nimport * as ZUSTAND from 'zustand';\n\nimport queryString from 'query-string';\n\n// import * as mujoco from '@vuer-ai/mujoco-ts';\n// console.log(mujoco);\n\ndeclare global {\n interface Window {\n React: typeof React;\n ReactDOM: typeof ReactDOM;\n VUER: typeof VUER;\n THREE: typeof THREE;\n JSX: typeof JSX;\n FIBER: typeof FIBER;\n XR: typeof XR;\n Drei: typeof Drei;\n LEVA: typeof LEVA;\n ZUSTAND: typeof ZUSTAND;\n }\n}\n\nif (typeof window !== 'undefined') {\n window.React = React;\n window.ReactDOM = ReactDOM;\n window.VUER = VUER;\n window.THREE = THREE;\n window.JSX = JSX;\n window.FIBER = FIBER;\n window.XR = XR;\n window.Drei = Drei;\n window.LEVA = LEVA;\n window.ZUSTAND = ZUSTAND;\n}\n\nfunction VuerPlayback() {\n\n const playback = usePlayback();\n const { downlink } = useSocket();\n\n useEffect(() => {\n if (!playback) return;\n const cancel = [\n downlink.subscribe('SET', playback.addKeyFrame),\n downlink.subscribe('ADD', playback.addKeyFrame),\n downlink.subscribe('UPDATE', playback.addKeyFrame),\n downlink.subscribe('UPSERT', playback.addKeyFrame),\n downlink.subscribe('REMOVE', playback.addKeyFrame),\n ];\n\n return () => {\n cancel.forEach((f) => f());\n };\n }, [playback, downlink]);\n\n const combinedStream = useMemo(() => {\n if (!playback?.store) return downlink;\n return new Combine(downlink, playback.store);\n }, [downlink, playback?.store]);\n\n if (!playback) {\n return (\n <SceneFileDropContainer\n stream={combinedStream}\n style={{\n display: 'flex',\n flexDirection: 'row',\n }}\n innerStyle={{\n display: 'flex',\n flexDirection: 'row',\n }}\n >\n <SceneContainer\n frameloop=\"always\"\n stream={downlink}\n bgChildren={[\n <Grid key=\"grid\" _key=\"grid\" />,\n <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"hands\" fps={30} stream />,\n <MotionControllers key=\"motion-controllers\" fps={30} stream />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n // prodOnly\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.45\"\n main=\"dist/index.umd.js\"\n />\n </SceneContainer>\n </SceneFileDropContainer>\n );\n } else\n return (\n <ResizableSwitch\n offset={200}\n minOffset={48}\n hidden={true}\n style={{\n width: '100%',\n height: '100%',\n }}\n >\n <SceneFileDropContainer\n stream={combinedStream}\n prompt={'scene files supported: *.urdf *.pcd *.ply *.splat'}\n style={{\n display: 'flex',\n flexDirection: 'row',\n }}\n innerStyle={{\n display: 'flex',\n flexDirection: 'row',\n }}\n >\n <SceneContainer\n frameloop=\"always\"\n stream={combinedStream}\n bgChildren={[\n <Grid key=\"default-grid\" _key=\"default-grid\" />,\n <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"default-hands\" fps={30} stream />,\n <MotionControllers key=\"motion-controllers\" fps={30} stream />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n // prodOnly // disable to allow vuer-py self-hosted version.\n // dev\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.45\"\n main=\"dist/index.umd.js\"\n dependencies={[\"VUER\", \"LEVA\", \"FIBER\"]}\n />\n </SceneContainer>\n </SceneFileDropContainer>\n <>\n <PlaybackStateProvider>\n <TimelineStateProvider>\n <PlaybackBar />\n <TimelineFileDrop>\n <Timeline />\n {/*{clips.map((clip, i)=>{*/}\n {/* return <Clip {...clip} onDrag onSelectStart onSelectEnd/>*/}\n {/*})}*/}\n </TimelineFileDrop>\n </TimelineStateProvider>\n </PlaybackStateProvider>\n </>\n <PlaybackStateProvider>\n <TimelineStateProvider>\n <PlaybackBar />\n </TimelineStateProvider>\n </PlaybackStateProvider>\n </ResizableSwitch>\n );\n}\n\nfunction SidePanelView() {\n // this is excessive. triggers when position/rotation changes too.\n // const scene = useSceneStore(({ children, bgChildren, rawChildren }) =>\n // ({ children, bgChildren, rawChildren }));\n const children = useSceneStore(({ children }) => children);\n const sceneOps = useSceneStore(({ ops }) => ops);\n // return <VuerPlayback />;\n\n return (\n <Resizable vertical offset={-200} hidden={true}>\n <VuerPlayback />\n <GraphView title=\"Scene Graph\" nodes={children} sceneOps={sceneOps} />\n </Resizable>\n );\n}\n\nexport default function Page() {\n const isSSR = typeof window === 'undefined';\n\n if (isSSR) return null;\n\n const queries = useMemo<QueryParams>(() => {\n const parsed = queryString.parse(window.document.location.search) as QueryParams;\n if (typeof parsed.collapseMenu === 'string')\n parsed.collapseMenu = parsed.collapseMenu.toLowerCase();\n return parsed;\n }, []);\n\n const collapseMenu = useMemo<boolean>(\n () => queries.collapseMenu === 'true',\n [queries.collapseMenu],\n );\n\n return (\n <>\n <Helmet>\n <title>Vuer Editor</title>\n </Helmet>\n <main>\n <PlaybackProvider>\n {isSSR ? null : (\n <WebSocketProvider>\n {/*<VuerPlayback />*/}\n <SidePanelView />\n </WebSocketProvider>\n )}\n </PlaybackProvider>\n <Leva\n theme={{\n sizes: {\n rootWidth: '380px',\n controlWidth: '200px',\n numberInputMinWidth: '56px',\n },\n }}\n collapsed={collapseMenu}\n />\n </main>\n </>\n );\n}\n"],"names":["token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","input","tokens","i","customDecodeURIComponent","replaceMap","match","result","entries","key","decodeUriComponent","encodedURI","includeKeys","object","predicate","descriptor","value","splitOnFirst","string","separator","separatorIndex","isNullOrUndefined","strictUriEncode","x","encodeFragmentIdentifier","encoderForArrayFormat","options","index","encode","keyValueSeparator","parserForArrayFormat","accumulator","isArray","isEncodedArray","newValue","item","arrayValue","validateArrayFormatSeparator","decodeComponent","keysSorter","a","b","removeHash","hashStart","getHash","url","hash","parseValue","type","extract","queryStart","parse","query","formatter","returnValue","parameter","parameter_","key2","value2","stringify","shouldFilter","objectCopy","keys","parseUrl","url_","_a","stringifyUrl","queryFromUrl","queryString","urlObjectForFragmentEncode","pick","filter","fragmentIdentifier","exclude","exclusionFilter","React","ReactDOM","VUER","THREE","JSX","FIBER","XR","Drei","LEVA","ZUSTAND","VuerPlayback","playback","usePlayback","downlink","useSocket","useEffect","cancel","f","combinedStream","useMemo","Combine","jsxs","ResizableSwitch","jsx","SceneFileDropContainer","SceneContainer","Grid","HemisphereLightStage","Hands","MotionControllers","ContribLoader","Fragment","PlaybackStateProvider","TimelineStateProvider","PlaybackBar","TimelineFileDrop","Timeline","SidePanelView","children","useSceneStore","sceneOps","ops","Resizable","GraphView","Page","isSSR","queries","parsed","collapseMenu","Helmet","PlaybackProvider","WebSocketProvider","Leva"],"mappings":"4bAAA,MAAMA,EAAQ,eACRC,EAAgB,IAAI,OAAO,IAAMD,EAAQ,aAAc,IAAI,EAC3DE,EAAe,IAAI,OAAO,IAAMF,EAAQ,KAAM,IAAI,EAExD,SAASG,EAAiBC,EAAYC,EAAO,CAC5C,GAAI,CAEH,MAAO,CAAC,mBAAmBD,EAAW,KAAK,EAAE,CAAC,CAAC,CACjD,MAAS,CAET,CAEC,GAAIA,EAAW,SAAW,EACzB,OAAOA,EAGRC,EAAQA,GAAS,EAGjB,MAAMC,EAAOF,EAAW,MAAM,EAAGC,CAAK,EAChCE,EAAQH,EAAW,MAAMC,CAAK,EAEpC,OAAO,MAAM,UAAU,OAAO,KAAK,CAAA,EAAIF,EAAiBG,CAAI,EAAGH,EAAiBI,CAAK,CAAC,CACvF,CAEA,SAASC,GAAOC,EAAO,CACtB,GAAI,CACH,OAAO,mBAAmBA,CAAK,CACjC,MAAS,CACP,IAAIC,EAASD,EAAM,MAAMR,CAAa,GAAK,CAAE,EAE7C,QAASU,EAAI,EAAGA,EAAID,EAAO,OAAQC,IAClCF,EAAQN,EAAiBO,EAAQC,CAAC,EAAE,KAAK,EAAE,EAE3CD,EAASD,EAAM,MAAMR,CAAa,GAAK,CAAE,EAG1C,OAAOQ,CACT,CACA,CAEA,SAASG,GAAyBH,EAAO,CAExC,MAAMI,EAAa,CAClB,SAAU,KACV,SAAU,IACV,EAED,IAAIC,EAAQZ,EAAa,KAAKO,CAAK,EACnC,KAAOK,GAAO,CACb,GAAI,CAEHD,EAAWC,EAAM,CAAC,CAAC,EAAI,mBAAmBA,EAAM,CAAC,CAAC,CACrD,MAAU,CACP,MAAMC,EAASP,GAAOM,EAAM,CAAC,CAAC,EAE1BC,IAAWD,EAAM,CAAC,IACrBD,EAAWC,EAAM,CAAC,CAAC,EAAIC,EAE3B,CAEED,EAAQZ,EAAa,KAAKO,CAAK,CACjC,CAGCI,EAAW,KAAK,EAAI,IAEpB,MAAMG,EAAU,OAAO,KAAKH,CAAU,EAEtC,UAAWI,KAAOD,EAEjBP,EAAQA,EAAM,QAAQ,IAAI,OAAOQ,EAAK,GAAG,EAAGJ,EAAWI,CAAG,CAAC,EAG5D,OAAOR,CACR,CAEe,SAASS,GAAmBC,EAAY,CACtD,GAAI,OAAOA,GAAe,SACzB,MAAM,IAAI,UAAU,sDAAwD,OAAOA,EAAa,GAAG,EAGpG,GAAI,CAEH,OAAO,mBAAmBA,CAAU,CACtC,MAAS,CAEP,OAAOP,GAAyBO,CAAU,CAC5C,CACA,CCzFO,SAASC,GAAYC,EAAQC,EAAW,CAC9C,MAAMP,EAAS,CAAE,EAEjB,GAAI,MAAM,QAAQO,CAAS,EAC1B,UAAWL,KAAOK,EAAW,CAC5B,MAAMC,EAAa,OAAO,yBAAyBF,EAAQJ,CAAG,EAC1DM,GAAA,MAAAA,EAAY,YACf,OAAO,eAAeR,EAAQE,EAAKM,CAAU,CAEjD,KAGE,WAAWN,KAAO,QAAQ,QAAQI,CAAM,EAAG,CAC1C,MAAME,EAAa,OAAO,yBAAyBF,EAAQJ,CAAG,EAC9D,GAAIM,EAAW,WAAY,CAC1B,MAAMC,EAAQH,EAAOJ,CAAG,EACpBK,EAAUL,EAAKO,EAAOH,CAAM,GAC/B,OAAO,eAAeN,EAAQE,EAAKM,CAAU,CAElD,CACA,CAGC,OAAOR,CACR,CCxBe,SAASU,EAAaC,EAAQC,EAAW,CACvD,GAAI,EAAE,OAAOD,GAAW,UAAY,OAAOC,GAAc,UACxD,MAAM,IAAI,UAAU,+CAA+C,EAGpE,GAAID,IAAW,IAAMC,IAAc,GAClC,MAAO,CAAE,EAGV,MAAMC,EAAiBF,EAAO,QAAQC,CAAS,EAE/C,OAAIC,IAAmB,GACf,CAAE,EAGH,CACNF,EAAO,MAAM,EAAGE,CAAc,EAC9BF,EAAO,MAAME,EAAiBD,EAAU,MAAM,CAC9C,CACF,CCfA,MAAME,GAAoBL,GAASA,GAAU,KAGvCM,GAAkBJ,GAAU,mBAAmBA,CAAM,EAAE,WAAW,WAAYK,GAAK,IAAIA,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAa,CAAA,EAAE,EAEnIC,EAA2B,OAAO,0BAA0B,EAElE,SAASC,GAAsBC,EAAS,CACvC,OAAQA,EAAQ,YAAW,CAC1B,IAAK,QACJ,OAAOjB,GAAO,CAACF,EAAQS,IAAU,CAChC,MAAMW,EAAQpB,EAAO,OAErB,OACCS,IAAU,QACNU,EAAQ,UAAYV,IAAU,MAC9BU,EAAQ,iBAAmBV,IAAU,GAElCT,EAGJS,IAAU,KACN,CACN,GAAGT,EAAQ,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,IAAKC,EAAO,GAAG,EAAE,KAAK,EAAE,CAC1D,EAGK,CACN,GAAGpB,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,IAAKE,EAAOD,EAAOD,CAAO,EAAG,KAAME,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAK,EAAE,CACzF,CACD,EAGF,IAAK,UACJ,OAAOjB,GAAO,CAACF,EAAQS,IAErBA,IAAU,QACNU,EAAQ,UAAYV,IAAU,MAC9BU,EAAQ,iBAAmBV,IAAU,GAElCT,EAGJS,IAAU,KACN,CACN,GAAGT,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,IAAI,EAAE,KAAK,EAAE,CACpC,EAGK,CACN,GAAGnB,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,MAAOE,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAK,EAAE,CAC7D,EAIH,IAAK,uBACJ,OAAOjB,GAAO,CAACF,EAAQS,IAErBA,IAAU,QACNU,EAAQ,UAAYV,IAAU,MAC9BU,EAAQ,iBAAmBV,IAAU,GAElCT,EAGJS,IAAU,KACN,CACN,GAAGT,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,QAAQ,EAAE,KAAK,EAAE,CACxC,EAGK,CACN,GAAGnB,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,SAAUE,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAK,EAAE,CAChE,EAIH,IAAK,QACL,IAAK,YACL,IAAK,oBAAqB,CACzB,MAAMG,EAAoBH,EAAQ,cAAgB,oBAC/C,MACA,IAEH,OAAOjB,GAAO,CAACF,EAAQS,IAErBA,IAAU,QACNU,EAAQ,UAAYV,IAAU,MAC9BU,EAAQ,iBAAmBV,IAAU,GAElCT,GAIRS,EAAQA,IAAU,KAAO,GAAKA,EAE1BT,EAAO,SAAW,EACd,CAAC,CAACqB,EAAOnB,EAAKiB,CAAO,EAAGG,EAAmBD,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAG5E,CAAC,CAACnB,EAAQqB,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAKA,EAAQ,oBAAoB,CAAC,EAE/E,CAEE,QACC,OAAOjB,GAAO,CAACF,EAAQS,IAErBA,IAAU,QACNU,EAAQ,UAAYV,IAAU,MAC9BU,EAAQ,iBAAmBV,IAAU,GAElCT,EAGJS,IAAU,KACN,CACN,GAAGT,EACHqB,EAAOnB,EAAKiB,CAAO,CACnB,EAGK,CACN,GAAGnB,EACH,CAACqB,EAAOnB,EAAKiB,CAAO,EAAG,IAAKE,EAAOZ,EAAOU,CAAO,CAAC,EAAE,KAAK,EAAE,CAC3D,CAGL,CACA,CAEA,SAASI,GAAqBJ,EAAS,CACtC,IAAInB,EAEJ,OAAQmB,EAAQ,YAAW,CAC1B,IAAK,QACJ,MAAO,CAACjB,EAAKO,EAAOe,IAAgB,CAKnC,GAJAxB,EAAS,YAAY,KAAKE,CAAG,EAE7BA,EAAMA,EAAI,QAAQ,UAAW,EAAE,EAE3B,CAACF,EAAQ,CACZwB,EAAYtB,CAAG,EAAIO,EACnB,MACL,CAEQe,EAAYtB,CAAG,IAAM,SACxBsB,EAAYtB,CAAG,EAAI,CAAE,GAGtBsB,EAAYtB,CAAG,EAAEF,EAAO,CAAC,CAAC,EAAIS,CAC9B,EAGF,IAAK,UACJ,MAAO,CAACP,EAAKO,EAAOe,IAAgB,CAInC,GAHAxB,EAAS,SAAS,KAAKE,CAAG,EAC1BA,EAAMA,EAAI,QAAQ,OAAQ,EAAE,EAExB,CAACF,EAAQ,CACZwB,EAAYtB,CAAG,EAAIO,EACnB,MACL,CAEI,GAAIe,EAAYtB,CAAG,IAAM,OAAW,CACnCsB,EAAYtB,CAAG,EAAI,CAACO,CAAK,EACzB,MACL,CAEIe,EAAYtB,CAAG,EAAI,CAAC,GAAGsB,EAAYtB,CAAG,EAAGO,CAAK,CAC9C,EAGF,IAAK,uBACJ,MAAO,CAACP,EAAKO,EAAOe,IAAgB,CAInC,GAHAxB,EAAS,WAAW,KAAKE,CAAG,EAC5BA,EAAMA,EAAI,QAAQ,SAAU,EAAE,EAE1B,CAACF,EAAQ,CACZwB,EAAYtB,CAAG,EAAIO,EACnB,MACL,CAEI,GAAIe,EAAYtB,CAAG,IAAM,OAAW,CACnCsB,EAAYtB,CAAG,EAAI,CAACO,CAAK,EACzB,MACL,CAEIe,EAAYtB,CAAG,EAAI,CAAC,GAAGsB,EAAYtB,CAAG,EAAGO,CAAK,CAC9C,EAGF,IAAK,QACL,IAAK,YACJ,MAAO,CAACP,EAAKO,EAAOe,IAAgB,CACnC,MAAMC,EAAU,OAAOhB,GAAU,UAAYA,EAAM,SAASU,EAAQ,oBAAoB,EAClFO,EAAkB,OAAOjB,GAAU,UAAY,CAACgB,GAAWhC,EAAOgB,EAAOU,CAAO,EAAE,SAASA,EAAQ,oBAAoB,EAC7HV,EAAQiB,EAAiBjC,EAAOgB,EAAOU,CAAO,EAAIV,EAClD,MAAMkB,EAAWF,GAAWC,EAAiBjB,EAAM,MAAMU,EAAQ,oBAAoB,EAAE,IAAIS,GAAQnC,EAAOmC,EAAMT,CAAO,CAAC,EAAKV,IAAU,KAAOA,EAAQhB,EAAOgB,EAAOU,CAAO,EAC3KK,EAAYtB,CAAG,EAAIyB,CACnB,EAGF,IAAK,oBACJ,MAAO,CAACzB,EAAKO,EAAOe,IAAgB,CACnC,MAAMC,EAAU,SAAS,KAAKvB,CAAG,EAGjC,GAFAA,EAAMA,EAAI,QAAQ,OAAQ,EAAE,EAExB,CAACuB,EAAS,CACbD,EAAYtB,CAAG,EAAIO,GAAQhB,EAAOgB,EAAOU,CAAO,EAChD,MACL,CAEI,MAAMU,EAAapB,IAAU,KAC1B,CAAA,EACAhB,EAAOgB,EAAOU,CAAO,EAAE,MAAMA,EAAQ,oBAAoB,EAE5D,GAAIK,EAAYtB,CAAG,IAAM,OAAW,CACnCsB,EAAYtB,CAAG,EAAI2B,EACnB,MACL,CAEIL,EAAYtB,CAAG,EAAI,CAAC,GAAGsB,EAAYtB,CAAG,EAAG,GAAG2B,CAAU,CACtD,EAGF,QACC,MAAO,CAAC3B,EAAKO,EAAOe,IAAgB,CACnC,GAAIA,EAAYtB,CAAG,IAAM,OAAW,CACnCsB,EAAYtB,CAAG,EAAIO,EACnB,MACL,CAEIe,EAAYtB,CAAG,EAAI,CAAC,GAAG,CAACsB,EAAYtB,CAAG,CAAC,EAAE,KAAM,EAAEO,CAAK,CACvD,CAEJ,CACA,CAEA,SAASqB,EAA6BrB,EAAO,CAC5C,GAAI,OAAOA,GAAU,UAAYA,EAAM,SAAW,EACjD,MAAM,IAAI,UAAU,sDAAsD,CAE5E,CAEA,SAASY,EAAOZ,EAAOU,EAAS,CAC/B,OAAIA,EAAQ,OACJA,EAAQ,OAASJ,GAAgBN,CAAK,EAAI,mBAAmBA,CAAK,EAGnEA,CACR,CAEA,SAAShB,EAAOgB,EAAOU,EAAS,CAC/B,OAAIA,EAAQ,OACJY,GAAgBtB,CAAK,EAGtBA,CACR,CAEA,SAASuB,EAAWtC,EAAO,CAC1B,OAAI,MAAM,QAAQA,CAAK,EACfA,EAAM,KAAM,EAGhB,OAAOA,GAAU,SACbsC,EAAW,OAAO,KAAKtC,CAAK,CAAC,EAClC,KAAK,CAACuC,EAAGC,IAAM,OAAOD,CAAC,EAAI,OAAOC,CAAC,CAAC,EACpC,IAAIhC,GAAOR,EAAMQ,CAAG,CAAC,EAGjBR,CACR,CAEA,SAASyC,EAAWzC,EAAO,CAC1B,MAAM0C,EAAY1C,EAAM,QAAQ,GAAG,EACnC,OAAI0C,IAAc,KACjB1C,EAAQA,EAAM,MAAM,EAAG0C,CAAS,GAG1B1C,CACR,CAEA,SAAS2C,GAAQC,EAAK,CACrB,IAAIC,EAAO,GACX,MAAMH,EAAYE,EAAI,QAAQ,GAAG,EACjC,OAAIF,IAAc,KACjBG,EAAOD,EAAI,MAAMF,CAAS,GAGpBG,CACR,CAEA,SAASC,EAAW/B,EAAOU,EAASsB,EAAM,CACzC,OAAIA,IAAS,UAAY,OAAOhC,GAAU,SAClCA,EAGJ,OAAOgC,GAAS,YAAc,OAAOhC,GAAU,SAC3CgC,EAAKhC,CAAK,EAGdU,EAAQ,eAAiBV,IAAU,OAASA,EAAM,YAAa,IAAK,QAAUA,EAAM,YAAa,IAAK,SAClGA,EAAM,YAAW,IAAO,OAG5BgC,IAAS,UAAY,CAAC,OAAO,MAAM,OAAOhC,CAAK,CAAC,GAAM,OAAOA,GAAU,UAAYA,EAAM,KAAM,IAAK,IAIpGU,EAAQ,cAAgB,CAAC,OAAO,MAAM,OAAOV,CAAK,CAAC,GAAM,OAAOA,GAAU,UAAYA,EAAM,KAAM,IAAK,GACnG,OAAOA,CAAK,EAGbA,CACR,CAEO,SAASiC,EAAQhD,EAAO,CAC9BA,EAAQyC,EAAWzC,CAAK,EACxB,MAAMiD,EAAajD,EAAM,QAAQ,GAAG,EACpC,OAAIiD,IAAe,GACX,GAGDjD,EAAM,MAAMiD,EAAa,CAAC,CAClC,CAEO,SAASC,EAAMC,EAAO1B,EAAS,CACrCA,EAAU,CACT,OAAQ,GACR,KAAM,GACN,YAAa,OACb,qBAAsB,IACtB,aAAc,GACd,cAAe,GACf,MAAO,OAAO,OAAO,IAAI,EACzB,GAAGA,CACH,EAEDW,EAA6BX,EAAQ,oBAAoB,EAEzD,MAAM2B,EAAYvB,GAAqBJ,CAAO,EAGxC4B,EAAc,OAAO,OAAO,IAAI,EAQtC,GANI,OAAOF,GAAU,WAIrBA,EAAQA,EAAM,KAAI,EAAG,QAAQ,SAAU,EAAE,EAErC,CAACA,GACJ,OAAOE,EAGR,UAAWC,KAAaH,EAAM,MAAM,GAAG,EAAG,CACzC,GAAIG,IAAc,GACjB,SAGD,MAAMC,EAAa9B,EAAQ,OAAS6B,EAAU,WAAW,IAAK,GAAG,EAAIA,EAErE,GAAI,CAAC9C,EAAKO,CAAK,EAAIC,EAAauC,EAAY,GAAG,EAE3C/C,IAAQ,SACXA,EAAM+C,GAKPxC,EAAQA,IAAU,OAAY,KAAQ,CAAC,QAAS,YAAa,mBAAmB,EAAE,SAASU,EAAQ,WAAW,EAAIV,EAAQhB,EAAOgB,EAAOU,CAAO,EAC/I2B,EAAUrD,EAAOS,EAAKiB,CAAO,EAAGV,EAAOsC,CAAW,CACpD,CAEC,SAAW,CAAC7C,EAAKO,CAAK,IAAK,OAAO,QAAQsC,CAAW,EACpD,GAAI,OAAOtC,GAAU,UAAYA,IAAU,MAAQU,EAAQ,MAAMjB,CAAG,IAAM,SACzE,SAAW,CAACgD,EAAMC,CAAM,IAAK,OAAO,QAAQ1C,CAAK,EAAG,CACnD,MAAMgC,EAAOtB,EAAQ,MAAMjB,CAAG,EAAIiB,EAAQ,MAAMjB,CAAG,EAAE,QAAQ,KAAM,EAAE,EAAI,OACzEO,EAAMyC,CAAI,EAAIV,EAAWW,EAAQhC,EAASsB,CAAI,CAClD,MACa,OAAOhC,GAAU,UAAYA,IAAU,MAAQU,EAAQ,MAAMjB,CAAG,IAAM,SAChF6C,EAAY7C,CAAG,EAAI,OAAO,OAAOO,CAAK,EAAE,KAAKU,EAAQ,oBAAoB,EAEzE4B,EAAY7C,CAAG,EAAIsC,EAAW/B,EAAOU,EAASA,EAAQ,MAAMjB,CAAG,CAAC,EAIlE,OAAIiB,EAAQ,OAAS,GACb4B,GAKA5B,EAAQ,OAAS,GAAO,OAAO,KAAK4B,CAAW,EAAE,OAAS,OAAO,KAAKA,CAAW,EAAE,KAAK5B,EAAQ,IAAI,GAAG,OAAO,CAACnB,EAAQE,IAAQ,CACtI,MAAMO,EAAQsC,EAAY7C,CAAG,EAC7B,OAAAF,EAAOE,CAAG,EAAYO,GAAU,OAAOA,GAAU,UAAY,CAAC,MAAM,QAAQA,CAAK,EAAIuB,EAAWvB,CAAK,EAAIA,EAClGT,CACT,EAAI,OAAO,OAAO,IAAI,CAAC,CACvB,CAEO,SAASoD,EAAU9C,EAAQa,EAAS,CAC1C,GAAI,CAACb,EACJ,MAAO,GAGRa,EAAU,CACT,OAAQ,GACR,OAAQ,GACR,YAAa,OACb,qBAAsB,IACtB,GAAGA,CACH,EAEDW,EAA6BX,EAAQ,oBAAoB,EAEzD,MAAMkC,EAAenD,GACnBiB,EAAQ,UAAYL,GAAkBR,EAAOJ,CAAG,CAAC,GAC9CiB,EAAQ,iBAAmBb,EAAOJ,CAAG,IAAM,GAG1C4C,EAAY5B,GAAsBC,CAAO,EAEzCmC,EAAa,CAAE,EAErB,SAAW,CAACpD,EAAKO,CAAK,IAAK,OAAO,QAAQH,CAAM,EAC1C+C,EAAanD,CAAG,IACpBoD,EAAWpD,CAAG,EAAIO,GAIpB,MAAM8C,EAAO,OAAO,KAAKD,CAAU,EAEnC,OAAInC,EAAQ,OAAS,IACpBoC,EAAK,KAAKpC,EAAQ,IAAI,EAGhBoC,EAAK,IAAIrD,GAAO,CACtB,MAAMO,EAAQH,EAAOJ,CAAG,EAExB,OAAIO,IAAU,OACN,GAGJA,IAAU,KACNY,EAAOnB,EAAKiB,CAAO,EAGvB,MAAM,QAAQV,CAAK,EAClBA,EAAM,SAAW,GAAKU,EAAQ,cAAgB,oBAC1CE,EAAOnB,EAAKiB,CAAO,EAAI,KAGxBV,EACL,OAAOqC,EAAU5C,CAAG,EAAG,CAAE,CAAA,EACzB,KAAK,GAAG,EAGJmB,EAAOnB,EAAKiB,CAAO,EAAI,IAAME,EAAOZ,EAAOU,CAAO,CAC3D,CAAE,EAAE,OAAOH,GAAKA,EAAE,OAAS,CAAC,EAAE,KAAK,GAAG,CACtC,CAEO,SAASwC,EAASlB,EAAKnB,EAAS,OACtCA,EAAU,CACT,OAAQ,GACR,GAAGA,CACH,EAED,GAAI,CAACsC,EAAMlB,CAAI,EAAI7B,EAAa4B,EAAK,GAAG,EAExC,OAAImB,IAAS,SACZA,EAAOnB,GAGD,CACN,MAAKoB,EAAAD,GAAA,YAAAA,EAAM,MAAM,OAAZ,YAAAC,EAAmB,KAAM,GAC9B,MAAOd,EAAMF,EAAQJ,CAAG,EAAGnB,CAAO,EAClC,GAAIA,GAAWA,EAAQ,yBAA2BoB,EAAO,CAAC,mBAAoB9C,EAAO8C,EAAMpB,CAAO,CAAC,EAAI,CAAA,CACvG,CACF,CAEO,SAASwC,EAAarD,EAAQa,EAAS,CAC7CA,EAAU,CACT,OAAQ,GACR,OAAQ,GACR,CAACF,CAAwB,EAAG,GAC5B,GAAGE,CACH,EAED,MAAMmB,EAAMH,EAAW7B,EAAO,GAAG,EAAE,MAAM,GAAG,EAAE,CAAC,GAAK,GAC9CsD,EAAelB,EAAQpC,EAAO,GAAG,EAEjCuC,EAAQ,CACb,GAAGD,EAAMgB,EAAc,CAAC,KAAM,EAAK,CAAC,EACpC,GAAGtD,EAAO,KACV,EAED,IAAIuD,EAAcT,EAAUP,EAAO1B,CAAO,EAC1C0C,MAAgB,IAAIA,CAAW,IAE/B,IAAItB,EAAOF,GAAQ/B,EAAO,GAAG,EAC7B,GAAI,OAAOA,EAAO,oBAAuB,SAAU,CAClD,MAAMwD,EAA6B,IAAI,IAAIxB,CAAG,EAC9CwB,EAA2B,KAAOxD,EAAO,mBACzCiC,EAAOpB,EAAQF,CAAwB,EAAI6C,EAA2B,KAAO,IAAIxD,EAAO,kBAAkB,EAC5G,CAEC,MAAO,GAAGgC,CAAG,GAAGuB,CAAW,GAAGtB,CAAI,EACnC,CAEO,SAASwB,EAAKrE,EAAOsE,EAAQ7C,EAAS,CAC5CA,EAAU,CACT,wBAAyB,GACzB,CAACF,CAAwB,EAAG,GAC5B,GAAGE,CACH,EAED,KAAM,CAAC,IAAAmB,EAAK,MAAAO,EAAO,mBAAAoB,CAAkB,EAAIT,EAAS9D,EAAOyB,CAAO,EAEhE,OAAOwC,EAAa,CACnB,IAAArB,EACA,MAAOjC,GAAYwC,EAAOmB,CAAM,EAChC,mBAAAC,CACA,EAAE9C,CAAO,CACX,CAEO,SAAS+C,GAAQxE,EAAOsE,EAAQ7C,EAAS,CAC/C,MAAMgD,EAAkB,MAAM,QAAQH,CAAM,EAAI9D,GAAO,CAAC8D,EAAO,SAAS9D,CAAG,EAAI,CAACA,EAAKO,IAAU,CAACuD,EAAO9D,EAAKO,CAAK,EAEjH,OAAOsD,EAAKrE,EAAOyE,EAAiBhD,CAAO,CAC5C,+KCheI,OAAO,OAAW,MACpB,OAAO,MAAQiD,EACf,OAAO,SAAWC,EAClB,OAAO,KAAOC,EACd,OAAO,MAAQC,EACf,OAAO,IAAMC,EACb,OAAO,MAAQC,EACf,OAAO,GAAKC,GACZ,OAAO,KAAOC,GACd,OAAO,KAAOC,EACd,OAAO,QAAUC,GAGnB,SAASC,IAAe,CAEtB,MAAMC,EAAWC,GAAY,EACvB,CAAE,SAAAC,CAAS,EAAIC,GAAU,EAE/BC,EAAAA,UAAU,IAAM,CACd,GAAI,CAACJ,EAAU,OACf,MAAMK,EAAS,CACbH,EAAS,UAAU,MAAOF,EAAS,WAAW,EAC9CE,EAAS,UAAU,MAAOF,EAAS,WAAW,EAC9CE,EAAS,UAAU,SAAUF,EAAS,WAAW,EACjDE,EAAS,UAAU,SAAUF,EAAS,WAAW,EACjDE,EAAS,UAAU,SAAUF,EAAS,WAAW,CACnD,EAEA,MAAO,IAAM,CACXK,EAAO,QAASC,GAAMA,EAAA,CAAG,CAC3B,CAAA,EACC,CAACN,EAAUE,CAAQ,CAAC,EAEjB,MAAAK,EAAiBC,EAAAA,QAAQ,IACxBR,GAAA,MAAAA,EAAU,MACR,IAAIS,GAAQP,EAAUF,EAAS,KAAK,EADdE,EAE5B,CAACA,EAAUF,GAAA,YAAAA,EAAU,KAAK,CAAC,EAE9B,OAAKA,EAmCDU,EAAA,KAACC,GAAA,CACC,OAAQ,IACR,UAAW,GACX,OAAQ,GACR,MAAO,CACL,MAAO,OACP,OAAQ,MACV,EAEA,SAAA,CAAAC,EAAA,IAACC,EAAA,CACC,OAAQN,EACR,OAAQ,oDACR,MAAO,CACL,QAAS,OACT,cAAe,KACjB,EACA,WAAY,CACV,QAAS,OACT,cAAe,KACjB,EAEA,SAAAK,EAAA,IAACE,EAAA,CACC,UAAU,SACV,OAAQP,EACR,WAAY,CACTK,EAAAA,IAAAG,EAAA,CAAwB,KAAK,cAAA,EAApB,cAAmC,EAC7CH,MAACI,KAAyB,qBAAsB,QAC/CC,EAA0B,CAAA,IAAK,GAAI,OAAM,IAA/B,eAAgC,QAC1CC,EAA2C,CAAA,IAAK,GAAI,OAAM,IAApC,oBAAqC,CAC9D,EAEA,SAAAN,EAAA,IAACO,EAAA,CACC,KAAK,wBAGL,QAAQ,qBACR,QAAQ,SACR,KAAK,oBACL,aAAc,CAAC,OAAQ,OAAQ,OAAO,CAAA,CAAA,CACxC,CAAA,CACF,CACF,EAEEP,EAAAA,IAAAQ,EAAA,SAAA,CAAA,SAAAR,MAACS,EACC,CAAA,SAAAX,EAAA,KAACY,EACC,CAAA,SAAA,CAAAV,EAAA,IAACW,EAAY,EAAA,EACZX,EAAA,IAAAY,GAAA,CACC,SAACZ,EAAAA,IAAAa,GAAA,CAAA,CAAS,CAIZ,CAAA,CAAA,CACF,CAAA,CACF,CAAA,EACF,QACCJ,EACC,CAAA,SAAAT,EAAA,IAACU,GACC,SAACV,MAAAW,EAAA,CAAY,CAAA,CACf,CAAA,CACF,CAAA,CAAA,CAAA,CACF,EA7FAX,EAAA,IAACC,EAAA,CACC,OAAQN,EACR,MAAO,CACL,QAAS,OACT,cAAe,KACjB,EACA,WAAY,CACV,QAAS,OACT,cAAe,KACjB,EAEA,SAAAK,EAAA,IAACE,EAAA,CACC,UAAU,SACV,OAAQZ,EACR,WAAY,CACTU,EAAAA,IAAAG,EAAA,CAAgB,KAAK,MAAA,EAAZ,MAAmB,EAC7BH,MAACI,KAAyB,qBAAsB,QAC/CC,EAAkB,CAAA,IAAK,GAAI,OAAM,IAAvB,OAAwB,QAClCC,EAA2C,CAAA,IAAK,GAAI,OAAM,IAApC,oBAAqC,CAC9D,EAEA,SAAAN,EAAA,IAACO,EAAA,CACC,KAAK,wBAEL,QAAQ,qBACR,QAAQ,SACR,KAAK,mBAAA,CAAA,CACP,CAAA,CACF,CACF,CAkEN,CAEA,SAASO,IAAgB,CAIvB,MAAMC,EAAWC,EAAc,CAAC,CAAE,SAAAD,KAAeA,CAAQ,EACnDE,EAAWD,EAAc,CAAC,CAAE,IAAAE,CAAA,IAAUA,CAAG,EAG/C,cACGC,GAAU,CAAA,SAAQ,GAAC,OAAQ,KAAM,OAAQ,GACxC,SAAA,CAAAnB,EAAA,IAACb,GAAa,EAAA,QACbiC,GAAU,CAAA,MAAM,cAAc,MAAOL,EAAU,SAAAE,CAAoB,CAAA,CAAA,EACtE,CAEJ,CAEA,SAAwBI,IAAO,CACvB,MAAAC,EAAQ,OAAO,OAAW,IAEhC,GAAIA,EAAc,OAAA,KAEZ,MAAAC,EAAU3B,EAAAA,QAAqB,IAAM,CACzC,MAAM4B,EAAStD,GAAY,MAAM,OAAO,SAAS,SAAS,MAAM,EAC5D,OAAA,OAAOsD,EAAO,cAAiB,WAC1BA,EAAA,aAAeA,EAAO,aAAa,YAAY,GACjDA,CACT,EAAG,EAAE,EAECC,EAAe7B,EAAA,QACnB,IAAM2B,EAAQ,eAAiB,OAC/B,CAACA,EAAQ,YAAY,CACvB,EAEA,OAEIzB,EAAA,KAAAU,WAAA,CAAA,SAAA,CAAAR,MAAC0B,EACC,CAAA,SAAA1B,EAAA,IAAC,QAAM,CAAA,SAAA,aAAW,CAAA,EACpB,SACC,OACC,CAAA,SAAA,CAACA,EAAAA,IAAA2B,EAAA,CACE,WAAQ,KACP3B,EAAA,IAAC4B,IAEC,SAAC5B,EAAAA,IAAAc,GAAA,CAAA,CAAc,EACjB,CAEJ,CAAA,EACAd,EAAA,IAAC6B,GAAA,CACC,MAAO,CACL,MAAO,CACL,UAAW,QACX,aAAc,QACd,oBAAqB,MAAA,CAEzB,EACA,UAAWJ,CAAA,CAAA,CACb,CACF,CAAA,CAAA,EACF,CAEJ","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,2 @@
1
+ import{R as i,e as l,J as d,r as a,j as e,H as u,i as p,a as f,b as c,c as m}from"../chunks/chunk-WT4fnZC5.js";import{V as w,T as h,F as T,L as S,Z as y,m as x,y as g,n as E,e as j,O as v,v as P,d as R,f as U}from"../chunks/chunk-C5gJ2ppD.js";import{X as A,D}from"../chunks/chunk-BDuk_9zr.js";import"../chunks/chunk-D7HrI6pR.js";const z="_main_ct6c1_1",V={main:z};typeof window<"u"&&(window.React=i,window.ReactDOM=l,window.VUER=w,window.THREE=h,window.JSX=d,window.FIBER=T,window.XR=A,window.Drei=D,window.LEVA=S,window.ZUSTAND=y);function b(){return e.jsx(E,{bgChildren:[e.jsx(v,{_key:"grid"},"grid"),e.jsx(P,{},"default-light-stage"),e.jsx(R,{},"hands"),e.jsx(U,{fps:30,stream:!0},"motion-controllers")],children:e.jsx(j,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.45",main:"dist/index.umd.js"})})}function H(){const s=typeof window>"u",[{message:O,mtype:B},o]=a.useState({message:null,mtype:null});a.useEffect(()=>{const t=console.error;return()=>{console.error=t}},[]),a.useEffect(()=>{const t=console.warn;return console.warn=r=>{setTimeout(()=>{o({message:r,mtype:"warning"}),console.log(r)},1)},()=>{console.warn=t}},[]);const n=a.useMemo(()=>({showError:t=>setTimeout(()=>o({message:t,mtype:"error"}),1),showSuccess:t=>setTimeout(()=>o({message:t,mtype:"success"}),1),showWarning:t=>setTimeout(()=>o({message:t,mtype:"warning"}),1),showInfo:t=>setTimeout(()=>o({message:t,mtype:"info"}),1),showModal:t=>{console.log(t)}}),[]);return e.jsxs(e.Fragment,{children:[e.jsx(u,{children:e.jsx("title",{children:"Vuer (Technical Preview)"})}),e.jsx("main",{className:V.main,children:e.jsx(x,{value:n,children:s?null:e.jsx(g,{children:e.jsx(b,{})})})})]})}const _=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),F={onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},hooksTimeout:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hooksTimeout"]},valueSerialized:{type:"js-serialized",value:{data:{error:3e4,warning:1e4}}}},onHydrationEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onHydrationEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:m}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:c}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:f}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:p}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/index/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:_}}};export{F as configValuesSerialized};
2
+ //# sourceMappingURL=pages_index.DMEQBjE_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_index.DMEQBjE_.js","sources":["../../../../pages/index/+Page.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Helmet } from '@vuer-ai/react-helmet-async';\n// import { ClickAwayListener, useSnackbar } from '@mui/base';\n// import {\n// InfoSnackbar,\n// Snackbars,\n// SuccessSnackbar,\n// WarningSnackbar,\n// } from './_components/snackbars';\nimport style from './index.module.scss';\nimport {\n AppProvider, ContribLoader,\n Grid,\n Hands,\n HemisphereLightStage, MotionControllers,\n VuerRoot,\n WebSocketProvider,\n} from '@vuer-ai/vuer';\nimport ReactDOM from 'react-dom';\nimport * as THREE from 'three';\nimport * as JSX from 'react/jsx-runtime';\nimport * as FIBER from '@react-three/fiber';\nimport * as VUER from '@vuer-ai/vuer';\nimport * as Drei from '@react-three/drei';\nimport * as XR from '@react-three/xr';\nimport * as LEVA from 'leva';\nimport * as ZUSTAND from 'zustand';\n\n// import { HandActuator } from '@vuer-ai/mujoco-ts';\n// console.log(HandActuator);\n\ndeclare global {\n interface Window {\n React: typeof React;\n ReactDOM: typeof ReactDOM;\n VUER: typeof VUER;\n THREE: typeof THREE;\n JSX: typeof JSX;\n FIBER: typeof FIBER;\n XR: typeof XR;\n Drei: typeof Drei;\n }\n}\n\nif (typeof window !== 'undefined') {\n window.React = React;\n window.ReactDOM = ReactDOM;\n window.VUER = VUER;\n window.THREE = THREE;\n window.JSX = JSX;\n window.FIBER = FIBER;\n window.XR = XR;\n window.Drei = Drei;\n window.LEVA = LEVA;\n window.ZUSTAND = ZUSTAND;\n}\n\ntype MTypes = 'error' | 'warning' | 'success' | 'info';\ntype StateT = {\n message?: string | null;\n mtype?: MTypes | null;\n};\n\nfunction AppView() {\n return (\n <VuerRoot\n bgChildren={[\n <Grid key=\"grid\" _key=\"grid\" />,\n <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"hands\" />,\n <MotionControllers key=\"motion-controllers\" fps={30} stream />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n // prodOnly\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.45\"\n main=\"dist/index.umd.js\"\n />\n </VuerRoot>\n );\n}\n\nfunction Page() {\n const isSSR = typeof window === 'undefined';\n const [{ message, mtype }, setState] = useState({\n message: null,\n mtype: null,\n } as StateT);\n\n // const { getRootProps, onClickAway } = useSnackbar({\n // onClose: () => {\n // setState({ message: null, mtype: null });\n // },\n // open: !!message,\n // autoHideDuration: 5000,\n // });\n\n useEffect(() => {\n const oldError = console.error;\n // console.error = (err) => {\n // setTimeout(() => {\n // setState({ message: err, mtype: \"error\" });\n // console.log(err);\n // }, 1)\n // };\n return () => {\n console.error = oldError;\n };\n }, []);\n\n useEffect(() => {\n const oldWarn = console.warn;\n console.warn = (err) => {\n setTimeout(() => {\n setState({ message: err, mtype: 'warning' });\n console.log(err);\n }, 1);\n };\n return () => {\n console.warn = oldWarn;\n };\n }, []);\n\n const context = useMemo(\n () => ({\n showError: (message: string) =>\n setTimeout(() => setState({ message, mtype: 'error' }), 1),\n showSuccess: (message: string) =>\n setTimeout(() => setState({ message, mtype: 'success' }), 1),\n showWarning: (message: string) =>\n setTimeout(() => setState({ message, mtype: 'warning' }), 1),\n showInfo: (message: string) =>\n setTimeout(() => setState({ message, mtype: 'info' }), 1),\n showModal: (message: string) => {\n console.log(message);\n },\n }),\n [],\n );\n\n // function render({ message, mtype }: StateT) {\n // switch (mtype) {\n // case 'error':\n // return <Snackbars {...getRootProps()}>ERROR: {message}</Snackbars>;\n // case 'warning':\n // return (\n // <WarningSnackbar {...getRootProps()}>\n // WARNING: {message}\n // </WarningSnackbar>\n // );\n // case 'success':\n // return (\n // <SuccessSnackbar {...getRootProps()}>\n // SUCCESS: {message}\n // </SuccessSnackbar>\n // );\n // case 'info':\n // default:\n // return <InfoSnackbar {...getRootProps()}>INFO: {message}</InfoSnackbar>;\n // }\n // }\n\n // if (isSSR) return null;\n return (\n <>\n <Helmet>\n <title>Vuer (Technical Preview)</title>\n </Helmet>\n <main className={style.main}>\n {/*{message ? (*/}\n {/* <ClickAwayListener onClickAway={onClickAway}>*/}\n {/* {render({ message, mtype })}*/}\n {/* </ClickAwayListener>*/}\n {/*) : null}*/}\n {/*<Suspense fallback={<div>Loading...</div>}>*/}\n <AppProvider value={context}>\n {!isSSR ? (\n <WebSocketProvider>\n <AppView />\n </WebSocketProvider>\n ) : null}\n </AppProvider>\n {/*</Suspense>*/}\n </main>\n </>\n );\n}\n\nexport default Page;\n"],"names":["React","ReactDOM","VUER","THREE","JSX","FIBER","XR","Drei","LEVA","ZUSTAND","AppView","jsx","VuerRoot","Grid","HemisphereLightStage","Hands","MotionControllers","ContribLoader","Page","isSSR","message","mtype","setState","useState","useEffect","oldError","oldWarn","err","context","useMemo","jsxs","Fragment","Helmet","style","AppProvider","WebSocketProvider"],"mappings":"4WA4CI,OAAO,OAAW,MACpB,OAAO,MAAQA,EACf,OAAO,SAAWC,EAClB,OAAO,KAAOC,EACd,OAAO,MAAQC,EACf,OAAO,IAAMC,EACb,OAAO,MAAQC,EACf,OAAO,GAAKC,EACZ,OAAO,KAAOC,EACd,OAAO,KAAOC,EACd,OAAO,QAAUC,GASnB,SAASC,GAAU,CAEf,OAAAC,EAAA,IAACC,EAAA,CACC,WAAY,CACTD,EAAAA,IAAAE,EAAA,CAAgB,KAAK,MAAA,EAAZ,MAAmB,EAC7BF,MAACG,KAAyB,qBAAsB,EAChDH,MAACI,KAAU,OAAQ,QAClBC,EAA2C,CAAA,IAAK,GAAI,OAAM,IAApC,oBAAqC,CAC9D,EAEA,SAAAL,EAAA,IAACM,EAAA,CACC,KAAK,wBAEL,QAAQ,qBACR,QAAQ,SACR,KAAK,mBAAA,CAAA,CACP,CACF,CAEJ,CAEA,SAASC,GAAO,CACR,MAAAC,EAAQ,OAAO,OAAW,IAC1B,CAAC,CAAE,QAAAC,EAAS,MAAAC,CAAS,EAAAC,CAAQ,EAAIC,EAAAA,SAAS,CAC9C,QAAS,KACT,MAAO,IAAA,CACE,EAUXC,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAW,QAAQ,MAOzB,MAAO,IAAM,CACX,QAAQ,MAAQA,CAClB,CACF,EAAG,EAAE,EAELD,EAAAA,UAAU,IAAM,CACd,MAAME,EAAU,QAAQ,KAChB,eAAA,KAAQC,GAAQ,CACtB,WAAW,IAAM,CACfL,EAAS,CAAE,QAASK,EAAK,MAAO,UAAW,EAC3C,QAAQ,IAAIA,CAAG,GACd,CAAC,CACN,EACO,IAAM,CACX,QAAQ,KAAOD,CACjB,CACF,EAAG,EAAE,EAEL,MAAME,EAAUC,EAAA,QACd,KAAO,CACL,UAAYT,GACV,WAAW,IAAME,EAAS,CAAE,QAAAF,EAAS,MAAO,OAAS,CAAA,EAAG,CAAC,EAC3D,YAAcA,GACZ,WAAW,IAAME,EAAS,CAAE,QAAAF,EAAS,MAAO,SAAW,CAAA,EAAG,CAAC,EAC7D,YAAcA,GACZ,WAAW,IAAME,EAAS,CAAE,QAAAF,EAAS,MAAO,SAAW,CAAA,EAAG,CAAC,EAC7D,SAAWA,GACT,WAAW,IAAME,EAAS,CAAE,QAAAF,EAAS,MAAO,MAAQ,CAAA,EAAG,CAAC,EAC1D,UAAYA,GAAoB,CAC9B,QAAQ,IAAIA,CAAO,CAAA,CACrB,GAEF,CAAA,CACF,EAyBA,OAEIU,EAAA,KAAAC,WAAA,CAAA,SAAA,CAAApB,MAACqB,EACC,CAAA,SAAArB,EAAA,IAAC,QAAM,CAAA,SAAA,0BAAwB,CAAA,EACjC,QACC,OAAK,CAAA,UAAWsB,EAAM,KAOrB,SAAAtB,MAACuB,GAAY,MAAON,EACjB,SAACT,EAIE,WAHDgB,EACC,CAAA,SAAAxB,EAAAA,IAACD,IAAQ,CACX,CAAA,CAEJ,CAAA,CAEF,CAAA,CAAA,EACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as e,k as t,H as a,r,i as o,a as i,b as l,c as d}from"../chunks/chunk-WT4fnZC5.js";import{fk as n,fl as s}from"../chunks/chunk-C5gJ2ppD.js";import"../chunks/chunk-D7HrI6pR.js";function p(){return e.jsxs(t,{children:[e.jsx(a,{children:e.jsx("title",{children:"Vuer | Stereo Video and WebRTC Demo"})}),e.jsx("main",{children:e.jsx(r.Suspense,{fallback:e.jsx("div",{children:"Loading..."}),children:e.jsx(n,{children:e.jsx(s,{})})})})]})}const u=Object.freeze(Object.defineProperty({__proto__:null,default:p},Symbol.toStringTag,{value:"Module"})),S={onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},hooksTimeout:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+config.ts",fileExportPathToShowToUser:["default","hooksTimeout"]},valueSerialized:{type:"js-serialized",value:{data:{error:3e4,warning:1e4}}}},onHydrationEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onHydrationEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:d}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:l}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:i}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:o}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/simple/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:u}}};export{S as configValuesSerialized};
2
+ //# sourceMappingURL=pages_simple.Bo1gNiEl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_simple.Bo1gNiEl.js","sources":["../../../../pages/simple/+Page.tsx"],"sourcesContent":["import { Suspense, useEffect, useMemo } from 'react';\nimport { Helmet, HelmetProvider } from '@vuer-ai/react-helmet-async';\nimport { SimpleComponent, SimpleProvider } from '@vuer-ai/vuer';\n\n// const { SimpleComponent, SimpleProvider } = require('@vuer-ai/vuer');\n\nexport default function Page() {\n const isSSR = typeof window === 'undefined';\n\n return (\n <HelmetProvider>\n <Helmet>\n <title>Vuer | Stereo Video and WebRTC Demo</title>\n </Helmet>\n <main>\n <Suspense fallback={<div>Loading...</div>}>\n <SimpleProvider>\n <SimpleComponent />\n </SimpleProvider>\n {/*{isSSR ? null : (*/}\n {/*)}*/}\n </Suspense>\n </main>\n </HelmetProvider>\n );\n}\n"],"names":["Page","HelmetProvider","jsx","Helmet","Suspense","SimpleProvider","SimpleComponent"],"mappings":"yLAMA,SAAwBA,GAAO,CAG7B,cACGC,EACC,CAAA,SAAA,CAAAC,MAACC,EACC,CAAA,SAAAD,EAAA,IAAC,QAAM,CAAA,SAAA,qCAAmC,CAAA,EAC5C,EACCA,EAAAA,IAAA,OAAA,CACC,SAACA,MAAAE,EAAAA,SAAA,CAAS,SAAWF,EAAA,IAAA,MAAA,CAAI,SAAU,aAAA,EACjC,eAACG,EACC,CAAA,SAAAH,MAACI,EAAgB,CAAA,CAAA,EACnB,EAGF,CACF,CAAA,CAAA,EACF,CAEJ"}
@@ -8,11 +8,11 @@
8
8
  <body>
9
9
  <div id="react-root"><div id="react-root" style="padding:0;height:100%;width:100%"></div></div>
10
10
  <script id="vike_pageContext" type="application/json">{"someAsyncProps":42,"abortReason":"!undefined","_urlRewrite":null,"_urlRedirect":"!undefined","abortStatusCode":"!undefined","_abortCall":"!undefined","_pageContextInitIsPassedToClient":"!undefined","_pageId":"/pages/editor","routeParams":{},"data":"!undefined"}</script>
11
- <script src="/assets/entries/entry-client-routing.B_w5XAuR.js" type="module" async></script>
12
- <link rel="modulepreload" href="/assets/entries/pages_editor.ZN34izsb.js" as="script" type="text/javascript">
11
+ <script src="/assets/entries/entry-client-routing.B6iyyMlN.js" type="module" async></script>
12
+ <link rel="modulepreload" href="/assets/entries/pages_editor.GoY-iv_L.js" as="script" type="text/javascript">
13
13
  <link rel="modulepreload" href="/assets/chunks/chunk-WT4fnZC5.js" as="script" type="text/javascript">
14
- <link rel="modulepreload" href="/assets/chunks/chunk-KiSzgKRl.js" as="script" type="text/javascript">
14
+ <link rel="modulepreload" href="/assets/chunks/chunk-C5gJ2ppD.js" as="script" type="text/javascript">
15
15
  <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
16
- <link rel="modulepreload" href="/assets/chunks/chunk-DG0_h2Gk.js" as="script" type="text/javascript">
16
+ <link rel="modulepreload" href="/assets/chunks/chunk-BDuk_9zr.js" as="script" type="text/javascript">
17
17
  </body>
18
18
  </html>
@@ -8,11 +8,11 @@
8
8
  <body>
9
9
  <div id="react-root"><div id="react-root" style="padding:0;height:100%;width:100%"><main class="_main_ct6c1_1"></main></div></div>
10
10
  <script id="vike_pageContext" type="application/json">{"someAsyncProps":42,"abortReason":"!undefined","_urlRewrite":null,"_urlRedirect":"!undefined","abortStatusCode":"!undefined","_abortCall":"!undefined","_pageContextInitIsPassedToClient":"!undefined","_pageId":"/pages/index","routeParams":{},"data":"!undefined"}</script>
11
- <script src="/assets/entries/entry-client-routing.B_w5XAuR.js" type="module" async></script>
12
- <link rel="modulepreload" href="/assets/entries/pages_index.BvS3ycqa.js" as="script" type="text/javascript">
11
+ <script src="/assets/entries/entry-client-routing.B6iyyMlN.js" type="module" async></script>
12
+ <link rel="modulepreload" href="/assets/entries/pages_index.DMEQBjE_.js" as="script" type="text/javascript">
13
13
  <link rel="modulepreload" href="/assets/chunks/chunk-WT4fnZC5.js" as="script" type="text/javascript">
14
- <link rel="modulepreload" href="/assets/chunks/chunk-KiSzgKRl.js" as="script" type="text/javascript">
14
+ <link rel="modulepreload" href="/assets/chunks/chunk-C5gJ2ppD.js" as="script" type="text/javascript">
15
15
  <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
16
- <link rel="modulepreload" href="/assets/chunks/chunk-DG0_h2Gk.js" as="script" type="text/javascript">
16
+ <link rel="modulepreload" href="/assets/chunks/chunk-BDuk_9zr.js" as="script" type="text/javascript">
17
17
  </body>
18
18
  </html>
@@ -7,10 +7,10 @@
7
7
  <body>
8
8
  <div id="react-root"><div id="react-root" style="padding:0;height:100%;width:100%"><main><!--$--><div><h1 class="_listName_1s0ny_1">Simple Component</h1><p>This is cool!</p></div><!--/$--></main></div></div>
9
9
  <script id="vike_pageContext" type="application/json">{"someAsyncProps":42,"abortReason":"!undefined","_urlRewrite":null,"_urlRedirect":"!undefined","abortStatusCode":"!undefined","_abortCall":"!undefined","_pageContextInitIsPassedToClient":"!undefined","_pageId":"/pages/simple","routeParams":{},"data":"!undefined"}</script>
10
- <script src="/assets/entries/entry-client-routing.B_w5XAuR.js" type="module" async></script>
11
- <link rel="modulepreload" href="/assets/entries/pages_simple.DUtDOajn.js" as="script" type="text/javascript">
10
+ <script src="/assets/entries/entry-client-routing.B6iyyMlN.js" type="module" async></script>
11
+ <link rel="modulepreload" href="/assets/entries/pages_simple.Bo1gNiEl.js" as="script" type="text/javascript">
12
12
  <link rel="modulepreload" href="/assets/chunks/chunk-WT4fnZC5.js" as="script" type="text/javascript">
13
- <link rel="modulepreload" href="/assets/chunks/chunk-KiSzgKRl.js" as="script" type="text/javascript">
13
+ <link rel="modulepreload" href="/assets/chunks/chunk-C5gJ2ppD.js" as="script" type="text/javascript">
14
14
  <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
15
15
  </body>
16
16
  </html>
@@ -452,6 +452,29 @@ class Pivot(SceneElement):
452
452
 
453
453
 
454
454
  class Movable(SceneElement):
455
+ """A universal component that can be grabbed and moved using pointers, hands, controllers.
456
+
457
+ Args:
458
+ offset: Optional [x, y, z] offset from the position. Defaults to [0, 0, 0].
459
+ position: Optional [x, y, z] position. Defaults to [0, 1, -1].
460
+ quaternion: Optional [x, y, z, w] quaternion rotation.
461
+ rotation: Optional [x, y, z] euler rotation.
462
+ scale: Optional float or [x, y, z] scale factor. Defaults to 0.1.
463
+ handle: Optional float or [x, y, z] handle size. Overrides scale for the handle geometry.
464
+ showFrame: Optional boolean to show coordinate frame. Defaults to True.
465
+ wireframe: Optional boolean for wireframe rendering. Defaults to False.
466
+ localRotation: Optional boolean to use local rotation. Defaults to False.
467
+
468
+ The component can be grabbed using:
469
+ - Hand pinch gestures (left/right hand)
470
+ - Controller trigger buttons (left/right controller)
471
+
472
+ When grabbed, the component follows the hand/controller movement and rotation.
473
+ A coordinate frame can be displayed to visualize the current transformation.
474
+
475
+ The component supports both AR and VR modes through the XR system.
476
+ """
477
+
455
478
  tag = "Movable"
456
479
  localRotation: bool = False
457
480
 
@@ -611,9 +634,9 @@ class Hands(SceneElement):
611
634
  # eventTypes=("squeeze",),
612
635
  stream=True,
613
636
  disableLeft=False, # disables the left data stream, also hides the hand.
614
- disableRight=False, # disables the right data stream, also hides the hand.
615
- hideLeft=False, # hides the hand, but still streams the data.
616
- hideRight=False, # hides the hand, but still streams the data.
637
+ disableRight=False, # disables the right data stream, also hides the hand.
638
+ hideLeft=False, # hides the hand, but still streams the data.
639
+ hideRight=False, # hides the hand, but still streams the data.
617
640
  **kwargs,
618
641
  ):
619
642
  super().__init__(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vuer
3
- Version: 0.0.47
3
+ Version: 0.0.48
4
4
  Home-page: https://github.com/vuer-ai/vuer
5
5
  Author: Ge Yang<ge.ike.yang@gmail.com>
6
6
  Author-email: ge.ike.yang@gmail.com
@@ -10,39 +10,39 @@ Classifier: Programming Language :: Python
10
10
  Requires-Python: >=3.7
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: params-proto >=2.13.0
13
+ Requires-Dist: params-proto>=2.13.0
14
14
  Requires-Dist: pillow
15
15
  Requires-Dist: msgpack
16
- Requires-Dist: numpy >=1.21
16
+ Requires-Dist: numpy>=1.21
17
17
  Requires-Dist: websockets
18
18
  Provides-Extra: all
19
- Requires-Dist: aiohttp ==3.10.5 ; extra == 'all'
20
- Requires-Dist: aiohttp-cors ; extra == 'all'
21
- Requires-Dist: killport ; extra == 'all'
19
+ Requires-Dist: aiohttp==3.10.5; extra == "all"
20
+ Requires-Dist: aiohttp-cors; extra == "all"
21
+ Requires-Dist: killport; extra == "all"
22
22
  Provides-Extra: dev
23
- Requires-Dist: aiohttp ==3.10.5 ; extra == 'dev'
24
- Requires-Dist: aiohttp-cors ; extra == 'dev'
25
- Requires-Dist: killport ; extra == 'dev'
26
- Requires-Dist: black ==22.3.0 ; extra == 'dev'
27
- Requires-Dist: pylint ==2.13.4 ; extra == 'dev'
28
- Requires-Dist: pytest ==7.1.2 ; extra == 'dev'
29
- Requires-Dist: sphinx ==7.1.2 ; extra == 'dev'
30
- Requires-Dist: furo ; extra == 'dev'
31
- Requires-Dist: sphinx-autobuild ; extra == 'dev'
32
- Requires-Dist: sphinx-copybutton ; extra == 'dev'
33
- Requires-Dist: myst-parser ; extra == 'dev'
34
- Requires-Dist: trimesh ; extra == 'dev'
35
- Requires-Dist: tqdm ; extra == 'dev'
23
+ Requires-Dist: aiohttp==3.10.5; extra == "dev"
24
+ Requires-Dist: aiohttp-cors; extra == "dev"
25
+ Requires-Dist: killport; extra == "dev"
26
+ Requires-Dist: black==22.3.0; extra == "dev"
27
+ Requires-Dist: pylint==2.13.4; extra == "dev"
28
+ Requires-Dist: pytest==7.1.2; extra == "dev"
29
+ Requires-Dist: sphinx==7.1.2; extra == "dev"
30
+ Requires-Dist: furo; extra == "dev"
31
+ Requires-Dist: sphinx-autobuild; extra == "dev"
32
+ Requires-Dist: sphinx-copybutton; extra == "dev"
33
+ Requires-Dist: myst-parser; extra == "dev"
34
+ Requires-Dist: trimesh; extra == "dev"
35
+ Requires-Dist: tqdm; extra == "dev"
36
36
  Provides-Extra: example
37
- Requires-Dist: aiohttp ==3.10.5 ; extra == 'example'
38
- Requires-Dist: aiohttp-cors ; extra == 'example'
39
- Requires-Dist: killport ; extra == 'example'
40
- Requires-Dist: open3d <0.16.0,>=0.15.0 ; extra == 'example'
41
- Requires-Dist: trimesh ; extra == 'example'
42
- Requires-Dist: cmx ; extra == 'example'
43
- Requires-Dist: functional-notations ; extra == 'example'
44
- Requires-Dist: ml-logger ; extra == 'example'
45
- Requires-Dist: opencv-python ; extra == 'example'
37
+ Requires-Dist: aiohttp==3.10.5; extra == "example"
38
+ Requires-Dist: aiohttp-cors; extra == "example"
39
+ Requires-Dist: killport; extra == "example"
40
+ Requires-Dist: open3d<0.16.0,>=0.15.0; extra == "example"
41
+ Requires-Dist: trimesh; extra == "example"
42
+ Requires-Dist: cmx; extra == "example"
43
+ Requires-Dist: functional-notations; extra == "example"
44
+ Requires-Dist: ml-logger; extra == "example"
45
+ Requires-Dist: opencv-python; extra == "example"
46
46
 
47
47
  <h2>Vuer: Modern High-Performance Visualization for AI & Robotics in VR
48
48
  <br/>
@@ -18,8 +18,8 @@ vuer/__pycache__/types.cpython-311.pyc,sha256=VpSyi31RkV1ntEPZ4-zjDN5jRZ3UK5FkHU
18
18
  vuer/__pycache__/types.cpython-38.pyc,sha256=C9Z8XbkgINu8ilDHmBlzkMmgg1w0nPAzJ_mM_qFiOrA,1884
19
19
  vuer/addons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  vuer/addons/camera_rtc.py,sha256=sT2JjIDCCFacXs9AMrFm2aO3O49n_8iCSRNOjl2P-Yk,5165
21
- vuer/client_build/404.html,sha256=eE_mIJYAfxgTMKnZyq2yFyXw-ROfL_VYP4l7B9iKYio,1319
22
- vuer/client_build/index.html,sha256=qdkt_oB7RoyX_rTZRlpGIDyfurp1rh0TcAFgzloBCcw,1441
21
+ vuer/client_build/404.html,sha256=MMC4iH1EiMW0qcI_8b6ElWC4DzU__MvHxVe8RRb--9c,1319
22
+ vuer/client_build/index.html,sha256=x2-eAo9jsn07NOeGwkZUQGYJTEncR8Wy6lOtGIKc7a8,1441
23
23
  vuer/client_build/index.pageContext.json,sha256=r4gtxG-2ZQM_Anhw7hVJ0x1LH6i4SvnrPrmdTD-X_dM,262
24
24
  vuer/client_build/assets/chunks/chunk-18G0VHqw.js,sha256=CVrCBUXXbWQeFbRpj9noM0U8BkUxKGht2btuaCxmz7o,546937
25
25
  vuer/client_build/assets/chunks/chunk-18G0VHqw.js.map,sha256=DLir1jV4yDoIAotrEs3Iom-8fxmPbswmNhNZWHZ-1eU,98
@@ -27,6 +27,8 @@ vuer/client_build/assets/chunks/chunk-2DjFd88E.js,sha256=58EBjzH3yYdNkHSZBhdPs7j
27
27
  vuer/client_build/assets/chunks/chunk-2DjFd88E.js.map,sha256=sKqiCeh6qTfyTLTuzIsz-aw7ONOkzE6ehI9c5riTgo0,413099
28
28
  vuer/client_build/assets/chunks/chunk-B2u9_Nmk.js,sha256=rLhy99M94RiDrin4gePWxwA-UFRJP2dKLZKRyXf2qXI,717834
29
29
  vuer/client_build/assets/chunks/chunk-B2u9_Nmk.js.map,sha256=MrwyFImmwvLR04WGSfZXXkETH1iLzmsz8BebsvV7r94,3894330
30
+ vuer/client_build/assets/chunks/chunk-BDuk_9zr.js,sha256=T9k_JmVRtEnCQx_nV7zUxlgb9YK4Xdm_CRsGId7oBBU,866236
31
+ vuer/client_build/assets/chunks/chunk-BDuk_9zr.js.map,sha256=CCv_DQ5-rgFBZP_lORIAiaWuZw6X30lOvUiZ6I48KTA,3099846
30
32
  vuer/client_build/assets/chunks/chunk-Bc6jPe19.js,sha256=DimstjLN1hwM4YsLUZAD3vND44qpY-UrGwYEFG-16pw,866236
31
33
  vuer/client_build/assets/chunks/chunk-Bc6jPe19.js.map,sha256=JNkCai4nN4iMMLAXi2PaMoSxbQVh4oipdo2atEZqT2Q,3099846
32
34
  vuer/client_build/assets/chunks/chunk-Bca6PE_B.js,sha256=zb4HIhHfgbMUiGCinm0urTyNaOuUioxhYarZPCfYSj8,442101
@@ -35,10 +37,16 @@ vuer/client_build/assets/chunks/chunk-Bkj5sU0H.js,sha256=3HYEMK_jOlGUu5FTjMQU0Bw
35
37
  vuer/client_build/assets/chunks/chunk-Bkj5sU0H.js.map,sha256=baMFzeI1cDNOpmZg08tX9FKw-VjoK5W7GWriDvLXT-I,98
36
38
  vuer/client_build/assets/chunks/chunk-Bus2d0NA.js,sha256=3G7x7ErV_DRrszLr2vb98sjiUg7Xt_FvPaoEK8ruFcc,1248148
37
39
  vuer/client_build/assets/chunks/chunk-Bus2d0NA.js.map,sha256=Pasy0b6uAAMwRaa_IfB5ED6G0B8y5ZOq8b2szPiwxcE,6084847
40
+ vuer/client_build/assets/chunks/chunk-C5gJ2ppD.js,sha256=VphSf2dIGLKTRXIoeWcNxnR98eI2L75Q5GIjkwE7PuM,2964040
41
+ vuer/client_build/assets/chunks/chunk-C5gJ2ppD.js.map,sha256=B20EVGPCZn-5i5G-X2G3Rv1KPf3ef8-llVJ-qY6_E6E,10858519
38
42
  vuer/client_build/assets/chunks/chunk-CI9DmbxC.js,sha256=a2ppGXAbB3zIfyCOd7cngSc_bXBYgH6J02Te9jnHp-8,801745
39
43
  vuer/client_build/assets/chunks/chunk-CI9DmbxC.js.map,sha256=PNoPj2E4597kvjy3yQeWK-YW6P5es3JmcpANjc-3j2U,2895214
44
+ vuer/client_build/assets/chunks/chunk-CJxcxa5L.js,sha256=rWfEglSFpBZCD4BaKlbzefVT3zxmEYDjG_obUxb0vGQ,442086
45
+ vuer/client_build/assets/chunks/chunk-CJxcxa5L.js.map,sha256=9CtHbMziQHvH5a1LBJWuXZWZoYhK3mNuxhTDEa0IARk,505451
40
46
  vuer/client_build/assets/chunks/chunk-CZzxeY6d.js,sha256=cb7rCABud_UjY6nwwL4u8lW_sQ3VDzn2O1XAKH-3Un0,2086414
41
47
  vuer/client_build/assets/chunks/chunk-CZzxeY6d.js.map,sha256=7wPuHYksJjVmky9k3IWXmcNz88PyxbaMVMVGuPtbmnQ,98
48
+ vuer/client_build/assets/chunks/chunk-C_pHWfD7.js,sha256=6oudDxLsL7vGILLOPHZz2EJLStVE1uzNII2wJxaPdQo,1248148
49
+ vuer/client_build/assets/chunks/chunk-C_pHWfD7.js.map,sha256=s4ymIrG_XsqK0z6mK30RNtm_zY4QvCG90d4wuWvmmcs,6084847
42
50
  vuer/client_build/assets/chunks/chunk-Cg0OFbR3.js,sha256=vnkSRAJ8-ftJTFZeW_khM08tjZuVkGHcwYcAzubXa0A,131987
43
51
  vuer/client_build/assets/chunks/chunk-Cg0OFbR3.js.map,sha256=d0e5EciwRDQe8WSJjsvycRaLt6G-baoKp7FU0VfpqLo,347218
44
52
  vuer/client_build/assets/chunks/chunk-CgL2fCVp.js,sha256=sSyjH01z80yKBB6tH0gFvofp4Q0tPq81DZyKLqyqlKg,1248192
@@ -57,6 +65,8 @@ vuer/client_build/assets/chunks/chunk-DG0_h2Gk.js,sha256=OJwjOGjb6NvbRFF-rr3cFiY
57
65
  vuer/client_build/assets/chunks/chunk-DG0_h2Gk.js.map,sha256=-n25Oe41-K35nbdBVtCeUWW_pRor4pADRg0Zuay5fTA,3099846
58
66
  vuer/client_build/assets/chunks/chunk-DXO4-vDe.js,sha256=oGcjqT-LrNpMieknyYEjjTEf7Egb9CgnMmOmXkZPnZ8,408970
59
67
  vuer/client_build/assets/chunks/chunk-DXO4-vDe.js.map,sha256=-wiFcko7VDWBO0XFUMIpfcFMcfVtxLVXzPHtIzntiN0,98
68
+ vuer/client_build/assets/chunks/chunk-DbH882QF.js,sha256=vG2Y99WqePUcbyioGDpj1laY6HO1Tg3viPRmM26RLfw,1021
69
+ vuer/client_build/assets/chunks/chunk-DbH882QF.js.map,sha256=n-XXM4LmXvUV6zA7vYMr463zWwGYH2mK-Jn8_u09IgQ,1764
60
70
  vuer/client_build/assets/chunks/chunk-DfxwlK4B.js,sha256=e5wrOK-8dK3C6dpaA_TINft5tAoMPkgVvlC5mpspbu8,1021
61
71
  vuer/client_build/assets/chunks/chunk-DfxwlK4B.js.map,sha256=gFnghVwB-mmVjW5d-pqTCfQEbsPie7NqWGpwlLepp54,1764
62
72
  vuer/client_build/assets/chunks/chunk-FPms0P9o.js,sha256=zqjZfA3oHFCiim4LYstvqnA6iXC4tIKt1ilQENTAq2c,131987
@@ -71,6 +81,8 @@ vuer/client_build/assets/chunks/chunk-WT4fnZC5.js,sha256=D7gNC1-sk5QLiwg6JzoXJBc
71
81
  vuer/client_build/assets/chunks/chunk-WT4fnZC5.js.map,sha256=-LT04mBu2ZfFU2-7vFQOezSKqX8eNa0QWOOgjcb-c7o,413090
72
82
  vuer/client_build/assets/chunks/chunk-kyMD9k76.js,sha256=8-E0nDO4AqVjp5y9qK1-gcOtYTH8VGXZak-i51KbsNU,442086
73
83
  vuer/client_build/assets/chunks/chunk-kyMD9k76.js.map,sha256=ozd7OybXGRSgR1J7kok9-UewyCI_wUvP0wTDIBybBJo,505451
84
+ vuer/client_build/assets/entries/entry-client-routing.B6iyyMlN.js,sha256=Wk8DqgQy4Qxl947t0U8IWZNXa4ULDjiPiT6W-uWE4Lw,70464
85
+ vuer/client_build/assets/entries/entry-client-routing.B6iyyMlN.js.map,sha256=BOPa6j_Bk4drs74k0yYn7yM-ZDqELIX6qb302Rg26mc,361819
74
86
  vuer/client_build/assets/entries/entry-client-routing.B_w5XAuR.js,sha256=CfE-ZAjJwSRyWccParsOowBklphR42ozUe6OdFy9rkw,70464
75
87
  vuer/client_build/assets/entries/entry-client-routing.B_w5XAuR.js.map,sha256=rnyJTOIV7XtS81t0mv2Xro6kYTQ0cAexH9jPsDFGLik,361819
76
88
  vuer/client_build/assets/entries/entry-client-routing.CHqc0Dae.js,sha256=vyssU1kkPJZFDNVQzcxh317KRNy7GOtci07cTMGC5k4,70523
@@ -83,6 +95,8 @@ vuer/client_build/assets/entries/pages_editor.C4CaliZw.js,sha256=ccrOyFcZeS2CVf5
83
95
  vuer/client_build/assets/entries/pages_editor.C4CaliZw.js.map,sha256=F-c1YcRkJBnB-XxRtcF4RNYC3KkX-j3MoPAv1nf2kC4,41152
84
96
  vuer/client_build/assets/entries/pages_editor.C_EUwvd_.js,sha256=606O1qf_H4bg7s6LAxUyhSslUfOl_aQ9flCXesKxVm8,11909
85
97
  vuer/client_build/assets/entries/pages_editor.C_EUwvd_.js.map,sha256=j56Vw8fhVyw_tacu4DtiE3-L-IaIWJnkJd_iEq03HlY,41142
98
+ vuer/client_build/assets/entries/pages_editor.GoY-iv_L.js,sha256=X8aBm1GNgLnvvZ8_kB_hllNudEkwPRWsccK1ORvEgmo,12010
99
+ vuer/client_build/assets/entries/pages_editor.GoY-iv_L.js.map,sha256=eBuhOpeYH7EA5VLg5IkDoxC9SP4j3_HAco9xhoOZq8o,41419
86
100
  vuer/client_build/assets/entries/pages_editor.ZN34izsb.js,sha256=dQD5ps_QKl265gTvn7gIzXJLiKRBPSp3B3A2sNPo1o8,12010
87
101
  vuer/client_build/assets/entries/pages_editor.ZN34izsb.js.map,sha256=5PhJ4bSzh2OKW3Ph648-4penFBaZukgJvL4a0QzKfxM,41419
88
102
  vuer/client_build/assets/entries/pages_editor.nNsIXIzJ.js,sha256=17quBuOnWK7MhWBHkPF6wkKJrEAdyo03_JXBFYfz3fI,12018
@@ -97,8 +111,12 @@ vuer/client_build/assets/entries/pages_index.BvS3ycqa.js,sha256=eTPHN3eAgKDshYCb
97
111
  vuer/client_build/assets/entries/pages_index.BvS3ycqa.js.map,sha256=GdrRaCiw3R3aGeAbYpumKxNBvTTdus_3OmoET8ZJiyU,7230
98
112
  vuer/client_build/assets/entries/pages_index.D1BavadI.js,sha256=3cFcS0XgWt3fCzKeZiCNNmn82TheH4hU-B-SgHcYZKE,3438
99
113
  vuer/client_build/assets/entries/pages_index.D1BavadI.js.map,sha256=N-dXlzXBtNhfWW34MGdD8M_QVICDrwV1RKLUR-utfZo,7234
114
+ vuer/client_build/assets/entries/pages_index.DMEQBjE_.js,sha256=z5j7hszp0aZAhod0T6llXt1DWIbNNeDlojXl7irj8rw,3429
115
+ vuer/client_build/assets/entries/pages_index.DMEQBjE_.js.map,sha256=0EGr8bSqjLAzXab_DfRr9incDDnhVy9BxOOKmTyEyWE,7230
100
116
  vuer/client_build/assets/entries/pages_simple.B1QAYAnu.js,sha256=O8sg1CQwrMzLWg7vra8mgiv28mVe9lGJ8bV44-cqSL8,2191
101
117
  vuer/client_build/assets/entries/pages_simple.B1QAYAnu.js.map,sha256=vA0JFeVFX7jyqDv_ONtYY5fSPy43KKmstuDW2AUyMUg,1280
118
+ vuer/client_build/assets/entries/pages_simple.Bo1gNiEl.js,sha256=M2mTkwFRnE6Dr2VAOwsgv9bVSBIImGV3esnc-Igls24,2191
119
+ vuer/client_build/assets/entries/pages_simple.Bo1gNiEl.js.map,sha256=Z4CF0uvEkhc_0V5Y2RGDIAQJ_WQRucBos2uqWjtkGEw,1280
102
120
  vuer/client_build/assets/entries/pages_simple.DUtDOajn.js,sha256=zCLPk2kIQbO91dnpfMgLfrzHdvHn1DWZHgw5lFlVbZw,2191
103
121
  vuer/client_build/assets/entries/pages_simple.DUtDOajn.js.map,sha256=Q0OT6xhGvx-VfeL7DQoSm7BKu9W0_YZhI8ksaeiUkAg,1280
104
122
  vuer/client_build/assets/entries/pages_simple.DYWd0uF8.js,sha256=txIvYgbrzaRPUavuSaiZSzkpeuCHkqE9jFX02JLuGug,2191
@@ -107,7 +125,7 @@ vuer/client_build/assets/static/editor.B6qEVXNb.css,sha256=COYsPdFoFsBandZN5uv9x
107
125
  vuer/client_build/assets/static/index.BbAhTARb.css,sha256=WWV7I9mur1lWEo8lWppkuYlBx2dQKpEXt-0azMYnLIU,134
108
126
  vuer/client_build/assets/static/logo.2_7Lo9tV.svg,sha256=vr4ukFyN_pgQCYZZTj73l8rIXKUB0SvkrqNcgmebgLA,5786
109
127
  vuer/client_build/assets/static/onRenderClient.C5hpRi0h.css,sha256=Pi5--ucBQ6l2KdfoZ7IkCzmOGOroRL-mD2t_f4hkMSs,1284
110
- vuer/client_build/editor/index.html,sha256=o7kksFVHh3Eo5UXJ1LP53i1WtfjlH1pZgM61IfGHxv4,1409
128
+ vuer/client_build/editor/index.html,sha256=dKQL8C76d6bg1VrCtvZn3lF_NXF-ZMQTrrxgsclMLnA,1409
111
129
  vuer/client_build/editor/index.pageContext.json,sha256=bLcKDOa4CtiHhbja7nw5Oh5ol4l4ue5gRlrkYbKHofg,263
112
130
  vuer/client_build/pages/_error/+Page.d.ts,sha256=hXxTpSGQAzc1Kn3yurA755YFc1JnvMpBgG5HwHWqOOs,83
113
131
  vuer/client_build/pages/editor/+Page.d.ts,sha256=KFQH12xv4wWL3OA8R898tZTt3KJBbxBmCilNPZA43KQ,775
@@ -125,7 +143,7 @@ vuer/client_build/renderer/PageContext.d.ts,sha256=hH4ljDXmvkz_xXlbjBI_llgEUqrMK
125
143
  vuer/client_build/renderer/getPageTitle.d.ts,sha256=rHvLmsnh4G0xD9B0FlcrAI93RT0GInufGOinxZSSScQ,132
126
144
  vuer/client_build/renderer/useData.d.ts,sha256=lTrtm6SLW2aYv-3Z6my7GcYvkWXg0pqUGEzkD51IaSY,60
127
145
  vuer/client_build/renderer/usePageContext.d.ts,sha256=26uPKf2dSf8qlkUMSF9q2dppl4AJ31ab4kcxHu1xuwc,363
128
- vuer/client_build/simple/index.html,sha256=uHNli1Kta8Ai1-AuTOLOtinD4XJR1i6EBHBUUqtnZ_A,1321
146
+ vuer/client_build/simple/index.html,sha256=sDFxx-xx8dLNhLhOFv6-ZQfhIEMzNO43gum5P65tJwI,1321
129
147
  vuer/client_build/simple/index.pageContext.json,sha256=LMLlfm0XgdlLe9rwQs5dEdo6xt65vOCxWfdfriECyyA,263
130
148
  vuer/frame/__init__.py,sha256=y0xBYalkjHutUK71HO7vIy_Hk1fsuJV4FQIgS79S4VU,45
131
149
  vuer/frame/convert.py,sha256=qEew5qJlt7yOsT8ei61Zp6Y_4RqocNFiV2vHOYkrLtc,591
@@ -137,7 +155,7 @@ vuer/schemas/__init__.py,sha256=NQdnh7O1om6omAEBvqvq9dXwuxmW3NC0m23h1mmqc14,159
137
155
  vuer/schemas/drei_components.py,sha256=U9svEOnNprhZaobLagaFnqEtZxo5hiriSqjDnvQutoA,6989
138
156
  vuer/schemas/html_components.py,sha256=CBisR9Srr0Cau9pdAh7OMZ0-N0NyTZ-B66Wn3sXl9Ac,6697
139
157
  vuer/schemas/physics_components.py,sha256=BiXgOfjAeUxiIZ6lmd6xp_xU2FwavB3Z-V4YfQgmVOA,1682
140
- vuer/schemas/scene_components.py,sha256=fu4jHCHCPYZcQgExvsqxSJzWWNSsO383M7da6Ea7spw,27766
158
+ vuer/schemas/scene_components.py,sha256=R4ryYOI7ZBEAaKi8A9jCwGH9kfhoddbxBbWmyV0BvV0,28941
141
159
  vuer/schemas/timeline_components.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
142
160
  vuer/schemas/vuer_components.py,sha256=lfFZjsfuMSnfdPN0ZUtFcdQ4tcGiJkQGRA1nq2pRcUE,1542
143
161
  vuer/schemas/__pycache__/__init__.cpython-311.pyc,sha256=gx2NGzulg6KgOu6TvexVKQy6K1YpHKRI5q_GybOlX6s,352
@@ -152,9 +170,9 @@ vuer/schemas/__pycache__/scene_components.cpython-311.pyc,sha256=KaUy-HAXfXNoPl2
152
170
  vuer/schemas/__pycache__/scene_components.cpython-38.pyc,sha256=3xE24HHVXAu7jNZfiQ4qTh25sfdcq-H0JoJPhyTIHyk,30148
153
171
  vuer/schemas/__pycache__/vuer_components.cpython-311.pyc,sha256=SKbT-DH72q4bRt50jj1y0er42uekv2pD3PDAUuaNKOk,1969
154
172
  vuer/schemas/__pycache__/vuer_components.cpython-38.pyc,sha256=-zv3JXOr9phygRVaQ8NAzheWPyvwf6fkQ29Q1IEhvr8,1819
155
- vuer-0.0.47.dist-info/LICENSE,sha256=MGF-inVBUaGe2mEjqT0g6XsHIXwoNXgNHqD7Z1MzR0k,1063
156
- vuer-0.0.47.dist-info/METADATA,sha256=Qm75BYq43XSHvpDzWpEceqCXCyHB3iQjYx6oR_2KURE,5681
157
- vuer-0.0.47.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
158
- vuer-0.0.47.dist-info/entry_points.txt,sha256=J_NM6fbpipmD9oP7cdxd1UyBR8mVEQVx0xjlE_56yss,41
159
- vuer-0.0.47.dist-info/top_level.txt,sha256=ermmVkwvGFAK4gfSgDIwOmKpxwpqNt-oo7gVQQUSHok,5
160
- vuer-0.0.47.dist-info/RECORD,,
173
+ vuer-0.0.48.dist-info/LICENSE,sha256=MGF-inVBUaGe2mEjqT0g6XsHIXwoNXgNHqD7Z1MzR0k,1063
174
+ vuer-0.0.48.dist-info/METADATA,sha256=OGMhwhyAelI9nl8bI4U7meC5kQ54cTL6L8YSfj8rTqs,5646
175
+ vuer-0.0.48.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
176
+ vuer-0.0.48.dist-info/entry_points.txt,sha256=J_NM6fbpipmD9oP7cdxd1UyBR8mVEQVx0xjlE_56yss,41
177
+ vuer-0.0.48.dist-info/top_level.txt,sha256=ermmVkwvGFAK4gfSgDIwOmKpxwpqNt-oo7gVQQUSHok,5
178
+ vuer-0.0.48.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes