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.
Files changed (250) hide show
  1. package/CHANGELOG +23 -0
  2. package/css/janusweb.css +7 -2
  3. package/media/assets/webui/apps/buttons/buttons.js +17 -43
  4. package/media/assets/webui/apps/comms/chat.html +1 -0
  5. package/media/assets/webui/apps/comms/chat_message.html +1 -1
  6. package/media/assets/webui/apps/comms/comms.js +14 -7
  7. package/media/assets/webui/apps/comms/external/naf-shim.js +1 -1
  8. package/media/assets/webui/apps/comms/voip.css +32 -3
  9. package/media/assets/webui/apps/comms/voip.js +191 -12
  10. package/media/assets/webui/apps/editor/editor.css +1 -0
  11. package/media/assets/webui/apps/editor/editor.js +97 -20
  12. package/media/assets/webui/apps/inventory/inventory.css +2 -1
  13. package/media/assets/webui/apps/locomotion/teleporter.js +21 -10
  14. package/media/assets/webui/apps/xrmenu/images/audio-settings.png +0 -0
  15. package/media/assets/webui/apps/xrmenu/xrmenu-assets.json +2 -1
  16. package/media/assets/webui/apps/xrmenu/xrmenu.js +119 -32
  17. package/media/assets/webui/themes/default.css +42 -0
  18. package/media/lib/basis/basis_transcoder.js +8 -8
  19. package/media/lib/basis/basis_transcoder.wasm +0 -0
  20. package/media/lib/three-icosa/brushes/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e-v10.0-fragment.glsl +284 -0
  21. package/media/lib/three-icosa/brushes/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e/BlocksBasic-0e87b49c-6546-3a34-3a44-8a556d7d6c3e-v10.0-vertex.glsl +60 -0
  22. package/media/lib/three-icosa/brushes/BlocksGem-232998f8-d357-47a2-993a-53415df9be10/BlocksGem-232998f8-d357-47a2-993a-53415df9be10-v10.0-fragment.glsl +334 -0
  23. package/media/lib/three-icosa/brushes/BlocksGem-232998f8-d357-47a2-993a-53415df9be10/BlocksGem-232998f8-d357-47a2-993a-53415df9be10-v10.0-vertex.glsl +46 -0
  24. package/media/lib/three-icosa/brushes/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7-v10.0-fragment.glsl +248 -0
  25. package/media/lib/three-icosa/brushes/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7/BlocksGlass-3d813d82-5839-4450-8ddc-8e889ecd96c7-v10.0-vertex.glsl +60 -0
  26. package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-MainTex.png +0 -0
  27. package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-fragment.glsl +34 -0
  28. package/media/lib/three-icosa/brushes/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c/Bubbles-89d104cd-d012-426b-b5b3-bbaee63ac43c-v10.0-vertex.glsl +120 -0
  29. package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-MainTex.png +0 -0
  30. package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-fragment.glsl +89 -0
  31. package/media/lib/three-icosa/brushes/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c/CelVinyl-700f3aa8-9a7c-2384-8b8a-ea028905dd8c-v10.0-vertex.glsl +60 -0
  32. package/media/lib/three-icosa/brushes/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816-v10.0-fragment.glsl +69 -0
  33. package/media/lib/three-icosa/brushes/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816/ChromaticWave-0f0ff7b2-a677-45eb-a7d6-0cd7206f4816-v10.0-vertex.glsl +60 -0
  34. package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-MainTex.png +0 -0
  35. package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-fragment.glsl +289 -0
  36. package/media/lib/three-icosa/brushes/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43/CoarseBristles-1161af82-50cf-47db-9706-0c3576d43c43-v10.0-vertex.glsl +60 -0
  37. package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-MainTex.png +0 -0
  38. package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-fragment.glsl +292 -0
  39. package/media/lib/three-icosa/brushes/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600/CoarseBristles-79168f10-6961-464a-8be1-57ed364c5600-v10.0-vertex.glsl +60 -0
  40. package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-AlphaMask.png +0 -0
  41. package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-MainTex.png +0 -0
  42. package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-fragment.glsl +65 -0
  43. package/media/lib/three-icosa/brushes/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81/Comet-1caa6d7d-f015-3f54-3a4b-8b5354d39f81-v10.0-vertex.glsl +60 -0
  44. package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-MainTex.png +0 -0
  45. package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-fragment.glsl +481 -0
  46. package/media/lib/three-icosa/brushes/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901/DiamondHull-c8313697-2563-47fc-832e-290f4c04b901-v10.0-vertex.glsl +57 -0
  47. package/media/lib/three-icosa/brushes/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +290 -0
  48. package/media/lib/three-icosa/brushes/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27/Disco-4391aaaa-df73-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +70 -0
  49. package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-MainTex.png +0 -0
  50. package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-fragment.glsl +113 -0
  51. package/media/lib/three-icosa/brushes/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260/DotMarker-d1d991f2-e7a0-4cf1-b328-f57e915e6260-v10.0-vertex.glsl +60 -0
  52. package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-MainTex.png +0 -0
  53. package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-fragment.glsl +35 -0
  54. package/media/lib/three-icosa/brushes/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7/Dots-6a1cf9f9-032c-45ec-9b1d-a6680bee30f7-v10.0-vertex.glsl +120 -0
  55. package/media/lib/three-icosa/brushes/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126-v10.0-fragment.glsl +286 -0
  56. package/media/lib/three-icosa/brushes/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126/DoubleTaperedFlat-0d3889f3-3ede-470c-8af4-f44813306126-v10.0-vertex.glsl +54 -0
  57. package/media/lib/three-icosa/brushes/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126-v10.0-fragment.glsl +81 -0
  58. package/media/lib/three-icosa/brushes/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126/DoubleTaperedMarker-0d3889f3-3ede-470c-8af4-de4813306126-v10.0-vertex.glsl +54 -0
  59. package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-BumpMap.png +0 -0
  60. package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-MainTex.png +0 -0
  61. package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-fragment.glsl +376 -0
  62. package/media/lib/three-icosa/brushes/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1/DuctTape-3ca16e2f-bdcd-4da2-8631-dcef342f40f1-v10.0-vertex.glsl +60 -0
  63. package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-BumpMap.png +0 -0
  64. package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-MainTex.png +0 -0
  65. package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-fragment.glsl +378 -0
  66. package/media/lib/three-icosa/brushes/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb/DuctTape-d0262945-853c-4481-9cbd-88586bed93cb-v10.0-vertex.glsl +60 -0
  67. package/media/lib/three-icosa/brushes/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51-v10.0-fragment.glsl +50 -0
  68. package/media/lib/three-icosa/brushes/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51/Electricity-f6e85de3-6dcc-4e7f-87fd-cee8c3d25d51-v10.0-vertex.glsl +79 -0
  69. package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-MainTex.png +0 -0
  70. package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-fragment.glsl +32 -0
  71. package/media/lib/three-icosa/brushes/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360/Embers-02ffb866-7fb2-4d15-b761-1012cefb1360-v10.0-vertex.glsl +152 -0
  72. package/media/lib/three-icosa/brushes/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7-v1.0-fragment.glsl +288 -0
  73. package/media/lib/three-icosa/brushes/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7/EnvironmentDiffuse-0ad58bbd-42bc-484e-ad9a-b61036ff4ce7-v1.0-vertex.glsl +47 -0
  74. package/media/lib/three-icosa/brushes/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b-v1.0-fragment.glsl +288 -0
  75. package/media/lib/three-icosa/brushes/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b/EnvironmentDiffuseLightMap-d01d9d6c-9a61-4aba-8146-5891fafb013b-v1.0-vertex.glsl +50 -0
  76. package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-MainTex.png +0 -0
  77. package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-fragment.glsl +61 -0
  78. package/media/lib/three-icosa/brushes/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e/Fire-cb92b597-94ca-4255-b017-0e3f42f12f9e-v10.0-vertex.glsl +60 -0
  79. package/media/lib/three-icosa/brushes/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70-v10.0-fragment.glsl +285 -0
  80. package/media/lib/three-icosa/brushes/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70/Flat-280c0a7a-aad8-416c-a7d2-df63d129ca70-v10.0-vertex.glsl +60 -0
  81. package/media/lib/three-icosa/brushes/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130-v10.0-fragment.glsl +286 -0
  82. package/media/lib/three-icosa/brushes/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130/Flat-2d35bcf0-e4d8-452c-97b1-3311be063130-v10.0-vertex.glsl +60 -0
  83. package/media/lib/three-icosa/brushes/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18-v10.0-fragment.glsl +285 -0
  84. package/media/lib/three-icosa/brushes/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18/FlatDeprecated-55303bc4-c749-4a72-98d9-d23e68e76e18-v10.0-vertex.glsl +60 -0
  85. package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-MainTex.png +0 -0
  86. package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-fragment.glsl +40 -0
  87. package/media/lib/three-icosa/brushes/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3/Highlighter-cf019139-d41c-4eb0-a1d0-5cf54b0a42f3-v10.0-vertex.glsl +60 -0
  88. package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-MainTex.png +0 -0
  89. package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-fragment.glsl +33 -0
  90. package/media/lib/three-icosa/brushes/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9/HyperGrid-6a1cf9f9-032c-45ec-9b6e-a6680bee32e9-v10.0-vertex.glsl +60 -0
  91. package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-BumpMap.png +0 -0
  92. package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-MainTex.png +0 -0
  93. package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-fragment.glsl +386 -0
  94. package/media/lib/three-icosa/brushes/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c/Hypercolor-dce872c2-7b49-4684-b59b-c45387949c5c-v10.0-vertex.glsl +60 -0
  95. package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-BumpMap.png +0 -0
  96. package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-MainTex.png +0 -0
  97. package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-fragment.glsl +385 -0
  98. package/media/lib/three-icosa/brushes/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5/Hypercolor-e8ef32b1-baa8-460a-9c2c-9cf8506794f5-v10.0-vertex.glsl +60 -0
  99. package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-BumpMap.png +0 -0
  100. package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-fragment.glsl +376 -0
  101. package/media/lib/three-icosa/brushes/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37/Icing-2f212815-f4d3-c1a4-681a-feeaf9c6dc37-v10.0-vertex.glsl +60 -0
  102. package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-BumpMap.png +0 -0
  103. package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-MainTex.png +0 -0
  104. package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-fragment.glsl +376 -0
  105. package/media/lib/three-icosa/brushes/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa/Ink-c0012095-3ffd-4040-8ee1-fc180d346eaa-v10.0-vertex.glsl +60 -0
  106. package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-BumpMap.png +0 -0
  107. package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-MainTex.png +0 -0
  108. package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-fragment.glsl +377 -0
  109. package/media/lib/three-icosa/brushes/Ink-f5c336cf-5108-4b40-ade9-c687504385ab/Ink-f5c336cf-5108-4b40-ade9-c687504385ab-v10.0-vertex.glsl +60 -0
  110. package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-BumpMap.png +0 -0
  111. package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-MainTex.png +0 -0
  112. package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-fragment.glsl +319 -0
  113. package/media/lib/three-icosa/brushes/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487/Leaves-ea19de07-d0c0-4484-9198-18489a3c1487-v10.0-vertex.glsl +60 -0
  114. package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-MainTex.png +0 -0
  115. package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-fragment.glsl +47 -0
  116. package/media/lib/three-icosa/brushes/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62/Light-2241cd32-8ba2-48a5-9ee7-2caef7e9ed62-v10.0-vertex.glsl +60 -0
  117. package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-MainTex.png +0 -0
  118. package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +330 -0
  119. package/media/lib/three-icosa/brushes/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27/LightWire-4391aaaa-df81-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +64 -0
  120. package/media/lib/three-icosa/brushes/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda-v10.0-fragment.glsl +285 -0
  121. package/media/lib/three-icosa/brushes/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda/Lofted-d381e0f5-3def-4a0d-8853-31e9200bcbda-v10.0-vertex.glsl +60 -0
  122. package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-MainTex.png +0 -0
  123. package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-fragment.glsl +87 -0
  124. package/media/lib/three-icosa/brushes/Marker-429ed64a-4e97-4466-84d3-145a861ef684/Marker-429ed64a-4e97-4466-84d3-145a861ef684-v10.0-vertex.glsl +60 -0
  125. package/media/lib/three-icosa/brushes/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa-v10.0-fragment.glsl +285 -0
  126. package/media/lib/three-icosa/brushes/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa/MatteHull-79348357-432d-4746-8e29-0e25c112e3aa-v10.0-vertex.glsl +60 -0
  127. package/media/lib/three-icosa/brushes/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6-v10.0-fragment.glsl +267 -0
  128. package/media/lib/three-icosa/brushes/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6/NeonPulse-b2ffef01-eaaa-4ab5-aa64-95a2c4f5dbc6-v10.0-vertex.glsl +60 -0
  129. package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-BumpMap.png +0 -0
  130. package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-MainTex.png +0 -0
  131. package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-fragment.glsl +377 -0
  132. package/media/lib/three-icosa/brushes/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699/OilPaint-f72ec0e7-a844-4e38-82e3-140c44772699-v10.0-vertex.glsl +60 -0
  133. package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-BumpMap.png +0 -0
  134. package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-MainTex.png +0 -0
  135. package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-fragment.glsl +376 -0
  136. package/media/lib/three-icosa/brushes/Paper-759f1ebd-20cd-4720-8d41-234e0da63716/Paper-759f1ebd-20cd-4720-8d41-234e0da63716-v10.0-vertex.glsl +60 -0
  137. package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-BumpMap.png +0 -0
  138. package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-MainTex.png +0 -0
  139. package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-fragment.glsl +377 -0
  140. package/media/lib/three-icosa/brushes/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5/Paper-f1114e2e-eb8d-4fde-915a-6e653b54e9f5-v10.0-vertex.glsl +60 -0
  141. package/media/lib/three-icosa/brushes/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0-v1.0-fragment.glsl +370 -0
  142. package/media/lib/three-icosa/brushes/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0/PbrTemplate-f86a096c-2f4f-4f9d-ae19-81b99f2944e0-v1.0-vertex.glsl +48 -0
  143. package/media/lib/three-icosa/brushes/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf-v1.0-fragment.glsl +374 -0
  144. package/media/lib/three-icosa/brushes/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf/PbrTransparentTemplate-19826f62-42ac-4a9e-8b77-4231fbd0cfbf-v1.0-vertex.glsl +48 -0
  145. package/media/lib/three-icosa/brushes/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc-v10.0-fragment.glsl +367 -0
  146. package/media/lib/three-icosa/brushes/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc/Petal-e0abbc80-0f80-e854-4970-8924a0863dcc-v10.0-vertex.glsl +60 -0
  147. package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-MainTex.png +0 -0
  148. package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-fragment.glsl +64 -0
  149. package/media/lib/three-icosa/brushes/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336/Plasma-c33714d1-b2f9-412e-bd50-1884c9d46336-v10.0-vertex.glsl +60 -0
  150. package/media/lib/three-icosa/brushes/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960-v10.0-fragment.glsl +70 -0
  151. package/media/lib/three-icosa/brushes/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960/Rainbow-ad1ad437-76e2-450d-a23a-e17f8310b960-v10.0-vertex.glsl +60 -0
  152. package/media/lib/three-icosa/brushes/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3-v10.0-fragment.glsl +367 -0
  153. package/media/lib/three-icosa/brushes/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3/ShinyHull-faaa4d44-fcfb-4177-96be-753ac0421ba3-v10.0-vertex.glsl +60 -0
  154. package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-MainTex.png +0 -0
  155. package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-fragment.glsl +30 -0
  156. package/media/lib/three-icosa/brushes/Smoke-70d79cca-b159-4f35-990c-f02193947fe8/Smoke-70d79cca-b159-4f35-990c-f02193947fe8-v10.0-vertex.glsl +125 -0
  157. package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-MainTex.png +0 -0
  158. package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-fragment.glsl +31 -0
  159. package/media/lib/three-icosa/brushes/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c/Snow-d902ed8b-d0d1-476c-a8de-878a79e3a34c-v10.0-vertex.glsl +143 -0
  160. package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-MainTex.png +0 -0
  161. package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-fragment.glsl +34 -0
  162. package/media/lib/three-icosa/brushes/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b/SoftHighlighter-accb32f5-4509-454f-93f8-1df3fd31df1b-v10.0-vertex.glsl +60 -0
  163. package/media/lib/three-icosa/brushes/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa-v10.0-fragment.glsl +285 -0
  164. package/media/lib/three-icosa/brushes/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa/Spikes-cf7f0059-7aeb-53a4-2b67-c83d863a9ffa-v10.0-vertex.glsl +60 -0
  165. package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-MainTex.png +0 -0
  166. package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-fragment.glsl +290 -0
  167. package/media/lib/three-icosa/brushes/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e/Splatter-7a1c8107-50c5-4b70-9a39-421576d6617e-v10.0-vertex.glsl +60 -0
  168. package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-MainTex.png +0 -0
  169. package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-fragment.glsl +291 -0
  170. package/media/lib/three-icosa/brushes/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3/Splatter-8dc4a70c-d558-4efd-a5ed-d4e860f40dc3-v10.0-vertex.glsl +60 -0
  171. package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-MainTex.png +0 -0
  172. package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-fragment.glsl +31 -0
  173. package/media/lib/three-icosa/brushes/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711/Stars-0eb4db27-3f82-408d-b5a1-19ebd7d5b711-v10.0-vertex.glsl +128 -0
  174. package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-MainTex.png +0 -0
  175. package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-fragment.glsl +63 -0
  176. package/media/lib/three-icosa/brushes/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3/Streamers-44bb800a-fbc3-4592-8426-94ecb05ddec3-v10.0-vertex.glsl +60 -0
  177. package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-MainTex.png +0 -0
  178. package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-fragment.glsl +113 -0
  179. package/media/lib/three-icosa/brushes/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414/Taffy-0077f88c-d93a-42f3-b59b-b31c50cdb414-v10.0-vertex.glsl +62 -0
  180. package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-MainTex.png +0 -0
  181. package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-fragment.glsl +292 -0
  182. package/media/lib/three-icosa/brushes/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c/TaperedFlat-b468c1fb-f254-41ed-8ec9-57030bc5660c-v10.0-vertex.glsl +60 -0
  183. package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-MainTex.png +0 -0
  184. package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-fragment.glsl +287 -0
  185. package/media/lib/three-icosa/brushes/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb/TaperedFlat-c8ccb53d-ae13-45ef-8afb-b730d81394eb-v10.0-vertex.glsl +58 -0
  186. package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-MainTex.png +0 -0
  187. package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-fragment.glsl +113 -0
  188. package/media/lib/three-icosa/brushes/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c/TaperedMarker-d90c6ad8-af0f-4b54-b422-e0f92abe1b3c-v10.0-vertex.glsl +60 -0
  189. 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
  190. 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
  191. 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
  192. package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-BumpMap.png +0 -0
  193. package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-MainTex.png +0 -0
  194. package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-fragment.glsl +378 -0
  195. package/media/lib/three-icosa/brushes/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f/ThickPaint-75b32cf0-fdd6-4d89-a64b-e2a00b247b0f-v10.0-vertex.glsl +60 -0
  196. package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-BumpMap.png +0 -0
  197. package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-MainTex.png +0 -0
  198. package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-fragment.glsl +380 -0
  199. package/media/lib/three-icosa/brushes/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f/ThickPaint-fdf0326a-c0d1-4fed-b101-9db0ff6d071f-v10.0-vertex.glsl +58 -0
  200. package/media/lib/three-icosa/brushes/Toon-4391385a-df73-4396-9e33-31e4e4930b27/Toon-4391385a-df73-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +85 -0
  201. package/media/lib/three-icosa/brushes/Toon-4391385a-df73-4396-9e33-31e4e4930b27/Toon-4391385a-df73-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +60 -0
  202. package/media/lib/three-icosa/brushes/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d-v10.0-fragment.glsl +81 -0
  203. package/media/lib/three-icosa/brushes/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d/UnlitHull-a8fea537-da7c-4d4b-817f-24f074725d6d-v10.0-vertex.glsl +60 -0
  204. package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-MainTex.png +0 -0
  205. package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-fragment.glsl +80 -0
  206. package/media/lib/three-icosa/brushes/VelvetInk-d229d335-c334-495a-a801-660ac8a87360/VelvetInk-d229d335-c334-495a-a801-660ac8a87360-v10.0-vertex.glsl +60 -0
  207. package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-MainTex.png +0 -0
  208. package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-fragment.glsl +82 -0
  209. package/media/lib/three-icosa/brushes/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab/Waveform-10201aa3-ebc2-42d8-84b7-2e63f6eeb8ab-v10.0-vertex.glsl +55 -0
  210. package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-BumpMap.png +0 -0
  211. package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-MainTex.png +0 -0
  212. package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-fragment.glsl +376 -0
  213. package/media/lib/three-icosa/brushes/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3/WetPaint-b67c0e81-ce6d-40a8-aeb0-ef036b081aa3-v10.0-vertex.glsl +60 -0
  214. package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-BumpMap.png +0 -0
  215. package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-MainTex.png +0 -0
  216. package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-fragment.glsl +313 -0
  217. package/media/lib/three-icosa/brushes/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5/WetPaint-dea67637-cd1a-27e4-c9b1-52f4bbcb84e5-v10.0-vertex.glsl +58 -0
  218. package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-MainTex.png +0 -0
  219. package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-fragment.glsl +377 -0
  220. package/media/lib/three-icosa/brushes/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763/WigglyGraphite-5347acf0-a8e2-47b6-8346-30c70719d763-v10.0-vertex.glsl +60 -0
  221. package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-MainTex.png +0 -0
  222. package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-fragment.glsl +107 -0
  223. package/media/lib/three-icosa/brushes/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2/WigglyGraphite-e814fef1-97fd-7194-4a2f-50c2bb918be2-v10.0-vertex.glsl +58 -0
  224. package/media/lib/three-icosa/brushes/Wire-4391385a-cf83-4396-9e33-31e4e4930b27/Wire-4391385a-cf83-4396-9e33-31e4e4930b27-v10.0-fragment.glsl +75 -0
  225. package/media/lib/three-icosa/brushes/Wire-4391385a-cf83-4396-9e33-31e4e4930b27/Wire-4391385a-cf83-4396-9e33-31e4e4930b27-v10.0-vertex.glsl +60 -0
  226. package/media/manifest.json +1 -1
  227. package/package.json +2 -2
  228. package/scripts/client.js +20 -3
  229. package/scripts/elements/outliner.js +182 -0
  230. package/scripts/external/JanusClientConnection.js +14 -8
  231. package/scripts/external/JanusFireboxParser.js +1 -1
  232. package/scripts/image.js +1 -1
  233. package/scripts/janusbase.js +40 -17
  234. package/scripts/janusghost.js +17 -6
  235. package/scripts/januslight.js +46 -4
  236. package/scripts/janusparticle.js +121 -15
  237. package/scripts/janusplayer.js +176 -92
  238. package/scripts/janusweb.js +9 -5
  239. package/scripts/janusxrplayer.js +152 -20
  240. package/scripts/multiplayermanager.js +4 -0
  241. package/scripts/object.js +83 -38
  242. package/scripts/parts.js +1 -1
  243. package/scripts/portal.js +13 -9
  244. package/scripts/remoteplayer.js +3 -2
  245. package/scripts/room.js +109 -32
  246. package/scripts/sound.js +8 -3
  247. package/scripts/text.js +9 -2
  248. package/scripts/tracking.js +1 -1
  249. package/scripts/ui/main.js +6 -2
  250. package/scripts/websurface.js +3 -3
