x_ite 16.5.1 → 16.6.0

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 (56) hide show
  1. package/README.md +6 -6
  2. package/dist/assets/components/AnnotationComponent.js +1 -1
  3. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  4. package/dist/assets/components/CADGeometryComponent.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  8. package/dist/assets/components/DISComponent.js +1 -1
  9. package/dist/assets/components/DISComponent.min.js +1 -1
  10. package/dist/assets/components/EventUtilitiesComponent.js +1 -1
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +1 -1
  12. package/dist/assets/components/GaussianSplatsComponent.js +1 -1
  13. package/dist/assets/components/GaussianSplatsComponent.min.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.js +1 -1
  15. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.js +1 -1
  17. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.js +18 -18
  19. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  20. package/dist/assets/components/HAnimComponent.js +652 -385
  21. package/dist/assets/components/HAnimComponent.min.js +2 -2
  22. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  24. package/dist/assets/components/LayoutComponent.js +1 -1
  25. package/dist/assets/components/LayoutComponent.min.js +1 -1
  26. package/dist/assets/components/NURBSComponent.js +1 -1
  27. package/dist/assets/components/NURBSComponent.min.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  29. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  30. package/dist/assets/components/PickingComponent.js +1 -1
  31. package/dist/assets/components/PickingComponent.min.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.js +1 -1
  33. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.js +1 -1
  35. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  36. package/dist/assets/components/TextComponent.js +1 -1
  37. package/dist/assets/components/TextComponent.min.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  39. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  40. package/dist/assets/components/Texturing3DComponent.js +9 -9
  41. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  42. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  43. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  44. package/dist/assets/components/WebXRComponent.js +1 -1
  45. package/dist/assets/components/WebXRComponent.min.js +1 -1
  46. package/dist/assets/components/X_ITEComponent.js +1 -1
  47. package/dist/assets/components/X_ITEComponent.min.js +1 -1
  48. package/dist/assets/lib/draco_decoder_gltf.js +1 -1
  49. package/dist/example.html +1 -1
  50. package/dist/x_ite.css +1 -1
  51. package/dist/x_ite.js +71 -108
  52. package/dist/x_ite.min.js +2 -2
  53. package/dist/x_ite.min.mjs +2 -2
  54. package/dist/x_ite.mjs +71 -108
  55. package/dist/x_ite.zip +0 -0
  56. package/package.json +4 -3
package/dist/example.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8"/>
5
5
  <script defer src="x_ite.min.js"></script>
6
6
  <!-- or use: -->
7
- <!-- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.5.1/dist/x_ite.min.js"></script> -->
7
+ <!-- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@16.6.0/dist/x_ite.min.js"></script> -->
8
8
  <style>
9
9
  @import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400&family=Source+Sans+3:ital,wght@0,400&display=swap");
10
10
 
