janusweb 1.5.41 → 1.5.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +23 -0
- package/css/janusweb.css +7 -2
- package/media/assets/webui/apps/buttons/buttons.js +17 -43
- package/media/assets/webui/apps/comms/chat.html +1 -0
- package/media/assets/webui/apps/comms/chat_message.html +1 -1
- package/media/assets/webui/apps/comms/comms.js +14 -7
- package/media/assets/webui/apps/comms/external/naf-shim.js +1 -1
- package/media/assets/webui/apps/comms/voip.css +32 -3
- package/media/assets/webui/apps/comms/voip.js +191 -12
- package/media/assets/webui/apps/editor/editor.css +1 -0
- package/media/assets/webui/apps/editor/editor.js +97 -20
- package/media/assets/webui/apps/inventory/inventory.css +2 -1
- package/media/assets/webui/apps/locomotion/teleporter.js +21 -10
- package/media/assets/webui/apps/xrmenu/images/audio-settings.png +0 -0
- package/media/assets/webui/apps/xrmenu/xrmenu-assets.json +2 -1
- package/media/assets/webui/apps/xrmenu/xrmenu.js +119 -32
- package/media/assets/webui/themes/default.css +42 -0
- package/media/lib/basis/basis_transcoder.js +8 -8
- package/media/lib/basis/basis_transcoder.wasm +0 -0
- package/media/lib/three-icosa/brushes/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e-v10.0-fragment.glsl +284 -0
- package/media/lib/three-icosa/brushes/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/BlocksGem-232998f8-d357-47a2-993a-53415df9be10/BlocksGem-232998f8-d357-47a2-993a-53415df9be10-v10.0-fragment.glsl +334 -0
- package/media/lib/three-icosa/brushes/BlocksGem-232998f8-d357-47a2-993a-53415df9be10/BlocksGem-232998f8-d357-47a2-993a-53415df9be10-v10.0-vertex.glsl +46 -0
- package/media/lib/three-icosa/brushes/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7-v10.0-fragment.glsl +248 -0
- package/media/lib/three-icosa/brushes/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-fragment.glsl +34 -0
- package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-vertex.glsl +120 -0
- package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-fragment.glsl +89 -0
- package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816-v10.0-fragment.glsl +69 -0
- package/media/lib/three-icosa/brushes/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-fragment.glsl +289 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-fragment.glsl +292 -0
- package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-AlphaMask.png +0 -0
- package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-fragment.glsl +65 -0
- package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-fragment.glsl +481 -0
- package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-vertex.glsl +57 -0
- package/media/lib/three-icosa/brushes/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +290 -0
- package/media/lib/three-icosa/brushes/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +70 -0
- package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-fragment.glsl +113 -0
- package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-fragment.glsl +35 -0
- package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-vertex.glsl +120 -0
- package/media/lib/three-icosa/brushes/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126-v10.0-fragment.glsl +286 -0
- package/media/lib/three-icosa/brushes/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126-v10.0-vertex.glsl +54 -0
- package/media/lib/three-icosa/brushes/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126-v10.0-fragment.glsl +81 -0
- package/media/lib/three-icosa/brushes/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126-v10.0-vertex.glsl +54 -0
- package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-fragment.glsl +376 -0
- package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-fragment.glsl +378 -0
- package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51-v10.0-fragment.glsl +50 -0
- package/media/lib/three-icosa/brushes/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51-v10.0-vertex.glsl +79 -0
- package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-fragment.glsl +32 -0
- package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-vertex.glsl +152 -0
- package/media/lib/three-icosa/brushes/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7-v1.0-fragment.glsl +288 -0
- package/media/lib/three-icosa/brushes/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7-v1.0-vertex.glsl +47 -0
- package/media/lib/three-icosa/brushes/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b-v1.0-fragment.glsl +288 -0
- package/media/lib/three-icosa/brushes/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b-v1.0-vertex.glsl +50 -0
- package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-fragment.glsl +61 -0
- package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70-v10.0-fragment.glsl +285 -0
- package/media/lib/three-icosa/brushes/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130-v10.0-fragment.glsl +286 -0
- package/media/lib/three-icosa/brushes/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18-v10.0-fragment.glsl +285 -0
- package/media/lib/three-icosa/brushes/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-fragment.glsl +40 -0
- package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-fragment.glsl +33 -0
- package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-fragment.glsl +386 -0
- package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-fragment.glsl +385 -0
- package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-fragment.glsl +376 -0
- package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-fragment.glsl +376 -0
- package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-fragment.glsl +377 -0
- package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-fragment.glsl +319 -0
- package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-fragment.glsl +47 -0
- package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +330 -0
- package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +64 -0
- package/media/lib/three-icosa/brushes/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda-v10.0-fragment.glsl +285 -0
- package/media/lib/three-icosa/brushes/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-fragment.glsl +87 -0
- package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa-v10.0-fragment.glsl +285 -0
- package/media/lib/three-icosa/brushes/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6-v10.0-fragment.glsl +267 -0
- package/media/lib/three-icosa/brushes/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-fragment.glsl +377 -0
- package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-fragment.glsl +376 -0
- package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-fragment.glsl +377 -0
- package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0-v1.0-fragment.glsl +370 -0
- package/media/lib/three-icosa/brushes/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0-v1.0-vertex.glsl +48 -0
- package/media/lib/three-icosa/brushes/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf-v1.0-fragment.glsl +374 -0
- package/media/lib/three-icosa/brushes/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf-v1.0-vertex.glsl +48 -0
- package/media/lib/three-icosa/brushes/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc-v10.0-fragment.glsl +367 -0
- package/media/lib/three-icosa/brushes/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-fragment.glsl +64 -0
- package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960-v10.0-fragment.glsl +70 -0
- package/media/lib/three-icosa/brushes/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3-v10.0-fragment.glsl +367 -0
- package/media/lib/three-icosa/brushes/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-fragment.glsl +30 -0
- package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-vertex.glsl +125 -0
- package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-fragment.glsl +31 -0
- package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-vertex.glsl +143 -0
- package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-fragment.glsl +34 -0
- package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa-v10.0-fragment.glsl +285 -0
- package/media/lib/three-icosa/brushes/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-fragment.glsl +290 -0
- package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-fragment.glsl +291 -0
- package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-fragment.glsl +31 -0
- package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-vertex.glsl +128 -0
- package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-fragment.glsl +63 -0
- package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-fragment.glsl +113 -0
- package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-vertex.glsl +62 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-fragment.glsl +292 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-fragment.glsl +287 -0
- package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-vertex.glsl +58 -0
- package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-fragment.glsl +113 -0
- package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0-v10.0-fragment.glsl +314 -0
- package/media/lib/three-icosa/brushes/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0/TaperedMarker_Flat-1a26b8c0-8a07-4f8a-9fac-d2ef36e0cad0-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-fragment.glsl +378 -0
- package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-fragment.glsl +380 -0
- package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-vertex.glsl +58 -0
- package/media/lib/three-icosa/brushes/Toon-4391385a-df73-4396-9e33-31e4e4930b27/Toon-4391385a-df73-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +85 -0
- package/media/lib/three-icosa/brushes/Toon-4391385a-df73-4396-9e33-31e4e4930b27/Toon-4391385a-df73-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d-v10.0-fragment.glsl +81 -0
- package/media/lib/three-icosa/brushes/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-fragment.glsl +80 -0
- package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-fragment.glsl +82 -0
- package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-vertex.glsl +55 -0
- package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-fragment.glsl +376 -0
- package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-BumpMap.png +0 -0
- package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-fragment.glsl +313 -0
- package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-vertex.glsl +58 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-fragment.glsl +377 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-vertex.glsl +60 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-MainTex.png +0 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-fragment.glsl +107 -0
- package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-vertex.glsl +58 -0
- package/media/lib/three-icosa/brushes/Wire-4391385a-cf83-4396-9e33-31e4e4930b27/Wire-4391385a-cf83-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +75 -0
- package/media/lib/three-icosa/brushes/Wire-4391385a-cf83-4396-9e33-31e4e4930b27/Wire-4391385a-cf83-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +60 -0
- package/media/manifest.json +1 -1
- package/package.json +2 -2
- package/scripts/client.js +20 -3
- package/scripts/elements/outliner.js +182 -0
- package/scripts/external/JanusClientConnection.js +14 -8
- package/scripts/external/JanusFireboxParser.js +1 -1
- package/scripts/image.js +1 -1
- package/scripts/janusbase.js +40 -17
- package/scripts/janusghost.js +17 -6
- package/scripts/januslight.js +46 -4
- package/scripts/janusparticle.js +121 -15
- package/scripts/janusplayer.js +176 -92
- package/scripts/janusweb.js +9 -5
- package/scripts/janusxrplayer.js +152 -20
- package/scripts/multiplayermanager.js +4 -0
- package/scripts/object.js +83 -38
- package/scripts/parts.js +1 -1
- package/scripts/portal.js +13 -9
- package/scripts/remoteplayer.js +3 -2
- package/scripts/room.js +109 -32
- package/scripts/sound.js +8 -3
- package/scripts/text.js +9 -2
- package/scripts/tracking.js +1 -1
- package/scripts/ui/main.js +6 -2
- package/scripts/websurface.js +3 -3
|
@@ -115,7 +115,8 @@ elation.elements.define('janus.ui.editor.panel', class extends elation.elements.
|
|
|
115
115
|
'manipulate_out': [ 'keyboard_e', (ev) => this.editObjectManipulateOut(ev) ],
|
|
116
116
|
});
|
|
117
117
|
janus.engine.systems.controls.addContext('roomedit_paste', {
|
|
118
|
-
'
|
|
118
|
+
'add': [ 'keyboard_ctrl_a', (ev) => { if (ev.value == 1) this.showCreateDialog(ev); } ],
|
|
119
|
+
'paste': [ 'keyboard_ctrl_v', (ev) => { if (ev.value == 1) this.editObjectPaste(ev);} ],
|
|
119
120
|
});
|
|
120
121
|
janus.engine.systems.controls.activateContext('roomedit_paste');
|
|
121
122
|
|
|
@@ -134,6 +135,7 @@ elation.elements.define('janus.ui.editor.panel', class extends elation.elements.
|
|
|
134
135
|
room.addEventListener('wheel', (ev) => this.editObjectMousewheel(ev));
|
|
135
136
|
window.addEventListener('keydown', (ev) => this.editObjectKeydown(ev));
|
|
136
137
|
window.addEventListener('keyup', (ev) => this.editObjectKeyup(ev));
|
|
138
|
+
|
|
137
139
|
}
|
|
138
140
|
initRoomEvents(room) {
|
|
139
141
|
if (!this.initialized.has(room)) {
|
|
@@ -149,6 +151,40 @@ elation.elements.define('janus.ui.editor.panel', class extends elation.elements.
|
|
|
149
151
|
room.addEventListener('thing_remove', (ev) => this.handleThingRemove(ev));
|
|
150
152
|
this.initialized.add(room);
|
|
151
153
|
}
|
|
154
|
+
|
|
155
|
+
if (!this.outliner_selected) {
|
|
156
|
+
this.outliner_selected = room.createObject('outliner', {
|
|
157
|
+
col: 'lime',
|
|
158
|
+
opacity: .4,
|
|
159
|
+
outline: 3,
|
|
160
|
+
layers: '10',
|
|
161
|
+
});
|
|
162
|
+
this.outliner_hover = room.createObject('outliner', {
|
|
163
|
+
col: 'gray',
|
|
164
|
+
opacity: .4,
|
|
165
|
+
outline: 1,
|
|
166
|
+
layers: '10',
|
|
167
|
+
});
|
|
168
|
+
setTimeout(() => {
|
|
169
|
+
this.outliner_selected.col = 'lime';
|
|
170
|
+
this.outliner_hover.col = 'gray';
|
|
171
|
+
this.outliner_selected.setLayers('10');
|
|
172
|
+
this.outliner_hover.setLayers('10');
|
|
173
|
+
}, 0);
|
|
174
|
+
let editor = this;
|
|
175
|
+
this.outliner_hover.update = function() {
|
|
176
|
+
/*
|
|
177
|
+
let rc = player.raycast();
|
|
178
|
+
if (rc.length > 0 && rc[0].object !== room) {
|
|
179
|
+
this.select(rc[0].object);
|
|
180
|
+
} else {
|
|
181
|
+
this.deselect();
|
|
182
|
+
}
|
|
183
|
+
*/
|
|
184
|
+
}
|
|
185
|
+
} else if (this.outliner_selected.room !== room) {
|
|
186
|
+
room.appendChild(this.outliner_selected);
|
|
187
|
+
}
|
|
152
188
|
}
|
|
153
189
|
|
|
154
190
|
getManipulator() {
|
|
@@ -226,7 +262,7 @@ elation.elements.define('janus.ui.editor.panel', class extends elation.elements.
|
|
|
226
262
|
this.roomedit.rotationsnap = snap;
|
|
227
263
|
let manipulator = this.getManipulator();
|
|
228
264
|
if (snap == 'Off') snap = 0;
|
|
229
|
-
if (manipulator) manipulator.setRotationSnap(+snap * THREE.
|
|
265
|
+
if (manipulator) manipulator.setRotationSnap(+snap * THREE.MathUtils.DEG2RAD);
|
|
230
266
|
/*
|
|
231
267
|
if (this.elements.rotatesnap.value != snap) {
|
|
232
268
|
this.elements.rotatesnap.value = snap || 'Off';
|
|
@@ -329,6 +365,7 @@ console.log('set translation snap', ev.data, ev);
|
|
|
329
365
|
return locked;
|
|
330
366
|
}
|
|
331
367
|
editObject(object, isnew) {
|
|
368
|
+
if (this.roomedit.object) this.editObjectStop()
|
|
332
369
|
this.roomedit.object = object;
|
|
333
370
|
this.roomedit.parentObject = null;
|
|
334
371
|
this.roomedit.objectBoundingBox = false;
|
|
@@ -346,11 +383,13 @@ console.log('set translation snap', ev.data, ev);
|
|
|
346
383
|
object.addEventListener('load', (ev) => {
|
|
347
384
|
this.roomedit.objectBoundingBox = object.getBoundingBox(true);
|
|
348
385
|
this.editObjectUpdate();
|
|
349
|
-
this.editObjectShowWireframe();
|
|
386
|
+
//this.editObjectShowWireframe();
|
|
387
|
+
this.editObjectShowOutline();
|
|
350
388
|
console.log('update bbox', this.roomedit.objectBoundingBox);
|
|
351
389
|
});
|
|
352
390
|
|
|
353
|
-
object.pickable = false;
|
|
391
|
+
//object.pickable = false;
|
|
392
|
+
//console.log('set object unpickable', object);
|
|
354
393
|
|
|
355
394
|
room.addEventListener('mousemove', (ev) => this.editObjectMousemove(ev));
|
|
356
395
|
elation.events.add(this, 'mousedown', this.editObjectClick);
|
|
@@ -374,7 +413,8 @@ console.log('set translation snap', ev.data, ev);
|
|
|
374
413
|
// activate context
|
|
375
414
|
janus.engine.systems.controls.activateContext('roomedit', this);
|
|
376
415
|
|
|
377
|
-
this.editObjectShowWireframe();
|
|
416
|
+
//this.editObjectShowWireframe();
|
|
417
|
+
this.editObjectShowOutline();
|
|
378
418
|
this.editObjectShowInfo(object);
|
|
379
419
|
let manipulator = this.getManipulator();
|
|
380
420
|
manipulator.attach(object.objects['3d']);
|
|
@@ -393,6 +433,18 @@ console.log('set translation snap', ev.data, ev);
|
|
|
393
433
|
inventorypanel.refresh();
|
|
394
434
|
}
|
|
395
435
|
|
|
436
|
+
editObjectShowOutline() {
|
|
437
|
+
if (this.roomedit.object === room) {
|
|
438
|
+
this.outliner_selected.deselect();
|
|
439
|
+
} else {
|
|
440
|
+
this.outliner_selected.select(this.roomedit.object);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
editObjectRemoveOutline() {
|
|
444
|
+
if (this.outliner_selected) {
|
|
445
|
+
this.outliner_selected.deselect();
|
|
446
|
+
}
|
|
447
|
+
}
|
|
396
448
|
editObjectShowWireframe() {
|
|
397
449
|
if (this.roomedit.wireframe) {
|
|
398
450
|
this.editObjectRemoveWireframe();
|
|
@@ -518,7 +570,7 @@ console.log('set translation snap', ev.data, ev);
|
|
|
518
570
|
// restore collider
|
|
519
571
|
this.roomedit.object.collision_id = this.roomedit.collision_id;
|
|
520
572
|
this.roomedit.collision_id = false;
|
|
521
|
-
} else {
|
|
573
|
+
} else if (false) {
|
|
522
574
|
this.roomedit.object.collision_id = 'cube';
|
|
523
575
|
this.roomedit.object.collision_trigger = true;
|
|
524
576
|
this.roomedit.object.collision_scale = this.roomedit.objectBoundingBox.max.clone().sub(this.roomedit.objectBoundingBox.min);
|
|
@@ -534,11 +586,13 @@ console.log('set translation snap', ev.data, ev);
|
|
|
534
586
|
this.roomedit.object.dispatchEvent({type: 'edit', bubbles: true});
|
|
535
587
|
}
|
|
536
588
|
}
|
|
537
|
-
this.roomedit.object.pickable = true;
|
|
589
|
+
//this.roomedit.object.pickable = true;
|
|
590
|
+
this.roomedit.object.sync = true;
|
|
538
591
|
this.roomedit.object = false;
|
|
539
592
|
this.roomedit.raycast = false;
|
|
540
593
|
this.roomedit.parentObject = null;
|
|
541
|
-
this.editObjectRemoveWireframe();
|
|
594
|
+
//this.editObjectRemoveWireframe();
|
|
595
|
+
this.editObjectRemoveOutline();
|
|
542
596
|
this.editObjectRemoveParentWireframe();
|
|
543
597
|
let manipulator = this.getManipulator();
|
|
544
598
|
manipulator.detach();
|
|
@@ -573,7 +627,22 @@ console.log('set translation snap', ev.data, ev);
|
|
|
573
627
|
if (this.roomedit.object) {
|
|
574
628
|
var obj = this.roomedit.object;
|
|
575
629
|
if (this.roomedit.moving && this.roomedit.raycast && ev.element.getProxyObject() !== obj) {
|
|
576
|
-
|
|
630
|
+
let raycast = player.raycast(V(0, 0, -1));
|
|
631
|
+
if (raycast) {
|
|
632
|
+
let hit;
|
|
633
|
+
for (let i = 0; i < raycast.length; i++) {
|
|
634
|
+
if (raycast[i].object !== obj) {
|
|
635
|
+
hit = raycast[i];
|
|
636
|
+
break;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
if (hit) {
|
|
641
|
+
this.roomedit.objectPosition = hit.point;
|
|
642
|
+
}
|
|
643
|
+
} else {
|
|
644
|
+
this.roomedit.objectPosition = ev.data.point;
|
|
645
|
+
}
|
|
577
646
|
let manipulator = this.getManipulator();
|
|
578
647
|
manipulator.enabled = false;
|
|
579
648
|
this.editObjectUpdate();
|
|
@@ -641,7 +710,7 @@ console.log('set translation snap', ev.data, ev);
|
|
|
641
710
|
this.editObjectSnapVector(obj[attrname], this.roomedit.snap);
|
|
642
711
|
} else if (attrtype == 'euler') {
|
|
643
712
|
let rot = new THREE.Euler();
|
|
644
|
-
let move = (ev.deltaY > 0 ? -1 : 1) * this.roomedit.rotationsnap * THREE.
|
|
713
|
+
let move = (ev.deltaY > 0 ? -1 : 1) * this.roomedit.rotationsnap * THREE.MathUtils.DEG2RAD;
|
|
645
714
|
if (ev.ctrlKey) {
|
|
646
715
|
rot.x += move;
|
|
647
716
|
}
|
|
@@ -659,7 +728,7 @@ console.log('set translation snap', ev.data, ev);
|
|
|
659
728
|
let quat2 = new THREE.Quaternion().setFromEuler(rot);
|
|
660
729
|
quat.multiply(quat2);
|
|
661
730
|
obj[attrname].radians.setFromQuaternion(quat);
|
|
662
|
-
//this.editObjectSnapVector(obj[attrname], this.roomedit.rotationsnap * THREE.
|
|
731
|
+
//this.editObjectSnapVector(obj[attrname], this.roomedit.rotationsnap * THREE.MathUtils.DEG2RAD);
|
|
663
732
|
} else if (attrtype == 'color') {
|
|
664
733
|
let move = 4/255 * (ev.deltaY < 0 ? 1 : -1);
|
|
665
734
|
|
|
@@ -679,9 +748,9 @@ console.log('set translation snap', ev.data, ev);
|
|
|
679
748
|
col.g += move;
|
|
680
749
|
col.b += move;
|
|
681
750
|
}
|
|
682
|
-
col.r = THREE.
|
|
683
|
-
col.g = THREE.
|
|
684
|
-
col.b = THREE.
|
|
751
|
+
col.r = THREE.MathUtils.clamp(col.r, 0, 1);
|
|
752
|
+
col.g = THREE.MathUtils.clamp(col.g, 0, 1);
|
|
753
|
+
col.b = THREE.MathUtils.clamp(col.b, 0, 1);
|
|
685
754
|
console.log('opacity after', obj.opacity);
|
|
686
755
|
obj[mode] = col;
|
|
687
756
|
obj.opacity = obj.opacity;
|
|
@@ -707,7 +776,7 @@ obj.opacity = obj.opacity;
|
|
|
707
776
|
} else {
|
|
708
777
|
amount /= divisor;
|
|
709
778
|
}
|
|
710
|
-
obj[attrname] = THREE.
|
|
779
|
+
obj[attrname] = THREE.MathUtils.clamp(obj[attrname] + amount, min, max);
|
|
711
780
|
|
|
712
781
|
} else if (attrtype == 'boolean' || attrtype == 'bool') {
|
|
713
782
|
if (ev.deltaY < 1) {
|
|
@@ -831,10 +900,10 @@ obj.updateDirvecsFromOrientation();
|
|
|
831
900
|
else if (this.roomedit.snap == .01) amount = 15;
|
|
832
901
|
else if (this.roomedit.snap == .001) amount = 5;
|
|
833
902
|
|
|
834
|
-
let rot = new THREE.Euler().setFromVector3(vec.clone().multiplyScalar(amount * THREE.
|
|
903
|
+
let rot = new THREE.Euler().setFromVector3(vec.clone().multiplyScalar(amount * THREE.MathUtils.DEG2RAD));
|
|
835
904
|
let quat = new THREE.Quaternion();
|
|
836
905
|
quat.setFromEuler(rot);
|
|
837
|
-
//obj.rotation = V(rot.x * THREE.
|
|
906
|
+
//obj.rotation = V(rot.x * THREE.MathUtils.RAD2DEG, rot.y * THREE.MathUtils.RAD2DEG, rot.z * THREE.MathUtils.RAD2DEG);
|
|
838
907
|
obj.orientation.multiply(quat);
|
|
839
908
|
console.log('rotate it', vec.clone().multiplyScalar(amount), amount, rot, quat);
|
|
840
909
|
|
|
@@ -853,9 +922,9 @@ console.log('rotate it', vec.clone().multiplyScalar(amount), amount, rot, quat);
|
|
|
853
922
|
break;
|
|
854
923
|
case 'col':
|
|
855
924
|
let snap = 10 / 255;
|
|
856
|
-
obj.col = V(THREE.
|
|
857
|
-
THREE.
|
|
858
|
-
THREE.
|
|
925
|
+
obj.col = V(THREE.MathUtils.clamp(obj.col.r + vec.x * snap, 0, 1),
|
|
926
|
+
THREE.MathUtils.clamp(obj.col.g + vec.y * snap, 0, 1),
|
|
927
|
+
THREE.MathUtils.clamp(obj.col.b + vec.z * snap, 0, 1));
|
|
859
928
|
|
|
860
929
|
console.log('change color', obj.col, vec);
|
|
861
930
|
break;
|
|
@@ -1042,6 +1111,7 @@ console.log('change color', obj.col, vec);
|
|
|
1042
1111
|
if (obj) {
|
|
1043
1112
|
this.roomedit.pastebuffer = obj;
|
|
1044
1113
|
|
|
1114
|
+
/*
|
|
1045
1115
|
let data = new DataTransfer();
|
|
1046
1116
|
data.items.add('text/plain', 'blublub');
|
|
1047
1117
|
//data.items.add('x-janus/x-' + obj.tag, 'cool huh');
|
|
@@ -1050,6 +1120,7 @@ console.log('change color', obj.col, vec);
|
|
|
1050
1120
|
}, (e) => {
|
|
1051
1121
|
console.log('FAILED!', e);
|
|
1052
1122
|
});
|
|
1123
|
+
*/
|
|
1053
1124
|
}
|
|
1054
1125
|
}
|
|
1055
1126
|
editObjectCut(ev) {
|
|
@@ -1159,6 +1230,9 @@ console.log('[editor] scene added a thing', ev);
|
|
|
1159
1230
|
let parts = newobjargs[j].split('=');
|
|
1160
1231
|
objargs[parts[0]] = decodeURIComponent(parts[1]);
|
|
1161
1232
|
}
|
|
1233
|
+
if (objargs.id) {
|
|
1234
|
+
objargs.collision_id = objargs.id;
|
|
1235
|
+
}
|
|
1162
1236
|
newobject = room.createObject(objtype, objargs);
|
|
1163
1237
|
objects.push(newobject);
|
|
1164
1238
|
if (objects[0]) {
|
|
@@ -1361,6 +1435,9 @@ console.log('pastey!', ev.clipboardData.items[0], ev);
|
|
|
1361
1435
|
this.loadObjectFromURIList(url);
|
|
1362
1436
|
ev.preventDefault();
|
|
1363
1437
|
}
|
|
1438
|
+
showCreateDialog(ev) {
|
|
1439
|
+
console.log('create thing?');
|
|
1440
|
+
}
|
|
1364
1441
|
});
|
|
1365
1442
|
|
|
1366
1443
|
elation.elements.define('janus.ui.editor.objectinfo', class extends elation.elements.base {
|
|
@@ -65,9 +65,9 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
65
65
|
rand_pos: V(.5,0,.5),
|
|
66
66
|
accel: V(0,-1,0),
|
|
67
67
|
rand_accel: V(0,2,0),
|
|
68
|
-
rate:
|
|
68
|
+
rate: 10,
|
|
69
69
|
count: 60,
|
|
70
|
-
duration:
|
|
70
|
+
duration: 3,
|
|
71
71
|
collision_id: '',
|
|
72
72
|
collidable: false,
|
|
73
73
|
pickable: false,
|
|
@@ -113,11 +113,18 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
113
113
|
onchange: ev => this.handleTeleportChange(ev),
|
|
114
114
|
onactivate: ev => this.handleTeleportTurn(ev),
|
|
115
115
|
},
|
|
116
|
-
'
|
|
116
|
+
'teleport_y_right': {
|
|
117
117
|
defaultbindings: 'gamepad_any_axis_1,gamepad_any_axis_3',
|
|
118
|
-
onchange: ev => this.handleTeleportChange(ev),
|
|
119
|
-
onactivate: ev => this.handleTeleportStart(ev),
|
|
118
|
+
onchange: ev => this.handleTeleportChange(ev, 'right'),
|
|
119
|
+
onactivate: ev => this.handleTeleportStart(ev, 'right'),
|
|
120
|
+
},
|
|
121
|
+
/*
|
|
122
|
+
'teleport_y_left': {
|
|
123
|
+
defaultbindings: 'gamepad_6_axis_1,gamepad_6_axis_3',
|
|
124
|
+
onchange: ev => this.handleTeleportChange(ev, 'left'),
|
|
125
|
+
onactivate: ev => this.handleTeleportStart(ev, 'left'),
|
|
120
126
|
},
|
|
127
|
+
*/
|
|
121
128
|
'teleport_trigger': {
|
|
122
129
|
defaultbindings: 'gamepad_any_button_0',
|
|
123
130
|
onactivate: ev => this.handleTeleportTrigger(ev),
|
|
@@ -147,6 +154,7 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
147
154
|
} else {
|
|
148
155
|
startpoint = player.head.localToWorld(V(0,0,0));
|
|
149
156
|
v0 = player.head.localToWorld(V(0,0,-speed)).sub(startpoint);
|
|
157
|
+
return; // Head-locked teleporter is awkward, do we really still support this?
|
|
150
158
|
}
|
|
151
159
|
let i = 0,
|
|
152
160
|
p0 = startpoint.clone(),
|
|
@@ -210,7 +218,7 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
210
218
|
//if (!room.teleport) return;
|
|
211
219
|
if (this.teleportactive) {
|
|
212
220
|
let controls = this.activecontrols;
|
|
213
|
-
let xy = new THREE.Vector2(controls.teleport_x, controls.
|
|
221
|
+
let xy = new THREE.Vector2(controls.teleport_x, controls['teleport_y_' + this.teleporthand]),
|
|
214
222
|
len = xy.length();
|
|
215
223
|
|
|
216
224
|
if (len > .8) {
|
|
@@ -228,7 +236,7 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
228
236
|
if (!room.teleport) return;
|
|
229
237
|
if (!this.teleportactive && Math.abs(ev.value) > .8) {
|
|
230
238
|
this.teleportactive = true;
|
|
231
|
-
this.teleporthand = 'right';
|
|
239
|
+
this.teleporthand = hand || 'right';
|
|
232
240
|
this.enableCursor();
|
|
233
241
|
this.updateTeleportAngle();
|
|
234
242
|
}
|
|
@@ -260,15 +268,17 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
260
268
|
},
|
|
261
269
|
updateTeleportAngle() {
|
|
262
270
|
let controls = this.activecontrols;
|
|
263
|
-
let controllerangle = Math.atan2(controls.teleport_x, controls.
|
|
271
|
+
let controllerangle = Math.atan2(controls.teleport_x, controls['teleport_y_' + this.teleporthand]);
|
|
264
272
|
let playerangle = Math.atan2(this.pos.x, this.pos.z);
|
|
265
273
|
this.teleportangle = (controllerangle + playerangle) + Math.PI;
|
|
266
274
|
},
|
|
267
275
|
handleMouseDown(ev) {
|
|
268
276
|
if (!room.teleport) return;
|
|
269
277
|
if (ev.button == 0 && (player.enabled || janus.hmd)) {
|
|
270
|
-
this.longpresstimer
|
|
271
|
-
|
|
278
|
+
if (!this.longpresstimer) {
|
|
279
|
+
//this.longpresstimer = setTimeout(() => { console.log('timer fired'); this.enableCursor(); }, this.longpresstime);
|
|
280
|
+
this.mousediff = [0,0];
|
|
281
|
+
}
|
|
272
282
|
//this.active = true;
|
|
273
283
|
}
|
|
274
284
|
},
|
|
@@ -327,6 +337,7 @@ janus.registerElement('locomotion_teleporter', {
|
|
|
327
337
|
enableCursor() {
|
|
328
338
|
if (!room.teleport) return;
|
|
329
339
|
this.visible = true;
|
|
340
|
+
this.particles.resetParticles();
|
|
330
341
|
this.particles.visible = true;
|
|
331
342
|
if (this.laser.room !== room._target) room.appendChild(this.laser);
|
|
332
343
|
if (this.particles.room !== room._target) room.appendChild(this.particles);
|
|
Binary file
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
{ "assettype": "image", "name": "xrmenu-button-home", "src": "./images/home-button.png", "hasalpha": true },
|
|
3
3
|
{ "assettype": "image", "name": "xrmenu-button-back", "src": "./images/previous-button.png", "hasalpha": true },
|
|
4
4
|
{ "assettype": "image", "name": "xrmenu-button-reset", "src": "./images/address-location.png", "hasalpha": true },
|
|
5
|
-
{ "assettype": "image", "name": "xrmenu-button-reload", "src": "./images/redo-arrow.png", "hasalpha": true }
|
|
5
|
+
{ "assettype": "image", "name": "xrmenu-button-reload", "src": "./images/redo-arrow.png", "hasalpha": true },
|
|
6
|
+
{ "assettype": "image", "name": "xrmenu-button-sound", "src": "./images/audio-settings.png", "hasalpha": true }
|
|
6
7
|
]
|
|
@@ -18,43 +18,88 @@ janus.registerElement('xrmenu', {
|
|
|
18
18
|
this.worlddir = V();
|
|
19
19
|
this.playervec = V();
|
|
20
20
|
|
|
21
|
+
this.panels = {};
|
|
22
|
+
|
|
21
23
|
let xrmenu = janus.ui.apps.default.apps.xrmenu;
|
|
22
24
|
let asseturl = xrmenu.resolveFullURL('./xrmenu-assets.json');
|
|
23
25
|
fetch(asseturl).then(res => res.json()).then(assetlist => {
|
|
24
26
|
this.assetpack = elation.engine.assets.loadJSON(assetlist, xrmenu.resolveFullURL('./'));
|
|
25
27
|
|
|
28
|
+
/*
|
|
29
|
+
* Navigation
|
|
30
|
+
* Home
|
|
31
|
+
* Respawn
|
|
32
|
+
* Exit VR
|
|
33
|
+
* Refresh
|
|
34
|
+
* Sound
|
|
35
|
+
* Output
|
|
36
|
+
* Output Select
|
|
37
|
+
* Volume Levels
|
|
38
|
+
* Environment
|
|
39
|
+
* Media
|
|
40
|
+
* Voices
|
|
41
|
+
* Input
|
|
42
|
+
* Input Select
|
|
43
|
+
* Volume Levels
|
|
44
|
+
* Settings
|
|
45
|
+
*/
|
|
46
|
+
|
|
26
47
|
this.buttons = {
|
|
27
48
|
home: this.createObject('xrmenu-button', {
|
|
28
49
|
pos: V(.08, 0, 0),
|
|
29
50
|
label: 'Home',
|
|
30
51
|
image_id: 'xrmenu-button-home',
|
|
31
|
-
onactivate: (ev) => janus.navigateHome(),
|
|
52
|
+
//onactivate: (ev) => janus.navigateHome(),
|
|
32
53
|
}),
|
|
33
54
|
back: this.createObject('xrmenu-button', {
|
|
34
55
|
pos: V(.20, 0, 0),
|
|
35
56
|
label: 'Back',
|
|
36
57
|
image_id: 'xrmenu-button-back',
|
|
37
|
-
onactivate: (ev) => janus.navigateBack(),
|
|
58
|
+
//onactivate: (ev) => janus.navigateBack(),
|
|
38
59
|
}),
|
|
39
60
|
reset: this.createObject('xrmenu-button', {
|
|
40
61
|
pos: V(.32, 0, 0),
|
|
41
62
|
label: 'Reset',
|
|
42
63
|
image_id: 'xrmenu-button-reset',
|
|
43
|
-
onactivate: (ev) => player.reset_position(),
|
|
64
|
+
//onactivate: (ev) => player.reset_position(),
|
|
44
65
|
}),
|
|
45
66
|
reload: this.createObject('xrmenu-button', {
|
|
46
67
|
pos: V(.44, 0, 0),
|
|
47
68
|
label: 'Reload',
|
|
48
69
|
image_id: 'xrmenu-button-reload',
|
|
49
|
-
onactivate: (ev) => location.reload(),
|
|
70
|
+
//onactivate: (ev) => location.reload(),
|
|
50
71
|
}),
|
|
51
72
|
exitvr: this.createObject('xrmenu-button', {
|
|
52
73
|
pos: V(.56, 0, 0),
|
|
53
74
|
label: 'Exit VR',
|
|
54
75
|
//image_id: 'xrmenu-button-exitvr',
|
|
55
|
-
onactivate: (ev) => this.engine.client.stopXR(),
|
|
76
|
+
//onactivate: (ev) => this.engine.client.stopXR(),
|
|
77
|
+
}),
|
|
78
|
+
sound: this.createObject('xrmenu-button', {
|
|
79
|
+
pos: V(.56, 0, 0),
|
|
80
|
+
label: 'Exit VR',
|
|
81
|
+
image_id: 'xrmenu-button-sound',
|
|
82
|
+
//onactivate: (ev) => this.engine.client.stopXR(),
|
|
56
83
|
}),
|
|
57
84
|
};
|
|
85
|
+
this.buttons.home.addEventListener('activate', ev => janus.navigateHome());
|
|
86
|
+
this.buttons.back.addEventListener('activate', ev => janus.navigateBack());
|
|
87
|
+
this.buttons.reset.addEventListener('activate', ev => player.reset_position());
|
|
88
|
+
this.buttons.reload.addEventListener('activate', ev => location.reload());
|
|
89
|
+
this.buttons.exitvr.addEventListener('activate', ev => this.engine.client.stopXR());
|
|
90
|
+
this.buttons.sound.addEventListener('activate', ev => {
|
|
91
|
+
if (!this.panels['sound']) {
|
|
92
|
+
this.panels['sound'] = this.buttons.sound.createObject('xrmenu-popup', {
|
|
93
|
+
content: 'janus-voip-picker'
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
if (this.panels['sound'].parent === this.buttons.sound) {
|
|
97
|
+
this.buttons.sound.removeChild(this.panels['sound']);
|
|
98
|
+
} else {
|
|
99
|
+
this.buttons.sound.appendChild(this.panels['sound']);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
});
|
|
58
103
|
this.reflow();
|
|
59
104
|
});
|
|
60
105
|
},
|
|
@@ -133,7 +178,7 @@ janus.registerElement('xrmenu-popup', {
|
|
|
133
178
|
|
|
134
179
|
create() {
|
|
135
180
|
|
|
136
|
-
let element = elation.elements.create(this.content);
|
|
181
|
+
let element = elation.elements.create(this.content, { deferred: false });
|
|
137
182
|
//document.body.appendChild(element);
|
|
138
183
|
//this.shadowdom.appendChild(element);
|
|
139
184
|
|
|
@@ -142,14 +187,9 @@ janus.registerElement('xrmenu-popup', {
|
|
|
142
187
|
//container.appendChild(element);
|
|
143
188
|
|
|
144
189
|
setTimeout(() => {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
styleel.href = document.styleSheets[i].href;
|
|
149
|
-
this.shadowdom.appendChild(styleel);
|
|
150
|
-
}
|
|
151
|
-
}, 1000);
|
|
152
|
-
|
|
190
|
+
console.log('LOADED????', janus.ui, janus.ui.apps.default);
|
|
191
|
+
this.initShadowStylesheets();
|
|
192
|
+
}, 0);
|
|
153
193
|
this.shadowdom.appendChild(element);
|
|
154
194
|
document.body.appendChild(container);
|
|
155
195
|
|
|
@@ -167,24 +207,7 @@ container.style.opacity = 0;
|
|
|
167
207
|
|
|
168
208
|
this.elementcontainer = container;
|
|
169
209
|
|
|
170
|
-
|
|
171
|
-
let canvas = element.toCanvas(this.width, this.height, 1);
|
|
172
|
-
/*
|
|
173
|
-
document.body.appendChild(canvas);
|
|
174
|
-
canvas.style.position = 'absolute';
|
|
175
|
-
canvas.style.top = '0';
|
|
176
|
-
canvas.style.left = '0';
|
|
177
|
-
canvas.style.zIndex = 1000;
|
|
178
|
-
canvas.style.border = '1px solid red';
|
|
179
|
-
*/
|
|
180
|
-
this.loadNewAsset('image', {
|
|
181
|
-
id: 'xrmenu-element-canvas',
|
|
182
|
-
canvas: canvas,
|
|
183
|
-
});
|
|
184
|
-
this.plane.image_id = 'xrmenu-element-canvas';
|
|
185
|
-
this.canvas = canvas;
|
|
186
|
-
elation.events.add(canvas, 'update', ev => this.refresh());
|
|
187
|
-
}, 1000);
|
|
210
|
+
this.initElementCanvas();
|
|
188
211
|
|
|
189
212
|
this.plane = this.createObject('object', {
|
|
190
213
|
id: 'plane',
|
|
@@ -205,6 +228,59 @@ canvas.style.border = '1px solid red';
|
|
|
205
228
|
this.plane.addEventListener('mouseover', ev => this.handleMouseOver(ev));
|
|
206
229
|
this.plane.addEventListener('mouseout', ev => this.handleMouseOut(ev));
|
|
207
230
|
},
|
|
231
|
+
initElementCanvas() {
|
|
232
|
+
let element = this.element;
|
|
233
|
+
|
|
234
|
+
if (!(element && element.isConnected && element.toCanvas)) {
|
|
235
|
+
setTimeout(() => this.initElementCanvas(), 100);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
console.log(element.isConnected, element);
|
|
240
|
+
let canvas = element.toCanvas(this.width, this.height, 1);
|
|
241
|
+
/*
|
|
242
|
+
document.body.appendChild(canvas);
|
|
243
|
+
canvas.style.position = 'absolute';
|
|
244
|
+
canvas.style.top = '0';
|
|
245
|
+
canvas.style.left = '0';
|
|
246
|
+
canvas.style.zIndex = 1000;
|
|
247
|
+
canvas.style.border = '1px solid red';
|
|
248
|
+
*/
|
|
249
|
+
this.loadNewAsset('image', {
|
|
250
|
+
id: 'xrmenu-element-canvas',
|
|
251
|
+
canvas: canvas,
|
|
252
|
+
});
|
|
253
|
+
this.plane.image_id = 'xrmenu-element-canvas';
|
|
254
|
+
this.canvas = canvas;
|
|
255
|
+
elation.events.add(canvas, 'asset_update', ev => this.refresh());
|
|
256
|
+
|
|
257
|
+
element.updateStylesheets(elation.engine.assets.corsproxy).then(d => {
|
|
258
|
+
element.updateCanvas();
|
|
259
|
+
this.refresh();
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
},
|
|
263
|
+
initShadowStylesheets() {
|
|
264
|
+
let promises = [];
|
|
265
|
+
for (let i = 0; i < document.styleSheets.length; i++) {
|
|
266
|
+
//promises.push(new Promise(accept => {
|
|
267
|
+
let styleel = document.createElement('link');
|
|
268
|
+
styleel.rel = 'stylesheet';
|
|
269
|
+
styleel.href = elation.engine.assets.corsproxy + document.styleSheets[i].href;
|
|
270
|
+
//styleel.onload = accept;
|
|
271
|
+
this.shadowdom.appendChild(styleel);
|
|
272
|
+
console.log('add link', document.styleSheets[i].href);
|
|
273
|
+
//}));
|
|
274
|
+
}
|
|
275
|
+
/*
|
|
276
|
+
Promise.all(promises).then(() => {
|
|
277
|
+
console.log('stylesheets loaded!');
|
|
278
|
+
setTimeout(() => {
|
|
279
|
+
this.element.updateCanvas().then(() => this.refresh());
|
|
280
|
+
}, 400);
|
|
281
|
+
});
|
|
282
|
+
*/
|
|
283
|
+
},
|
|
208
284
|
handleMouse(ev) {
|
|
209
285
|
if (this.element && this.canvas) {
|
|
210
286
|
let mousexy = [ev.data.uv.x * this.canvas.width, (1 - ev.data.uv.y) * this.canvas.height];
|
|
@@ -240,6 +316,16 @@ canvas.style.border = '1px solid red';
|
|
|
240
316
|
this.currenttarget.dispatchEvent(mouseout);
|
|
241
317
|
}
|
|
242
318
|
this.currenttarget = target;
|
|
319
|
+
let mousemove = new EventClass('mousemove', {
|
|
320
|
+
bubbles: true,
|
|
321
|
+
cancelable: true,
|
|
322
|
+
screenX: mousexy[0],
|
|
323
|
+
screenY: mousexy[1],
|
|
324
|
+
clientX: mousexy[0],
|
|
325
|
+
clientY: mousexy[1],
|
|
326
|
+
view: window,
|
|
327
|
+
});
|
|
328
|
+
this.currenttarget.dispatchEvent(mousemove);
|
|
243
329
|
//let mouseover = elation.events.clone(fakeev, { type: 'mouseover' });
|
|
244
330
|
let mouseover = new EventClass('mouseover', {
|
|
245
331
|
bubbles: true,
|
|
@@ -250,6 +336,7 @@ canvas.style.border = '1px solid red';
|
|
|
250
336
|
clientY: mousexy[1],
|
|
251
337
|
view: window,
|
|
252
338
|
});
|
|
339
|
+
console.log(mouseover);
|
|
253
340
|
target.dispatchEvent(mouseover);
|
|
254
341
|
}
|
|
255
342
|
}
|
|
@@ -426,12 +426,21 @@ ui-tooltip {
|
|
|
426
426
|
ui-input {
|
|
427
427
|
display: flex;
|
|
428
428
|
}
|
|
429
|
+
ui-input>ui-label {
|
|
430
|
+
min-width: 5em;
|
|
431
|
+
}
|
|
429
432
|
ui-input>input {
|
|
430
433
|
flex: 1 1;
|
|
434
|
+
background: #999;
|
|
435
|
+
border: 1px solid black;
|
|
436
|
+
border-radius: 4px;
|
|
431
437
|
}
|
|
438
|
+
ui-input>input:hover,
|
|
432
439
|
ui-input>input[hover] {
|
|
440
|
+
background: #aaa;
|
|
433
441
|
}
|
|
434
442
|
ui-input>input:focus {
|
|
443
|
+
background: #bbb;
|
|
435
444
|
}
|
|
436
445
|
ui-input>input:active {
|
|
437
446
|
}
|
|
@@ -675,6 +684,18 @@ ui-slider-handle {
|
|
|
675
684
|
cursor: pointer;
|
|
676
685
|
box-shadow: 0 0 5px rgba(0,0,0,.8);
|
|
677
686
|
}
|
|
687
|
+
ui-slider-handle>ui-label {
|
|
688
|
+
pointer-events: none;
|
|
689
|
+
position: absolute;
|
|
690
|
+
left: 20px;
|
|
691
|
+
z-index: 100;
|
|
692
|
+
background: rgba(0,0,0,.5);
|
|
693
|
+
border-radius: 20px;
|
|
694
|
+
padding: 0 .4em;
|
|
695
|
+
}
|
|
696
|
+
ui-slider-track[hover] ui-slider-handle>ui-label {
|
|
697
|
+
display: block !important;
|
|
698
|
+
}
|
|
678
699
|
|
|
679
700
|
|
|
680
701
|
/***********
|
|
@@ -881,6 +902,10 @@ ui-select>select {
|
|
|
881
902
|
ui-select:hover>select {
|
|
882
903
|
background: #555;
|
|
883
904
|
}
|
|
905
|
+
ui-select>ui-label {
|
|
906
|
+
min-width: 5em;
|
|
907
|
+
}
|
|
908
|
+
|
|
884
909
|
|
|
885
910
|
ui-formgroup {
|
|
886
911
|
position: relative;
|
|
@@ -1242,3 +1267,20 @@ ui-spinner[full] {
|
|
|
1242
1267
|
right: 0;
|
|
1243
1268
|
background: rgba(0,0,0,.1);
|
|
1244
1269
|
}
|
|
1270
|
+
ui-image-picker {
|
|
1271
|
+
display: block;
|
|
1272
|
+
}
|
|
1273
|
+
ui-image-picker ui-label {
|
|
1274
|
+
vertical-align: top;
|
|
1275
|
+
min-width: 5em;
|
|
1276
|
+
display: inline-block;
|
|
1277
|
+
}
|
|
1278
|
+
ui-image-picker canvas {
|
|
1279
|
+
width: 30px;
|
|
1280
|
+
height: 30px;
|
|
1281
|
+
border: 1px solid black;
|
|
1282
|
+
border-radius: 2px;
|
|
1283
|
+
padding: 2px;
|
|
1284
|
+
display: inline-block;
|
|
1285
|
+
vertical-align: top;
|
|
1286
|
+
}
|