package/scripts/object.js CHANGED
@@ -51,6 +51,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
51
51
  shadow: { type: 'boolean', default: true, set: this.updateMaterial },
52
52
  shadow_receive: { type: 'boolean', default: true, set: this.updateMaterial, comment: 'Receive shadows from self and other objects' },
53
53
  shadow_cast: { type: 'boolean', default: true, set: this.updateMaterial, comment: 'Cast shadows onto self and other objects' },
54
+ shadow_side: { type: 'string', default: '', set: this.updateMaterial, comment: 'Cast shadows onto front, back, both, or auto (empty)' },
54
55
  wireframe: { type: 'boolean', default: false, set: this.updateMaterial, comment: 'Wireframe rendering' },
55
56
  fog: { type: 'boolean', default: true, set: this.updateMaterial, comment: 'Object is affected by fog' },
56
57
  lights: { type: 'boolean', default: false, comment: 'Load lights from model' },
@@ -58,7 +59,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
58
59
  cull_face: { type: 'string', default: 'back', set: this.updateMaterial, comment: 'Hide face sides (back, front, or none)' },
59
60
  blend_src: { type: 'string', set: this.updateMaterial, comment: 'Blend mode (source)' },
60
61
  blend_dest: { type: 'string', set: this.updateMaterial, comment: 'Blend mode (destination)' },
