@needle-tools/engine 5.0.0 → 5.1.0-experimental.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 (183) hide show
  1. package/components.needle.json +1 -1
  2. package/dist/generateMeshBVH.worker-DT9A2Hrc.js +1 -0
  3. package/dist/gltf-progressive-3BwW4ETO.min.js +10 -0
  4. package/dist/gltf-progressive-ByD1UX0A.umd.cjs +10 -0
  5. package/dist/{gltf-progressive-Cl167Vjx.js → gltf-progressive-DwWaVr0o.js} +412 -394
  6. package/dist/gltf-progressive.worker-DpfUjn1n.js +3 -0
  7. package/dist/{materialx-qPScBWhj.min.js → materialx-9KHBidZa.min.js} +1 -1
  8. package/dist/{materialx-4ApD6Vz5.js → materialx-BBDu8W5P.js} +1 -1
  9. package/dist/{materialx-D0XUnhBY.umd.cjs → materialx-hLP3E8AA.umd.cjs} +2 -2
  10. package/dist/{needle-engine.bundle-BAYLGumK.umd.cjs → needle-engine.bundle-BOAJ6UPK.umd.cjs} +123 -123
  11. package/dist/{needle-engine.bundle-CoEvMwYM.min.js → needle-engine.bundle-CVsBkUR2.min.js} +110 -110
  12. package/dist/{needle-engine.bundle-BDIyvCV6.js → needle-engine.bundle-TgPY0fGG.js} +2143 -2088
  13. package/dist/needle-engine.d.ts +80 -22
  14. package/dist/needle-engine.js +480 -476
  15. package/dist/needle-engine.min.js +1 -1
  16. package/dist/needle-engine.umd.cjs +1 -1
  17. package/dist/{postprocessing-B_9sKVU7.min.js → postprocessing-BZfyAdCY.min.js} +1 -1
  18. package/dist/{postprocessing-WDc9WwI3.js → postprocessing-CXlA3QA6.js} +1 -1
  19. package/dist/{postprocessing-B2wb6pzI.umd.cjs → postprocessing-Dwy7Hz_T.umd.cjs} +38 -38
  20. package/dist/three-examples.js +4760 -3641
  21. package/dist/three-examples.min.js +17 -35
  22. package/dist/three-examples.umd.cjs +16 -34
  23. package/dist/three.js +48533 -28562
  24. package/dist/three.min.js +716 -502
  25. package/dist/three.umd.cjs +720 -506
  26. package/dist/{vendor-CntUvmJu.umd.cjs → vendor-BI4TX0aC.umd.cjs} +9 -9
  27. package/dist/{vendor-DPbfJJ4d.min.js → vendor-BgzAK9of.min.js} +1 -1
  28. package/dist/{vendor-vHLk8sXu.js → vendor-CwL-uvVy.js} +1 -1
  29. package/lib/engine/engine_animation.js +1 -1
  30. package/lib/engine/engine_animation.js.map +1 -1
  31. package/lib/engine/engine_audio.js.map +1 -1
  32. package/lib/engine/engine_context.js +3 -6
  33. package/lib/engine/engine_context.js.map +1 -1
  34. package/lib/engine/engine_create_objects.js +0 -1
  35. package/lib/engine/engine_create_objects.js.map +1 -1
  36. package/lib/engine/engine_element.d.ts +113 -0
  37. package/lib/engine/engine_element.js +833 -0
  38. package/lib/engine/engine_element.js.map +1 -0
  39. package/lib/engine/engine_element_attributes.d.ts +72 -0
  40. package/lib/engine/engine_element_attributes.js +2 -0
  41. package/lib/engine/engine_element_attributes.js.map +1 -0
  42. package/lib/engine/engine_element_extras.d.ts +6 -0
  43. package/lib/engine/engine_element_extras.js +14 -0
  44. package/lib/engine/engine_element_extras.js.map +1 -0
  45. package/lib/engine/engine_element_loading.d.ts +44 -0
  46. package/lib/engine/engine_element_loading.js +350 -0
  47. package/lib/engine/engine_element_loading.js.map +1 -0
  48. package/lib/engine/engine_element_overlay.d.ts +21 -0
  49. package/lib/engine/engine_element_overlay.js +167 -0
  50. package/lib/engine/engine_element_overlay.js.map +1 -0
  51. package/lib/engine/engine_license.js.map +1 -1
  52. package/lib/engine/engine_pmrem.js +2 -2
  53. package/lib/engine/engine_pmrem.js.map +1 -1
  54. package/lib/engine/engine_scenetools.d.ts +62 -0
  55. package/lib/engine/engine_scenetools.js +337 -0
  56. package/lib/engine/engine_scenetools.js.map +1 -0
  57. package/lib/engine/engine_serialization_builtin_serializer.d.ts +1 -1
  58. package/lib/engine/engine_test_utils.d.ts +39 -0
  59. package/lib/engine/engine_test_utils.js +84 -0
  60. package/lib/engine/engine_test_utils.js.map +1 -0
  61. package/lib/engine/engine_three_utils.js.map +1 -1
  62. package/lib/engine/engine_time.js +4 -3
  63. package/lib/engine/engine_time.js.map +1 -1
  64. package/lib/engine/engine_ui.d.ts +25 -0
  65. package/lib/engine/engine_ui.dummy_canvas.d.ts +2 -0
  66. package/lib/engine/engine_ui.dummy_canvas.js +55 -0
  67. package/lib/engine/engine_ui.dummy_canvas.js.map +1 -0
  68. package/lib/engine/engine_ui.js +168 -0
  69. package/lib/engine/engine_ui.js.map +1 -0
  70. package/lib/engine/extensions/NEEDLE_lightmaps.js +2 -2
  71. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  72. package/lib/engine/extensions/NEEDLE_pmrem.d.ts +1 -1
  73. package/lib/engine/webcomponents/icons.js +3 -2
  74. package/lib/engine/webcomponents/icons.js.map +1 -1
  75. package/lib/engine/webcomponents/needle-engine.attributes.d.ts +69 -0
  76. package/lib/engine/webcomponents/needle-engine.attributes.js +2 -0
  77. package/lib/engine/webcomponents/needle-engine.attributes.js.map +1 -0
  78. package/lib/engine-components/AudioSource.js +1 -1
  79. package/lib/engine-components/AudioSource.js.map +1 -1
  80. package/lib/engine-components/Light.d.ts +3 -0
  81. package/lib/engine-components/Light.js +39 -31
  82. package/lib/engine-components/Light.js.map +1 -1
  83. package/lib/engine-components/OrbitControls.js +2 -1
  84. package/lib/engine-components/OrbitControls.js.map +1 -1
  85. package/lib/engine-components/SpriteRenderer.d.ts +1 -1
  86. package/lib/engine-components/VideoPlayer.d.ts +1 -1
  87. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  88. package/lib/engine-components/export/usdz/extensions/Animation.js +1 -0
  89. package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
  90. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +1 -1
  91. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  92. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +1 -1
  93. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
  94. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  95. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  96. package/lib/engine-components/ui/BaseUIComponent_Uikit.d.ts +54 -0
  97. package/lib/engine-components/ui/BaseUIComponent_Uikit.js +114 -0
  98. package/lib/engine-components/ui/BaseUIComponent_Uikit.js.map +1 -0
  99. package/lib/engine-components/ui/BaseUikitComponent.d.ts +54 -0
  100. package/lib/engine-components/ui/BaseUikitComponent.js +114 -0
  101. package/lib/engine-components/ui/BaseUikitComponent.js.map +1 -0
  102. package/lib/engine-components/ui/Button.legacy.d.ts +68 -0
  103. package/lib/engine-components/ui/Button.legacy.js +320 -0
  104. package/lib/engine-components/ui/Button.legacy.js.map +1 -0
  105. package/lib/engine-components/ui/ButtonUikit.d.ts +51 -0
  106. package/lib/engine-components/ui/ButtonUikit.js +187 -0
  107. package/lib/engine-components/ui/ButtonUikit.js.map +1 -0
  108. package/lib/engine-components/ui/Canvas.js +2 -2
  109. package/lib/engine-components/ui/Canvas.js.map +1 -1
  110. package/lib/engine-components/ui/Canvas.legacy.d.ts +76 -0
  111. package/lib/engine-components/ui/Canvas.legacy.js +409 -0
  112. package/lib/engine-components/ui/Canvas.legacy.js.map +1 -0
  113. package/lib/engine-components/ui/CanvasUikit.d.ts +68 -0
  114. package/lib/engine-components/ui/CanvasUikit.js +289 -0
  115. package/lib/engine-components/ui/CanvasUikit.js.map +1 -0
  116. package/lib/engine-components/ui/Graphic.d.ts +3 -3
  117. package/lib/engine-components/ui/Graphic.js +6 -2
  118. package/lib/engine-components/ui/Graphic.js.map +1 -1
  119. package/lib/engine-components/ui/Graphic.legacy.d.ts +55 -0
  120. package/lib/engine-components/ui/Graphic.legacy.js +268 -0
  121. package/lib/engine-components/ui/Graphic.legacy.js.map +1 -0
  122. package/lib/engine-components/ui/GraphicUikit.d.ts +21 -0
  123. package/lib/engine-components/ui/GraphicUikit.js +65 -0
  124. package/lib/engine-components/ui/GraphicUikit.js.map +1 -0
  125. package/lib/engine-components/ui/Image.js.map +1 -1
  126. package/lib/engine-components/ui/Image.legacy.d.ts +39 -0
  127. package/lib/engine-components/ui/Image.legacy.js +121 -0
  128. package/lib/engine-components/ui/Image.legacy.js.map +1 -0
  129. package/lib/engine-components/ui/ImageUikit.d.ts +22 -0
  130. package/lib/engine-components/ui/ImageUikit.js +97 -0
  131. package/lib/engine-components/ui/ImageUikit.js.map +1 -0
  132. package/lib/engine-components/ui/RenderMode.d.ts +14 -0
  133. package/lib/engine-components/ui/RenderMode.js +16 -0
  134. package/lib/engine-components/ui/RenderMode.js.map +1 -0
  135. package/lib/engine-components/ui/Text.d.ts +64 -11
  136. package/lib/engine-components/ui/Text.js +154 -45
  137. package/lib/engine-components/ui/Text.js.map +1 -1
  138. package/lib/engine-components/ui/Text.legacy.d.ts +81 -0
  139. package/lib/engine-components/ui/Text.legacy.js +548 -0
  140. package/lib/engine-components/ui/Text.legacy.js.map +1 -0
  141. package/lib/engine-components/ui/TextUikit.d.ts +42 -0
  142. package/lib/engine-components/ui/TextUikit.js +164 -0
  143. package/lib/engine-components/ui/TextUikit.js.map +1 -0
  144. package/lib/engine-components/ui/index.d.ts +1 -0
  145. package/lib/engine-components/ui/index.js +1 -0
  146. package/lib/engine-components/ui/index.js.map +1 -1
  147. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +1 -1
  148. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.d.ts +6 -0
  149. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js +46 -0
  150. package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
  151. package/package.json +4 -4
  152. package/plugins/common/buildinfo.d.ts +6 -0
  153. package/plugins/vite/ai.d.ts +7 -8
  154. package/plugins/vite/ai.js +95 -20
  155. package/plugins/vite/alias.js +6 -0
  156. package/plugins/vite/dependencies.js +7 -0
  157. package/src/engine/engine_animation.ts +1 -1
  158. package/src/engine/engine_audio.ts +1 -1
  159. package/src/engine/engine_context.ts +3 -6
  160. package/src/engine/engine_create_objects.ts +0 -1
  161. package/src/engine/engine_license.ts +0 -2
  162. package/src/engine/engine_pmrem.ts +3 -3
  163. package/src/engine/engine_three_utils.ts +2 -2
  164. package/src/engine/engine_time.ts +4 -3
  165. package/src/engine/extensions/NEEDLE_lightmaps.ts +3 -3
  166. package/src/engine/webcomponents/icons.ts +3 -2
  167. package/src/engine-components/AudioSource.ts +1 -1
  168. package/src/engine-components/Light.ts +39 -31
  169. package/src/engine-components/OrbitControls.ts +2 -2
  170. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
  171. package/src/engine-components/export/usdz/extensions/Animation.ts +6 -5
  172. package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +1 -1
  173. package/src/engine-components/postprocessing/PostProcessingHandler.ts +3 -3
  174. package/src/engine-components/timeline/TimelineTracks.ts +2 -2
  175. package/src/engine-components/ui/Canvas.ts +2 -2
  176. package/src/engine-components/ui/Graphic.ts +7 -3
  177. package/src/engine-components/ui/Image.ts +1 -1
  178. package/src/engine-components/ui/Text.ts +170 -52
  179. package/src/engine-components/ui/index.ts +2 -1
  180. package/dist/generateMeshBVH.worker-DiCnZlf3.js +0 -21
  181. package/dist/gltf-progressive-BryRjllq.min.js +0 -10
  182. package/dist/gltf-progressive-DJBMx-zB.umd.cjs +0 -10
  183. package/dist/gltf-progressive.worker-BqODMeeW.js +0 -23