package/dist/x_ite.css CHANGED
@@ -1 +1 @@
1
- /* X_ITE v16.5.1 */:host,X3DCanvas{--red:#d71f1f;--orange:#ff9230;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(1647%) hue-rotate(335deg) brightness(101%) contrast(101%);--text-color:#fff;--text-color-dark:#fff;--text-shadow-color:#000;--link-color:var(--orange);--progress-background:#fff;--splash-screen-background:#0f0f0f;--splash-screen-image:url(assets/images/background-dark.svg);--gradient:linear-gradient(180deg,rgba(35,37,40,.553) 0%,rgba(13,16,21,.831));--border:4px solid rgba(43,45,47,.675);--button-border:1px solid hsla(0,0%,100%,.1);--tint-color:rgba(50,50,50,.44);--tint-hover-color:rgba(64,64,64,.44);--table-tint-color:hsla(0,0%,100%,.083);--icon-filter:none}@media (prefers-color-scheme:light){:host(:not([theme=dark])),X3DCanvas:not([theme=dark]){--red:#e12b2b;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2647%) hue-rotate(335deg) brightness(70%) contrast(121%);--text-color:#000;--text-shadow-color:#fff;--link-color:var(--red);--progress-background:#000;--splash-screen-background:#fcfcfc;--splash-screen-image:url(assets/images/background-light.svg);--gradient:linear-gradient(180deg,rgba(247,247,252,.642) 0%,hsla(252,8%,88%,.6));--border:4px solid rgba(229,229,234,.66);--button-border:1px solid hsla(0,0%,100%,.49);--tint-color:hsla(0,0%,100%,.37);--tint-hover-color:hsla(0,0%,100%,.46);--table-tint-color:var(--tint-color);--icon-filter:invert(100%)}}:host([theme=light]),X3DCanvas[theme=light]{--red:#e12b2b;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2647%) hue-rotate(335deg) brightness(70%) contrast(121%);--text-color:#000;--text-shadow-color:#fff;--link-color:var(--red);--progress-background:#000;--splash-screen-background:#fcfcfc;--splash-screen-image:url(assets/images/background-light.svg);--gradient:linear-gradient(180deg,rgba(247,247,252,.642) 0%,hsla(252,8%,88%,.6));--border:4px solid rgba(229,229,234,.66);--button-border:1px solid hsla(0,0%,100%,.49);--tint-color:hsla(0,0%,100%,.37);--tint-hover-color:hsla(0,0%,100%,.46);--table-tint-color:var(--tint-color);--icon-filter:invert(100%)}:host,X3DCanvas{all:initial;display:inline-block;height:150px;overflow:hidden;-webkit-user-select:none;user-select:none;width:300px}:host(.x_ite-fullscreen),X3DCanvas.x_ite-fullscreen{height:100vh!important;width:100vw!important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser,.x_ite-private-browser *,.x_ite-private-menu,.x_ite-private-menu *{all:revert}.x_ite-private-browser{height:100%;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.x_ite-private-surface{height:100%}.x_ite-private-canvas{height:100%;width:100%}.x_ite-private-notification{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-bottom-left-radius:16px;border-right:none;border-top-left-radius:16px;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:10pt;line-height:1.1;padding:5px 0 3px 7px;pointer-events:none;position:absolute;right:0;top:20px;visibility:hidden;white-space:pre;width:0}.x_ite-private-notification span{background:url(assets/images/logo.svg) no-repeat top -1px left 0;background-size:17px 17px;display:inline-block;padding:0 16px 2px 22px;position:relative;top:-1px}.x_ite-private-browser-timings{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border-right:var(--border);border-top:var(--border);border-top-right-radius:12px;bottom:0;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:9pt;left:0;padding:8px 12px 10px;pointer-events:none;position:absolute;white-space:pre}.x_ite-private-browser-timings :is(table,thead,tbody,tfoot,tr,th,td){box-sizing:border-box;color:var(--text-color);font-size:inherit;line-height:1.1;text-align:left}.x_ite-private-browser-timings table{border-collapse:separate;border-spacing:2px;empty-cells:show;max-width:100%;overflow:hidden;width:100%}.x_ite-private-browser-timings thead th{background:url(assets/images/schedule.svg) no-repeat -1px 1px;background-size:17px 17px;color:var(--text-color-dark);filter:var(--icon-filter);font-weight:700;padding-bottom:5px;padding-left:20px;padding-top:3px}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings td.pointer{pointer-events:all}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{background:var(--tint-color);border:var(--button-border);border-radius:10px;box-sizing:border-box;color:var(--text-color);cursor:pointer;font-family:X_ITE PT Sans,sans-serif;font-size:9pt;font-style:italic;height:14pt;line-height:1.1;margin-top:2px;padding:0;pointer-events:all;text-align:center;width:100%}.x_ite-private-browser-timings button:hover{background-color:var(--tint-hover-color)}.x_ite-private-world-info-overlay{inset:0;position:absolute}.x_ite-private-world-info{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:15px;inset:0;margin:21pt;overflow-y:auto;padding:0 21pt 21pt;position:absolute}.x_ite-private-world-info .x_ite-private-world-info-buttons{border-bottom:4px solid var(--table-tint-color);margin-bottom:12pt}.x_ite-private-world-info button{background:none;border:none;color:var(--text-color);height:21pt;width:100pt}.x_ite-private-world-info button:hover{background-color:var(--table-tint-color)}.x_ite-private-world-info button.active{font-weight:700}.x_ite-private-world-info :is(.x_ite-private-world-info-top,.x_ite-private-world-info-title,.x_ite-private-world-info-info,p){box-sizing:border-box;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-style:normal;line-height:1.3;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-size:9pt;font-style:italic;font-weight:700;margin:.3em 0}.x_ite-private-world-info .x_ite-private-world-info-title{font-size:16pt;font-weight:700;margin:.3em 0;overflow-wrap:break-word;word-break:break-word}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{font-size:11pt;margin:.5em 0;overflow-wrap:break-word;word-break:break-word}.x_ite-private-world-info table{border-collapse:collapse;line-height:1.3;margin:.5em 0;width:100%}.x_ite-private-world-info tr:nth-child(odd){background-color:var(--table-tint-color)}.x_ite-private-world-info td{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:10pt;overflow-wrap:break-word;padding:4pt;vertical-align:top;word-break:break-word}.x_ite-private-world-info td:first-child{min-width:70px}.x_ite-private-world-info a{color:var(--link-color)}.x_ite-private-menu.context-menu-layer{inset:0;position:fixed;z-index:10000}.x_ite-private-menu .context-menu-list,.x_ite-private-menu.context-menu-list{border:4px solid transparent;border-radius:12px;box-sizing:border-box;color:var(--text-color);display:none;font-family:X_ITE PT Sans,sans-serif;font-size:10pt;line-height:1.2;list-style-type:none;margin:0 0 0 1px;min-width:120px;overscroll-behavior:none;padding:5px 10px 6px 9px;white-space:pre}.x_ite-private-menu.context-menu-list{isolation:isolate;position:fixed;z-index:10000}.x_ite-private-menu .context-menu-list{position:absolute;top:-13px}.x_ite-private-menu .context-menu-background{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:12px;box-sizing:border-box;inset:0;margin:0 0 0 1px;min-width:120px;outline:none;padding:5px 10px 9px 9px;position:absolute}.x_ite-private-menu .context-menu-item{border-radius:12px;cursor:pointer;font-size:10pt;line-height:1;margin:0;margin:0 4px;padding:0 2px;position:relative;text-align:left}.x_ite-private-menu .context-menu-item:first-of-type{margin-top:4px}.x_ite-private-menu .context-menu-item:last-of-type{margin-bottom:4px}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:var(--red)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{border-bottom:1px solid #8a8a8a;border-top:0;cursor:default;margin:2px 0;padding-bottom:0;padding-top:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none!important}.x_ite-private-menu .context-menu-submenu:after{border-color:transparent transparent transparent #e8eaed;border-style:solid;border-width:4px 0 4px 5px;content:"";display:block;filter:var(--icon-filter);height:0;margin-right:2px;position:absolute;right:4px;top:8px;width:0}.x_ite-private-menu .context-menu-item>span,.x_ite-private-menu label{display:block;padding:5px 24px;width:100%}.x_ite-private-menu label{box-sizing:border-box;cursor:pointer;font-size:10pt;font-weight:400;line-height:1;margin:0}.x_ite-private-menu label span{color:var(--text-color-dark);filter:var(--icon-filter)}.x_ite-private-menu label:has(>input[type=radio]:checked){font-weight:700}.x_ite-private-menu label>*{font-size:10pt;line-height:1;vertical-align:top}.x_ite-private-menu input{appearance:none;cursor:pointer}.x_ite-private-menu input[type=checkbox],.x_ite-private-menu input[type=radio]{background:url(assets/images/radio_button_unchecked.svg) no-repeat left 0 top 0;background-size:17px 17px;display:inline-block;filter:var(--icon-filter);height:17px;margin:0 0 0 -22px;padding:0;position:absolute;top:3px;width:17px}.x_ite-private-menu input:checked{filter:var(--orange-filter)}.x_ite-private-menu .context-menu-input:hover input:checked{filter:var(--icon-filter)}.x_ite-private-menu input[type=checkbox]:checked{background-image:url(assets/images/check_circle.svg)}.x_ite-private-menu input[type=radio]:checked{background-image:url(assets/images/radio_button_checked.svg)}.x_ite-private-menu span{padding-left:0}.x_ite-private-menu .context-menu-title{font-weight:700}.x_ite-private-menu .context-menu-icon>span{background-position:2px 3px;background-repeat:no-repeat;background-size:17px 17px;color:var(--text-color-dark);display:block;filter:var(--icon-filter)}.x_ite-private-menu .x_ite-private-icon-logo>span{background-image:url(assets/images/logo.svg);background-position:2px 4px;color:var(--text-color);filter:none}.x_ite-private-icon-viewpoint>span{background-image:url(assets/images/eye_tracking.svg)}.x_ite-private-menu .x_ite-private-viewpoint input{background-image:none}.x_ite-private-menu .x_ite-private-viewpoint input:checked{background-image:url(assets/images/visibility.svg)}.x_ite-private-icon-viewer>span{background-image:url(assets/images/stadia_controller.svg)}.x_ite-private-menu .x_ite-private-examine-viewer :is(input,input:checked){background-image:url(assets/images/language.svg)}.x_ite-private-menu .x_ite-private-walk-viewer :is(input,input:checked){background-image:url(assets/images/directions_run.svg)}.x_ite-private-menu .x_ite-private-fly-viewer :is(input,input:checked){background-image:url(assets/images/travel.svg)}.x_ite-private-menu .x_ite-private-plane-viewer :is(input,input:checked){background-image:url(assets/images/border_all.svg)}.x_ite-private-menu .x_ite-private-lookat-viewer :is(input,input:checked){background-image:url(assets/images/point_scan.svg)}.x_ite-private-menu .x_ite-private-none-viewer :is(input,input:checked){background-image:url(assets/images/block.svg)}.x_ite-private-icon-primitive-quality>span{background-image:url(assets/images/hexagon.svg)}.x_ite-private-icon-texture-quality>span{background-image:url(assets/images/texture.svg)}.x_ite-private-icon-shading>span{background-image:url(assets/images/stroke_partial.svg)}.x_ite-private-icon-animations>span{background-image:url(assets/images/animation.svg)}.x_ite-private-icon-play>span{background-image:url(assets/images/play_circle.svg)}.x_ite-private-icon-stop>span{background-image:url(assets/images/stop_circle.svg)}.x_ite-private-icon-enter-fullscreen>span{background-image:url(assets/images/fullscreen.svg)}.x_ite-private-icon-leave-fullscreen>span{background-image:url(assets/images/fullscreen_exit.svg)}.x_ite-private-icon-world-info>span{background-image:url(assets/images/globe.svg)}.x_ite-private-icon-info>span{background-image:url(assets/images/info.svg)}.x_ite-private-splash-screen{background:var(--splash-screen-image) var(--splash-screen-background);background-position:calc(50% - 30px) calc(50% + 58px);inset:0;pointer-events:none;position:absolute}.x_ite-private-spinner{--offset-x:100px;--offset-y:-48px;--size:32px;--padding:8px;--center-x:calc(var(--size)*0.44727 + var(--padding));--center-y:calc(var(--size)*0.52637 + var(--padding));animation:x_ite-spinner-animation 8s linear infinite;background:url(assets/images/logo.svg) no-repeat 50%;background-size:var(--size) var(--size);height:var(--size);left:calc(50% - var(--size)/2 + var(--size)/2 - var(--center-x) + var(--offset-x));padding:var(--padding);position:absolute;top:calc(50% - var(--size)/2 + var(--size)/2 - var(--center-y) + var(--offset-y));transform-origin:var(--center-x) var(--center-y);width:var(--size)}@keyframes x_ite-spinner-animation{to{transform:rotate(1turn)}}.x_ite-private-progress{left:calc(50% - 100px);position:absolute;top:calc(50% - 39pt);width:195px}.x_ite-private-x_ite{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:32pt;text-align:center;text-shadow:1px 1px 0 var(--text-shadow-color)}.x_ite-private-x_ite b{font-family:X_ITE PT Sans,sans-serif;font-weight:700}.x_ite-private-spinner-text{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:11pt;text-align:center;text-shadow:1px 1px 0 var(--text-shadow-color)}.x_ite-private-progressbar{background:var(--progress-background);border-radius:4px;height:8px;margin:8px;overflow:hidden}.x_ite-private-progressbar div{background:var(--red);height:100%;width:0}.x_ite-private-buttons{align-items:center;background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:32px;bottom:10px;display:flex;gap:16px;justify-content:center;padding:0 24px 0 16px;position:absolute;right:-16px}.x_ite-private-buttons:is(:empty,:not(:has(:not(.x_ite-private-hidden)))){display:none;opacity:0}.x_ite-private-button{background-repeat:no-repeat;background-size:30px 30px;cursor:pointer;filter:var(--icon-filter);height:30px;width:30px}.x_ite-private-button:hover{scale:1.2}.x_ite-private-no-sound-button{background-image:url(assets/images/no_sound.svg);order:1}.x_ite-private-xr-button{background-image:url(assets/images/head_mounted_device.svg);order:2}.x_ite-private-fade{opacity:1;transition:display allow-discrete .3s,opacity .3s ease-in-out}@starting-style{.x_ite-private-fade{opacity:0}}.x_ite-private-hidden{display:none;opacity:0}.x_ite-private-splash-screen.x_ite-private-fade{transition:none}.x_ite-private-splash-screen.x_ite-private-hidden{transition:display allow-discrete .2s,opacity .2s ease-in-out}.x_ite-private-button.x_ite-private-fade{transition:display allow-discrete 0s .3s,opacity .3s ease-in-out,scale .2s ease-in-out}@-moz-document url-prefix(){.x_ite-private-fade{transition:visibility .3s,opacity .3s ease-in-out}.x_ite-private-hidden{display:block;transition:visibility 0s .3s,opacity .3s ease-in-out;visibility:hidden}.x_ite-private-splash-screen.x_ite-private-hidden{transition:visibility 0s .2s,opacity .2s ease-in-out}.x_ite-private-button.x_ite-private-fade{transition:visibility 0s .3s,opacity .3s ease-in-out,scale .2s ease-in-out}.x_ite-private-button.x_ite-private-hidden{display:none}}
1
+ /* X_ITE v16.6.0 */:host,X3DCanvas{--red:#d71f1f;--orange:#ff9230;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(1647%) hue-rotate(335deg) brightness(101%) contrast(101%);--text-color:#fff;--text-color-dark:#fff;--text-shadow-color:#000;--link-color:var(--orange);--progress-background:#fff;--splash-screen-background:#0f0f0f;--splash-screen-image:url(assets/images/background-dark.svg);--gradient:linear-gradient(180deg,rgba(35,37,40,.553) 0%,rgba(13,16,21,.831));--border:4px solid rgba(43,45,47,.675);--button-border:1px solid hsla(0,0%,100%,.1);--tint-color:rgba(50,50,50,.44);--tint-hover-color:rgba(64,64,64,.44);--table-tint-color:hsla(0,0%,100%,.083);--icon-filter:none}@media (prefers-color-scheme:light){:host(:not([theme=dark])),X3DCanvas:not([theme=dark]){--red:#e12b2b;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2647%) hue-rotate(335deg) brightness(70%) contrast(121%);--text-color:#000;--text-shadow-color:#fff;--link-color:var(--red);--progress-background:#000;--splash-screen-background:#fcfcfc;--splash-screen-image:url(assets/images/background-light.svg);--gradient:linear-gradient(180deg,rgba(247,247,252,.642) 0%,hsla(252,8%,88%,.6));--border:4px solid rgba(229,229,234,.66);--button-border:1px solid hsla(0,0%,100%,.49);--tint-color:hsla(0,0%,100%,.37);--tint-hover-color:hsla(0,0%,100%,.46);--table-tint-color:var(--tint-color);--icon-filter:invert(100%)}}:host([theme=light]),X3DCanvas[theme=light]{--red:#e12b2b;--orange-filter:brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2647%) hue-rotate(335deg) brightness(70%) contrast(121%);--text-color:#000;--text-shadow-color:#fff;--link-color:var(--red);--progress-background:#000;--splash-screen-background:#fcfcfc;--splash-screen-image:url(assets/images/background-light.svg);--gradient:linear-gradient(180deg,rgba(247,247,252,.642) 0%,hsla(252,8%,88%,.6));--border:4px solid rgba(229,229,234,.66);--button-border:1px solid hsla(0,0%,100%,.49);--tint-color:hsla(0,0%,100%,.37);--tint-hover-color:hsla(0,0%,100%,.46);--table-tint-color:var(--tint-color);--icon-filter:invert(100%)}:host,X3DCanvas{all:initial;display:inline-block;height:150px;overflow:hidden;-webkit-user-select:none;user-select:none;width:300px}:host(.x_ite-fullscreen),X3DCanvas.x_ite-fullscreen{height:100vh!important;width:100vw!important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser,.x_ite-private-browser *,.x_ite-private-menu,.x_ite-private-menu *{all:revert}.x_ite-private-browser{height:100%;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.x_ite-private-surface{height:100%}.x_ite-private-canvas{height:100%;width:100%}.x_ite-private-notification{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-bottom-left-radius:16px;border-right:none;border-top-left-radius:16px;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:10pt;line-height:1.1;padding:5px 0 3px 7px;pointer-events:none;position:absolute;right:0;top:20px;visibility:hidden;white-space:pre;width:0}.x_ite-private-notification span{background:url(assets/images/logo.svg) no-repeat top -1px left 0;background-size:17px 17px;display:inline-block;padding:0 16px 2px 22px;position:relative;top:-1px}.x_ite-private-browser-timings{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border-right:var(--border);border-top:var(--border);border-top-right-radius:12px;bottom:0;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:9pt;left:0;padding:8px 12px 10px;pointer-events:none;position:absolute;white-space:pre}.x_ite-private-browser-timings :is(table,thead,tbody,tfoot,tr,th,td){box-sizing:border-box;color:var(--text-color);font-size:inherit;line-height:1.1;text-align:left}.x_ite-private-browser-timings table{border-collapse:separate;border-spacing:2px;empty-cells:show;max-width:100%;overflow:hidden;width:100%}.x_ite-private-browser-timings thead th{background:url(assets/images/schedule.svg) no-repeat -1px 1px;background-size:17px 17px;color:var(--text-color-dark);filter:var(--icon-filter);font-weight:700;padding-bottom:5px;padding-left:20px;padding-top:3px}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings td.pointer{pointer-events:all}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{background:var(--tint-color);border:var(--button-border);border-radius:10px;box-sizing:border-box;color:var(--text-color);cursor:pointer;font-family:X_ITE PT Sans,sans-serif;font-size:9pt;font-style:italic;height:14pt;line-height:1.1;margin-top:2px;padding:0;pointer-events:all;text-align:center;width:100%}.x_ite-private-browser-timings button:hover{background-color:var(--tint-hover-color)}.x_ite-private-world-info-overlay{inset:0;position:absolute}.x_ite-private-world-info{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:15px;inset:0;margin:21pt;overflow-y:auto;padding:0 21pt 21pt;position:absolute}.x_ite-private-world-info .x_ite-private-world-info-buttons{border-bottom:4px solid var(--table-tint-color);margin-bottom:12pt}.x_ite-private-world-info button{background:none;border:none;color:var(--text-color);height:21pt;width:100pt}.x_ite-private-world-info button:hover{background-color:var(--table-tint-color)}.x_ite-private-world-info button.active{font-weight:700}.x_ite-private-world-info :is(.x_ite-private-world-info-top,.x_ite-private-world-info-title,.x_ite-private-world-info-info,p){box-sizing:border-box;color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-style:normal;line-height:1.3;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-size:9pt;font-style:italic;font-weight:700;margin:.3em 0}.x_ite-private-world-info .x_ite-private-world-info-title{font-size:16pt;font-weight:700;margin:.3em 0;overflow-wrap:break-word;word-break:break-word}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{font-size:11pt;margin:.5em 0;overflow-wrap:break-word;word-break:break-word}.x_ite-private-world-info table{border-collapse:collapse;line-height:1.3;margin:.5em 0;width:100%}.x_ite-private-world-info tr:nth-child(odd){background-color:var(--table-tint-color)}.x_ite-private-world-info td{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:10pt;overflow-wrap:break-word;padding:4pt;vertical-align:top;word-break:break-word}.x_ite-private-world-info td:first-child{min-width:70px}.x_ite-private-world-info a{color:var(--link-color)}.x_ite-private-menu.context-menu-layer{inset:0;position:fixed;z-index:10000}.x_ite-private-menu .context-menu-list,.x_ite-private-menu.context-menu-list{border:4px solid transparent;border-radius:12px;box-sizing:border-box;color:var(--text-color);display:none;font-family:X_ITE PT Sans,sans-serif;font-size:10pt;line-height:1.2;list-style-type:none;margin:0 0 0 1px;min-width:120px;overscroll-behavior:none;padding:5px 10px 6px 9px;white-space:pre}.x_ite-private-menu.context-menu-list{isolation:isolate;position:fixed;z-index:10000}.x_ite-private-menu .context-menu-list{position:absolute;top:-13px}.x_ite-private-menu .context-menu-background{backdrop-filter:blur(8px);background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:12px;box-sizing:border-box;inset:0;margin:0 0 0 1px;min-width:120px;outline:none;padding:5px 10px 9px 9px;position:absolute}.x_ite-private-menu .context-menu-item{border-radius:12px;cursor:pointer;font-size:10pt;line-height:1;margin:0;margin:0 4px;padding:0 2px;position:relative;text-align:left}.x_ite-private-menu .context-menu-item:first-of-type{margin-top:4px}.x_ite-private-menu .context-menu-item:last-of-type{margin-bottom:4px}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:var(--red)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{border-bottom:1px solid #8a8a8a;border-top:0;cursor:default;margin:2px 0;padding-bottom:0;padding-top:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none!important}.x_ite-private-menu .context-menu-submenu:after{border-color:transparent transparent transparent #e8eaed;border-style:solid;border-width:4px 0 4px 5px;content:"";display:block;filter:var(--icon-filter);height:0;margin-right:2px;position:absolute;right:4px;top:8px;width:0}.x_ite-private-menu .context-menu-item>span,.x_ite-private-menu label{display:block;padding:5px 24px;width:100%}.x_ite-private-menu label{box-sizing:border-box;cursor:pointer;font-size:10pt;font-weight:400;line-height:1;margin:0}.x_ite-private-menu label span{color:var(--text-color-dark);filter:var(--icon-filter)}.x_ite-private-menu label:has(>input[type=radio]:checked){font-weight:700}.x_ite-private-menu label>*{font-size:10pt;line-height:1;vertical-align:top}.x_ite-private-menu input{appearance:none;cursor:pointer}.x_ite-private-menu input[type=checkbox],.x_ite-private-menu input[type=radio]{background:url(assets/images/radio_button_unchecked.svg) no-repeat left 0 top 0;background-size:17px 17px;display:inline-block;filter:var(--icon-filter);height:17px;margin:0 0 0 -22px;padding:0;position:absolute;top:3px;width:17px}.x_ite-private-menu input:checked{filter:var(--orange-filter)}.x_ite-private-menu .context-menu-input:hover input:checked{filter:var(--icon-filter)}.x_ite-private-menu input[type=checkbox]:checked{background-image:url(assets/images/check_circle.svg)}.x_ite-private-menu input[type=radio]:checked{background-image:url(assets/images/radio_button_checked.svg)}.x_ite-private-menu span{padding-left:0}.x_ite-private-menu .context-menu-title{font-weight:700}.x_ite-private-menu .context-menu-icon>span{background-position:2px 3px;background-repeat:no-repeat;background-size:17px 17px;color:var(--text-color-dark);display:block;filter:var(--icon-filter)}.x_ite-private-menu .x_ite-private-icon-logo>span{background-image:url(assets/images/logo.svg);background-position:2px 4px;color:var(--text-color);filter:none}.x_ite-private-icon-viewpoint>span{background-image:url(assets/images/eye_tracking.svg)}.x_ite-private-menu .x_ite-private-viewpoint input{background-image:none}.x_ite-private-menu .x_ite-private-viewpoint input:checked{background-image:url(assets/images/visibility.svg)}.x_ite-private-icon-viewer>span{background-image:url(assets/images/stadia_controller.svg)}.x_ite-private-menu .x_ite-private-examine-viewer :is(input,input:checked){background-image:url(assets/images/language.svg)}.x_ite-private-menu .x_ite-private-walk-viewer :is(input,input:checked){background-image:url(assets/images/directions_run.svg)}.x_ite-private-menu .x_ite-private-fly-viewer :is(input,input:checked){background-image:url(assets/images/travel.svg)}.x_ite-private-menu .x_ite-private-plane-viewer :is(input,input:checked){background-image:url(assets/images/border_all.svg)}.x_ite-private-menu .x_ite-private-lookat-viewer :is(input,input:checked){background-image:url(assets/images/point_scan.svg)}.x_ite-private-menu .x_ite-private-none-viewer :is(input,input:checked){background-image:url(assets/images/block.svg)}.x_ite-private-icon-primitive-quality>span{background-image:url(assets/images/hexagon.svg)}.x_ite-private-icon-texture-quality>span{background-image:url(assets/images/texture.svg)}.x_ite-private-icon-shading>span{background-image:url(assets/images/stroke_partial.svg)}.x_ite-private-icon-animations>span{background-image:url(assets/images/animation.svg)}.x_ite-private-icon-play>span{background-image:url(assets/images/play_circle.svg)}.x_ite-private-icon-stop>span{background-image:url(assets/images/stop_circle.svg)}.x_ite-private-icon-enter-fullscreen>span{background-image:url(assets/images/fullscreen.svg)}.x_ite-private-icon-leave-fullscreen>span{background-image:url(assets/images/fullscreen_exit.svg)}.x_ite-private-icon-world-info>span{background-image:url(assets/images/globe.svg)}.x_ite-private-icon-info>span{background-image:url(assets/images/info.svg)}.x_ite-private-splash-screen{background:var(--splash-screen-image) var(--splash-screen-background);background-position:calc(50% - 30px) calc(50% + 58px);inset:0;pointer-events:none;position:absolute}.x_ite-private-spinner{--offset-x:100px;--offset-y:-48px;--size:32px;--padding:8px;--center-x:calc(var(--size)*0.44727 + var(--padding));--center-y:calc(var(--size)*0.52637 + var(--padding));animation:x_ite-spinner-animation 8s linear infinite;background:url(assets/images/logo.svg) no-repeat 50%;background-size:var(--size) var(--size);height:var(--size);left:calc(50% - var(--size)/2 + var(--size)/2 - var(--center-x) + var(--offset-x));padding:var(--padding);position:absolute;top:calc(50% - var(--size)/2 + var(--size)/2 - var(--center-y) + var(--offset-y));transform-origin:var(--center-x) var(--center-y);width:var(--size)}@keyframes x_ite-spinner-animation{to{transform:rotate(1turn)}}.x_ite-private-progress{left:calc(50% - 100px);position:absolute;top:calc(50% - 39pt);width:195px}.x_ite-private-x_ite{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:32pt;text-align:center;text-shadow:1px 1px 0 var(--text-shadow-color)}.x_ite-private-x_ite b{font-family:X_ITE PT Sans,sans-serif;font-weight:700}.x_ite-private-spinner-text{color:var(--text-color);font-family:X_ITE PT Sans,sans-serif;font-size:11pt;text-align:center;text-shadow:1px 1px 0 var(--text-shadow-color)}.x_ite-private-progressbar{background:var(--progress-background);border-radius:4px;height:8px;margin:8px;overflow:hidden}.x_ite-private-progressbar div{background:var(--red);height:100%;width:0}.x_ite-private-buttons{align-items:center;background:var(--gradient);background-clip:padding-box;border:var(--border);border-radius:32px;bottom:10px;display:flex;gap:16px;justify-content:center;padding:0 24px 0 16px;position:absolute;right:-16px}.x_ite-private-buttons:is(:empty,:not(:has(:not(.x_ite-private-hidden)))){display:none;opacity:0}.x_ite-private-button{background-repeat:no-repeat;background-size:30px 30px;cursor:pointer;filter:var(--icon-filter);height:30px;width:30px}.x_ite-private-button:hover{scale:1.2}.x_ite-private-no-sound-button{background-image:url(assets/images/no_sound.svg);order:1}.x_ite-private-xr-button{background-image:url(assets/images/head_mounted_device.svg);order:2}.x_ite-private-fade{opacity:1;transition:display allow-discrete .3s,opacity .3s ease-in-out}@starting-style{.x_ite-private-fade{opacity:0}}.x_ite-private-hidden{display:none;opacity:0}.x_ite-private-splash-screen.x_ite-private-fade{transition:none}.x_ite-private-splash-screen.x_ite-private-hidden{transition:display allow-discrete .2s,opacity .2s ease-in-out}.x_ite-private-button.x_ite-private-fade{transition:display allow-discrete 0s .3s,opacity .3s ease-in-out,scale .2s ease-in-out}@-moz-document url-prefix(){.x_ite-private-fade{transition:visibility .3s,opacity .3s ease-in-out}.x_ite-private-hidden{display:block;transition:visibility 0s .3s,opacity .3s ease-in-out;visibility:hidden}.x_ite-private-splash-screen.x_ite-private-hidden{transition:visibility 0s .2s,opacity .2s ease-in-out}.x_ite-private-button.x_ite-private-fade{transition:visibility 0s .3s,opacity .3s ease-in-out,scale .2s ease-in-out}.x_ite-private-button.x_ite-private-hidden{display:none}}
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v16.5.1 */
1
+ /* X_ITE v16.6.0 */
2
2
  (function webpackUniversalModuleDefinition(root, factory) {
3
3
  if(typeof exports === 'object' && typeof module === 'object')
4
4
  module.exports = factory();
@@ -12,7 +12,7 @@
12
12
  return /******/ (() => { // webpackBootstrap
13
13
  /******/ var __webpack_modules__ = ({
14
14
 
15
- /***/ 971
15
+ /***/ 23
16
16
  (module, exports) {
17
17
 
18
18
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -1017,7 +1017,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
1017
1017
 
1018
1018
  /***/ },
1019
1019
 
1020
- /***/ 697
1020
+ /***/ 197
1021
1021
  (module) {
1022
1022
 
1023
1023
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -2013,7 +2013,7 @@ return /******/ (function(modules) { // webpackBootstrap
2013
2013
 
2014
2014
  /***/ },
2015
2015
 
2016
- /***/ 617
2016
+ /***/ 901
2017
2017
  (module) {
2018
2018
 
2019
2019
  /**
@@ -18894,7 +18894,7 @@ const Legacy_default_ = Legacy;
18894
18894
 
18895
18895
  /* harmony default export */ const Browser_Legacy = (x_ite_Namespace .add ("Legacy", Legacy_default_));
18896
18896
  ;// ./src/x_ite/BROWSER_VERSION.js
18897
- const BROWSER_VERSION_default_ = "16.5.1";
18897
+ const BROWSER_VERSION_default_ = "16.6.0";
18898
18898
  ;
18899
18899
 
18900
18900
  /* harmony default export */ const BROWSER_VERSION = (x_ite_Namespace .add ("BROWSER_VERSION", BROWSER_VERSION_default_));
@@ -24101,7 +24101,6 @@ Object .assign (Object .setPrototypeOf (X3DImportedNodeInstance .prototype, Core
24101
24101
  },
24102
24102
  ... Object .fromEntries ([
24103
24103
  "getTypeName",
24104
- "getType",
24105
24104
  "getComponentInfo",
24106
24105
  "getContainerField",
24107
24106
  "getSpecificationRange",
@@ -31236,7 +31235,7 @@ const Plane3_default_ = Plane3;
31236
31235
 
31237
31236
  /* harmony default export */ const Geometry_Plane3 = (x_ite_Namespace .add ("Plane3", Plane3_default_));
31238
31237
  ;// ./src/standard/Math/Geometry/Triangle3.js
31239
- /* provided dependency */ var libtess = __webpack_require__(617);
31238
+ /* provided dependency */ var libtess = __webpack_require__(901);
31240
31239
 
31241
31240
 
31242
31241
  const Triangle3 =
@@ -32351,6 +32350,8 @@ const MatrixStack_default_ = MatrixStack;
32351
32350
 
32352
32351
 
32353
32352
 
32353
+ const _hAnimNodes = Symbol .for ("X_ITE.HAnim.hAnimNodes");
32354
+
32354
32355
  const DEPTH_BUFFER_SIZE = 16;
32355
32356
 
32356
32357
  function X3DRenderObject (executionContext)
@@ -32385,7 +32386,6 @@ function X3DRenderObject (executionContext)
32385
32386
  this .localFogs = [ null ];
32386
32387
  this .layouts = [ ];
32387
32388
  this .layoutRectangles = [ ];
32388
- this .hAnimNode = [ null ];
32389
32389
  this .invHumanoidMatrix = new Utility_MatrixStack (Numbers_Matrix4);
32390
32390
  this .renderedTextures = new Set ();
32391
32391
  this .collisions = [ ];
@@ -32644,10 +32644,6 @@ Object .assign (X3DRenderObject .prototype,
32644
32644
  {
32645
32645
  return this .layoutRectangles;
32646
32646
  },
32647
- getHAnimNode ()
32648
- {
32649
- return this .hAnimNode;
32650
- },
32651
32647
  getInvHumanoidMatrix ()
32652
32648
  {
32653
32649
  return this .invHumanoidMatrix;
@@ -32924,7 +32920,7 @@ Object .assign (X3DRenderObject .prototype,
32924
32920
  bboxSize = new Numbers_Vector3 (),
32925
32921
  bboxCenter = new Numbers_Vector3 ();
32926
32922
 
32927
- return function (shapeNode)
32923
+ return function (shapeNode, geometryContext)
32928
32924
  {
32929
32925
  const modelViewMatrix = this .getModelViewMatrix () .get ();
32930
32926
 
@@ -32938,27 +32934,18 @@ Object .assign (X3DRenderObject .prototype,
32938
32934
  if (!viewVolume .intersectsSphere (radius, bboxCenter))
32939
32935
  return false;
32940
32936
 
32941
- const num = this .numPointingShapes ++;
32942
-
32943
- if (num === this .pointingShapes .length)
32944
- {
32945
- const renderContext = {
32946
- renderObject: this,
32947
- modelViewMatrix: new Float32Array (16),
32948
- viewport: new Numbers_Vector4 (),
32949
- clipPlanes: [ ],
32950
- sensors: [ ],
32951
- get renderContext () { return this; },
32952
- };
32953
-
32954
- this .pointingShapes .push (renderContext);
32955
- }
32956
-
32957
- const renderContext = this .pointingShapes [num];
32937
+ const renderContext = this .pointingShapes [this .numPointingShapes ++] ??= {
32938
+ renderObject: this,
32939
+ modelViewMatrix: new Float32Array (16),
32940
+ viewport: new Numbers_Vector4 (),
32941
+ clipPlanes: [ ],
32942
+ sensors: [ ],
32943
+ get renderContext () { return this; },
32944
+ };
32958
32945
 
32959
32946
  renderContext .viewport .assign (viewVolume .getViewport ());
32960
32947
  renderContext .modelViewMatrix .set (modelViewMatrix);
32961
- renderContext .hAnimNode = this .hAnimNode .at (-1);
32948
+ renderContext .hAnimNode = geometryContext .getCoord () ?.[_hAnimNodes] ?.at (-1);
32962
32949
  renderContext .shapeNode = shapeNode;
32963
32950
 
32964
32951
  // Clip planes & sensors
@@ -32975,7 +32962,7 @@ Object .assign (X3DRenderObject .prototype,
32975
32962
  bboxSize = new Numbers_Vector3 (),
32976
32963
  bboxCenter = new Numbers_Vector3 ();
32977
32964
 
32978
- return function (shapeNode)
32965
+ return function (shapeNode, geometryContext)
32979
32966
  {
32980
32967
  const modelViewMatrix = this .getModelViewMatrix () .get ();
32981
32968
 
@@ -32989,27 +32976,18 @@ Object .assign (X3DRenderObject .prototype,
32989
32976
  if (!viewVolume .intersectsSphere (radius, bboxCenter))
32990
32977
  return false;
32991
32978
 
32992
- const num = this .numCollisionShapes ++;
32993
-
32994
- if (num === this .collisionShapes .length)
32995
- {
32996
- const renderContext = {
32997
- renderObject: this,
32998
- viewport: new Numbers_Vector4 (),
32999
- clipPlanes: [ ],
33000
- collisions: [ ],
33001
- modelViewMatrix: new Float32Array (16),
33002
- get renderContext () { return this; },
33003
- };
33004
-
33005
- this .collisionShapes .push (renderContext);
33006
- }
33007
-
33008
- const renderContext = this .collisionShapes [num];
32979
+ const renderContext = this .collisionShapes [this .numCollisionShapes ++] ??= {
32980
+ renderObject: this,
32981
+ viewport: new Numbers_Vector4 (),
32982
+ clipPlanes: [ ],
32983
+ collisions: [ ],
32984
+ modelViewMatrix: new Float32Array (16),
32985
+ get renderContext () { return this; },
32986
+ };
33009
32987
 
33010
32988
  renderContext .viewport .assign (viewVolume .getViewport ());
33011
32989
  renderContext .modelViewMatrix .set (modelViewMatrix);
33012
- renderContext .hAnimNode = this .hAnimNode .at (-1);
32990
+ renderContext .hAnimNode = geometryContext .getCoord () ?.[_hAnimNodes] ?.at (-1);
33013
32991
  renderContext .shapeNode = shapeNode;
33014
32992
 
33015
32993
  // Clip planes & Collision nodes
@@ -33026,7 +33004,7 @@ Object .assign (X3DRenderObject .prototype,
33026
33004
  bboxSize = new Numbers_Vector3 (),
33027
33005
  bboxCenter = new Numbers_Vector3 ();
33028
33006
 
33029
- return function (shapeNode)
33007
+ return function (shapeNode, geometryContext)
33030
33008
  {
33031
33009
  const modelViewMatrix = this .getModelViewMatrix () .get ();
33032
33010
 
@@ -33040,26 +33018,17 @@ Object .assign (X3DRenderObject .prototype,
33040
33018
  if (!viewVolume .intersectsSphere (radius, bboxCenter))
33041
33019
  return false;
33042
33020
 
33043
- const num = this .numDepthShapes ++;
33044
-
33045
- if (num === this .depthShapes .length)
33046
- {
33047
- const renderContext = {
33048
- renderObject: this,
33049
- viewport: new Numbers_Vector4 (),
33050
- clipPlanes: [ ],
33051
- modelViewMatrix: new Float32Array (16),
33052
- get renderContext () { return this; },
33053
- };
33054
-
33055
- this .depthShapes .push (renderContext);
33056
- }
33057
-
33058
- const renderContext = this .depthShapes [num];
33021
+ const renderContext = this .depthShapes [this .numDepthShapes ++] ??= {
33022
+ renderObject: this,
33023
+ viewport: new Numbers_Vector4 (),
33024
+ clipPlanes: [ ],
33025
+ modelViewMatrix: new Float32Array (16),
33026
+ get renderContext () { return this; },
33027
+ };
33059
33028
 
33060
33029
  renderContext .viewport .assign (viewVolume .getViewport ());
33061
33030
  renderContext .modelViewMatrix .set (modelViewMatrix);
33062
- renderContext .hAnimNode = this .hAnimNode .at (-1);
33031
+ renderContext .hAnimNode = geometryContext .getCoord () ?.[_hAnimNodes] ?.at (-1);
33063
33032
  renderContext .shapeNode = shapeNode;
33064
33033
 
33065
33034
  // Clip planes
@@ -33075,7 +33044,7 @@ Object .assign (X3DRenderObject .prototype,
33075
33044
  bboxSize = new Numbers_Vector3 (),
33076
33045
  bboxCenter = new Numbers_Vector3 ();
33077
33046
 
33078
- return function (shapeNode)
33047
+ return function (shapeNode, geometryContext)
33079
33048
  {
33080
33049
  const modelViewMatrix = this .getModelViewMatrix () .get ();
33081
33050
 
@@ -33093,23 +33062,15 @@ Object .assign (X3DRenderObject .prototype,
33093
33062
 
33094
33063
  if (shapeNode .isTransparent ())
33095
33064
  {
33096
- const num = this .numTransparentShapes ++;
33097
-
33098
- if (num === this .transparentShapes .length)
33099
- this .transparentShapes .push (this .createRenderContext (true));
33100
-
33101
- renderContext = this .transparentShapes [num];
33065
+ renderContext = this .transparentShapes [this .numTransparentShapes ++]
33066
+ ??= this .createRenderContext (true);
33102
33067
 
33103
33068
  renderContext .distance = bboxCenter .z;
33104
33069
  }
33105
33070
  else
33106
33071
  {
33107
- const num = this .numOpaqueShapes ++;
33108
-
33109
- if (num === this .opaqueShapes .length)
33110
- this .opaqueShapes .push (this .createRenderContext (false));
33111
-
33112
- renderContext = this .opaqueShapes [num];
33072
+ renderContext = this .opaqueShapes [this .numOpaqueShapes ++]
33073
+ ??= this .createRenderContext (false);
33113
33074
  }
33114
33075
 
33115
33076
  this .renderPasses |= shapeNode .getRenderPasses ();
@@ -33119,7 +33080,7 @@ Object .assign (X3DRenderObject .prototype,
33119
33080
 
33120
33081
  renderContext .shadows = this .localShadows .at (-1);
33121
33082
  renderContext .fogNode = this .localFogs .at (-1);
33122
- renderContext .hAnimNode = this .hAnimNode .at (-1);
33083
+ renderContext .hAnimNode = geometryContext .getCoord () ?.[_hAnimNodes] ?.at (-1);
33123
33084
  renderContext .shapeNode = shapeNode;
33124
33085
  renderContext .appearanceNode = shapeNode .getAppearance ();
33125
33086
 
@@ -36586,6 +36547,10 @@ Object .assign (GeometryContext .prototype,
36586
36547
  {
36587
36548
  return this .textureCoordinateNode;
36588
36549
  },
36550
+ getCoord ()
36551
+ {
36552
+ return null;
36553
+ },
36589
36554
  updateGeometryKey: Rendering_X3DGeometryNode .prototype .updateGeometryKey,
36590
36555
  });
36591
36556
 
@@ -42820,17 +42785,13 @@ function eventsProcessed ()
42820
42785
  {
42821
42786
  if (childNode .getType () .at (-1) !== Base_X3DConstants .HAnimJoint)
42822
42787
  {
42823
- const
42824
- siteNode = scene .createNode ("HAnimSite", false),
42825
- segmentNode = scene .createNode ("HAnimSegment", false);
42788
+ const siteNode = scene .createNode ("HAnimSite", false);
42826
42789
 
42827
- siteNode ._children .push (childNode);
42828
- segmentNode ._children .push (siteNode);
42790
+ siteNode ._children .push (childNode);
42829
42791
 
42830
- siteNode .setup ();
42831
- segmentNode .setup ();
42792
+ siteNode .setup ();
42832
42793
 
42833
- return segmentNode;
42794
+ return siteNode;
42834
42795
  }
42835
42796
  else
42836
42797
  {
@@ -47962,7 +47923,7 @@ const Bezier_default_ = Bezier;
47962
47923
 
47963
47924
  /* harmony default export */ const Algorithms_Bezier = (x_ite_Namespace .add ("Bezier", Bezier_default_));
47964
47925
  ;// ./src/x_ite/Parser/SVGParser.js
47965
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(617);
47926
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(901);
47966
47927
 
47967
47928
 
47968
47929
 
@@ -54738,7 +54699,7 @@ function X3DCoreContext (element)
54738
54699
  const link = document .createElement ("link");
54739
54700
 
54740
54701
  if (!DEVELOPMENT)
54741
- link .integrity = "sha384-VPxo0vBo7nOYn5iBj9X6adcmFfaP8csYQCFin8ZxqaXZgqdt2cZzgydvtXxB0JTm";
54702
+ link .integrity = "sha384-6OXJlHzXsf/wUqb6nZzYEmTdwO5SKkQn/PDr8Ax82LGFXKZqL7ojVZCBBNFnuYOt";
54742
54703
 
54743
54704
  link .rel = "stylesheet";
54744
54705
  link .crossOrigin = "anonymous";
@@ -57973,7 +57934,7 @@ Object .assign (Object .setPrototypeOf (X3DShapeNode .prototype, Core_X3DChildNo
57973
57934
  {
57974
57935
  case Rendering_TraverseType .POINTER:
57975
57936
  {
57976
- renderObject .addPointingShape (this);
57937
+ renderObject .addPointingShape (this, geometryContext);
57977
57938
  break;
57978
57939
  }
57979
57940
  case Rendering_TraverseType .PICKING:
@@ -57983,20 +57944,20 @@ Object .assign (Object .setPrototypeOf (X3DShapeNode .prototype, Core_X3DChildNo
57983
57944
  }
57984
57945
  case Rendering_TraverseType .COLLISION:
57985
57946
  {
57986
- renderObject .addCollisionShape (this);
57947
+ renderObject .addCollisionShape (this, geometryContext);
57987
57948
  break;
57988
57949
  }
57989
57950
  case Rendering_TraverseType .DEPTH:
57990
57951
  case Rendering_TraverseType .SHADOW:
57991
57952
  {
57992
- renderObject .addDepthShape (this);
57953
+ renderObject .addDepthShape (this, geometryContext);
57993
57954
  break;
57994
57955
  }
57995
57956
  case Rendering_TraverseType .DISPLAY:
57996
57957
  {
57997
57958
  // X3DAppearanceNode traverse is needed for rendered textures.
57998
57959
 
57999
- if (renderObject .addDisplayShape (this))
57960
+ if (renderObject .addDisplayShape (this, geometryContext))
58000
57961
  this .appearanceNode .traverse (type, renderObject);
58001
57962
 
58002
57963
  break;
@@ -83960,13 +83921,14 @@ Object .assign (Object .setPrototypeOf (Inline .prototype, Core_X3DChildNode .pr
83960
83921
  else
83961
83922
  {
83962
83923
  const
83963
- globalLights = renderObject .getGlobalLights (),
83964
- globalShadows = renderObject .getGlobalShadows (),
83965
- globalsBegin = globalLights .length,
83966
- shadowsBegin = globalShadows .length,
83967
- localLights = this .localLights,
83968
- numLocalObjects = localLights .length,
83969
- lightsKeys = localLights .map (c => c .lightNode .getLightKey ());
83924
+ globalLights = renderObject .getGlobalLights (),
83925
+ globalLightsKeys = renderObject .getGlobalLightsKeys (),
83926
+ globalShadows = renderObject .getGlobalShadows (),
83927
+ globalsBegin = globalLights .length,
83928
+ shadowsBegin = globalShadows .length,
83929
+ localLights = this .localLights,
83930
+ numLocalObjects = localLights .length,
83931
+ lightsKeys = localLights .map (c => c .lightNode .getLightKey ());
83970
83932
 
83971
83933
  if (numLocalObjects)
83972
83934
  {
@@ -84011,8 +83973,9 @@ Object .assign (Object .setPrototypeOf (Inline .prototype, Core_X3DChildNode .pr
84011
83973
  localLights .length = numGlobalLights;
84012
83974
  this .localShadows = globalShadows .at (-1);
84013
83975
 
84014
- globalLights .length = globalsBegin;
84015
- globalShadows .length = shadowsBegin;
83976
+ globalLights .length = globalsBegin;
83977
+ globalLightsKeys .length = globalsBegin;
83978
+ globalShadows .length = shadowsBegin;
84016
83979
  }
84017
83980
 
84018
83981
  return;
@@ -91613,8 +91576,8 @@ const PNGMedia_default_ = PNGMedia;
91613
91576
 
91614
91577
  /* harmony default export */ const Texturing_PNGMedia = (x_ite_Namespace .add ("PNGMedia", PNGMedia_default_));
91615
91578
  ;// ./src/x_ite/Components/Texturing/MovieTexture.js
91616
- /* provided dependency */ var SuperGif = __webpack_require__(971);
91617
- /* provided dependency */ var APNG = __webpack_require__(697);
91579
+ /* provided dependency */ var SuperGif = __webpack_require__(23);
91580
+ /* provided dependency */ var APNG = __webpack_require__(197);
91618
91581
 
91619
91582
 
91620
91583
 
@@ -94258,7 +94221,7 @@ const QuickSort_default_ = QuickSort;
94258
94221
 
94259
94222
  /* harmony default export */ const Algorithms_QuickSort = (x_ite_Namespace .add ("QuickSort", QuickSort_default_));
94260
94223
  ;// ./src/lib/libtess.js
94261
- /* provided dependency */ var libtess_libtess = __webpack_require__(617);
94224
+ /* provided dependency */ var libtess_libtess = __webpack_require__(901);
94262
94225
  const libtess_default_ = libtess_libtess;
94263
94226
  ;
94264
94227