61
- blend_mode: { type: 'string', default: 'normal', set: this.updateMaterial, comment: 'Blend mode' },
62
+ blend_mode: { type: 'string', default: null, set: this.updateMaterial, comment: 'Blend mode' },
62
63
  depth_write: { type: 'boolean', default: null, set: this.updateMaterial },
63
64
  depth_test: { type: 'boolean', default: null, set: this.updateMaterial },
64
65
  depth_offset: { type: 'float', default: null, set: this.updateMaterial },
@@ -81,6 +82,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
81
82
  emissive_intensity: { type: 'float', default: 1, set: this.updateMaterial, comment: 'Intensity of material emissive color' },
82
83
  roughness: { type: 'float', default: null, min: 0, max: 1, set: this.updateMaterial, comment: 'Material roughness value' },
83
84
  metalness: { type: 'float', default: null, set: this.updateMaterial, comment: 'Material metalness value' },
85
+ transmission: { type: 'float', default: 0, set: this.updateMaterial, comment: 'Material transmission value' },
84
86
  usevertexcolors: { type: 'boolean', default: true, set: this.updateMaterial },
85
87
  gain: { type: 'float', default: 1.0, set: this.updateAudioNodes },
86
88
  onloadstart: { type: 'callback' },
@@ -113,19 +115,23 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
113
115
  if (asset.loaded) {
114
116
  setTimeout(elation.bind(this, this.handleLoad), 0);
115
117
  } else {
118
+ //this.loadingindicator = this.createObject('object', {});
119
+ /*
116
120
  this.loadingindicator = this.createObject('particle', {
117
121
  col: 'green',
118
122
  scale: V(.025),
119
123
  vel: V(-1, 0, -1),
120
124
  accel: V(0, -5, 0),
121
125
  rand_vel: V(2, 2, 2),
122
- count: 250,
123
- rate: 500,
126
+ count: 25,
127
+ rate: 50,
124
128
  duration: .5,
125
129
  collidable: false,
126
130
  collision_trigger: true,
127
131
  loop: true,
128
132
  });
133
+ */
134
+ //elation.events.add(asset, 'asset_load_queued,asset_load_start,asset_load_progress,asset_load_processing,asset_load_complete', ev => { console.log(ev.type, this, ev); });
129
135
  elation.events.add(asset, 'asset_load_complete', elation.bind(this, this.handleLoad));
130
136
  elation.events.add(asset, 'asset_load_progress', (ev) => { this.dispatchEvent({type: 'loadprogress', data: ev.data}); });
131
137
  }
