vuer 0.0.35rc18__py3-none-any.whl → 0.0.36rc1__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 (68) hide show
  1. vuer/__pycache__/__init__.cpython-311.pyc +0 -0
  2. vuer/__pycache__/base.cpython-311.pyc +0 -0
  3. vuer/__pycache__/events.cpython-311.pyc +0 -0
  4. vuer/__pycache__/serdes.cpython-311.pyc +0 -0
  5. vuer/__pycache__/server.cpython-311.pyc +0 -0
  6. vuer/__pycache__/types.cpython-311.pyc +0 -0
  7. vuer/__pycache__/types.cpython-38.pyc +0 -0
  8. vuer/client_build/404.html +5 -5
  9. vuer/client_build/assets/chunks/chunk-Bfuqp34V.js +6860 -0
  10. vuer/client_build/assets/chunks/chunk-Bfuqp34V.js.map +1 -0
  11. vuer/client_build/assets/chunks/chunk-CJqYWPfW.js +53 -0
  12. vuer/client_build/assets/chunks/chunk-CJqYWPfW.js.map +1 -0
  13. vuer/client_build/assets/chunks/chunk-CPRQl8Yc.js +16 -0
  14. vuer/client_build/assets/chunks/chunk-CPRQl8Yc.js.map +1 -0
  15. vuer/client_build/assets/chunks/chunk-CY_2iGUk.js +3 -0
  16. vuer/client_build/assets/chunks/chunk-CY_2iGUk.js.map +1 -0
  17. vuer/client_build/assets/chunks/chunk-ChCpIqvJ.js +269 -0
  18. vuer/client_build/assets/chunks/chunk-ChCpIqvJ.js.map +1 -0
  19. vuer/client_build/assets/chunks/chunk-Cwh42ARU.js +102 -0
  20. vuer/client_build/assets/chunks/chunk-Cwh42ARU.js.map +1 -0
  21. vuer/client_build/assets/chunks/chunk-D7HrI6pR.js +2 -0
  22. vuer/client_build/assets/chunks/chunk-D7HrI6pR.js.map +1 -0
  23. vuer/client_build/assets/chunks/chunk-Dhe4rJMi.js +4660 -0
  24. vuer/client_build/assets/chunks/chunk-Dhe4rJMi.js.map +1 -0
  25. vuer/client_build/assets/entries/entry-client-routing.BH_27foy.js +5 -0
  26. vuer/client_build/assets/entries/entry-client-routing.BH_27foy.js.map +1 -0
  27. vuer/client_build/assets/entries/pages_editor.BvGv6pkK.js +2 -0
  28. vuer/client_build/assets/entries/pages_editor.BvGv6pkK.js.map +1 -0
  29. vuer/client_build/assets/entries/pages_error.D6auTzhG.js +2 -0
  30. vuer/client_build/assets/entries/pages_error.D6auTzhG.js.map +1 -0
  31. vuer/client_build/assets/entries/pages_index.BeavKUpT.js +2 -0
  32. vuer/client_build/assets/entries/pages_index.BeavKUpT.js.map +1 -0
  33. vuer/client_build/assets/entries/pages_simple.B6Yx1v5Z.js +2 -0
  34. vuer/client_build/assets/entries/pages_simple.B6Yx1v5Z.js.map +1 -0
  35. vuer/client_build/assets/static/editor.B6qEVXNb.css +1 -0
  36. vuer/client_build/assets/static/index.BbAhTARb.css +1 -0
  37. vuer/client_build/assets/static/onRenderClient.C5hpRi0h.css +1 -0
  38. vuer/client_build/editor/index.html +8 -7
  39. vuer/client_build/index.html +8 -7
  40. vuer/client_build/pages/editor/+Page.d.ts +21 -1
  41. vuer/client_build/pages/index/+Page.d.ts +21 -1
  42. vuer/client_build/simple/index.html +6 -6
  43. vuer/frame/__init__.py +2 -0
  44. vuer/frame/__pycache__/__init__.cpython-38.pyc +0 -0
  45. vuer/frame/__pycache__/convert.cpython-38.pyc +0 -0
  46. vuer/frame/__pycache__/to_mat.cpython-38.pyc +0 -0
  47. vuer/frame/convert.py +44 -0
  48. vuer/frame/to_mat.py +50 -0
  49. vuer/schemas/__init__.py +1 -0
  50. vuer/schemas/__pycache__/__init__.cpython-311.pyc +0 -0
  51. vuer/schemas/__pycache__/__init__.cpython-38.pyc +0 -0
  52. vuer/schemas/__pycache__/drei_components.cpython-311.pyc +0 -0
  53. vuer/schemas/__pycache__/html_components.cpython-311.pyc +0 -0
  54. vuer/schemas/__pycache__/physics_components.cpython-311.pyc +0 -0
  55. vuer/schemas/__pycache__/scene_components.cpython-311.pyc +0 -0
  56. vuer/schemas/__pycache__/scene_components.cpython-38.pyc +0 -0
  57. vuer/schemas/__pycache__/vuer_components.cpython-311.pyc +0 -0
  58. vuer/schemas/__pycache__/vuer_components.cpython-38.pyc +0 -0
  59. vuer/schemas/physics_components.py +23 -11
  60. vuer/schemas/scene_components.py +169 -5
  61. vuer/schemas/vuer_components.py +47 -0
  62. vuer/types.py +0 -1
  63. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/METADATA +29 -29
  64. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/RECORD +68 -19
  65. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/WHEEL +1 -1
  66. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/LICENSE +0 -0
  67. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/entry_points.txt +0 -0
  68. {vuer-0.0.35rc18.dist-info → vuer-0.0.36rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ import{o as j,R as w,J as y,j as e,H as T,r as s,i as S,a as E,b as g,c as P}from"../chunks/chunk-CJqYWPfW.js";import{V as b,T as v,F as z,h as D,n as U,L as R,Y as i,m as V,o as A,s as F,p as _,a as O,j as o,G as n,N as d,b as l,e as u,U as f,g as C,c as p,d as c,f as h,I as H,w as M}from"../chunks/chunk-Bfuqp34V.js";import{X as k,D as B}from"../chunks/chunk-ChCpIqvJ.js";import"../chunks/chunk-D7HrI6pR.js";typeof window<"u"&&(window.React=j,window.ReactDOM=w,window.VUER=b,window.THREE=v,window.JSX=y,window.FIBER=z,window.XR=k,window.Drei=B);function I(){const r=F(),{downlink:t}=_();s.useEffect(()=>{if(!r)return;const x=[t.subscribe("SET",r.addKeyFrame),t.subscribe("ADD",r.addKeyFrame),t.subscribe("UPDATE",r.addKeyFrame),t.subscribe("UPSERT",r.addKeyFrame),t.subscribe("REMOVE",r.addKeyFrame)];return()=>{x.forEach(m=>m())}},[r,t]);const a=s.useMemo(()=>r!=null&&r.store?new O(t,r.store):t,[t,r==null?void 0:r.store]);return r?e.jsxs(C,{offset:200,minOffset:48,hidden:!0,style:{width:"100%",height:"100%"},children:[e.jsx(o,{stream:a,prompt:"scene files supported: *.urdf *.pcd *.ply *.splat",style:{display:"flex",flexDirection:"row"},innerStyle:{display:"flex",flexDirection:"row"},children:e.jsxs(n,{frameloop:"always",stream:a,bgChildren:[e.jsx(d,{},"default-light-stage"),e.jsx(l,{fps:30,stream:!0},"default-hands")],children:[e.jsx(u,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.24-rc11",main:"dist/index.umd.js"}),e.jsx(f,{_key:"default-grid"},"default-grid")]})}),e.jsx(e.Fragment,{children:e.jsx(p,{children:e.jsxs(c,{children:[e.jsx(h,{}),e.jsx(H,{children:e.jsx(M,{})})]})})}),e.jsx(p,{children:e.jsx(c,{children:e.jsx(h,{})})})]}):e.jsx(o,{stream:a,style:{display:"flex",flexDirection:"row"},innerStyle:{display:"flex",flexDirection:"row"},children:e.jsxs(n,{frameloop:"always",stream:t,bgChildren:[e.jsx(d,{},"default-light-stage"),e.jsx(l,{fps:30,stream:!0},"default-hands")],children:[e.jsx(u,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.24-rc11",main:"dist/index.umd.js"}),e.jsx(f,{_key:"default-grid"},"default-grid")]})})}function K(){const r=i(({children:a})=>a),t=i(({ops:a})=>a);return e.jsxs(V,{vertical:!0,offset:-200,hidden:!0,children:[e.jsx(I,{}),e.jsx(A,{title:"Scene Graph",nodes:r,sceneOps:t})]})}function X(){const r=typeof window>"u";return e.jsxs(e.Fragment,{children:[e.jsx(T,{children:e.jsx("title",{children:"Vuer Editor"})}),e.jsxs("main",{children:[e.jsx(D,{children:r?null:e.jsx(U,{children:e.jsx(K,{})})}),e.jsx(R,{theme:{sizes:{rootWidth:"380px",controlWidth:"200px",numberInputMinWidth:"56px"}}})]})]})}const G=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"})),Y={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:S}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:E}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:g}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:P}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/editor/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:G}}};export{Y as configValuesSerialized};
2
+ //# sourceMappingURL=pages_editor.BvGv6pkK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_editor.BvGv6pkK.js","sources":["../../../../pages/editor/+Page.tsx"],"sourcesContent":["import { Helmet } from '@vuer-ai/react-helmet-async';\nimport './index.scss';\nimport * as VUER from '@vuer-ai/vuer';\nimport {\n Combine, ContribLoader,\n GraphView,\n Grid,\n Hands,\n HemisphereLightStage,\n PlaybackBar,\n PlaybackProvider,\n PlaybackStateProvider,\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 { Leva } from 'leva';\n\n/** inject globals for plugins */\nimport React, { useEffect, useMemo } from 'react';\nimport * as FIBER from '@react-three/fiber';\nimport 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';\n\n// import { HandActuator } from '@vuer-ai/mujoco-ts';\n//\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}\n\nfunction VuerPlayback() {\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 <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"default-hands\" fps={30} stream />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.24-rc11\"\n main=\"dist/index.umd.js\"\n />\n <Grid key=\"default-grid\" _key=\"default-grid\" />\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 <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"default-hands\" fps={30} stream />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.24-rc11\"\n main=\"dist/index.umd.js\"\n />\n <Grid key=\"default-grid\" _key=\"default-grid\" />\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 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 />\n </main>\n </>\n );\n}\n"],"names":["React","ReactDOM","VUER","THREE","JSX","FIBER","XR","Drei","VuerPlayback","playback","usePlayback","downlink","useSocket","useEffect","cancel","f","combinedStream","useMemo","Combine","jsxs","ResizableSwitch","jsx","SceneFileDropContainer","SceneContainer","HemisphereLightStage","Hands","ContribLoader","Grid","Fragment","PlaybackStateProvider","TimelineStateProvider","PlaybackBar","TimelineFileDrop","Timeline","SidePanelView","children","useSceneStore","sceneOps","ops","Resizable","GraphView","Page","isSSR","Helmet","PlaybackProvider","WebSocketProvider","Leva"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{u as r,j as o,i,a as n,b as l,c as d}from"../chunks/chunk-CJqYWPfW.js";function s(){const e=r();let{is404:t,abortReason:a}=e;return a||(a=t?"Page not found.":"Something went wrong."),o.jsx(p,{children:o.jsx("p",{style:{fontSize:"1.3em"},children:a})})}function p({style:e,...t}){return o.jsx("div",{style:{height:"calc(100vh - 100px)",display:"flex",justifyContent:"center",alignItems:"center",...e},...t})}const u=Object.freeze(Object.defineProperty({__proto__:null,Page:s},Symbol.toStringTag,{value:"Module"})),h={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:i}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:n}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:l}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:d}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/_error/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:u}}};export{h as configValuesSerialized};
2
+ //# sourceMappingURL=pages_error.D6auTzhG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_error.D6auTzhG.js","sources":["../../../../pages/_error/+Page.tsx"],"sourcesContent":["export { Page }\n\nimport React from 'react'\nimport { usePageContext } from '../../renderer/usePageContext'\n\nfunction Page() {\n const pageContext = usePageContext()\n let { is404, abortReason } = pageContext\n if (!abortReason) {\n abortReason = is404 ? 'Page not found.' : 'Something went wrong.'\n }\n return (\n <Center>\n <p style={{ fontSize: '1.3em' }}>{abortReason}</p>\n </Center>\n )\n}\n\nfunction Center({ style, ...props }: any) {\n return (\n <div\n style={{\n height: 'calc(100vh - 100px)',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n ...style\n }}\n {...props}\n ></div>\n )\n}\n"],"names":["Page","pageContext","usePageContext","is404","abortReason","jsx","Center","style","props"],"mappings":"8EAKA,SAASA,GAAO,CACd,MAAMC,EAAcC,EAAe,EAC/B,GAAA,CAAE,MAAAC,EAAO,YAAAC,CAAA,EAAgBH,EAC7B,OAAKG,IACHA,EAAcD,EAAQ,kBAAoB,yBAG1CE,EAAA,IAACC,EACC,CAAA,SAAAD,EAAAA,IAAC,IAAE,CAAA,MAAO,CAAE,SAAU,OAAY,EAAA,SAAAD,CAAA,CAAY,CAChD,CAAA,CAEJ,CAEA,SAASE,EAAO,CAAE,MAAAC,EAAO,GAAGC,GAAc,CAEtC,OAAAH,EAAA,IAAC,MAAA,CACC,MAAO,CACL,OAAQ,sBACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,GAAGE,CACL,EACC,GAAGC,CAAA,CACL,CAEL"}
@@ -0,0 +1,2 @@
1
+ import{o as i,R as l,J as d,r as a,j as t,H as u,i as p,a as f,b as c,c as m}from"../chunks/chunk-CJqYWPfW.js";import{V as h,T as w,F as T,i as y,n as S,k as x,N as g,b as E,e as j,U as P}from"../chunks/chunk-Bfuqp34V.js";import{X as v,D as z}from"../chunks/chunk-ChCpIqvJ.js";import"../chunks/chunk-D7HrI6pR.js";const U="_main_ct6c1_1",R={main:U};typeof window<"u"&&(window.React=i,window.ReactDOM=l,window.VUER=h,window.THREE=w,window.JSX=d,window.FIBER=T,window.XR=v,window.Drei=z);function D(){return t.jsxs(x,{bgChildren:[t.jsx(g,{},"default-light-stage"),t.jsx(E,{},"hands")],children:[t.jsx(j,{_key:"contrib-loader-mujoco",library:"@vuer-ai/mujoco-ts",version:"0.0.24-rc11",main:"dist/index.umd.js"}),t.jsx(P,{},"default-grid"),","]})}function A(){const s=typeof window>"u",[{message:b,mtype:_},o]=a.useState({message:null,mtype:null});a.useEffect(()=>{const e=console.error;return()=>{console.error=e}},[]),a.useEffect(()=>{const e=console.warn;return console.warn=r=>{setTimeout(()=>{o({message:r,mtype:"warning"}),console.log(r)},1)},()=>{console.warn=e}},[]);const n=a.useMemo(()=>({showError:e=>setTimeout(()=>o({message:e,mtype:"error"}),1),showSuccess:e=>setTimeout(()=>o({message:e,mtype:"success"}),1),showWarning:e=>setTimeout(()=>o({message:e,mtype:"warning"}),1),showInfo:e=>setTimeout(()=>o({message:e,mtype:"info"}),1),showModal:e=>{console.log(e)}}),[]);return t.jsxs(t.Fragment,{children:[t.jsx(u,{children:t.jsx("title",{children:"Vuer (Technical Preview)"})}),t.jsx("main",{className:R.main,children:t.jsx(y,{value:n,children:s?null:t.jsx(S,{children:t.jsx(D,{})})})})]})}const V=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"})),X={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:p}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:f}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:c}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:m}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/index/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:V}}};export{X as configValuesSerialized};
2
+ //# sourceMappingURL=pages_index.BeavKUpT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_index.BeavKUpT.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,\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';\n\n// import { HandActuator } from '@vuer-ai/mujoco-ts';\n//\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}\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 <HemisphereLightStage key=\"default-light-stage\" />,\n <Hands key=\"hands\" />,\n ]}\n >\n <ContribLoader\n _key=\"contrib-loader-mujoco\"\n library=\"@vuer-ai/mujoco-ts\"\n version=\"0.0.24-rc11\"\n main=\"dist/index.umd.js\"\n />\n <Grid key=\"default-grid\" />,\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","AppView","jsxs","VuerRoot","jsx","HemisphereLightStage","Hands","ContribLoader","Grid","Page","isSSR","message","mtype","setState","useState","useEffect","oldError","oldWarn","err","context","useMemo","Fragment","Helmet","style","AppProvider","WebSocketProvider"],"mappings":"4VA2CI,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,GAShB,SAASC,GAAU,CAEf,OAAAC,EAAA,KAACC,EAAA,CACC,WAAY,CACVC,MAACC,KAAyB,qBAAsB,EAChDD,MAACE,KAAU,OAAQ,CACrB,EAEA,SAAA,CAAAF,EAAA,IAACG,EAAA,CACC,KAAK,wBACL,QAAQ,qBACR,QAAQ,cACR,KAAK,mBAAA,CACP,EACAH,MAACI,KAAS,cAAe,EAAE,GAAA,CAAA,CAC7B,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,OAEIT,EAAA,KAAAmB,WAAA,CAAA,SAAA,CAAAjB,MAACkB,EACC,CAAA,SAAAlB,EAAA,IAAC,QAAM,CAAA,SAAA,0BAAwB,CAAA,EACjC,QACC,OAAK,CAAA,UAAWmB,EAAM,KAOrB,SAAAnB,MAACoB,GAAY,MAAOL,EACjB,SAACT,EAIE,WAHDe,EACC,CAAA,SAAArB,EAAAA,IAACH,IAAQ,CACX,CAAA,CAEJ,CAAA,CAEF,CAAA,CAAA,EACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as e,f as t,H as a,r,i as o,a as i,b as l,c as d}from"../chunks/chunk-CJqYWPfW.js";import{fc as n,fd as s}from"../chunks/chunk-Bfuqp34V.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 f=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:o}},onPageTransitionEnd:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionEnd.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:i}},onPageTransitionStart:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onPageTransitionStart.ts",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:l}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"/renderer/+onRenderClient.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:d}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/pages/simple/+Page.tsx",fileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:f}}};export{S as configValuesSerialized};
2
+ //# sourceMappingURL=pages_simple.B6Yx1v5Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages_simple.B6Yx1v5Z.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"}
@@ -0,0 +1 @@
1
+ html,body{width:100vw;height:100vh}main{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}
@@ -0,0 +1 @@
1
+ ._main_ct6c1_1{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;overflow:hidden}
@@ -0,0 +1 @@
1
+ body{margin:0;font-family:sans-serif}*{box-sizing:border-box}a{text-decoration:none}code{font-family:monospace;background-color:#eaeaea;padding:3px 5px;border-radius:4px}#page-container{position:relative;width:100%}#page-container:before{content:"";position:absolute;width:100%;height:100%;z-index:999;background:no-repeat url("data:image/svg+xml,%3csvg%20version='1.1'%20id='L9'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20100%20100'%20enable-background='new%200%200%200%200'%20xml:space='preserve'%3e%3cpath%20fill='%23aaa'%20d='M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50%20M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50'%3e%3canimateTransform%20attributeName='transform'%20attributeType='XML'%20type='rotate'%20dur='1s'%20from='0%2050%2050'%20to='360%2050%2050'%20repeatCount='indefinite'%3e%3c/animateTransform%3e%3c/path%3e%3c/svg%3e");background-size:100px;background-position:center center;pointer-events:none;opacity:0}body.page-is-transitioning #page-container:before{opacity:1}#page-content,#page-container:before{transition:opacity .5s ease-in-out}body.page-is-transitioning #page-content{opacity:.17}#sidebar a{padding:2px 10px;margin-left:-10px}#sidebar a.is-active{background-color:#eee}
@@ -1,17 +1,18 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.DQ-loHhw.css">
5
- <link rel="stylesheet" type="text/css" href="/assets/static/editor.e6iYOnjc.css">
4
+ <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.C5hpRi0h.css">
5
+ <link rel="stylesheet" type="text/css" href="/assets/static/editor.B6qEVXNb.css">
6
6
  <title>Vuer.AI</title>
7
7
  </head>
8
8
  <body>
9
9
  <div id="react-root"><div id="react-root" style="padding:0;height:100%;width:100%"><main><div class="leva-c-kWgxhW leva-c-kWgxhW-bCBHqk-fill-false leva-c-kWgxhW-eXrJvq-flat-false leva-c-kWgxhW-czBHep-hideTitleBar-false leva-t-crYJWz" style="display:none"><div class="leva-c-hwBXYF leva-c-hwBXYF-kbKHjH-mode-drag"><i class="leva-c-ctBOWy"><svg width="12" height="8" viewBox="0 0 9 5" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(0deg)" class="leva-c-cHvNmv"><path d="M3.8 4.4c.4.3 1 .3 1.4 0L8 1.7A1 1 0 007.4 0H1.6a1 1 0 00-.7 1.7l3 2.7z"></path></svg></i><div class="leva-c-iLtnIm leva-c-iLtnIm-bOgTWZ-drag-true"><svg width="20" height="10" viewBox="0 0 28 14" xmlns="http://www.w3.org/2000/svg"><circle cx="2" cy="2" r="2"></circle><circle cx="14" cy="2" r="2"></circle><circle cx="26" cy="2" r="2"></circle><circle cx="2" cy="12" r="2"></circle><circle cx="14" cy="12" r="2"></circle><circle cx="26" cy="12" r="2"></circle></svg></div><i class="leva-c-ctBOWy"><svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 0 20 20"><path d="M9 9a2 2 0 114 0 2 2 0 01-4 0z"></path><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z" clip-rule="evenodd"></path></svg></i></div><div class="leva-c-fxiFTg leva-c-fxiFTg-dbaoCM-toggled-false"><input placeholder="[Open filter with CMD+SHIFT+L]" class="leva-c-iYYzmZ" value=""/><i style="visibility:hidden" class="leva-c-ctBOWy"><svg xmlns="http://www.w3.org/2000/svg" height="14" width="14" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"></path></svg></i></div></div></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/editor","routeParams":{},"data":"!undefined"}</script>
11
- <script src="/assets/entries/entry-client-routing.DwwkIs_s.js" type="module" async></script>
12
- <link rel="modulepreload" href="/assets/entries/pages_editor.vu7gyt89.js" as="script" type="text/javascript">
13
- <link rel="modulepreload" href="/assets/chunks/chunk-CYTjWIao.js" as="script" type="text/javascript">
14
- <link rel="modulepreload" href="/assets/chunks/chunk-CsvNjlxk.js" as="script" type="text/javascript">
15
- <link rel="modulepreload" href="/assets/chunks/chunk-CbxBbXvJ.js" as="script" type="text/javascript">
11
+ <script src="/assets/entries/entry-client-routing.BH_27foy.js" type="module" async></script>
12
+ <link rel="modulepreload" href="/assets/entries/pages_editor.BvGv6pkK.js" as="script" type="text/javascript">
13
+ <link rel="modulepreload" href="/assets/chunks/chunk-CJqYWPfW.js" as="script" type="text/javascript">
14
+ <link rel="modulepreload" href="/assets/chunks/chunk-Bfuqp34V.js" as="script" type="text/javascript">
15
+ <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
16
+ <link rel="modulepreload" href="/assets/chunks/chunk-ChCpIqvJ.js" as="script" type="text/javascript">
16
17
  </body>
17
18
  </html>
@@ -1,17 +1,18 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.DQ-loHhw.css">
5
- <link rel="stylesheet" type="text/css" href="/assets/static/index.CdgWIjKL.css">
4
+ <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.C5hpRi0h.css">
5
+ <link rel="stylesheet" type="text/css" href="/assets/static/index.BbAhTARb.css">
6
6
  <title>Vuer.AI</title>
7
7
  </head>
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.DwwkIs_s.js" type="module" async></script>
12
- <link rel="modulepreload" href="/assets/entries/pages_index.DiE1MKmp.js" as="script" type="text/javascript">
13
- <link rel="modulepreload" href="/assets/chunks/chunk-CYTjWIao.js" as="script" type="text/javascript">
14
- <link rel="modulepreload" href="/assets/chunks/chunk-CsvNjlxk.js" as="script" type="text/javascript">
15
- <link rel="modulepreload" href="/assets/chunks/chunk-CbxBbXvJ.js" as="script" type="text/javascript">
11
+ <script src="/assets/entries/entry-client-routing.BH_27foy.js" type="module" async></script>
12
+ <link rel="modulepreload" href="/assets/entries/pages_index.BeavKUpT.js" as="script" type="text/javascript">
13
+ <link rel="modulepreload" href="/assets/chunks/chunk-CJqYWPfW.js" as="script" type="text/javascript">
14
+ <link rel="modulepreload" href="/assets/chunks/chunk-Bfuqp34V.js" as="script" type="text/javascript">
15
+ <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
16
+ <link rel="modulepreload" href="/assets/chunks/chunk-ChCpIqvJ.js" as="script" type="text/javascript">
16
17
  </body>
17
18
  </html>
@@ -1 +1,21 @@
1
- export default function Page(): import("react/jsx-runtime").JSX.Element;
1
+ import { default as React } from 'react';
2
+ import { default as ReactDOM } from 'react-dom';
3
+ import * as VUER from '@vuer-ai/vuer';
4
+ import * as FIBER from '@react-three/fiber';
5
+ import * as THREE from 'three';
6
+ import * as JSX from 'react/jsx-runtime';
7
+ import * as Drei from '@react-three/drei';
8
+ import * as XR from '@react-three/xr';
9
+ declare global {
10
+ interface Window {
11
+ React: typeof React;
12
+ ReactDOM: typeof ReactDOM;
13
+ VUER: typeof VUER;
14
+ THREE: typeof THREE;
15
+ JSX: typeof JSX;
16
+ FIBER: typeof FIBER;
17
+ XR: typeof XR;
18
+ Drei: typeof Drei;
19
+ }
20
+ }
21
+ export default function Page(): JSX.JSX.Element;
@@ -1,2 +1,22 @@
1
- declare function Page(): import("react/jsx-runtime").JSX.Element;
1
+ import { default as React } from 'react';
2
+ import { default as ReactDOM } from 'react-dom';
3
+ import * as THREE from 'three';
4
+ import * as JSX from 'react/jsx-runtime';
5
+ import * as FIBER from '@react-three/fiber';
6
+ import * as VUER from '@vuer-ai/vuer';
7
+ import * as Drei from '@react-three/drei';
8
+ import * as XR from '@react-three/xr';
9
+ declare global {
10
+ interface Window {
11
+ React: typeof React;
12
+ ReactDOM: typeof ReactDOM;
13
+ VUER: typeof VUER;
14
+ THREE: typeof THREE;
15
+ JSX: typeof JSX;
16
+ FIBER: typeof FIBER;
17
+ XR: typeof XR;
18
+ Drei: typeof Drei;
19
+ }
20
+ }
21
+ declare function Page(): JSX.JSX.Element;
2
22
  export default Page;
@@ -1,16 +1,16 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.DQ-loHhw.css">
4
+ <link rel="stylesheet" type="text/css" href="/assets/static/onRenderClient.C5hpRi0h.css">
5
5
  <title>Vuer.AI</title>
6
6
  </head>
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.DwwkIs_s.js" type="module" async></script>
11
- <link rel="modulepreload" href="/assets/entries/pages_simple.tQB5fH89.js" as="script" type="text/javascript">
12
- <link rel="modulepreload" href="/assets/chunks/chunk-CYTjWIao.js" as="script" type="text/javascript">
13
- <link rel="modulepreload" href="/assets/chunks/chunk-CsvNjlxk.js" as="script" type="text/javascript">
14
- <link rel="modulepreload" href="/assets/chunks/chunk-CbxBbXvJ.js" as="script" type="text/javascript">
10
+ <script src="/assets/entries/entry-client-routing.BH_27foy.js" type="module" async></script>
11
+ <link rel="modulepreload" href="/assets/entries/pages_simple.B6Yx1v5Z.js" as="script" type="text/javascript">
12
+ <link rel="modulepreload" href="/assets/chunks/chunk-CJqYWPfW.js" as="script" type="text/javascript">
13
+ <link rel="modulepreload" href="/assets/chunks/chunk-Bfuqp34V.js" as="script" type="text/javascript">
14
+ <link rel="modulepreload" href="/assets/chunks/chunk-D7HrI6pR.js" as="script" type="text/javascript">
15
15
  </body>
16
16
  </html>
vuer/frame/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ from .convert import *
2
+ from .to_mat import *
vuer/frame/convert.py ADDED
@@ -0,0 +1,44 @@
1
+ import numpy as np
2
+
3
+ # fmt: off
4
+ Z2Y = np.array([
5
+ [1, 0, 0, 0],
6
+ [0, 0, 1, 0],
7
+ [0, -1, 0, 0],
8
+ [0, 0, 0, 1]
9
+ ])
10
+
11
+ Y2Z = np.array([
12
+ [1, 0, 0, 0],
13
+ [0, 0, -1, 0],
14
+ [0, 1, 0, 0],
15
+ [0, 0, 0, 1]
16
+ ])
17
+
18
+ X2Y = np.array([
19
+ [0, 0, -1, 0],
20
+ [1, 0, 0, 0],
21
+ [0, -1, 0, 0],
22
+ [0, 0, 0, 1]
23
+ ])
24
+
25
+ Y2X = np.array([
26
+ [0, 1, 0, 0],
27
+ [-1, 0, 0, 0],
28
+ [0, 0, 1, 0],
29
+ [0, 0, 0, 1]
30
+ ])
31
+
32
+ X2Z = np.array([
33
+ [0, -1, 0, 0],
34
+ [0, 0, -1, 0],
35
+ [1, 0, 0, 0],
36
+ [0, 0, 0, 1]
37
+ ])
38
+
39
+ Z2X = np.array([
40
+ [0, 0, 1, 0],
41
+ [1, 0, 0, 0],
42
+ [0, 1, 0, 0],
43
+ [0, 0, 0, 1]
44
+ ])
vuer/frame/to_mat.py ADDED
@@ -0,0 +1,50 @@
1
+ import numpy as np
2
+
3
+
4
+ def to_mat(pos, quat):
5
+ """
6
+ Convert a quaternion and position to a 4x4 transformation matrix.
7
+
8
+ :param quat: A list or numpy array of 4 elements [x, y, z, w] representing the quaternion
9
+ :param pos: A list or numpy array of 3 elements [x, y, z] representing the position
10
+ :return: A 4x4 numpy array representing the transformation matrix
11
+ """
12
+ # Ensure inputs are numpy arrays
13
+ q = np.array(quat, dtype=np.float64)
14
+ p = np.array(pos, dtype=np.float64)
15
+
16
+ # Normalize the quaternion
17
+ q /= np.linalg.norm(q)
18
+
19
+ # Extract the values from the quaternion
20
+ x, y, z, w = q
21
+
22
+ # Compute the rotation matrix elements
23
+ x2, y2, z2 = x * x, y * y, z * z
24
+ xy, xz, yz, wx, wy, wz = x * y, x * z, y * z, w * x, w * y, w * z
25
+
26
+ # Construct the rotation matrix
27
+ # fmt: off
28
+ rot_matrix = np.array([
29
+ [1 - 2 * (y2 + z2), 2 * (xy - wz), 2 * (xz + wy), 0],
30
+ [2 * (xy + wz), 1 - 2 * (x2 + z2), 2 * (yz - wx), 0],
31
+ [2 * (xz - wy), 2 * (yz + wx), 1 - 2 * (x2 + y2), 0],
32
+ [0, 0, 0, 1]
33
+ ])
34
+ # fmt: on
35
+
36
+ # Add the translation
37
+ rot_matrix[:3, 3] = p
38
+
39
+ return rot_matrix
40
+
41
+
42
+ # Example usage
43
+ if __name__ == "__main__":
44
+ # Example quaternion [x, y, z, w] and position [x, y, z]
45
+ quat_example = [0, 0, 0, 1] # Identity rotation
46
+ pos_example = [1, 2, 3]
47
+
48
+ matrix = to_mat(quat_example, pos_example)
49
+ print("Resulting transformation matrix:")
50
+ print(matrix)
vuer/schemas/__init__.py CHANGED
@@ -2,3 +2,4 @@ from .html_components import *
2
2
  from .scene_components import *
3
3
  from .drei_components import *
4
4
  from .physics_components import *
5
+ from .vuer_components import *
@@ -27,17 +27,6 @@ class MuJoCo(SceneElement):
27
27
  useMocap = True
28
28
  gizmoScale = 0.3
29
29
 
30
- # def __init__(self, src: str, assets: List[str] = [], workDir: str = None, speed: float = 1.0, pause: bool = True, fps: int = 60, timeout: float = 0.0, keyFrames: List[str] = [], **kwargs):
31
- # super().__init__(**kwargs)
32
- # self.src = src
33
- # self.assets = assets
34
- # self.workDir = workDir
35
- # self.speed = speed
36
- # self.pause = pause
37
- # self.fps = fps
38
- # self.timeout = timeout
39
- # self.keyFrames = keyFrames
40
-
41
30
 
42
31
  class HandActuator(SceneElement):
43
32
  tag = "HandActuator"
@@ -49,3 +38,26 @@ class HandActuator(SceneElement):
49
38
  cond = 'right-squeeze'
50
39
  value = "right:thumb-tip,right:index-finger-tip"
51
40
  scale = 1.0
41
+
42
+ class MotionControllerActuator(SceneElement):
43
+ """
44
+ MotionControllerActuator component for actuating the MuJoCo simulation based on motion controller inputs.
45
+
46
+ :param ctrlId: The control ID in the MuJoCo simulation to actuate.
47
+ :type ctrlId: int
48
+ :param low: The minimum value for actuation.
49
+ :type low: float
50
+ :param high: The maximum value for actuation.
51
+ :type high: float
52
+ :param cond: The condition for actuation, e.g., 'right-trigger'.
53
+ :type cond: str
54
+ :param scale: The scaling factor applied to the input value for actuation.
55
+ :type scale: float
56
+ """
57
+ tag = "MotionControllerActuator"
58
+
59
+ ctrlId: int = -1
60
+ low: float = 0.0
61
+ high: float = 1.0
62
+ cond: str = 'right-trigger'
63
+ scale: float = 1.0