@needle-tools/engine 2.39.0-pre → 2.41.0-pre

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 (83) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/needle-engine.d.ts +359 -130
  3. package/dist/needle-engine.js +389 -389
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +71 -71
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/api.d.ts +1 -0
  8. package/lib/engine/api.js +1 -0
  9. package/lib/engine/api.js.map +1 -1
  10. package/lib/engine/engine_gizmos.d.ts +25 -0
  11. package/lib/engine/engine_gizmos.js +109 -5
  12. package/lib/engine/engine_gizmos.js.map +1 -1
  13. package/lib/engine/engine_input.d.ts +2 -0
  14. package/lib/engine/engine_input.js +9 -2
  15. package/lib/engine/engine_input.js.map +1 -1
  16. package/lib/engine/engine_math.d.ts +9 -6
  17. package/lib/engine/engine_math.js +9 -0
  18. package/lib/engine/engine_math.js.map +1 -1
  19. package/lib/engine/engine_networking.d.ts +1 -0
  20. package/lib/engine/engine_networking.js +9 -0
  21. package/lib/engine/engine_networking.js.map +1 -1
  22. package/lib/engine/engine_physics.d.ts +20 -2
  23. package/lib/engine/engine_physics.js +141 -16
  24. package/lib/engine/engine_physics.js.map +1 -1
  25. package/lib/engine/engine_serialization_core.js +2 -0
  26. package/lib/engine/engine_serialization_core.js.map +1 -1
  27. package/lib/engine/engine_three_utils.js +1 -22
  28. package/lib/engine/engine_three_utils.js.map +1 -1
  29. package/lib/engine/engine_types.d.ts +12 -6
  30. package/lib/engine/engine_types.js +22 -5
  31. package/lib/engine/engine_types.js.map +1 -1
  32. package/lib/engine/engine_utils.d.ts +9 -0
  33. package/lib/engine/engine_utils.js +25 -0
  34. package/lib/engine/engine_utils.js.map +1 -1
  35. package/lib/engine/extensions/NEEDLE_lightmaps.js +1 -1
  36. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  37. package/lib/engine-components/AnimationCurve.js +20 -5
  38. package/lib/engine-components/AnimationCurve.js.map +1 -1
  39. package/lib/engine-components/Component.d.ts +18 -0
  40. package/lib/engine-components/Component.js +15 -2
  41. package/lib/engine-components/Component.js.map +1 -1
  42. package/lib/engine-components/Joints.d.ts +5 -1
  43. package/lib/engine-components/Joints.js +17 -7
  44. package/lib/engine-components/Joints.js.map +1 -1
  45. package/lib/engine-components/Light.d.ts +2 -0
  46. package/lib/engine-components/Light.js +33 -9
  47. package/lib/engine-components/Light.js.map +1 -1
  48. package/lib/engine-components/ParticleSystem.d.ts +15 -26
  49. package/lib/engine-components/ParticleSystem.js +251 -184
  50. package/lib/engine-components/ParticleSystem.js.map +1 -1
  51. package/lib/engine-components/ParticleSystemModules.d.ts +208 -63
  52. package/lib/engine-components/ParticleSystemModules.js +640 -153
  53. package/lib/engine-components/ParticleSystemModules.js.map +1 -1
  54. package/lib/engine-components/WebXR.js +8 -3
  55. package/lib/engine-components/WebXR.js.map +1 -1
  56. package/lib/engine-components/codegen/components.d.ts +7 -0
  57. package/lib/engine-components/codegen/components.js +7 -0
  58. package/lib/engine-components/codegen/components.js.map +1 -1
  59. package/package.json +3 -1
  60. package/src/engine/api.ts +2 -1
  61. package/src/engine/codegen/register_types.js +28 -0
  62. package/src/engine/engine_gizmos.ts +132 -5
  63. package/src/engine/engine_input.ts +12 -2
  64. package/src/engine/engine_math.ts +19 -6
  65. package/src/engine/engine_networking.ts +10 -0
  66. package/src/engine/engine_physics.ts +169 -17
  67. package/src/engine/engine_serialization_core.ts +1 -0
  68. package/src/engine/engine_three_utils.ts +1 -29
  69. package/src/engine/engine_types.ts +33 -14
  70. package/src/engine/engine_utils.ts +32 -0
  71. package/src/engine/extensions/NEEDLE_lightmaps.ts +1 -1
  72. package/src/engine-components/AnimationCurve.ts +25 -11
  73. package/src/engine-components/Component.ts +30 -4
  74. package/src/engine-components/Joints.ts +19 -7
  75. package/src/engine-components/Light.ts +39 -8
  76. package/src/engine-components/ParticleSystem.ts +314 -194
  77. package/src/engine-components/ParticleSystemModules.ts +537 -154
  78. package/src/engine-components/WebXR.ts +11 -8
  79. package/src/engine-components/codegen/components.ts +7 -0
  80. package/src/engine/dist/engine_physics.js +0 -739
  81. package/src/engine/dist/engine_setup.js +0 -777
  82. package/src/engine-components/dist/CharacterController.js +0 -123
  83. package/src/engine-components/dist/RigidBody.js +0 -458
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleSystemModules.js","sourceRoot":"","sources":["../../../engine-components/ParticleSystemModules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParticleSystemModules.js","sourceRoot":"","sources":["../../../engine-components/ParticleSystemModules.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,8 @@ export class WebXR extends Behaviour {
68
68
  if (!WebXR.XRSupported) {
69
69
  console.warn("WebXR is not supported on this device");
70
70
  }
71
+ else
72
+ webXR.__internalAwake();
71
73
  const vrButton = VRButton.createButton(webXR.context.renderer);
72
74
  vrButton.classList.add('webxr-ar-button');
73
75
  vrButton.classList.add('webxr-button');
@@ -78,12 +80,15 @@ export class WebXR extends Behaviour {
78
80
  return vrButton;
79
81
  }
80
82
  static createARButton(webXR, opts) {
83
+ webXR.__internalAwake();
81
84
  const domOverlayRoot = webXR.webAR?.getAROverlayContainer();
82
85
  const features = {};
83
86
  if (domOverlayRoot) {
84
87
  features.domOverlay = { root: domOverlayRoot };
85
88
  features.optionalFeatures = ['hit-test', 'dom-overlay'];
86
89
  }
90
+ else
91
+ console.warn("No dom overlay root found, AR will not work");
87
92
  const arButton = ARButton.createButton(webXR.context.renderer, features);
88
93
  arButton.classList.add('webxr-ar-button');
89
94
  arButton.classList.add('webxr-button');
@@ -157,6 +162,7 @@ export class WebXR extends Behaviour {
157
162
  const sync = GameObject.addNewComponent(this.gameObject, WebXRSync, false);
158
163
  sync.webXR = this;
159
164
  }
165
+ this.webAR = new WebAR(this);
160
166
  }
161
167
  onEnable() {
162
168
  if (this.isInit)
@@ -165,7 +171,6 @@ export class WebXR extends Behaviour {
165
171
  return;
166
172
  this.isInit = true;
167
173
  this.context.renderer.xr.enabled = true;
168
- this.webAR = new WebAR(this);
169
174
  // general WebXR support?
170
175
  const browserSupportsXR = WebXR.XRSupported;
171
176
  // TODO: move the whole buttons positioning out of here and make it configureable from css
@@ -456,9 +461,9 @@ export class WebAR {
456
461
  session.requestReferenceSpace('viewer').then((referenceSpace) => {
457
462
  session.requestHitTestSource({ space: referenceSpace }).then((source) => {
458
463
  this.hitTestSource = source;
459
- }).catch((_) => {
464
+ }).catch((err) => {
460
465
  this.noHitTestAvailable = true;
461
- console.warn("WebXR: Hit test not supported");
466
+ console.warn("WebXR: Hit test not supported", err);
462
467
  });
463
468
  });
464
469
  if (!this.reticle && this.sessionRoot) {
@@ -1 +1 @@
1
- {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../engine-components/WebXR.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebXR.js","sourceRoot":"","sources":["../../../engine-components/WebXR.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export { GroundProjectedEnv } from "../GroundProjection";
39
39
  export { Interactable } from "../Interactable";
40
40
  export { UsageMarker } from "../Interactable";
41
41
  export { FixedJoint } from "../Joints";
42
+ export { HingeJoint } from "../Joints";
42
43
  export { Light } from "../Light";
43
44
  export { LODModel } from "../LODGroup";
44
45
  export { LODGroup } from "../LODGroup";
@@ -49,9 +50,15 @@ export { OffsetConstraint } from "../OffsetConstraint";
49
50
  export { OrbitControls } from "../OrbitControls";
50
51
  export { ParticleSystemRenderer } from "../ParticleSystem";
51
52
  export { ParticleSystem } from "../ParticleSystem";
53
+ export { Gradient } from "../ParticleSystemModules";
54
+ export { MinMaxCurve } from "../ParticleSystemModules";
55
+ export { MinMaxGradient } from "../ParticleSystemModules";
52
56
  export { MainModule } from "../ParticleSystemModules";
53
57
  export { EmissionModule } from "../ParticleSystemModules";
58
+ export { ColorOverLifetimeModule } from "../ParticleSystemModules";
59
+ export { SizeOverLifetimeModule } from "../ParticleSystemModules";
54
60
  export { ShapeModule } from "../ParticleSystemModules";
61
+ export { NoiseModule } from "../ParticleSystemModules";
55
62
  export { PlayerColor } from "../PlayerColor";
56
63
  export { ReflectionProbe } from "../ReflectionProbe";
57
64
  export { FieldWithDefault } from "../Renderer";
@@ -40,6 +40,7 @@ export { GroundProjectedEnv } from "../GroundProjection";
40
40
  export { Interactable } from "../Interactable";
41
41
  export { UsageMarker } from "../Interactable";
42
42
  export { FixedJoint } from "../Joints";
43
+ export { HingeJoint } from "../Joints";
43
44
  export { Light } from "../Light";
44
45
  export { LODModel } from "../LODGroup";
45
46
  export { LODGroup } from "../LODGroup";
@@ -50,9 +51,15 @@ export { OffsetConstraint } from "../OffsetConstraint";
50
51
  export { OrbitControls } from "../OrbitControls";
51
52
  export { ParticleSystemRenderer } from "../ParticleSystem";
52
53
  export { ParticleSystem } from "../ParticleSystem";
54
+ export { Gradient } from "../ParticleSystemModules";
55
+ export { MinMaxCurve } from "../ParticleSystemModules";
56
+ export { MinMaxGradient } from "../ParticleSystemModules";
53
57
  export { MainModule } from "../ParticleSystemModules";
54
58
  export { EmissionModule } from "../ParticleSystemModules";
59
+ export { ColorOverLifetimeModule } from "../ParticleSystemModules";
60
+ export { SizeOverLifetimeModule } from "../ParticleSystemModules";
55
61
  export { ShapeModule } from "../ParticleSystemModules";
62
+ export { NoiseModule } from "../ParticleSystemModules";
56
63
  export { PlayerColor } from "../PlayerColor";
57
64
  export { ReflectionProbe } from "../ReflectionProbe";
58
65
  export { FieldWithDefault } from "../Renderer";
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../engine-components/codegen/components.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,MAAM,OAAO,QAAQ;CAAG;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../engine-components/codegen/components.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,MAAM,OAAO,QAAQ;CAAG;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "2.39.0-pre",
3
+ "version": "2.41.0-pre",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible, and collaboration and XR come naturally.",
5
5
  "main": "dist/needle-engine.js",
6
6
  "module": "src/needle-engine.ts",
@@ -46,9 +46,11 @@
46
46
  "flatbuffers": "2.0.4",
47
47
  "md5": "^2.3.0",
48
48
  "peerjs": "1.3.2",
49
+ "simplex-noise": "^4.0.1",
49
50
  "stats.js": "^0.17.0",
50
51
  "three": "npm:@needle-tools/three@^0.145.2",
51
52
  "three-mesh-ui": "^6.4.5",
53
+ "three-nebula": "^10.0.3",
52
54
  "three.meshline": "^1.4.0",
53
55
  "uuid": "^9.0.0",
54
56
  "websocket-ts": "^1.1.1"
package/src/engine/api.ts CHANGED
@@ -4,4 +4,5 @@ export * from "./engine_components"
4
4
  export { AssetReference } from "./engine_addressables";
5
5
  export { FrameEvent } from "./engine_setup";
6
6
  export * from "./debug/debug";
7
- export { validate } from "./engine_util_decorator"
7
+ export { validate } from "./engine_util_decorator"
8
+ export { Gizmos } from "./engine_gizmos"
@@ -119,6 +119,9 @@ UsageMarker[$BuiltInTypeFlag] = true;
119
119
  import { FixedJoint } from "../../engine-components/Joints.ts";
120
120
  FixedJoint[$BuiltInTypeFlag] = true;
121
121
 
122
+ import { HingeJoint } from "../../engine-components/Joints.ts";
123
+ HingeJoint[$BuiltInTypeFlag] = true;
124
+
122
125
  import { Light } from "../../engine-components/Light.ts";
123
126
  Light[$BuiltInTypeFlag] = true;
124
127
 
@@ -149,15 +152,33 @@ ParticleSystemRenderer[$BuiltInTypeFlag] = true;
149
152
  import { ParticleSystem } from "../../engine-components/ParticleSystem.ts";
150
153
  ParticleSystem[$BuiltInTypeFlag] = true;
151
154
 
155
+ import { Gradient } from "../../engine-components/ParticleSystemModules.ts";
156
+ Gradient[$BuiltInTypeFlag] = true;
157
+
158
+ import { MinMaxCurve } from "../../engine-components/ParticleSystemModules.ts";
159
+ MinMaxCurve[$BuiltInTypeFlag] = true;
160
+
161
+ import { MinMaxGradient } from "../../engine-components/ParticleSystemModules.ts";
162
+ MinMaxGradient[$BuiltInTypeFlag] = true;
163
+
152
164
  import { MainModule } from "../../engine-components/ParticleSystemModules.ts";
153
165
  MainModule[$BuiltInTypeFlag] = true;
154
166
 
155
167
  import { EmissionModule } from "../../engine-components/ParticleSystemModules.ts";
156
168
  EmissionModule[$BuiltInTypeFlag] = true;
157
169
 
170
+ import { ColorOverLifetimeModule } from "../../engine-components/ParticleSystemModules.ts";
171
+ ColorOverLifetimeModule[$BuiltInTypeFlag] = true;
172
+
173
+ import { SizeOverLifetimeModule } from "../../engine-components/ParticleSystemModules.ts";
174
+ SizeOverLifetimeModule[$BuiltInTypeFlag] = true;
175
+
158
176
  import { ShapeModule } from "../../engine-components/ParticleSystemModules.ts";
159
177
  ShapeModule[$BuiltInTypeFlag] = true;
160
178
 
179
+ import { NoiseModule } from "../../engine-components/ParticleSystemModules.ts";
180
+ NoiseModule[$BuiltInTypeFlag] = true;
181
+
161
182
  import { PlayerColor } from "../../engine-components/PlayerColor.ts";
162
183
  PlayerColor[$BuiltInTypeFlag] = true;
163
184
 
@@ -484,6 +505,7 @@ TypeStore.add("GroundProjectedEnv", GroundProjectedEnv);
484
505
  TypeStore.add("Interactable", Interactable);
485
506
  TypeStore.add("UsageMarker", UsageMarker);
486
507
  TypeStore.add("FixedJoint", FixedJoint);
508
+ TypeStore.add("HingeJoint", HingeJoint);
487
509
  TypeStore.add("Light", Light);
488
510
  TypeStore.add("LODModel", LODModel);
489
511
  TypeStore.add("LODGroup", LODGroup);
@@ -494,9 +516,15 @@ TypeStore.add("OffsetConstraint", OffsetConstraint);
494
516
  TypeStore.add("OrbitControls", OrbitControls);
495
517
  TypeStore.add("ParticleSystemRenderer", ParticleSystemRenderer);
496
518
  TypeStore.add("ParticleSystem", ParticleSystem);
519
+ TypeStore.add("Gradient", Gradient);
520
+ TypeStore.add("MinMaxCurve", MinMaxCurve);
521
+ TypeStore.add("MinMaxGradient", MinMaxGradient);
497
522
  TypeStore.add("MainModule", MainModule);
498
523
  TypeStore.add("EmissionModule", EmissionModule);
524
+ TypeStore.add("ColorOverLifetimeModule", ColorOverLifetimeModule);
525
+ TypeStore.add("SizeOverLifetimeModule", SizeOverLifetimeModule);
499
526
  TypeStore.add("ShapeModule", ShapeModule);
527
+ TypeStore.add("NoiseModule", NoiseModule);
500
528
  TypeStore.add("PlayerColor", PlayerColor);
501
529
  TypeStore.add("ReflectionProbe", ReflectionProbe);
502
530
  TypeStore.add("FieldWithDefault", FieldWithDefault);
@@ -1,15 +1,142 @@
1
1
  import * as THREE from 'three';
2
+ import { BufferAttribute, Line, BoxGeometry, EdgesGeometry, Color, LineSegments, LineBasicMaterial, Object3D, Mesh, SphereGeometry, ColorRepresentation, Vector3 } from 'three';
3
+ import { Context } from './engine_setup';
4
+ import { setWorldPosition, setWorldPositionXYZ } from './engine_three_utils';
5
+ import { Vec3 } from './engine_types';
2
6
 
3
- const box: THREE.BoxGeometry = new THREE.BoxGeometry(1, 1, 1);
7
+ const _tmp = new Vector3();
4
8
 
5
- export function CreateWireCube(col: THREE.ColorRepresentation | null = null) : THREE.LineSegments {
6
- const color = new THREE.Color(col ?? 0xdddddd);
9
+ const defaultColor: ColorRepresentation = 0x888888;
10
+
11
+ export class Gizmos {
12
+
13
+ static DrawRay(origin: Vec3, dir: Vec3, color: ColorRepresentation = defaultColor, duration: number = 0, depthTest: boolean = true) {
14
+ const obj = Internal.getLine(duration);
15
+ const positions = obj.geometry.getAttribute("position");
16
+ positions.setXYZ(0, origin.x, origin.y, origin.z);
17
+ _tmp.set(dir.x, dir.y, dir.z).multiplyScalar(999999999);
18
+ positions.setXYZ(1, origin.x + _tmp.x, origin.y + _tmp.y, origin.z + _tmp.z);
19
+ positions.needsUpdate = true;
20
+ obj.material["color"].set(color);
21
+ obj.material["depthTest"] = depthTest;
22
+ }
23
+
24
+ static DrawDirection(pt: Vec3, direction: Vec3, color: ColorRepresentation = defaultColor, duration: number = 0, depthTest: boolean = true, lengthFactor: number = 1) {
25
+ const obj = Internal.getLine(duration);
26
+ const positions = obj.geometry.getAttribute("position");
27
+ positions.setXYZ(0, pt.x, pt.y, pt.z);
28
+ _tmp.set(direction.x, direction.y, direction.z);
29
+ _tmp.multiplyScalar(lengthFactor);
30
+ positions.setXYZ(1, pt.x + _tmp.x, pt.y + _tmp.y, pt.z + _tmp.z);
31
+ positions.needsUpdate = true;
32
+ obj.material["color"].set(color);
33
+ obj.material["depthTest"] = depthTest;
34
+
35
+ }
36
+
37
+ static DrawLine(pt0: { x: number, y: number, z: number }, pt1: { x: number, y: number, z: number }, color: ColorRepresentation = defaultColor, duration: number = 0, depthTest: boolean = true) {
38
+ const obj = Internal.getLine(duration);
39
+
40
+ const positions = obj.geometry.getAttribute("position");
41
+ positions.setXYZ(0, pt0.x, pt0.y, pt0.z);
42
+ positions.setXYZ(1, pt1.x, pt1.y, pt1.z);
43
+ positions.needsUpdate = true;
44
+ obj.material["color"].set(color);
45
+ obj.material["depthTest"] = depthTest;
46
+ }
47
+
48
+ static DrawWireSphere(center: { x: number, y: number, z: number }, radius: number, color: ColorRepresentation = defaultColor, duration: number = 0, depthTest: boolean = true) {
49
+ const obj = Internal.getSphere(radius, duration, true);
50
+ setWorldPositionXYZ(obj, center.x, center.y, center.z);
51
+ obj.material["color"].set(color);
52
+ obj.material["depthTest"] = depthTest;
53
+ }
54
+
55
+ static DrawSphere(center: { x: number, y: number, z: number }, radius: number, color: ColorRepresentation = defaultColor, duration: number = 0, depthTest: boolean = true) {
56
+ const obj = Internal.getSphere(radius, duration, false);
57
+ setWorldPositionXYZ(obj, center.x, center.y, center.z);
58
+ obj.material["color"].set(color);
59
+ obj.material["depthTest"] = depthTest;
60
+ }
61
+ }
62
+
63
+ const box: BoxGeometry = new BoxGeometry(1, 1, 1);
64
+ export function CreateWireCube(col: THREE.ColorRepresentation | null = null): THREE.LineSegments {
65
+ const color = new Color(col ?? 0xdddddd);
7
66
  // const material = new THREE.MeshBasicMaterial();
8
67
  // material.color = new THREE.Color(col ?? 0xdddddd);
9
68
  // material.wireframe = true;
10
69
  // const box = new THREE.Mesh(box, material);
11
70
  // box.name = "BOX_GIZMO";
12
- const edges = new THREE.EdgesGeometry(box);
13
- const line = new THREE.LineSegments(edges, new THREE.LineBasicMaterial({ color: color }));
71
+ const edges = new EdgesGeometry(box);
72
+ const line = new LineSegments(edges, new LineBasicMaterial({ color: color }));
14
73
  return line;
74
+ }
75
+
76
+
77
+
78
+ const $cacheSymbol = Symbol("GizmoCache");
79
+ class Internal {
80
+ // private static createdLines: number = 0;
81
+
82
+ static getLine(duration: number): Line {
83
+ let line = this.linesCache.pop();
84
+ if (!line) {
85
+ line = new Line();
86
+ let positions = line.geometry.getAttribute("position");
87
+ if (!positions) {
88
+ positions = new BufferAttribute(new Float32Array(2 * 3), 3);
89
+ line.geometry.setAttribute("position", positions);
90
+ }
91
+ }
92
+ this.registerTimedObject(Context.Current, line, duration, this.linesCache);
93
+ return line;
94
+ }
95
+
96
+ static getSphere(radius: number, duration: number, wireframe: boolean): Mesh {
97
+
98
+ let sphere = this.spheresCache.pop();
99
+ if (!sphere) {
100
+ sphere = new Mesh(new SphereGeometry(.5, 8, 8));
101
+ }
102
+ sphere.scale.set(radius, radius, radius);
103
+ sphere.material["wireframe"] = wireframe;
104
+ this.registerTimedObject(Context.Current, sphere, duration, this.spheresCache);
105
+ return sphere;
106
+ }
107
+
108
+ private static linesCache: Array<Line> = [];
109
+ private static spheresCache: Mesh[] = [];
110
+
111
+ private static registerTimedObject(context: Context, object: Object3D, duration: number, cache: Array<Object3D>) {
112
+ if (!this.contextPostRenderCallbacks.get(context)) {
113
+ const cb = () => { this.onPostRender(context, this.timedObjectsBuffer, this.timesBuffer) };
114
+ this.contextPostRenderCallbacks.set(context, cb);
115
+ context.post_render_callbacks.push(cb);
116
+ }
117
+ object[$cacheSymbol] = cache;
118
+ this.timedObjectsBuffer.push(object);
119
+ this.timesBuffer.push(Context.Current.time.time + duration);
120
+ context.scene.add(object);
121
+ }
122
+
123
+
124
+ private static timedObjectsBuffer = new Array<Object3D>();
125
+ private static timesBuffer = new Array<number>();
126
+ private static contextPostRenderCallbacks = new Map<Context, () => void>();
127
+
128
+ private static onPostRender(ctx: Context, objects: Array<Object3D>, times: Array<number>) {
129
+ const time = ctx.time.time;
130
+ for (let i = 0; i < objects.length; i++) {
131
+ if (time > times[i]) {
132
+ const obj = objects[i];
133
+ const cache = obj[$cacheSymbol];
134
+ cache.push(obj as Line);
135
+ ctx.scene.remove(obj);
136
+ objects.splice(i, 1);
137
+ times.splice(i, 1);
138
+ }
139
+ }
140
+ }
141
+
15
142
  }
@@ -1,6 +1,8 @@
1
1
  import * as THREE from 'three';
2
+ import { Vector2 } from 'three';
2
3
  import { assign } from './engine_serialization_core';
3
4
  import { Context } from './engine_setup';
5
+ import { Vec2 } from './engine_types';
4
6
 
5
7
  export declare type PointerEventArgs = {
6
8
  button: number;
@@ -225,6 +227,11 @@ export class Input extends EventTarget {
225
227
  this.onUp(args);
226
228
  }
227
229
 
230
+ convertScreenspaceToRaycastSpace(vec2 : Vec2){
231
+ vec2.x = (vec2.x - this.context.domX) / this.context.domWidth * 2 - 1;
232
+ vec2.y = -((vec2.y - this.context.domY) / this.context.domHeight) * 2 + 1;
233
+ }
234
+
228
235
  constructor(context: Context) {
229
236
  super();
230
237
  this.context = context;
@@ -494,8 +501,11 @@ export class Input extends EventTarget {
494
501
  const px = evt.clientX + window.scrollX;
495
502
  const py = evt.clientY + window.scrollY;
496
503
  while (evt.button >= this._pointerPositionsRC.length) this._pointerPositionsRC.push(new THREE.Vector2());
497
- this._pointerPositionsRC[evt.button].x = (px - this.context.domX) / this.context.domWidth * 2 - 1;
498
- this._pointerPositionsRC[evt.button].y = -((py - this.context.domY) / this.context.domHeight) * 2 + 1;
504
+ const rc = this._pointerPositionsRC[evt.button];
505
+ rc.set(px, py);
506
+ this.convertScreenspaceToRaycastSpace(rc);
507
+ // this._pointerPositionsRC[evt.button].x = (px - this.context.domX) / this.context.domWidth * 2 - 1;
508
+ // this._pointerPositionsRC[evt.button].y = -((py - this.context.domY) / this.context.domHeight) * 2 + 1;
499
509
  // console.log(evt.button)
500
510
  }
501
511
 
@@ -1,3 +1,4 @@
1
+ import { inverseLerp } from "three/src/math/MathUtils";
1
2
 
2
3
 
3
4
 
@@ -5,7 +6,7 @@ class MathHelper {
5
6
  random(): number {
6
7
  return Math.random();
7
8
  }
8
- clamp(value, min, max) {
9
+ clamp(value: number, min: number, max: number) {
9
10
 
10
11
  if (value < min) {
11
12
  return min;
@@ -16,26 +17,38 @@ class MathHelper {
16
17
 
17
18
  return value;
18
19
  }
19
- clamp01(value) {
20
+ clamp01(value: number) {
20
21
  return this.clamp(value, 0, 1);
21
22
  }
22
- lerp(value1, value2, amount) {
23
+
24
+ lerp(value1: number, value2: number, amount: number) {
23
25
  amount = amount < 0 ? 0 : amount;
24
26
  amount = amount > 1 ? 1 : amount;
25
27
  return value1 + (value2 - value1) * amount;
26
28
  }
27
- moveTowards(value1, value2, amount) {
29
+
30
+ remap(value: number, min1: number, max1: number, min2: number, max2: number) {
31
+ return min2 + (max2 - min2) * (value - min1) / (max1 - min1);
32
+ }
33
+
34
+ moveTowards(value1: number, value2: number, amount: number) {
28
35
  value1 += amount;
29
36
  if (amount < 0 && value1 < value2) value1 = value2;
30
37
  else if (amount > 0 && value1 > value2) value1 = value2;
31
38
  return value1;
32
39
  }
33
- toDegrees(radians) {
40
+ toDegrees(radians: number) {
34
41
  return radians * 180 / Math.PI;
35
42
  }
36
- toRadians(degrees) {
43
+ toRadians(degrees: number) {
37
44
  return degrees * Math.PI / 180;
38
45
  }
46
+ gammaToLinear(gamma: number) {
47
+ return Math.pow(gamma, 2.2);
48
+ }
49
+ linearToGamma(linear: number) {
50
+ return Math.pow(linear, 1 / 2.2);
51
+ }
39
52
  };
40
53
 
41
54
  const Mathf = new MathHelper();
@@ -327,6 +327,11 @@ export class NetworkConnection implements INetworkConnection {
327
327
  delete this._state[guid];
328
328
  }
329
329
 
330
+ public sendDeleteRemoteStateAll(){
331
+ this.send("delete-all-state");
332
+ this._state = {};
333
+ }
334
+
330
335
  public sendBinary(bin: Uint8Array) {
331
336
  if (debugNet) console.log("<< bin", bin.length);
332
337
  this._ws?.send(bin);
@@ -563,6 +568,11 @@ export class NetworkConnection implements INetworkConnection {
563
568
  }
564
569
  break;
565
570
 
571
+ case "all-room-state-deleted":
572
+ if(debugNet) console.log("RECEIVED all-room-state-deleted");
573
+ this._state = {};
574
+ break;
575
+
566
576
  case "ping":
567
577
  case "pong":
568
578
  const time = (message as any).data?.time;