@@ -191,6 +197,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
191
197
  if (this.animations && this.anim_id && this.animations[this.anim_id]) {
192
198
  console.log('start animation', this);
193
199
  this.animations[this.anim_id].play();
200
+ this.activeanimation = this.animations[this.anim_id];
194
201
  }
195
202
  }
196
203
  if (this.loadingindicator) {
@@ -203,12 +210,14 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
203
210
  }
204
211
  this.updateVideo = function() {
205
212
  if (!this.modelasset) return;
213
+ if (this.videotexture) {
214
+ if (this.videotexture.image) {
215
+ this.videotexture.image.pause();
216
+ }
217
+ }
206
218
  if (!this.videoasset || this.videoasset.name != this.video_id) {
207
219
  if (this.video_id && this.video_id != '' && !this.image_id) {
208
220
  this.loadVideo(this.video_id);
209
- if (this.modelasset && texture) {
210
- this.assignTextureParameters(texture, this.modelasset, this.videoasset);
211
- }
212
221
  } else {
213
222
  this.videotexture = null;
214
223
  }
@@ -245,9 +254,11 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
245
254
  // Refresh this object whenever the video has a new frame for us to display
246
255
  texture.onUpdate = (e) => this.refresh();
247
256
 
248
- if (videoasset.auto_play) {
257
+ if (videoasset.auto_play && texture.image) {
249
258
  texture.image.addEventListener('canplaythrough', function() {
250
- texture.image.play();
259
+ if (texture.image) {
260
+ texture.image.play();
261
+ }
251
262
  });
252
263
  }
253
264
 
@@ -259,6 +270,9 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
259
270
 
260
271
  elation.events.add(this, 'click', elation.bind(this, this.handleVideoClick));
261
272
  this.room.videos[videoid] = this;
273
+ if (this.modelasset && texture) {
274
+ this.assignTextureParameters(texture, this.modelasset, videoasset);
275
+ }
262
276
  }
263
277
  }
264
278
  this.updateWebsurface = function() {
@@ -295,6 +309,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
295
309
  this.websurface = this.spawn('januswebsurface', null, {janus: this.janus, room: this.room, websurface_id: this.websurface_id});
296
310
  elation.events.add(this, 'mouseover', elation.bind(this.websurface, this.websurface.hover));
297
311
  elation.events.add(this, 'mouseout', elation.bind(this.websurface, this.websurface.unhover));
312
+ elation.events.add(this, 'click', elation.bind(this.websurface, this.websurface.click));
298
313
  this.replaceWebsurfaceMaterial();
299
314
  this.websurface.start();
300
315
  }
@@ -356,6 +371,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
356
371
  blend_src = false,
357
372
  blend_dest = false,
358
373
  side = this.sidemap[this.properties.cull_face],
374
+ shadowside = this.sidemap[this.properties.shadow_side || this.properties.cull_face],
359
375
  textureasset,
360
376
  lightmaptextureasset,
361
377
  emissivetextureasset,
@@ -415,7 +431,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
415
431
 
416
432
  //texture.offset.copy(this.texture_offset);
417
433
  //texture.repeat.copy(this.texture_repeat);
418
- //texture.rotation = this.texture_rotation * THREE.Math.DEG2RAD;
434
+ //texture.rotation = this.texture_rotation * THREE.MathUtils.DEG2RAD;
419
435
 
420
436
  if (texture) {
421
437
  this.assignTextureParameters(texture, modelasset, textureasset);
@@ -433,7 +449,10 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
433
449
  }
434
450
  }
