janusweb 1.5.41 → 1.5.42
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/media/assets/webui/apps/buttons/buttons.js +0 -40
- 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 +13 -6
- package/media/assets/webui/apps/comms/external/naf-shim.js +1 -1
- package/media/assets/webui/apps/comms/voip.css +20 -0
- package/media/assets/webui/apps/comms/voip.js +175 -6
- package/media/assets/webui/apps/editor/editor.js +78 -8
- package/media/assets/webui/apps/inventory/inventory.css +2 -1
- package/media/assets/webui/apps/locomotion/teleporter.js +18 -8
- package/media/assets/webui/apps/xrmenu/xrmenu.js +10 -5
- 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 +1 -1
- package/scripts/client.js +19 -2
- package/scripts/elements/outliner.js +176 -0
- package/scripts/external/JanusFireboxParser.js +1 -1
- package/scripts/janusbase.js +3 -2
- package/scripts/janusghost.js +9 -0
- package/scripts/janusparticle.js +5 -2
- package/scripts/janusplayer.js +117 -80
- package/scripts/janusweb.js +8 -4
- package/scripts/janusxrplayer.js +49 -7
- package/scripts/multiplayermanager.js +4 -0
- package/scripts/object.js +21 -9
- package/scripts/room.js +23 -10
- package/scripts/sound.js +8 -3
- package/scripts/text.js +2 -0
- package/scripts/tracking.js +1 -1
- package/scripts/ui/main.js +6 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#version 300 es
|
|
2
|
+
// Copyright 2020 The Tilt Brush Authors
|
|
3
|
+
// Updated to OpenGL ES 3.0 by the Icosa Gallery Authors
|
|
4
|
+
//
|
|
5
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
// you may not use this file except in compliance with the License.
|
|
7
|
+
// You may obtain a copy of the License at
|
|
8
|
+
//
|
|
9
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
//
|
|
11
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
// See the License for the specific language governing permissions and
|
|
15
|
+
// limitations under the License.
|
|
16
|
+
|
|
17
|
+
// Copyright 2020 The Tilt Brush Authors
|
|
18
|
+
//
|
|
19
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
|
+
// you may not use this file except in compliance with the License.
|
|
21
|
+
// You may obtain a copy of the License at
|
|
22
|
+
//
|
|
23
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
24
|
+
//
|
|
25
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
26
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
27
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
28
|
+
// See the License for the specific language governing permissions and
|
|
29
|
+
// limitations under the License.
|
|
30
|
+
|
|
31
|
+
// DefaultVS.glsl
|
|
32
|
+
in vec4 a_position;
|
|
33
|
+
in vec3 a_normal;
|
|
34
|
+
in vec4 a_color;
|
|
35
|
+
in vec2 a_texcoord0;
|
|
36
|
+
|
|
37
|
+
out vec4 v_color;
|
|
38
|
+
out vec3 v_normal; // Camera-space normal.
|
|
39
|
+
out vec3 v_position; // Camera-space position.
|
|
40
|
+
out vec2 v_texcoord0;
|
|
41
|
+
out vec3 v_light_dir_0; // Camera-space light direction, main light.
|
|
42
|
+
out vec3 v_light_dir_1; // Camera-space light direction, other light.
|
|
43
|
+
out float f_fog_coord;
|
|
44
|
+
|
|
45
|
+
uniform mat4 modelViewMatrix;
|
|
46
|
+
uniform mat4 projectionMatrix;
|
|
47
|
+
uniform mat3 normalMatrix;
|
|
48
|
+
uniform mat4 u_SceneLight_0_matrix;
|
|
49
|
+
uniform mat4 u_SceneLight_1_matrix;
|
|
50
|
+
|
|
51
|
+
void main() {
|
|
52
|
+
gl_Position = projectionMatrix * modelViewMatrix * a_position;
|
|
53
|
+
f_fog_coord = gl_Position.z;
|
|
54
|
+
v_normal = normalMatrix * a_normal;
|
|
55
|
+
v_position = (modelViewMatrix * a_position).xyz;
|
|
56
|
+
v_light_dir_0 = mat3(u_SceneLight_0_matrix) * vec3(0, 0, 1);
|
|
57
|
+
v_light_dir_1 = mat3(u_SceneLight_1_matrix) * vec3(0, 0, 1);
|
|
58
|
+
v_color = a_color;
|
|
59
|
+
v_texcoord0 = a_texcoord0;
|
|
60
|
+
}
|
package/media/manifest.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"theme_color": "#2f363b",
|
|
6
6
|
"lang": "en-US",
|
|
7
7
|
"orientation": "any",
|
|
8
|
-
"start_url": "
|
|
8
|
+
"start_url": "index.html",
|
|
9
9
|
"description": "Webpages become 3D spaces interconnected by portals. Explore, collaborate and build, with or without a headset.",
|
|
10
10
|
"ovr_package_name": "web.JanusXR.org",
|
|
11
11
|
"icons": [
|
package/package.json
CHANGED
package/scripts/client.js
CHANGED
|
@@ -47,8 +47,12 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
47
47
|
}
|
|
48
48
|
elation.config.set('dependencies.path', fullpath);
|
|
49
49
|
|
|
50
|
-
var usetracking = elation.utils.any(args.tracking, elation.config.get('janusweb.tracking.enabled'), false)
|
|
50
|
+
var usetracking = elation.utils.any(args.tracking, elation.config.get('janusweb.tracking.enabled'), false),
|
|
51
|
+
trackingid = elation.utils.any(args.trackingid, elation.config.get('janusweb.tracking.clientid'), '');
|
|
51
52
|
if (usetracking && usetracking != 'false') {
|
|
53
|
+
elation.config.set('janusweb.tracking.enabled', true);
|
|
54
|
+
elation.config.set('janusweb.tracking.clientid', trackingid);
|
|
55
|
+
|
|
52
56
|
var tracking = elation.janusweb.tracking({});
|
|
53
57
|
}
|
|
54
58
|
var link = document.createElement('link');
|
|
@@ -76,6 +80,7 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
76
80
|
useWebVRPolyfill: args.useWebVRPolyfill,
|
|
77
81
|
server: args.server,
|
|
78
82
|
tracking: usetracking,
|
|
83
|
+
trackingid: trackingid,
|
|
79
84
|
avatarsrc: args.avatarsrc,
|
|
80
85
|
});
|
|
81
86
|
return new Promise(function(resolve, reject) {
|
|
@@ -191,6 +196,7 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
191
196
|
|
|
192
197
|
elation.engine.assets.initTextureLoaders(this.engine.systems.render, elation.config.get('janusweb.datapath') + 'lib/basis/');
|
|
193
198
|
elation.engine.assets.setDracoPath(elation.config.get('janusweb.datapath') + 'lib/draco/');
|
|
199
|
+
elation.engine.assets.icosapath = elation.config.get('janusweb.datapath') + 'lib/three-icosa/brushes/';
|
|
194
200
|
}
|
|
195
201
|
createUI() {
|
|
196
202
|
if (!this.ui) {
|
|
@@ -305,7 +311,8 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
305
311
|
homepage: { type: 'string' },
|
|
306
312
|
width: { type: 'integer', default: 640 },
|
|
307
313
|
height: { type: 'integer', default: 480 },
|
|
308
|
-
tracking: { type: 'boolean', default:
|
|
314
|
+
tracking: { type: 'boolean', default: false },
|
|
315
|
+
trackingid: { type: 'string' },
|
|
309
316
|
networking: { type: 'boolean', default: true },
|
|
310
317
|
avatarsrc: { type: 'string', default: false },
|
|
311
318
|
uiconfig: { type: 'string', default: false },
|
|
@@ -333,6 +340,7 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
333
340
|
url: this.getRoomURL(),
|
|
334
341
|
homepage: this.homepage || this.src,
|
|
335
342
|
tracking: this.tracking,
|
|
343
|
+
trackingid: this.trackingid,
|
|
336
344
|
networking: this.networking,
|
|
337
345
|
corsproxy: this.corsproxy,
|
|
338
346
|
//resolution: width + 'x' + height,
|
|
@@ -456,11 +464,20 @@ elation.require(['elements.elements', 'elements', 'engine.engine', 'engine.asset
|
|
|
456
464
|
}
|
|
457
465
|
show() {
|
|
458
466
|
super.show();
|
|
467
|
+
if (this.oldparent && !this.parentNode) {
|
|
468
|
+
this.oldparent.appendChild(this);
|
|
469
|
+
}
|
|
459
470
|
elation.events.fire({type: 'overlay_show', element: this});
|
|
460
471
|
}
|
|
461
472
|
hide() {
|
|
462
473
|
super.hide();
|
|
463
474
|
elation.events.fire({type: 'overlay_hide', element: this});
|
|
475
|
+
setTimeout(() => {
|
|
476
|
+
if (this.parentNode) {
|
|
477
|
+
this.oldparent = this.parentNode;
|
|
478
|
+
this.parentNode.removeChild(this);
|
|
479
|
+
}
|
|
480
|
+
}, 1000);
|
|
464
481
|
}
|
|
465
482
|
});
|
|
466
483
|
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
elation.require(['janusweb.janusbase'], function() {
|
|
2
|
+
elation.component.add('janusweb.elements.outliner', {
|
|
3
|
+
create() {
|
|
4
|
+
this.defineProperties({
|
|
5
|
+
'target': { type: 'string', set: this.updateTarget },
|
|
6
|
+
'outline': { type: 'float', default: 2, set: this.updateOutlineSize },
|
|
7
|
+
});
|
|
8
|
+
this.meshes = [];
|
|
9
|
+
this.skinnedmeshes = [];
|
|
10
|
+
// Shader used to outline the selected object. Based on https://www.videopoetics.com/tutorials/pixel-perfect-outline-shaders-unity/
|
|
11
|
+
// Thanks to @donrmccurdy for the example of how to include skinning in a custom shader https://github.com/mrdoob/three.js/issues/4800#issuecomment-580901344
|
|
12
|
+
this.outlinematerial = new THREE.ShaderMaterial({
|
|
13
|
+
vertexShader: `
|
|
14
|
+
uniform float offset;
|
|
15
|
+
uniform vec2 screenSize;
|
|
16
|
+
|
|
17
|
+
${THREE.ShaderChunk.skinning_pars_vertex}
|
|
18
|
+
|
|
19
|
+
void main() {
|
|
20
|
+
mat4 modelViewProjectionMatrix = projectionMatrix * modelViewMatrix;
|
|
21
|
+
|
|
22
|
+
// If USE_SKINNING is set, this will transform our vertices by any skinned mesh attributes
|
|
23
|
+
// Otherwise, it'll just use our regular vertex positions
|
|
24
|
+
${THREE.ShaderChunk.beginnormal_vertex}
|
|
25
|
+
${THREE.ShaderChunk.skinbase_vertex}
|
|
26
|
+
${THREE.ShaderChunk.skinnormal_vertex}
|
|
27
|
+
vec3 transformed = vec3( position );
|
|
28
|
+
${THREE.ShaderChunk.skinning_vertex}
|
|
29
|
+
|
|
30
|
+
// Transform our new vertex position into clip space
|
|
31
|
+
vec4 pos = modelViewProjectionMatrix * vec4(transformed, 1.0);
|
|
32
|
+
|
|
33
|
+
// Offset our vertices along the normal direction, scaled to the specified pixel offset in screen space
|
|
34
|
+
vec3 clipNormal = mat3(projectionMatrix) * (mat3(modelViewMatrix) * normal);
|
|
35
|
+
pos.xy += normalize(clipNormal.xy) / screenSize * offset * pos.w * 2.0;
|
|
36
|
+
gl_Position = pos;
|
|
37
|
+
}
|
|
38
|
+
`,
|
|
39
|
+
|
|
40
|
+
fragmentShader: `
|
|
41
|
+
uniform vec3 color;
|
|
42
|
+
uniform float opacity;
|
|
43
|
+
void main(){
|
|
44
|
+
gl_FragColor = vec4( color, opacity );
|
|
45
|
+
}
|
|
46
|
+
`,
|
|
47
|
+
|
|
48
|
+
uniforms: {
|
|
49
|
+
offset: { type: "f", value: this.outline },
|
|
50
|
+
color: { value: this.col},
|
|
51
|
+
opacity: { value: this.opacity },
|
|
52
|
+
screenSize: { type: 'v2', value: new THREE.Vector2(window.innerWidth, window.innerHeight) },
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
this.col = '#00ff00';
|
|
56
|
+
this.outlinematerial.transparent = true;
|
|
57
|
+
this.outlinematerial.uniforms.color.value = this.col;
|
|
58
|
+
this.outlinematerial.depthWrite = false;
|
|
59
|
+
this.outlinematerial.side = THREE.BackSide;
|
|
60
|
+
//this.outlinematerial.blending = THREE.AdditiveBlending;
|
|
61
|
+
|
|
62
|
+
if (this.target) this.updateTarget();
|
|
63
|
+
},
|
|
64
|
+
select(object) {
|
|
65
|
+
this.selected = object;
|
|
66
|
+
let objmeshes = [], skinnedmeshes = [];
|
|
67
|
+
object.traverseObjects(n => {
|
|
68
|
+
if (n instanceof THREE.Mesh && n.material !== this.outlinematerial) {
|
|
69
|
+
if (n.isSkinnedMesh)
|
|
70
|
+
skinnedmeshes.push(n);
|
|
71
|
+
else
|
|
72
|
+
objmeshes.push(n);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
// Create and update regular Meshes
|
|
76
|
+
let meshIdx = 0;
|
|
77
|
+
for (; meshIdx < objmeshes.length; meshIdx++) {
|
|
78
|
+
let n = objmeshes[meshIdx],
|
|
79
|
+
m = this.getMesh(n, this.meshes[meshIdx]);
|
|
80
|
+
this.meshes[meshIdx] = m;
|
|
81
|
+
n.parent.add(m);
|
|
82
|
+
}
|
|
83
|
+
// Hide all unused Meshes
|
|
84
|
+
if (meshIdx < this.meshes.length) {
|
|
85
|
+
for (; meshIdx < this.meshes.length; meshIdx++) {
|
|
86
|
+
this.meshes[meshIdx].geometry = null;
|
|
87
|
+
if (this.meshes[meshIdx].parent) {
|
|
88
|
+
this.meshes[meshIdx].parent.remove(this.meshes[meshIdx]);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Create and update SkinnedMeshes
|
|
93
|
+
let skinnedMeshIdx = 0;
|
|
94
|
+
for (; skinnedMeshIdx < skinnedmeshes.length; skinnedMeshIdx++) {
|
|
95
|
+
let n = skinnedmeshes[skinnedMeshIdx],
|
|
96
|
+
m = this.getSkinnedMesh(n, this.skinnedmeshes[skinnedMeshIdx]);
|
|
97
|
+
this.skinnedmeshes[skinnedMeshIdx] = m;
|
|
98
|
+
n.parent.add(m);
|
|
99
|
+
}
|
|
100
|
+
// Hide all unused Meshes
|
|
101
|
+
if (skinnedMeshIdx < this.skinnedmeshes.length) {
|
|
102
|
+
for (; skinnedMeshIdx < this.skinnedmeshes.length; skinnedMeshIdx++) {
|
|
103
|
+
this.skinnedmeshes[skinnedMeshIdx].geometry = null;
|
|
104
|
+
if (this.skinnedmeshes[skinnedMeshIdx].parent) {
|
|
105
|
+
this.skinnedmeshes[skinnedMeshIdx].parent.remove(this.skinnedmeshes[skinnedMeshIdx]);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
this.refresh();
|
|
110
|
+
},
|
|
111
|
+
deselect() {
|
|
112
|
+
for (let meshIdx = 0; meshIdx < this.meshes.length; meshIdx++) {
|
|
113
|
+
this.meshes[meshIdx].geometry = null;
|
|
114
|
+
if (this.meshes[meshIdx].parent) {
|
|
115
|
+
this.meshes[meshIdx].parent.remove(this.meshes[meshIdx]);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
for (let skinnedMeshIdx = 0; skinnedMeshIdx < this.skinnedmeshes.length; skinnedMeshIdx++) {
|
|
119
|
+
this.skinnedmeshes[skinnedMeshIdx].geometry = null;
|
|
120
|
+
if (this.skinnedmeshes[skinnedMeshIdx].parent) {
|
|
121
|
+
this.skinnedmeshes[skinnedMeshIdx].parent.remove(this.skinnedmeshes[skinnedMeshIdx]);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.refresh();
|
|
125
|
+
},
|
|
126
|
+
updateOutlineSize() {
|
|
127
|
+
if (this.outlinematerial) {
|
|
128
|
+
this.outlinematerial.uniforms.offset.value = this.outline;
|
|
129
|
+
this.refresh();
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
setOpacity() {
|
|
133
|
+
if (this.outlinematerial) {
|
|
134
|
+
this.outlinematerial.uniforms.opacity.value = this.opacity;
|
|
135
|
+
this.refresh();
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
updateTarget() {
|
|
139
|
+
if (this.target && this.outlinematerial) {
|
|
140
|
+
let obj = room.objects[this.target];
|
|
141
|
+
if (obj) {
|
|
142
|
+
this.select(obj);
|
|
143
|
+
if (!obj.loaded) {
|
|
144
|
+
obj.addEventListener('asset_load_complete', ev => this.select(obj));
|
|
145
|
+
}
|
|
146
|
+
} else if (!room.loaded) {
|
|
147
|
+
room.addEventListener('room_load_complete', ev => this.updateTarget());
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
getMesh(n, m) {
|
|
152
|
+
if (!m) {
|
|
153
|
+
m = new THREE.Mesh(n.geometry, this.outlinematerial);
|
|
154
|
+
m.matrixAutoUpdate = false;
|
|
155
|
+
} else {
|
|
156
|
+
m.geometry = n.geometry;
|
|
157
|
+
m.material = this.outlinematerial;
|
|
158
|
+
}
|
|
159
|
+
m.matrix.copy(n.matrix);
|
|
160
|
+
return m;
|
|
161
|
+
},
|
|
162
|
+
getSkinnedMesh(n, m) {
|
|
163
|
+
if (!m) {
|
|
164
|
+
m = new THREE.SkinnedMesh(n.geometry, this.outlinematerial);
|
|
165
|
+
m.skeleton = n.skeleton;
|
|
166
|
+
m.matrixAutoUpdate = false;
|
|
167
|
+
} else {
|
|
168
|
+
m.geometry = n.geometry;
|
|
169
|
+
m.material = this.outlinematerial;
|
|
170
|
+
}
|
|
171
|
+
m.matrix.copy(n.matrix);
|
|
172
|
+
return m;
|
|
173
|
+
}
|
|
174
|
+
}, elation.janusweb.janusbase);
|
|
175
|
+
|
|
176
|
+
});
|
|
@@ -305,7 +305,7 @@ JanusFireboxParser.prototype.parseXML = function(imgxml, leaf, forceLower) {
|
|
|
305
305
|
} else if (child.nodeName) {
|
|
306
306
|
if (child.nodeName == "#text" || child.nodeName == "#cdata-section") {
|
|
307
307
|
// this gets confused if you have multiple text/cdata nodes...
|
|
308
|
-
if (!child.nodeValue.match(/^[\s\n]*$/
|
|
308
|
+
if (!child.nodeValue.match(/^[\s\n]*$/s)) {
|
|
309
309
|
parent._content = child.nodeValue;
|
|
310
310
|
}
|
|
311
311
|
} else {
|
package/scripts/janusbase.js
CHANGED
|
@@ -383,8 +383,9 @@ elation.require(['engine.things.generic', 'utils.template', 'janusweb.parts'], f
|
|
|
383
383
|
rotate_deg_per_sec: [ 'property', 'rotate_deg_per_sec'],
|
|
384
384
|
rotate_axis: [ 'property', 'rotate_axis'],
|
|
385
385
|
|
|
386
|
-
anim_id:
|
|
387
|
-
anim_transition_time:
|
|
386
|
+
anim_id: ['property', 'anim_id'],
|
|
387
|
+
anim_transition_time: ['property', 'anim_transition_time'],
|
|
388
|
+
activeanimation: ['property', 'activeanimation'],
|
|
388
389
|
|
|
389
390
|
fwd: ['property', 'zdir'],
|
|
390
391
|
xdir: ['property', 'xdir'],
|
package/scripts/janusghost.js
CHANGED
|
@@ -611,6 +611,15 @@ elation.require(['janusweb.janusbase', 'engine.things.leapmotion'], function() {
|
|
|
611
611
|
if (isNaN(this.head.orientation.x) || isNaN(this.head.orientation.y) || isNaN(this.head.orientation.z) || isNaN(this.head.orientation.w)) this.head.orientation.set(0,0,0,1);
|
|
612
612
|
}
|
|
613
613
|
|
|
614
|
+
if (movedata.morphtargets) {
|
|
615
|
+
if (this.body) {
|
|
616
|
+
let morphtargets = movedata.morphtargets;
|
|
617
|
+
for (let target in morphtargets) {
|
|
618
|
+
this.body.setMorphTargetInfluence(target, morphtargets[target]);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
614
623
|
this.objects.dynamics.updateState();
|
|
615
624
|
this.refresh();
|
|
616
625
|
}
|
package/scripts/janusparticle.js
CHANGED
|
@@ -256,7 +256,7 @@ elation.require(['janusweb.janusbase'], function() {
|
|
|
256
256
|
geo.setAttribute('size', new THREE.BufferAttribute(size, 1));
|
|
257
257
|
|
|
258
258
|
this.created = true;
|
|
259
|
-
this.
|
|
259
|
+
this.spawncount = 0;
|
|
260
260
|
this.currentpoint = 0;
|
|
261
261
|
this.lasttime = performance.now();
|
|
262
262
|
|
|
@@ -282,6 +282,7 @@ elation.require(['janusweb.janusbase'], function() {
|
|
|
282
282
|
color[i*4+2] = point.color.b;
|
|
283
283
|
color[i*4+3] = point.opacity;
|
|
284
284
|
}
|
|
285
|
+
this.emitted = 0;
|
|
285
286
|
}
|
|
286
287
|
this.updateParticles = function(ev) {
|
|
287
288
|
if (!this.loaded || !this.started || !this.parent) return;
|
|
@@ -290,7 +291,7 @@ elation.require(['janusweb.janusbase'], function() {
|
|
|
290
291
|
endtime = now + this.duration * 1000,
|
|
291
292
|
emitted = 0,
|
|
292
293
|
startpoint = this.currentpoint,
|
|
293
|
-
spawncount = this.rate * elapsed / 1000,
|
|
294
|
+
spawncount = this.spawncount + this.rate * elapsed / 1000,
|
|
294
295
|
count = this.count,
|
|
295
296
|
loop = this.loop;
|
|
296
297
|
|
|
@@ -315,10 +316,12 @@ elation.require(['janusweb.janusbase'], function() {
|
|
|
315
316
|
p.endtime = (this.duration > 0 ? endtime : Infinity);
|
|
316
317
|
p.active = 1;
|
|
317
318
|
emitted++;
|
|
319
|
+
spawncount--;
|
|
318
320
|
this.currentpoint = (this.currentpoint + 1) % count;
|
|
319
321
|
}
|
|
320
322
|
}
|
|
321
323
|
}
|
|
324
|
+
this.spawncount = spawncount;
|
|
322
325
|
this.lasttime = now;
|
|
323
326
|
// Notify the renderer of our changes, but only if we're visible to the player
|
|
324
327
|
// We also rate limit here, so if nothing else in the scene is changing, we
|
package/scripts/janusplayer.js
CHANGED
|
@@ -18,7 +18,11 @@ elation.require(['engine.things.player', 'janusweb.external.JanusVOIP', 'ui.butt
|
|
|
18
18
|
this.postinit = function() {
|
|
19
19
|
elation.engine.things.janusplayer.extendclass.postinit.call(this);
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
try {
|
|
22
|
+
this.settings = elation.collection.localindexed({storagekey: 'janusweb.player.settings', index: 'key'});
|
|
23
|
+
} catch (e) {
|
|
24
|
+
this.settings = elation.collection.indexed({storagekey: 'janusweb.player.settings', index: 'key'});
|
|
25
|
+
}
|
|
22
26
|
|
|
23
27
|
this.defineProperties({
|
|
24
28
|
janus: {type: 'object' },
|
|
@@ -127,6 +131,7 @@ elation.require(['engine.things.player', 'janusweb.external.JanusVOIP', 'ui.butt
|
|
|
127
131
|
this.party_mode = this.getSetting('partymode.enabled', false);
|
|
128
132
|
this.currentavatar = '';
|
|
129
133
|
this.getAvatarData().then(d => this.currentavatar = d);
|
|
134
|
+
this.morphtargetchanges = {};
|
|
130
135
|
}
|
|
131
136
|
this.createChildren = function() {
|
|
132
137
|
elation.engine.things.janusplayer.extendclass.createChildren.call(this);
|
|
@@ -541,81 +546,83 @@ elation.require(['engine.things.player', 'janusweb.external.JanusVOIP', 'ui.butt
|
|
|
541
546
|
this.stop = function() {
|
|
542
547
|
}
|
|
543
548
|
this.getProxyObject = function() {
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
549
|
+
if (!this._proxyobject) {
|
|
550
|
+
this._proxyobject = new elation.proxy(this, {
|
|
551
|
+
parent: ['accessor', 'parent.getProxyObject'],
|
|
552
|
+
room: ['property', 'room'],
|
|
553
|
+
pos: ['property', 'position'],
|
|
554
|
+
vel: ['property', 'velocity'],
|
|
555
|
+
accel: ['property', 'acceleration'],
|
|
556
|
+
eye_pos: ['property', 'vectors.eye_pos'],
|
|
557
|
+
head_pos: ['property', 'vectors.head_pos'],
|
|
558
|
+
cursor_pos: ['property', 'vectors.cursor_pos'],
|
|
559
|
+
cursor_xdir: ['property', 'vectors.cursor_xdir'],
|
|
560
|
+
cursor_ydir: ['property', 'vectors.cursor_ydir'],
|
|
561
|
+
cursor_zdir: ['property', 'vectors.cursor_zdir'],
|
|
562
|
+
view_dir: ['property', 'vectors.view_zdir'],
|
|
563
|
+
dir: ['property', 'vectors.zdir'],
|
|
564
|
+
up_dir: ['property', 'vectors.ydir'],
|
|
565
|
+
userid: ['property', 'janus.userId'],
|
|
566
|
+
enabled: ['property', 'enabled'],
|
|
567
|
+
flying: ['property', 'flying'],
|
|
568
|
+
walking: ['property', 'walking'],
|
|
569
|
+
running: ['property', 'running'],
|
|
570
|
+
//url: ['property', 'currenturl'],
|
|
571
|
+
//hmd_enabled: ['property', 'hmd_enabled'],
|
|
572
|
+
cursor_active: ['property', 'cursor_active'],
|
|
573
|
+
cursor_visible: ['property', 'cursor_visible'],
|
|
574
|
+
cursor_opacity: ['property', 'cursor_opacity'],
|
|
575
|
+
cursor_style: ['property', 'cursor_style'],
|
|
576
|
+
cursor_object: ['property', 'cursor_object'],
|
|
577
|
+
lookat_object: ['property', 'lookat_object'],
|
|
578
|
+
lookat_pos: ['property', 'vectors.lookat_pos'],
|
|
579
|
+
//lookat_xdir: ['property', 'properties.lookat_xdir'],
|
|
580
|
+
//lookat_ydir: ['property', 'properties.lookat_ydir'],
|
|
581
|
+
//lookat_zdir: ['property', 'properties.lookat_zdir'],
|
|
582
|
+
hand0_active: ['property', 'hands.left.isactive'],
|
|
583
|
+
hand0_pos: ['property', 'hands.left.handpos'],
|
|
584
|
+
hand0_xdir: ['property', 'hands.left.xdir'],
|
|
585
|
+
hand0_ydir: ['property', 'hands.left.ydir'],
|
|
586
|
+
hand0_zdir: ['property', 'hands.left.zdir'],
|
|
587
|
+
hand0_p0: ['property', 'hands.left.p0'],
|
|
588
|
+
hand0_p1: ['property', 'hands.left.p1'],
|
|
589
|
+
hand0_p2: ['property', 'hands.left.p2'],
|
|
590
|
+
hand0_p3: ['property', 'hands.left.p3'],
|
|
591
|
+
hand0_p4: ['property', 'hands.left.p4'],
|
|
586
592
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
593
|
+
hand1_active: ['property', 'hands.right.isactive'],
|
|
594
|
+
hand1_pos: ['property', 'hands.right.handpos'],
|
|
595
|
+
hand1_xdir: ['property', 'hands.right.xdir'],
|
|
596
|
+
hand1_ydir: ['property', 'hands.right.ydir'],
|
|
597
|
+
hand1_zdir: ['property', 'hands.right.zdir'],
|
|
598
|
+
hand1_p0: ['property', 'hands.right.p0'],
|
|
599
|
+
hand1_p1: ['property', 'hands.right.p1'],
|
|
600
|
+
hand1_p2: ['property', 'hands.right.p2'],
|
|
601
|
+
hand1_p3: ['property', 'hands.right.p3'],
|
|
602
|
+
hand1_p4: ['property', 'hands.right.p4'],
|
|
603
|
+
url: ['property', 'parent.currentroom.url'],
|
|
598
604
|
|
|
599
|
-
|
|
605
|
+
collision_radius: ['property', 'collision_radius'],
|
|
600
606
|
|
|
601
|
-
|
|
602
|
-
|
|
607
|
+
currentavatar: ['property', 'currentavatar'],
|
|
608
|
+
defaultanimation: ['property', 'defaultanimation'],
|
|
603
609
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
610
|
+
localToWorld: ['function', 'localToWorld'],
|
|
611
|
+
worldToLocal: ['function', 'worldToLocal'],
|
|
612
|
+
appendChild: ['function', 'appendChild'],
|
|
613
|
+
removeChild: ['function', 'removeChild'],
|
|
614
|
+
addForce: ['function', 'addForce'],
|
|
615
|
+
removeForce: ['function', 'removeForce'],
|
|
616
|
+
raycast: ['function', 'raycast'],
|
|
617
|
+
getViewFrustum:['function', 'getViewFrustum'],
|
|
618
|
+
getUsername: ['function', 'getUsername'],
|
|
619
|
+
setUsername: ['function', 'setUsername'],
|
|
620
|
+
getSetting: ['function', 'getSetting'],
|
|
621
|
+
setSetting: ['function', 'setSetting'],
|
|
622
|
+
setAvatar: ['function', 'setAvatar'],
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
return this._proxyobject;
|
|
619
626
|
}
|
|
620
627
|
this.getAvatarData = function() {
|
|
621
628
|
return new Promise((resolve, reject) => {
|
|
@@ -725,6 +732,29 @@ elation.require(['engine.things.player', 'janusweb.external.JanusVOIP', 'ui.butt
|
|
|
725
732
|
}
|
|
726
733
|
return handData;
|
|
727
734
|
}
|
|
735
|
+
this.hasMorphTargetData = function() {
|
|
736
|
+
return Object.keys(this.morphtargetchanges).length > 0;
|
|
737
|
+
}
|
|
738
|
+
this.setMorphTargetInfluence = function(morphtarget, value) {
|
|
739
|
+
if (this.ghost && this.ghost.body) {
|
|
740
|
+
this.ghost.body.setMorphTargetInfluence(morphtarget, value);
|
|
741
|
+
//if (this.morphtargetchanges.indexOf(morphtarget) == -1) {
|
|
742
|
+
this.morphtargetchanges[morphtarget] = value;
|
|
743
|
+
//}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
this.getMorphTargetData = function() {
|
|
747
|
+
if (this.hasMorphTargetData()) {
|
|
748
|
+
let data = {};
|
|
749
|
+
let body = this.ghost.body;
|
|
750
|
+
for (let morphtarget in this.morphtargetchanges) {
|
|
751
|
+
data[morphtarget] = this.morphtargetchanges[morphtarget];
|
|
752
|
+
delete this.morphtargetchanges[morphtarget];
|
|
753
|
+
}
|
|
754
|
+
return data;
|
|
755
|
+
}
|
|
756
|
+
return false;
|
|
757
|
+
}
|
|
728
758
|
this.getRandomUsername = function() {
|
|
729
759
|
var adjectives = [
|
|
730
760
|
"Adorable", "Beautiful", "Clean", "Drab", "Elegant", "Fancy", "Glamorous", "Handsome", "Long", "Magnificent",
|
|
@@ -999,16 +1029,23 @@ elation.require(['engine.things.player', 'janusweb.external.JanusVOIP', 'ui.butt
|
|
|
999
1029
|
return function(newscale, scaletime, scalecurve) {
|
|
1000
1030
|
if (newscale != this.scale) {
|
|
1001
1031
|
startscale.copy(this.properties.scale);
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
let
|
|
1032
|
+
if (scaletime) {
|
|
1033
|
+
let start = performance.now();
|
|
1034
|
+
let timer = setInterval(() => {
|
|
1035
|
+
let n = (performance.now() - start) / scaletime;
|
|
1005
1036
|
|
|
1006
|
-
|
|
1037
|
+
this.scale = tmpvec.set(newscale, newscale, newscale).sub(startscale).multiplyScalar(n).add(startscale);
|
|
1038
|
+
this.camera.scale = camscale.set(1 / this.scale.x, 1 / this.scale.y, 1 / this.scale.z);
|
|
1039
|
+
if (n >= 1) {
|
|
1040
|
+
clearInterval(timer);
|
|
1041
|
+
this.scale.set(newscale, newscale, newscale);
|
|
1042
|
+
this.camera.scale = camscale.set(1 / this.scale.x, 1 / this.scale.y, 1 / this.scale.z);
|
|
1043
|
+
}
|
|
1044
|
+
}, 16);
|
|
1045
|
+
} else {
|
|
1046
|
+
this.scale.set(newscale, newscale, newscale);
|
|
1007
1047
|
this.camera.scale = camscale.set(1 / this.scale.x, 1 / this.scale.y, 1 / this.scale.z);
|
|
1008
|
-
|
|
1009
|
-
clearInterval(timer);
|
|
1010
|
-
}
|
|
1011
|
-
}, 16);
|
|
1048
|
+
}
|
|
1012
1049
|
}
|
|
1013
1050
|
};
|
|
1014
1051
|
})();
|