@@ -0,0 +1,97 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Texture } from "three";
8
+ import { Image as UikitImage } from "@pmndrs/uikit";
9
+ import { serializable } from "../../engine/engine_serialization_decorator.js";
10
+ import { GraphicUikit } from "./GraphicUikit.js";
11
+ /**
12
+ * ImageUikit is a UI component that displays an image using pmndrs/uikit.
13
+ * It's the uikit equivalent of the Image/RawImage component.
14
+ *
15
+ * @summary Display an image in the UI using uikit
16
+ * @category User Interface
17
+ * @group Components
18
+ */
19
+ export class ImageUikit extends GraphicUikit {
20
+ get texture() {
21
+ return this._texture;
22
+ }
23
+ set texture(tex) {
24
+ if (this._texture === tex)
25
+ return;
26
+ this._texture = tex;
27
+ this.updateTexture();
28
+ }
29
+ _texture = null;
30
+ _uikitImageElement = null;
31
+ createUikitElement() {
32
+ if (this.uikitElement)
33
+ return;
34
+ // Call base to create container with color
35
+ super.createUikitElement();
36
+ // If we have a texture, add image element
37
+ if (this._texture) {
38
+ this.createImageElement();
39
+ }
40
+ }
41
+ getUikitProperties() {
42
+ const props = super.getUikitProperties();
43
+ // If we have a texture, we want the image to fill the container
44
+ if (this._texture) {
45
+ props.backgroundOpacity = 0; // Hide the background color
46
+ }
47
+ return props;
48
+ }
49
+ createImageElement() {
50
+ if (!this.uikitElement || !this._texture)
51
+ return;
52
+ // Clean up existing image element
53
+ if (this._uikitImageElement) {
54
+ this._uikitImageElement.removeFromParent();
55
+ this._uikitImageElement = null;
56
+ }
57
+ // Create uikit Image element
58
+ this._uikitImageElement = new UikitImage({
59
+ src: this._texture,
60
+ });
61
+ this.uikitElement.add(this._uikitImageElement);
62
+ }
63
+ updateTexture() {
64
+ if (!this.uikitElement)
65
+ return;
66
+ if (this._texture) {
67
+ if (!this._uikitImageElement) {
68
+ this.createImageElement();
69
+ }
70
+ else {
71
+ this._uikitImageElement.setProperties({ src: this._texture });
72
+ }
73
+ // Hide background when showing texture
74
+ this.updateUikitProperties({ backgroundOpacity: 0 });
75
+ }
76
+ else {
77
+ // Remove image element if texture is null
78
+ if (this._uikitImageElement) {
79
+ this._uikitImageElement.removeFromParent();
80
+ this._uikitImageElement = null;
81
+ }
82
+ // Show background color again
83
+ this.updateUikitProperties({ backgroundOpacity: this.color.alpha });
84
+ }
85
+ }
86
+ onDestroy() {
87
+ if (this._uikitImageElement) {
88
+ this._uikitImageElement.removeFromParent();
89
+ this._uikitImageElement = null;
90
+ }
91
+ super.onDestroy();
92
+ }
93
+ }
94
+ __decorate([
95
+ serializable(Texture)
96
+ ], ImageUikit.prototype, "texture", null);
97
+ //# sourceMappingURL=ImageUikit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageUikit.js","sourceRoot":"","sources":["../../../src/engine-components/ui/ImageUikit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Render mode for Canvas UI components.
3
+ * Determines how UI elements are positioned and rendered in the scene.
4
+ */
5
+ export declare enum RenderMode {
6
+ /** UI is rendered as an overlay on top of the scene, always facing the camera */
7
+ ScreenSpaceOverlay = 0,
8
+ /** UI is rendered in screen space at a fixed distance from the camera */
9
+ ScreenSpaceCamera = 1,
10
+ /** UI exists as 3D objects in world space */
11
+ WorldSpace = 2,
12
+ /** Undefined render mode */
13
+ Undefined = -1
14
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Render mode for Canvas UI components.
3
+ * Determines how UI elements are positioned and rendered in the scene.
4
+ */
5
+ export var RenderMode;
6
+ (function (RenderMode) {
7
+ /** UI is rendered as an overlay on top of the scene, always facing the camera */
8
+ RenderMode[RenderMode["ScreenSpaceOverlay"] = 0] = "ScreenSpaceOverlay";
9
+ /** UI is rendered in screen space at a fixed distance from the camera */
10
+ RenderMode[RenderMode["ScreenSpaceCamera"] = 1] = "ScreenSpaceCamera";
11
+ /** UI exists as 3D objects in world space */
12
+ RenderMode[RenderMode["WorldSpace"] = 2] = "WorldSpace";
13
+ /** Undefined render mode */
14
+ RenderMode[RenderMode["Undefined"] = -1] = "Undefined";
15
+ })(RenderMode || (RenderMode = {}));
16
+ //# sourceMappingURL=RenderMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderMode.js","sourceRoot":"","sources":["../../../src/engine-components/ui/RenderMode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,UASX;AATD,WAAY,UAAU;IAClB,iFAAiF;IACjF,uEAAsB,CAAA;IACtB,yEAAyE;IACzE,qEAAqB,CAAA;IACrB,6CAA6C;IAC7C,uDAAc,CAAA;IACd,4BAA4B;IAC5B,sDAAc,CAAA;AAClB,CAAC,EATW,UAAU,KAAV,UAAU,QASrB"}
@@ -15,7 +15,7 @@ export declare enum VerticalWrapMode {
15
15
  Truncate = 0,
16
16
  Overflow = 1
17
17
  }
18
- declare enum HorizontalWrapMode {
18
+ export declare enum HorizontalWrapMode {
19
19
  Wrap = 0,
20
20
  Overflow = 1
21
21
  }
@@ -55,19 +55,75 @@ export declare enum FontStyle {
55
55
  * @see {@link FontStyle} for bold/italic styles
56
56
  */
57
57
  export declare class Text extends Graphic implements IHasAlphaFactor, ICanvasEventReceiver {
58
- alignment: TextAnchor;
59
- verticalOverflow: VerticalWrapMode;
60
- horizontalOverflow: HorizontalWrapMode;
61
- lineSpacing: number;
62
- supportRichText: boolean;
63
- font?: string;
64
- fontStyle: FontStyle;
58
+ /**
59
+ * The alignment of the text within its container. This determines how the text is anchored and positioned relative to its RectTransform. For example, `UpperLeft` will anchor the text to the upper left corner of the container, while `MiddleCenter` will center the text both horizontally and vertically. Changing this property will update the underlying three-mesh-ui options and mark the UI as dirty to trigger a re-render.
60
+ */
61
+ set alignment(val: TextAnchor);
62
+ get alignment(): TextAnchor;
63
+ private _alignment;
64
+ /**
65
+ * Determines how text that exceeds the vertical bounds of the container is handled. If set to `Truncate`, any text that goes beyond the vertical limits of the container will be cut off and not visible. If set to `Overflow`, the text will continue to render outside the container bounds, which may result in it being partially or fully visible depending on the layout and parent containers.
66
+ * @default VerticalWrapMode.Truncate
67
+ */
68
+ set verticalOverflow(val: VerticalWrapMode);
69
+ get verticalOverflow(): VerticalWrapMode;
70
+ private _verticalOverflow;
71
+ /**
72
+ * Determines how text that exceeds the horizontal bounds of the container is handled. If set to `Wrap`, the text will automatically wrap to the next line when it reaches the edge of the container. If set to `Overflow`, the text will continue on a single line and may overflow outside the container bounds.
73
+ * @default HorizontalWrapMode.Wrap
74
+ */
75
+ set horizontalOverflow(val: HorizontalWrapMode);
76
+ get horizontalOverflow(): HorizontalWrapMode;
77
+ private _horizontalOverflow;
78
+ /**
79
+ * The line spacing multiplier for the text. A value of 1 means normal spacing, 1.5 means 50% more spacing, and 0.5 means 50% less spacing.
80
+ * @default 1
81
+ */
82
+ set lineSpacing(val: number);
83
+ get lineSpacing(): number;
84
+ private _lineSpacing;
85
+ /**
86
+ * The style of the font, which can be normal, bold, italic, or bold and italic.
87
+ *
88
+ * This is used to determine the correct font variant to use based on the provided `font` property. For example, if you set `font` to "Arial" and `fontStyle` to `FontStyle.Bold`, it will look for a font variant named "Arial-Bold" (or "arial-bold") in the font library. If such a variant exists, it will be used to render the text with the specified style.
89
+ *
90
+ * @default FontStyle.Normal
91
+ */
92
+ set fontStyle(val: FontStyle);
93
+ get fontStyle(): FontStyle;
94
+ private _fontStyle;
95
+ /**
96
+ * The font to use for the text, specified as a URL to a font file.
97
+ *
98
+ * The font file must be in MSDF format. You can generate MSDF fonts using tools like [msdf-bmfont-xml](https://github.com/Chlumsky/msdf-bmfont-xml) or by using Needle Engine for Unity where the Needle Engine integration automatically generates MSDF fonts for used font assets.
99
+ *
100
+ * @default "https://cdn.needle.tools/static/fonts/msdf/arial/arial"
101
+ */
102
+ set font(val: string | null);
103
+ get font(): string | null;
104
+ private _font;
105
+ /**
106
+ * Whether to support basic rich text tags in the `text` property. Supported tags include `<b>`, `<i>`, and `<color=hex>`. For example: `Hello <b>World</b>` or `Score: <color=#ff0000>100</color>`
107
+ * @default false
108
+ */
109
+ set supportRichText(val: boolean);
110
+ get supportRichText(): boolean;
111
+ private _supportRichText;
112
+ /**
113
+ * Set the alpha factor for the text, which multiplies with the color's alpha to determine overall transparency.
114
+ */
65
115
  setAlphaFactor(factor: number): void;
116
+ /**
117
+ * The text content to display. Supports basic rich text tags like `<b>`, `<i>`, and `<color=hex>` if `supportRichText` is enabled.
118
+ * @default ""
119
+ */
66
120
  get text(): string;
67
121
  set text(val: string);
122
+ private _text;
68
123
  private set_text;
69
124
  get fontSize(): number;
70
125
  set fontSize(val: number);
126
+ private _fontSize;
71
127
  private sRGBTextColor;
72
128
  protected onColorChanged(): void;
73
129
  onParentRectTransformChanged(): void;
@@ -75,8 +131,6 @@ export declare class Text extends Graphic implements IHasAlphaFactor, ICanvasEve
75
131
  private updateOverflow;
76
132
  protected onCreate(_opts: any): void;
77
133
  onAfterAddedToScene(): void;
78
- private _text;
79
- private _fontSize;
80
134
  private _textMeshUi;
81
135
  private getTextOpts;
82
136
  onEnable(): void;
@@ -101,4 +155,3 @@ export declare class Text extends Graphic implements IHasAlphaFactor, ICanvasEve
101
155
  private setFont;
102
156
  private getFamilyNameWithCorrectSuffix;
103
157
  }
104
- export {};
@@ -28,7 +28,7 @@ export var VerticalWrapMode;
28
28
  VerticalWrapMode[VerticalWrapMode["Truncate"] = 0] = "Truncate";
29
29
  VerticalWrapMode[VerticalWrapMode["Overflow"] = 1] = "Overflow";
30
30
  })(VerticalWrapMode || (VerticalWrapMode = {}));
31
- var HorizontalWrapMode;
31
+ export var HorizontalWrapMode;
32
32
  (function (HorizontalWrapMode) {
33
33
  HorizontalWrapMode[HorizontalWrapMode["Wrap"] = 0] = "Wrap";
34
34
  HorizontalWrapMode[HorizontalWrapMode["Overflow"] = 1] = "Overflow";
@@ -70,19 +70,128 @@ export var FontStyle;
70
70
  * @see {@link FontStyle} for bold/italic styles
71
71
  */
72
72
  export class Text extends Graphic {
73
- alignment = TextAnchor.UpperLeft;
74
- verticalOverflow = VerticalWrapMode.Truncate;
75
- horizontalOverflow = HorizontalWrapMode.Wrap;
76
- lineSpacing = 1;
77
- supportRichText = false;
78
- font;
79
- fontStyle = FontStyle.Normal;
80
- // private _alphaFactor : number = 1;
73
+ /**
74
+ * The alignment of the text within its container. This determines how the text is anchored and positioned relative to its RectTransform. For example, `UpperLeft` will anchor the text to the upper left corner of the container, while `MiddleCenter` will center the text both horizontally and vertically. Changing this property will update the underlying three-mesh-ui options and mark the UI as dirty to trigger a re-render.
75
+ */
76
+ set alignment(val) {
77
+ if (val !== this._alignment) {
78
+ this._alignment = val;
79
+ this.uiObject?.set(this.getTextOpts());
80
+ this.markDirty();
81
+ }
82
+ }
83
+ get alignment() {
84
+ return this._alignment;
85
+ }
86
+ _alignment = TextAnchor.UpperLeft;
87
+ /**
88
+ * Determines how text that exceeds the vertical bounds of the container is handled. If set to `Truncate`, any text that goes beyond the vertical limits of the container will be cut off and not visible. If set to `Overflow`, the text will continue to render outside the container bounds, which may result in it being partially or fully visible depending on the layout and parent containers.
89
+ * @default VerticalWrapMode.Truncate
90
+ */
91
+ set verticalOverflow(val) {
92
+ if (val !== this._verticalOverflow) {
93
+ this._verticalOverflow = val;
94
+ this.uiObject?.set(this.getTextOpts());
95
+ this.markDirty();
96
+ }
97
+ }
98
+ get verticalOverflow() {
99
+ return this._verticalOverflow;
100
+ }
101
+ _verticalOverflow = VerticalWrapMode.Truncate;
102
+ /**
103
+ * Determines how text that exceeds the horizontal bounds of the container is handled. If set to `Wrap`, the text will automatically wrap to the next line when it reaches the edge of the container. If set to `Overflow`, the text will continue on a single line and may overflow outside the container bounds.
104
+ * @default HorizontalWrapMode.Wrap
105
+ */
106
+ set horizontalOverflow(val) {
107
+ if (val !== this._horizontalOverflow) {
108
+ this._horizontalOverflow = val;
109
+ this.uiObject?.set(this.getTextOpts());
110
+ this.markDirty();
111
+ }
112
+ }
113
+ get horizontalOverflow() {
114
+ return this._horizontalOverflow;
115
+ }
116
+ _horizontalOverflow = HorizontalWrapMode.Wrap;
117
+ /**
118
+ * The line spacing multiplier for the text. A value of 1 means normal spacing, 1.5 means 50% more spacing, and 0.5 means 50% less spacing.
119
+ * @default 1
120
+ */
121
+ set lineSpacing(val) {
122
+ if (val !== this._lineSpacing) {
123
+ this._lineSpacing = val;
124
+ this.uiObject?.set(this.getTextOpts());
125
+ this.markDirty();
126
+ }
127
+ }
128
+ get lineSpacing() {
129
+ return this._lineSpacing;
130
+ }
131
+ _lineSpacing = 1;
132
+ /**
133
+ * The style of the font, which can be normal, bold, italic, or bold and italic.
134
+ *
135
+ * This is used to determine the correct font variant to use based on the provided `font` property. For example, if you set `font` to "Arial" and `fontStyle` to `FontStyle.Bold`, it will look for a font variant named "Arial-Bold" (or "arial-bold") in the font library. If such a variant exists, it will be used to render the text with the specified style.
136
+ *
137
+ * @default FontStyle.Normal
138
+ */
139
+ set fontStyle(val) {
140
+ if (val !== this._fontStyle) {
141
+ this._fontStyle = val;
142
+ this.uiObject?.set(this.getTextOpts());
143
+ this.markDirty();
144
+ }
145
+ }
146
+ get fontStyle() {
147
+ return this._fontStyle;
148
+ }
149
+ _fontStyle = FontStyle.Normal;
150
+ /**
151
+ * The font to use for the text, specified as a URL to a font file.
152
+ *
153
+ * The font file must be in MSDF format. You can generate MSDF fonts using tools like [msdf-bmfont-xml](https://github.com/Chlumsky/msdf-bmfont-xml) or by using Needle Engine for Unity where the Needle Engine integration automatically generates MSDF fonts for used font assets.
154
+ *
155
+ * @default "https://cdn.needle.tools/static/fonts/msdf/arial/arial"
156
+ */
157
+ set font(val) {
158
+ if (val !== this._font) {
159
+ this._font = val;
160
+ this.uiObject?.set(this.getTextOpts());
161
+ this.markDirty();
162
+ }
163
+ }
164
+ get font() {
165
+ return this._font;
166
+ }
167
+ _font = "https://cdn.needle.tools/static/fonts/msdf/arial/arial";
168
+ /**
169
+ * Whether to support basic rich text tags in the `text` property. Supported tags include `<b>`, `<i>`, and `<color=hex>`. For example: `Hello <b>World</b>` or `Score: <color=#ff0000>100</color>`
170
+ * @default false
171
+ */
172
+ set supportRichText(val) {
173
+ if (val !== this._supportRichText) {
174
+ this._supportRichText = val;
175
+ this.uiObject?.set(this.getTextOpts());
176
+ this.markDirty();
177
+ }
178
+ }
179
+ get supportRichText() {
180
+ return this._supportRichText;
181
+ }
182
+ _supportRichText = false;
183
+ /**
184
+ * Set the alpha factor for the text, which multiplies with the color's alpha to determine overall transparency.
185
+ */
81
186
  setAlphaFactor(factor) {
82
187
  super.setAlphaFactor(factor);
83
188
  this.uiObject?.set({ fontOpacity: this.color.alpha * this.alphaFactor });
84
189
  this.markDirty();
85
190
  }
191
+ /**
192
+ * The text content to display. Supports basic rich text tags like `<b>`, `<i>`, and `<color=hex>` if `supportRichText` is enabled.
193
+ * @default ""
194
+ */
86
195
  get text() {
87
196
  return this._text;
88
197
  }
@@ -94,6 +203,7 @@ export class Text extends Graphic {
94
203
  this.context.accessibility.updateElement(this, { label: this.text });
95
204
  }
96
205
  }
206
+ _text = "";
97
207
  set_text(val) {
98
208
  this.text = val;
99
209
  }
@@ -105,6 +215,7 @@ export class Text extends Graphic {
105
215
  this._fontSize = val;
106
216
  this.uiObject?.set({ fontSize: val });
107
217
  }
218
+ _fontSize = 12;
108
219
  sRGBTextColor = new Color(1, 0, 1);
109
220
  onColorChanged() {
110
221
  this.sRGBTextColor.copy(this.color);
@@ -138,20 +249,6 @@ export class Text extends Graphic {
138
249
  onCreate(_opts) {
139
250
  if (debug)
140
251
  console.log(this);
141
- if (this.horizontalOverflow == HorizontalWrapMode.Overflow) {
142
- // Only line characters in the textContent (\n,\r\t) would be able to multiline the text
143
- _opts.whiteSpace = 'pre';
144
- }
145
- if (this.verticalOverflow == VerticalWrapMode.Truncate) {
146
- this.context.renderer.localClippingEnabled = true;
147
- _opts.overflow = 'hidden';
148
- }
149
- // @marwie : this combination is currently KO. See sample "Overflow Overview"
150
- if (this.horizontalOverflow == HorizontalWrapMode.Overflow && this.verticalOverflow == VerticalWrapMode.Truncate) {
151
- // This could fix this combination, but would require anchors updates to replace element
152
- // _opts.width = 'auto';
153
- }
154
- _opts.lineHeight = this.lineSpacing;
155
252
  // @marwie : Should be fixed. Currently _opts are always fed with :
156
253
  // backgroundOpacity : color.opacity
157
254
  // backgroundColor : color
@@ -162,7 +259,6 @@ export class Text extends Graphic {
162
259
  _opts.backgroundColor = 0xff9900;
163
260
  _opts.backgroundOpacity = 0.5;
164
261
  }
165
- const rt = this.rectTransform;
166
262
  // Texts now support both options, block and inline, and inline has all default to inherit
167
263
  _opts = { ..._opts, ...this.getTextOpts() };
168
264
  this.getAlignment(_opts);
@@ -170,6 +266,7 @@ export class Text extends Graphic {
170
266
  _opts.backgroundColor = Math.random() * 0xffffff;
171
267
  _opts.backgroundOpacity = 0.1;
172
268
  }
269
+ const rt = this.rectTransform;
173
270
  this.uiObject = rt.createNewText(_opts);
174
271
  this.feedText(this.text, this.supportRichText);
175
272
  }
@@ -177,8 +274,6 @@ export class Text extends Graphic {
177
274
  super.onAfterAddedToScene();
178
275
  this.handleTextRenderOnTop();
179
276
  }
180
- _text = "";
181
- _fontSize = 12;
182
277
  _textMeshUi = null;
183
278
  getTextOpts() {
184
279
  const fontSize = this.fontSize;
@@ -191,6 +286,20 @@ export class Text extends Graphic {
191
286
  fontSize: fontSize,
192
287
  fontKerning: "normal",
193
288
  };
289
+ if (this.horizontalOverflow == HorizontalWrapMode.Overflow) {
290
+ // Only line characters in the textContent (\n,\r\t) would be able to multiline the text
291
+ textOpts.whiteSpace = 'pre';
292
+ }
293
+ if (this.verticalOverflow == VerticalWrapMode.Truncate) {
294
+ this.context.renderer.localClippingEnabled = true;
295
+ textOpts.overflow = 'hidden';
296
+ }
297
+ // @marwie : this combination is currently KO. See sample "Overflow Overview"
298
+ if (this.horizontalOverflow == HorizontalWrapMode.Overflow && this.verticalOverflow == VerticalWrapMode.Truncate) {
299
+ // This could fix this combination, but would require anchors updates to replace element
300
+ // textOpts.width = 'auto';
301
+ }
302
+ textOpts.lineHeight = this.lineSpacing;
194
303
  this.setFont(textOpts, this.fontStyle);
195
304
  return textOpts;
196
305
  }
@@ -428,16 +537,15 @@ export class Text extends Graphic {
428
537
  * @private
429
538
  */
430
539
  setFont(opts, fontStyle) {
431
- // @TODO : THH could be useful to uniformize font family name :
432
- // This would ease possible html/vr matching
433
- // - Arial instead of assets/arial
434
- // - Arial should stay Arial instead of arial
435
- if (!this.font)
540
+ if (!this.font) {
541
+ if (debug)
542
+ console.warn("No font set for Text component, skipping font setup");
436
543
  return;
544
+ }
437
545
  const fontName = this.font;
438
546
  const familyName = this.getFamilyNameWithCorrectSuffix(fontName, fontStyle);
439
547
  if (debug)
440
- console.log("Selected font family:" + familyName);
548
+ console.log("Selected font family:" + familyName, this.font);
441
549
  // ensure a font family is register under this name
442
550
  let fontFamily = ThreeMeshUI.FontLibrary.getFontFamily(familyName);
443
551
  if (!fontFamily)
@@ -464,7 +572,6 @@ export class Text extends Graphic {
464
572
  opts.fontWeight = 400;
465
573
  }
466
574
  // Ensure a fontVariant is registered
467
- //@TODO: @swingingtom add type for fontWeight
468
575
  let fontVariant = fontFamily.getVariant(opts.fontWeight, opts.fontStyle);
469
576
  if (!fontVariant) {
470
577
  let jsonPath = familyName;
@@ -483,11 +590,7 @@ export class Text extends Graphic {
483
590
  }
484
591
  }
485
592
  getFamilyNameWithCorrectSuffix(familyName, style) {
486
- // the URL decorator resolves the URL to absolute URLs - we need to remove the domain part since we're only interested in the path
487
- if (familyName.startsWith("https:") || familyName.startsWith("http:")) {
488
- const url = new URL(familyName);
489
- familyName = url.pathname;
490
- }
593
+ const isAbsolute = familyName.startsWith("https:") || familyName.startsWith("http:");
491
594
  // we can only change the style for the family if the name has a suffix (e.g. Arial-Bold)
492
595
  const styleSeparator = familyName.lastIndexOf('-');
493
596
  if (styleSeparator < 0)
@@ -512,6 +615,12 @@ export class Text extends Graphic {
512
615
  const fontNameWithoutSuffix = familyName.substring(0, styleSeparator > pathSeparatorIndex ? styleSeparator : familyName.length);
513
616
  if (debug)
514
617
  console.log("Select font: ", familyName, FontStyle[style], fontBaseName, isUpperCase, fontNameWithoutSuffix);
618
+ /**
619
+ * If a user provides a font with an absolute URL AND the font name does not end with "-msdf.json" or ".png" (e.g. "https://example.com/fonts/Arial-Bold"), we will assume that the user is providing the full path to the font files and we will not try to modify the font name based on the style. This allows users to have more control over the font files they are using, especially if they are hosting their own fonts or using a custom font provider that does not follow the same naming conventions as our default fonts.
620
+ */
621
+ if (isAbsolute && (!familyName.endsWith("-msdf.json") || !familyName.endsWith(".png"))) {
622
+ return fontNameWithoutSuffix;
623
+ }
515
624
  switch (style) {
516
625
  case FontStyle.Normal:
517
626
  if (isUpperCase)
@@ -540,25 +649,25 @@ export class Text extends Graphic {
540
649
  }
541
650
  __decorate([
542
651
  serializable()
543
- ], Text.prototype, "alignment", void 0);
652
+ ], Text.prototype, "alignment", null);
544
653
  __decorate([
545
654
  serializable()
546
- ], Text.prototype, "verticalOverflow", void 0);
655
+ ], Text.prototype, "verticalOverflow", null);
547
656
  __decorate([
548
657
  serializable()
549
- ], Text.prototype, "horizontalOverflow", void 0);
658
+ ], Text.prototype, "horizontalOverflow", null);
550
659
  __decorate([
551
660
  serializable()
552
- ], Text.prototype, "lineSpacing", void 0);
661
+ ], Text.prototype, "lineSpacing", null);
553
662
  __decorate([
554
663
  serializable()
555
- ], Text.prototype, "supportRichText", void 0);
664
+ ], Text.prototype, "fontStyle", null);
556
665
  __decorate([
557
666
  serializable(URL)
558
- ], Text.prototype, "font", void 0);
667
+ ], Text.prototype, "font", null);
559
668
  __decorate([
560
669
  serializable()
561
- ], Text.prototype, "fontStyle", void 0);
670
+ ], Text.prototype, "supportRichText", null);
562
671
  __decorate([
563
672
  serializable()
564
673
  ], Text.prototype, "text", null);
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/engine-components/ui/Text.ts"],"names":[],"mappings":"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"}