435
451
  if (normal_image_id) {
436
- let normaltextureasset = this.getAsset('image', normal_image_id, true);
452
+ let normaltextureasset = this.getAsset('image', normal_image_id, false);
453
+ if (!normaltextureasset) { // no image found, try video
454
+ normaltextureasset = this.getAsset('video', normal_image_id);
455
+ }
437
456
  if (normaltextureasset) {
438
457
  textureNormal = normaltextureasset.getInstance();
439
458
  if (!this.assetloadhandlers[textureNormal.uuid]) {
@@ -631,6 +650,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
631
650
  shadermaterial = shader.getInstance();
632
651
  shadermaterial.uniforms = this.room.parseShaderUniforms(shader.uniforms);
633
652
  shadermaterial.side = this.sidemap[this.properties.cull_face];
653
+ shadermaterial.shadowSide = shadowside
634
654
  shadermaterial.receiveShadow = this.shadow && this.shadow_receive;
635
655
  shadermaterial.castShadow = this.shadow && this.shadow_cast;
636
656
  shadermaterial.renderOrder = this.renderorder;
@@ -764,9 +784,8 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
764
784
  }
765
785
  if (m.normalMap) {
766
786
  var imagesrc = m.normalMap.sourceFile;
767
- var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false});
787
+ var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false, srgb: false});
768
788
  if (asset) {
769
- m.normalMap = asset.getInstance();
770
789
  m.normalMap = asset.getInstance();
771
790
  if (!this.assetloadhandlers[m.normalMap.uuid]) {
772
791
  this.assetloadhandlers[m.normalMap.uuid] = true;
@@ -782,9 +801,8 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
782
801
  m.bumpScale = this.bumpmap_scale;
783
802
  } else if (m.bumpMap) {
784
803
  var imagesrc = m.bumpMap.sourceFile;
785
- var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false});
804
+ var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false, srgb: false});
786
805
  if (asset) {
787
- m.normalMap = asset.getInstance();
788
806
  m.normalMap = asset.getInstance();
789
807
  if (!this.assetloadhandlers[m.normalMap.uuid]) {
790
808
  this.assetloadhandlers[m.normalMap.uuid] = true;
@@ -792,7 +810,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
792
810
  m.normalMap = ev.data; this.refresh();
793
811
  m.normalMap.offset.copy(this.texture_offset);
794
812
  m.normalMap.repeat.copy(this.texture_repeat);
795
- m.normalMap.rotation = this.texture_rotation * THREE.Math.DEG2RAD;
813
+ m.normalMap.rotation = this.texture_rotation * THREE.MathUtils.DEG2RAD;
796
814
  }));
797
815
  elation.events.add(asset, 'asset_load', elation.bind(this, function(ev) { m.normalMap = ev.data; this.refresh(); }));
798
816
  }
@@ -802,7 +820,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
802
820
  m.normalMap = textureNormal;
803
821
  } else if (m.normalMap) {
804
822
  var imagesrc = m.normalMap.sourceFile;
805
- var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false});
823
+ var asset = this.getAsset('image', imagesrc, {id: imagesrc, src: imagesrc, hasalpha: false, srgb: false});
806
824
  if (asset) {
807
825
  m.normalMap = asset.getInstance();
808
826
  if (!this.assetloadhandlers[m.normalMap.uuid]) {
@@ -816,11 +834,10 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
816
834
  if (textureLightmap && textureLightmap.image) {
817
835
  if (lightmaptextureasset.loaded) {
818
836
  m.lightMap = textureLightmap;
819
- } else {
820
- }
821
- if (!this.assetloadhandlers[m.lightMap.uuid]) {
822
- this.assetloadhandlers[m.lightMap.uuid] = true;
823
- elation.events.add(textureLightmap, 'asset_update', elation.bind(m, function(ev) { m.lightMap = ev.data; this.refresh(); }));
837
+ if (!this.assetloadhandlers[m.lightMap.uuid]) {
838
+ this.assetloadhandlers[m.lightMap.uuid] = true;
839
+ elation.events.add(textureLightmap, 'asset_update', elation.bind(m, function(ev) { m.lightMap = ev.data; this.refresh(); }));
840
+ }
824
841
  }
825
842
  } else if (m.lightMap) {
826
843
  var imagesrc = m.lightMap.sourceFile;
@@ -843,8 +860,11 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
843
860
  m.emissiveMap = textureEmissive;
844
861
  textureEmissive.encoding = THREE.sRGBEncoding;
845
862
  m.emissive = new THREE.Color(0xffffff);
846
- } else {
863
+ } else if (m.emissiveMap) {
864
+ m.emissiveMap.encoding = THREE.sRGBEncoding;
865
+ } else if (this.emissive) {
847
866
  //m.emissive = this.emissive.clone();
867
+ m.emissive.copy(this.emissive)
848
868
  }
849
869
  m.emissiveIntensity = this.emissive_intensity;
850
870
  }
@@ -862,13 +882,18 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
862
882
  } else if (this.metalness !== null) {
863
883
  m.metalness = this.metalness;
864
884
  }
885
+ if (this.transmission !== null) {
886
+ m.transmission = this.transmission;
887
+ }
865
888
 
866
- if (this.isUsingPBR()) {
889
+ if (this.isUsingPBR() && !this.isUsingToonShader()) {
867
890
  m.envMap = this.getEnvmap();
891
+ m.envMapIntensity = room.skybox_intensity;
868
892
  }
869
893
 
870
894
  //m.roughness = 0.75;
871
895
  m.side = side;
896
+ m.shadowSide = shadowside;
872
897
 
873
898
  if (blend_src || blend_dest) {
874
899
  if (blend_src) m.blendSrc = blend_src;
@@ -880,8 +905,8 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
880
905
  if (!(this.blend_src == 'src_alpha' && this.blend_dest == 'one_minus_src_alpha')) {
881
906
  m.transparent = true;
882
907
  }
883
- } else {
884
- m.blending = THREE.NormalBlending;
908
+ } else if (this.blend_mode) {
909
+ m.blending = this.blendModeMap[this.blend_mode];
885
910
  }
886
911
  if (this.depth_write !== null) {
887
912
  m.depthWrite = this.depth_write;
@@ -924,9 +949,9 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
924
949
  //m.needsUpdate = true;
925
950
  m.skinning = useSkinning;
926
951
  if (useVertexColors) {
927
- m.vertexColors = THREE.VertexColors;
952
+ m.vertexColors = true;
928
953
  } else {
929
- m.vertexColors = THREE.NoColors;
954
+ m.vertexColors = false
930
955
  }
931
956
  m.fog = this.fog;
932
957
  m.wireframe = this.wireframe;
@@ -973,9 +998,10 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
973
998
  var m = materials;
974
999
  } else if (oldmat instanceof THREE.PointsMaterial ||
975
1000
  oldmat instanceof THREE.LineBasicMaterial ||
976
- oldmat instanceof THREE.LineDashedMaterial
1001
+ oldmat instanceof THREE.LineDashedMaterial ||
1002
+ oldmat instanceof THREE.ShaderMaterial
977
1003
  ) {
978
- var m = oldmat.clone();
1004
+ var m = oldmat;
979
1005
  } else {
980
1006
  var m = this.allocateMaterial();
981
1007
  m.dithering = true;
@@ -1001,6 +1027,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1001
1027
  m.emissive.copy(this.emissive);
1002
1028
  }
1003
1029
  }
1030
+ if (oldmat.emissiveIntensity !== undefined) m.emissiveIntensity = oldmat.emissiveIntensity;
1004
1031
  }
1005
1032
 
1006
1033
  m.lightMap = oldmat.lightMap;
@@ -1009,7 +1036,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1009
1036
  }
1010
1037
  m.transmission = oldmat.transmission;
1011
1038
  m.transmissionMap = oldmat.transmissionMap;
1012
- m.transparent = m.opacity < 1;
1039
+ m.transparent = oldmat.transparent || m.opacity < 1;
1013
1040
  m.alphaTest = oldmat.alphaTest;
1014
1041
  m.skinning = oldmat.skinning;
1015
1042
 
@@ -1019,14 +1046,17 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1019
1046
  if (oldmat.roughnessMap !== undefined) m.roughnessMap = oldmat.roughnessMap;
1020
1047
  if (oldmat.clearcoat !== undefined) m.clearcoat = oldmat.clearcoat;
1021
1048
  if (oldmat.clearcoatMap !== undefined) m.clearcoatMap = oldmat.clearcoatMap;
1022
- if (oldmat.clearcoatRoughness !== undefined) m.clearcoatcoughness = oldmat.clearcoatRoughness;
1049
+ if (oldmat.clearcoatRoughness !== undefined) m.clearcoatRoughness = oldmat.clearcoatRoughness;
1023
1050
  if (oldmat.clearcoatRoughnessMap !== undefined) m.clearcoatRoughnessMap = oldmat.clearcoatRoughnessMap;
1024
1051
  if (oldmat.clearcoatNormalMap !== undefined) m.clearcoatNormalMap = oldmat.clearcoatNormalMap;
1025
1052
  if (oldmat.clearcoatNormalScale !== undefined) m.clearcoatNormalScale = oldmat.clearcoatNormalScale;
1026
1053
  if (oldmat.attenuationTint !== undefined) m.attenuationTint = oldmat.attenuationTint;
1054
+ if (oldmat.attenuationColor !== undefined) m.attenuationColor = oldmat.attenuationColor;
1027
1055
  if (oldmat.attenuationDistance !== undefined) m.attenuationDistance = oldmat.attenuationDistance;
1028
1056
  if (oldmat.thickness !== undefined) m.thickness = oldmat.thickness;
1029
1057
  if (oldmat.thicknessMap !== undefined) m.thicknessMap = oldmat.thicknessMap;
1058
+ if (oldmat.transmission !== undefined) m.transmission = oldmat.transmission;
1059
+ if (oldmat.transmissionMap !== undefined) m.transmissionMap = oldmat.transmissionMap;
1030
1060
 
1031
1061
  //m.reflectivity = (oldmat.reflectivity !== undefined ? oldmat.reflectivity : .5);
1032
1062
 
@@ -1060,7 +1090,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1060
1090
  shader.vertexShader = shader.vertexShader.replace('#include <' + oldchunkname + '>', '#include <' + newchunkname + '>');
1061
1091
  shader.fragmentShader = shader.fragmentShader.replace('#include <' + oldchunkname + '>', '#include <' + newchunkname + '>');
1062
1092
  }
1063
- }
1093
+ };
1064
1094
  }
1065
1095
  }
1066
1096
  return m;
@@ -1072,6 +1102,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1072
1102
  let materials = (elation.utils.isArray(n.material) ? n.material : [n.material]);
1073
1103
  materials.forEach(m => {
1074
1104
  m.envMap = envMap;
1105
+ m.envMapIntensity = room.skybox_intensity;
1075
1106
  });
1076
1107
  }
1077
1108
  });
@@ -1108,10 +1139,10 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1108
1139
  if (this.shader_id) {
1109
1140
  } else if (!this.lighting) {
1110
1141
  return new THREE.MeshBasicMaterial();
1111
- } else if (this.isUsingPBR()) {
1112
- return new THREE.MeshPhysicalMaterial();
1113
1142
  } else if (this.isUsingToonShader()) {
1114
1143
  return new THREE.MeshToonMaterial();
1144
+ } else if (this.isUsingPBR()) {
1145
+ return new THREE.MeshPhysicalMaterial();
1115
1146
  }
1116
1147
  return new THREE.MeshPhongMaterial();
1117
1148
  }
@@ -1141,7 +1172,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1141
1172
  texture.generateMipmaps = linear && !(texture instanceof THREE.VideoTexture || texture instanceof THREE.SBSVideoTexture) && (textureasset && textureasset.detectImageType() != 'basis');
1142
1173
  texture.offset.copy(this.texture_offset);
1143
1174
  texture.repeat.copy(this.texture_repeat);
1144
- texture.rotation = this.texture_rotation * THREE.Math.DEG2RAD;
1175
+ texture.rotation = this.texture_rotation * THREE.MathUtils.DEG2RAD;
1145
1176
  if (texture.repeat.x > 1 || texture.repeat.y > 1) {
1146
1177
  texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
1147
1178
  }
@@ -1159,12 +1190,12 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1159
1190
  if (m.map) {
1160
1191
  m.map.offset.copy(this.texture_offset);
1161
1192
  m.map.repeat.copy(this.texture_repeat);
1162
- m.map.rotation = this.texture_rotation * THREE.Math.DEG2RAD;
1193
+ m.map.rotation = this.texture_rotation * THREE.MathUtils.DEG2RAD;
1163
1194
  }
1164
1195
  if (m.normalMap) {
1165
1196
  m.normalMap.offset.copy(this.texture_offset);
1166
1197
  m.normalMap.repeat.copy(this.texture_repeat);
1167
- m.normalMap.rotation = this.texture_rotation * THREE.Math.DEG2RAD;
1198
+ m.normalMap.rotation = this.texture_rotation * THREE.MathUtils.DEG2RAD;
1168
1199
  }
1169
1200
  // TODO - all maps which use uv layer 0 should be changed here
1170
1201
  });
@@ -1259,6 +1290,8 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1259
1290
  if (strerr.indexOf('NotSupportedError') == 0 && this.hls !== false) {
1260
1291
  console.log('Attempting to init hls', this.videoasset)
1261
1292
  this.videoasset.initHLS();
1293
+ } else {
1294
+ console.error(e);
1262
1295
  }
1263
1296
  });
1264
1297
  }
@@ -1364,7 +1397,9 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1364
1397
  }
1365
1398
  this.setupOnBeforeRenderListener = function(type, args, arg2, arg3) {
1366
1399
  if (this.onbeforerender) {
1367
- this.objects['3d'].onBeforeRender = this.onbeforerender;
1400
+ elation.events.add(this, 'load', ev => {
1401
+ this.objects['3d'].onBeforeRenderx = this.onbeforerender;
1402
+ });
1368
1403
  }
1369
1404
  }
1370
1405
  this.updateAudioNodes = function() {
@@ -1407,6 +1442,14 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1407
1442
  }
1408
1443
 
1409
1444
  }
1445
+ this.cloneAnimations = function(object) {
1446
+ if (object.animations && this.animationmixer) {
1447
+ for (let k in object.animations) {
1448
+ let action = this.animationmixer.clipAction(object.animations[k]._clip);
1449
+ this.animations[k] = action;
1450
+ }
1451
+ }
1452
+ }
1410
1453
  this.getProxyObject = function(classdef) {
1411
1454
  if (!this._proxyobject) {
1412
1455
  this._proxyobject = elation.engine.things.janusobject.extendclass.getProxyObject.call(this, classdef);
@@ -1431,6 +1474,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1431
1474
  shadow: [ 'property', 'shadow' ],
1432
1475
  shadow_receive: [ 'property', 'shadow_receive' ],
1433
1476
  shadow_cast: [ 'property', 'shadow_cast' ],
1477
+ shadow_side: [ 'property', 'shadow_side' ],
1434
1478
  cull_face: [ 'property', 'cull_face' ],
1435
1479
  blend_src: [ 'property', 'blend_src' ],
1436
1480
  blend_dest: [ 'property', 'blend_dest' ],
@@ -1448,6 +1492,7 @@ elation.require(['janusweb.janusbase', 'janusweb.websurface'], function() {
1448
1492
  emissive_intensity: [ 'property', 'emissive_intensity'],
1449
1493
  roughness: [ 'property', 'roughness'],
1450
1494
  metalness: [ 'property', 'metalness'],
1495
+ transmission: [ 'property', 'transmission'],
1451
1496
  usevertexcolors: [ 'property', 'usevertexcolors'],
1452
1497
 
1453
1498
  texture_offset: [ 'property', 'texture_offset'],
package/scripts/parts.js CHANGED
@@ -35,7 +35,7 @@ elation.require([], function() {
35
35
  engine: this._object.engine,
36
36
  properties: {
37
37
  object: object,
38
- rotation: [object.rotation.x * THREE.Math.RAD2DEG, object.rotation.y * THREE.Math.RAD2DEG, object.rotation.z * THREE.Math.RAD2DEG],
38
+ rotation: [object.rotation.x * THREE.MathUtils.RAD2DEG, object.rotation.y * THREE.MathUtils.RAD2DEG, object.rotation.z * THREE.MathUtils.RAD2DEG],
39
39
  room: rootobject.room
40
40
  }
41
41
  });
package/scripts/portal.js CHANGED
@@ -501,11 +501,11 @@ elation.require(['janusweb.janusbase'], function() {
501
501
  var offset = ((thickness / 2) / this.properties.scale.z) * 2;
502
502
  var box;
503
503
  if (this.round) {
504
- box = new THREE.CircleBufferGeometry(.5, 64);
504
+ box = new THREE.CircleGeometry(.5, 64);
505
505
  box.applyMatrix4(new THREE.Matrix4().makeScale(this.size.x, this.size.y, thickness));
506
506
  box.applyMatrix4(new THREE.Matrix4().makeTranslation(0, this.size.y/2, .02));
507
507
  } else {
508
- box = new THREE.BoxBufferGeometry(this.size.x, this.size.y, thickness);
508
+ box = new THREE.BoxGeometry(this.size.x, this.size.y, thickness);
509
509
  box.applyMatrix4(new THREE.Matrix4().makeTranslation(0, this.size.y/2, thickness + .02));
510
510
  }
511
511
 
@@ -536,27 +536,31 @@ elation.require(['janusweb.janusbase'], function() {
536
536
  var group = new THREE.Mesh(box, mat);
537
537
  group.renderOrder = 10;
538
538
  group.castShadow = true;
539
+ let framegeo;
539
540
 
540
541
  if (this.draw_glow) {
541
542
  var framewidth = .05,
542
543
  frameheight = .05,
543
544
  framedepth = .01 / this.properties.size.z;
544
- var framegeo = new THREE.BufferGeometry();
545
- var framepart = new THREE.BoxBufferGeometry(this.size.x,frameheight,framedepth);
545
+ //var framegeo = new THREE.BufferGeometry();
546
+ var framepart = new THREE.BoxGeometry(this.size.x,frameheight,framedepth);
546
547
  var framemat4 = new THREE.Matrix4();
547
548
 
548
549
 
549
550
  framemat4.makeTranslation(0,this.size.y - frameheight/2,framedepth + offset);
550
- framegeo.merge(framepart, framemat4);
551
+ let framepart1 = framepart.clone().applyMatrix4(framemat4);
552
+
551
553
  framemat4.makeTranslation(0,frameheight/2,framedepth + offset);
552
- framegeo.merge(framepart, framemat4);
554
+ let framepart2 = framepart.clone().applyMatrix4(framemat4);
553
555
 
554
- framepart = new THREE.BoxBufferGeometry(framewidth,this.size.y,framedepth);
556
+ framepart = new THREE.BoxGeometry(framewidth,this.size.y,framedepth);
555
557
 
556
558
  framemat4.makeTranslation(this.size.x / 2 - framewidth/2,this.size.y / 2,framedepth + offset);
557
- framegeo.merge(framepart, framemat4);
559
+ let framepart3 = framepart.clone().applyMatrix4(framemat4);
558
560
  framemat4.makeTranslation(-this.size.x / 2 + framewidth/2,this.size.y / 2,framedepth + offset);
559
- framegeo.merge(framepart, framemat4);
561
+ let framepart4 = framepart.clone().applyMatrix4(framemat4);
562
+
563
+ framegeo = THREE.BufferGeometryUtils.mergeBufferGeometries([framepart1, framepart2, framepart3, framepart4]);
560
564
 
561
565
  var framemat = new THREE.MeshPhongMaterial({color: 0x0000cc, emissive: 0x222222});
562
566
  var frame = new THREE.Mesh(framegeo, framemat);
@@ -113,8 +113,9 @@ elation.component.add('engine.things.remoteplayer', function() {
113
113
  this.mouth = this.createObject('sound', {
114
114
  pos: V(0, 0, 0),
115
115
  distancemodel: 'exponential',
116
- dist: 8,
117
- rolloff: 0.75,
116
+ dist: 1,
117
+ gain: 2,
118
+ rolloff: .4,
118
119
  });
119
120
  this.head.add(this.mouth._target);
120
121