@babylonjs/gui 9.15.0 → 9.16.1

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 (64) hide show
  1. package/2D/controls/checkbox.pure.js +164 -153
  2. package/2D/controls/checkbox.pure.js.map +1 -1
  3. package/2D/controls/colorpicker.pure.js +1300 -1289
  4. package/2D/controls/colorpicker.pure.js.map +1 -1
  5. package/2D/controls/container.pure.js +597 -582
  6. package/2D/controls/container.pure.js.map +1 -1
  7. package/2D/controls/control.pure.js +2474 -2434
  8. package/2D/controls/control.pure.js.map +1 -1
  9. package/2D/controls/displayGrid.pure.js +201 -190
  10. package/2D/controls/displayGrid.pure.js.map +1 -1
  11. package/2D/controls/ellipse.pure.js +96 -85
  12. package/2D/controls/ellipse.pure.js.map +1 -1
  13. package/2D/controls/grid.pure.js +511 -500
  14. package/2D/controls/grid.pure.js.map +1 -1
  15. package/2D/controls/image.pure.js +888 -877
  16. package/2D/controls/image.pure.js.map +1 -1
  17. package/2D/controls/inputText.pure.js +988 -973
  18. package/2D/controls/inputText.pure.js.map +1 -1
  19. package/2D/controls/inputTextArea.pure.js +955 -944
  20. package/2D/controls/inputTextArea.pure.js.map +1 -1
  21. package/2D/controls/line.pure.js +237 -226
  22. package/2D/controls/line.pure.js.map +1 -1
  23. package/2D/controls/multiLine.pure.js +233 -222
  24. package/2D/controls/multiLine.pure.js.map +1 -1
  25. package/2D/controls/radioButton.pure.js +182 -169
  26. package/2D/controls/radioButton.pure.js.map +1 -1
  27. package/2D/controls/rectangle.pure.js +211 -200
  28. package/2D/controls/rectangle.pure.js.map +1 -1
  29. package/2D/controls/scrollViewers/scrollViewer.pure.js +579 -567
  30. package/2D/controls/scrollViewers/scrollViewer.pure.js.map +1 -1
  31. package/2D/controls/sliders/baseSlider.js +291 -280
  32. package/2D/controls/sliders/baseSlider.js.map +1 -1
  33. package/2D/controls/sliders/imageBasedSlider.pure.js +158 -147
  34. package/2D/controls/sliders/imageBasedSlider.pure.js.map +1 -1
  35. package/2D/controls/sliders/imageScrollBar.js +237 -223
  36. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  37. package/2D/controls/sliders/scrollBar.pure.js +169 -158
  38. package/2D/controls/sliders/scrollBar.pure.js.map +1 -1
  39. package/2D/controls/sliders/slider.pure.js +251 -240
  40. package/2D/controls/sliders/slider.pure.js.map +1 -1
  41. package/2D/controls/stackPanel.pure.js +236 -221
  42. package/2D/controls/stackPanel.pure.js.map +1 -1
  43. package/2D/controls/textBlock.pure.js +637 -626
  44. package/2D/controls/textBlock.pure.js.map +1 -1
  45. package/3D/materials/fluent/fluentMaterial.pure.d.ts +4 -4
  46. package/3D/materials/fluent/fluentMaterial.pure.js +322 -273
  47. package/3D/materials/fluent/fluentMaterial.pure.js.map +1 -1
  48. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js +510 -454
  49. package/3D/materials/fluentBackplate/fluentBackplateMaterial.pure.js.map +1 -1
  50. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js +612 -529
  51. package/3D/materials/fluentButton/fluentButtonMaterial.pure.js.map +1 -1
  52. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js +313 -274
  53. package/3D/materials/mrdl/mrdlBackglowMaterial.pure.js.map +1 -1
  54. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js +462 -405
  55. package/3D/materials/mrdl/mrdlBackplateMaterial.pure.js.map +1 -1
  56. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js +583 -501
  57. package/3D/materials/mrdl/mrdlFrontplateMaterial.pure.js.map +1 -1
  58. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js +226 -203
  59. package/3D/materials/mrdl/mrdlInnerquadMaterial.pure.js.map +1 -1
  60. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js +961 -825
  61. package/3D/materials/mrdl/mrdlSliderBarMaterial.pure.js.map +1 -1
  62. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js +961 -825
  63. package/3D/materials/mrdl/mrdlSliderThumbMaterial.pure.js.map +1 -1
  64. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { __decorate } from "@babylonjs/core/tslib.es6.js";
1
+ import { __esDecorate, __runInitializers } from "@babylonjs/core/tslib.es6.js";
2
2
  import { serializeAsColor4, serializeAsVector3, serialize } from "@babylonjs/core/Misc/decorators.js";
3
3
  import { SerializationHelper } from "@babylonjs/core/Misc/decorators.serialization.js";
4
4
  import { Vector3, Vector4 } from "@babylonjs/core/Maths/math.vector.pure.js";
@@ -27,542 +27,625 @@ class FluentButtonMaterialDefines extends MaterialDefines {
27
27
  * Class used to render square buttons with fluent design
28
28
  * @since 5.0.0
29
29
  */
30
- export class FluentButtonMaterial extends PushMaterial {
31
- constructor(name, scene) {
32
- super(name, scene);
33
- this._shadersLoaded = false;
34
- /**
35
- * Gets or sets the width of the glowing edge, relative to the scale of the button.
36
- * (Default is 4% of the height).
37
- */
38
- this.edgeWidth = 0.04;
39
- /**
40
- * Gets or sets the color of the glowing edge.
41
- */
42
- this.edgeColor = new Color4(0.592157, 0.592157, 0.592157, 1.0);
43
- /**
44
- * Gets or sets the maximum intensity of the proximity light.
45
- */
46
- this.proximityMaxIntensity = 0.45;
47
- /**
48
- * Gets or sets the maximum distance for the proximity light (Default is 16mm).
49
- */
50
- this.proximityFarDistance = 0.16;
51
- /**
52
- * Gets or sets the radius of the proximity light when near to the surface.
53
- */
54
- this.proximityNearRadius = 1.5;
55
- /**
56
- * Gets or sets the anisotropy of the proximity light.
57
- */
58
- this.proximityAnisotropy = 1;
59
- /**
60
- * Gets or sets the amount of fuzzing in the selection focus.
61
- */
62
- this.selectionFuzz = 0.5;
63
- /**
64
- * Gets or sets an override value to display the button as selected.
65
- */
66
- this.selected = 0;
67
- /**
68
- * Gets or sets a value to manually fade the blob size.
69
- */
70
- this.selectionFade = 0;
71
- /**
72
- * Gets or sets a value to manually shrink the blob size as it fades (see selectionFade).
73
- */
74
- this.selectionFadeSize = 0.3;
75
- /**
76
- * Gets or sets the distance from the button the cursor should be for the button
77
- * to appear selected (Default is 8cm).
78
- */
79
- this.selectedDistance = 0.08;
80
- /**
81
- * Gets or sets the fall-off distance for the selection fade (Default is 8cm).
82
- */
83
- this.selectedFadeLength = 0.08;
84
- /**
85
- * Gets or sets the intensity of the luminous blob (Ranges 0-1, default is 0.5).
86
- */
87
- this.blobIntensity = 0.5;
88
- /**
89
- * The size of the blob when the pointer is at the blobFarDistance (Default is 5cm).
90
- */
91
- this.blobFarSize = 0.05;
92
- /**
93
- * The distance at which the pointer is considered near. See [left|right]BlobNearSize. (Default is 0cm).
94
- */
95
- this.blobNearDistance = 0;
96
- /**
97
- * The distance at which the pointer is considered far. See [left|right]BlobFarSize. (Default is 8cm).
98
- */
99
- this.blobFarDistance = 0.08;
100
- /**
101
- * The distance over which the blob intensity fades from full to none (Default is 8cm).
102
- */
103
- this.blobFadeLength = 0.08;
104
- /**
105
- * Gets or sets whether the blob corresponding to the left index finger is enabled.
106
- */
107
- this.leftBlobEnable = true;
108
- /**
109
- * Gets or sets the size of the left blob when the left pointer is considered near. See blobNearDistance. (Default is 2.5cm).
110
- */
111
- this.leftBlobNearSize = 0.025;
112
- /**
113
- * Gets or sets the progress of the pulse animation on the left blob (Ranges 0-1).
114
- */
115
- this.leftBlobPulse = 0;
116
- /**
117
- * Gets or sets the fade factor on the left blob.
118
- */
119
- this.leftBlobFade = 1;
120
- /**
121
- * Gets or sets the inner fade on the left blob;
122
- */
123
- this.leftBlobInnerFade = 0.01;
124
- /**
125
- * Gets or sets whether the blob corresponding to the right index finger is enabled.
126
- */
127
- this.rightBlobEnable = true;
128
- /**
129
- * Gets or sets the size of the right blob when the right pointer is considered near. See blobNearDistance. (Default is 2.5cm).
130
- */
131
- this.rightBlobNearSize = 0.025;
132
- /**
133
- * Gets or sets the progress of the pulse animation on the right blob (Ranges 0-1).
134
- */
135
- this.rightBlobPulse = 0;
136
- /**
137
- * Gets or sets the fade factor on the right blob.
138
- */
139
- this.rightBlobFade = 1;
140
- /**
141
- * Gets or sets the inner fade on the right blob;
142
- */
143
- this.rightBlobInnerFade = 0.01;
144
- /**
145
- * Gets or sets the direction of the active face before the world transform is applied.
146
- * This should almost always be set to -z.
147
- */
148
- this.activeFaceDir = new Vector3(0, 0, -1);
149
- /**
150
- * Gets or sets the button's up direction before the world transform is applied.
151
- * This should almost always be set to +y.
152
- */
153
- this.activeFaceUp = new Vector3(0, 1, 0);
154
- /**
155
- * Gets or sets whether the edge fade effect is enabled.
156
- */
157
- this.enableFade = true;
158
- /**
159
- * Gets or sets a value corresponding to the width of the edge fade effect (Default 1.5).
160
- */
161
- this.fadeWidth = 1.5;
162
- /**
163
- * Gets or sets whether the active face is smoothly interpolated.
164
- */
165
- this.smoothActiveFace = true;
166
- /**
167
- * Gets or sets whether the frame of the fluent button model is visible.
168
- * This is usually only enabled for debugging purposes.
169
- */
170
- this.showFrame = false;
171
- /**
172
- * Gets or sets whether the blob color texture is used for the proximity
173
- * light effect. This is usually only disabled for debugging purposes.
174
- */
175
- this.useBlobTexture = true;
176
- /**
177
- * Gets or sets the world-space position of the tip of the left index finger.
178
- */
179
- this.globalLeftIndexTipPosition = Vector3.Zero();
180
- /**
181
- * Gets or sets the world-space position of the tip of the right index finger.
182
- */
183
- this.globalRightIndexTipPosition = Vector3.Zero();
184
- this.alphaMode = Constants.ALPHA_ADD;
185
- this.disableDepthWrite = true;
186
- this.backFaceCulling = false;
187
- this._blobTextureUrl = Tools.GetAssetUrl(FluentButtonMaterial.BLOB_TEXTURE_URL);
188
- this._blobTexture = new Texture(this._blobTextureUrl, this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);
189
- }
190
- needAlphaBlending() {
191
- return true;
192
- }
193
- needAlphaTesting() {
194
- return true;
195
- }
196
- getAlphaTestTexture() {
197
- return null;
198
- }
199
- // Methods
200
- isReadyForSubMesh(mesh, subMesh) {
201
- const drawWrapper = subMesh._drawWrapper;
202
- if (this.isFrozen) {
203
- if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {
30
+ let FluentButtonMaterial = (() => {
31
+ var _a;
32
+ let _classSuper = PushMaterial;
33
+ let _edgeWidth_decorators;
34
+ let _edgeWidth_initializers = [];
35
+ let _edgeWidth_extraInitializers = [];
36
+ let _edgeColor_decorators;
37
+ let _edgeColor_initializers = [];
38
+ let _edgeColor_extraInitializers = [];
39
+ let _proximityMaxIntensity_decorators;
40
+ let _proximityMaxIntensity_initializers = [];
41
+ let _proximityMaxIntensity_extraInitializers = [];
42
+ let _proximityFarDistance_decorators;
43
+ let _proximityFarDistance_initializers = [];
44
+ let _proximityFarDistance_extraInitializers = [];
45
+ let _proximityNearRadius_decorators;
46
+ let _proximityNearRadius_initializers = [];
47
+ let _proximityNearRadius_extraInitializers = [];
48
+ let _proximityAnisotropy_decorators;
49
+ let _proximityAnisotropy_initializers = [];
50
+ let _proximityAnisotropy_extraInitializers = [];
51
+ let _selectionFuzz_decorators;
52
+ let _selectionFuzz_initializers = [];
53
+ let _selectionFuzz_extraInitializers = [];
54
+ let _selected_decorators;
55
+ let _selected_initializers = [];
56
+ let _selected_extraInitializers = [];
57
+ let _selectionFade_decorators;
58
+ let _selectionFade_initializers = [];
59
+ let _selectionFade_extraInitializers = [];
60
+ let _selectionFadeSize_decorators;
61
+ let _selectionFadeSize_initializers = [];
62
+ let _selectionFadeSize_extraInitializers = [];
63
+ let _selectedDistance_decorators;
64
+ let _selectedDistance_initializers = [];
65
+ let _selectedDistance_extraInitializers = [];
66
+ let _selectedFadeLength_decorators;
67
+ let _selectedFadeLength_initializers = [];
68
+ let _selectedFadeLength_extraInitializers = [];
69
+ let _blobIntensity_decorators;
70
+ let _blobIntensity_initializers = [];
71
+ let _blobIntensity_extraInitializers = [];
72
+ let _blobFarSize_decorators;
73
+ let _blobFarSize_initializers = [];
74
+ let _blobFarSize_extraInitializers = [];
75
+ let _blobNearDistance_decorators;
76
+ let _blobNearDistance_initializers = [];
77
+ let _blobNearDistance_extraInitializers = [];
78
+ let _blobFarDistance_decorators;
79
+ let _blobFarDistance_initializers = [];
80
+ let _blobFarDistance_extraInitializers = [];
81
+ let _blobFadeLength_decorators;
82
+ let _blobFadeLength_initializers = [];
83
+ let _blobFadeLength_extraInitializers = [];
84
+ let _leftBlobEnable_decorators;
85
+ let _leftBlobEnable_initializers = [];
86
+ let _leftBlobEnable_extraInitializers = [];
87
+ let _leftBlobNearSize_decorators;
88
+ let _leftBlobNearSize_initializers = [];
89
+ let _leftBlobNearSize_extraInitializers = [];
90
+ let _leftBlobPulse_decorators;
91
+ let _leftBlobPulse_initializers = [];
92
+ let _leftBlobPulse_extraInitializers = [];
93
+ let _leftBlobFade_decorators;
94
+ let _leftBlobFade_initializers = [];
95
+ let _leftBlobFade_extraInitializers = [];
96
+ let _leftBlobInnerFade_decorators;
97
+ let _leftBlobInnerFade_initializers = [];
98
+ let _leftBlobInnerFade_extraInitializers = [];
99
+ let _rightBlobEnable_decorators;
100
+ let _rightBlobEnable_initializers = [];
101
+ let _rightBlobEnable_extraInitializers = [];
102
+ let _rightBlobNearSize_decorators;
103
+ let _rightBlobNearSize_initializers = [];
104
+ let _rightBlobNearSize_extraInitializers = [];
105
+ let _rightBlobPulse_decorators;
106
+ let _rightBlobPulse_initializers = [];
107
+ let _rightBlobPulse_extraInitializers = [];
108
+ let _rightBlobFade_decorators;
109
+ let _rightBlobFade_initializers = [];
110
+ let _rightBlobFade_extraInitializers = [];
111
+ let _rightBlobInnerFade_decorators;
112
+ let _rightBlobInnerFade_initializers = [];
113
+ let _rightBlobInnerFade_extraInitializers = [];
114
+ let _activeFaceDir_decorators;
115
+ let _activeFaceDir_initializers = [];
116
+ let _activeFaceDir_extraInitializers = [];
117
+ let _activeFaceUp_decorators;
118
+ let _activeFaceUp_initializers = [];
119
+ let _activeFaceUp_extraInitializers = [];
120
+ let _enableFade_decorators;
121
+ let _enableFade_initializers = [];
122
+ let _enableFade_extraInitializers = [];
123
+ let _fadeWidth_decorators;
124
+ let _fadeWidth_initializers = [];
125
+ let _fadeWidth_extraInitializers = [];
126
+ let _smoothActiveFace_decorators;
127
+ let _smoothActiveFace_initializers = [];
128
+ let _smoothActiveFace_extraInitializers = [];
129
+ let _showFrame_decorators;
130
+ let _showFrame_initializers = [];
131
+ let _showFrame_extraInitializers = [];
132
+ let _useBlobTexture_decorators;
133
+ let _useBlobTexture_initializers = [];
134
+ let _useBlobTexture_extraInitializers = [];
135
+ let _globalLeftIndexTipPosition_decorators;
136
+ let _globalLeftIndexTipPosition_initializers = [];
137
+ let _globalLeftIndexTipPosition_extraInitializers = [];
138
+ let _globalRightIndexTipPosition_decorators;
139
+ let _globalRightIndexTipPosition_initializers = [];
140
+ let _globalRightIndexTipPosition_extraInitializers = [];
141
+ return _a = class FluentButtonMaterial extends _classSuper {
142
+ constructor(name, scene) {
143
+ super(name, scene);
144
+ this._shadersLoaded = false;
145
+ /**
146
+ * Gets or sets the width of the glowing edge, relative to the scale of the button.
147
+ * (Default is 4% of the height).
148
+ */
149
+ this.edgeWidth = __runInitializers(this, _edgeWidth_initializers, 0.04);
150
+ /**
151
+ * Gets or sets the color of the glowing edge.
152
+ */
153
+ this.edgeColor = (__runInitializers(this, _edgeWidth_extraInitializers), __runInitializers(this, _edgeColor_initializers, new Color4(0.592157, 0.592157, 0.592157, 1.0)));
154
+ /**
155
+ * Gets or sets the maximum intensity of the proximity light.
156
+ */
157
+ this.proximityMaxIntensity = (__runInitializers(this, _edgeColor_extraInitializers), __runInitializers(this, _proximityMaxIntensity_initializers, 0.45));
158
+ /**
159
+ * Gets or sets the maximum distance for the proximity light (Default is 16mm).
160
+ */
161
+ this.proximityFarDistance = (__runInitializers(this, _proximityMaxIntensity_extraInitializers), __runInitializers(this, _proximityFarDistance_initializers, 0.16));
162
+ /**
163
+ * Gets or sets the radius of the proximity light when near to the surface.
164
+ */
165
+ this.proximityNearRadius = (__runInitializers(this, _proximityFarDistance_extraInitializers), __runInitializers(this, _proximityNearRadius_initializers, 1.5));
166
+ /**
167
+ * Gets or sets the anisotropy of the proximity light.
168
+ */
169
+ this.proximityAnisotropy = (__runInitializers(this, _proximityNearRadius_extraInitializers), __runInitializers(this, _proximityAnisotropy_initializers, 1));
170
+ /**
171
+ * Gets or sets the amount of fuzzing in the selection focus.
172
+ */
173
+ this.selectionFuzz = (__runInitializers(this, _proximityAnisotropy_extraInitializers), __runInitializers(this, _selectionFuzz_initializers, 0.5));
174
+ /**
175
+ * Gets or sets an override value to display the button as selected.
176
+ */
177
+ this.selected = (__runInitializers(this, _selectionFuzz_extraInitializers), __runInitializers(this, _selected_initializers, 0));
178
+ /**
179
+ * Gets or sets a value to manually fade the blob size.
180
+ */
181
+ this.selectionFade = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _selectionFade_initializers, 0));
182
+ /**
183
+ * Gets or sets a value to manually shrink the blob size as it fades (see selectionFade).
184
+ */
185
+ this.selectionFadeSize = (__runInitializers(this, _selectionFade_extraInitializers), __runInitializers(this, _selectionFadeSize_initializers, 0.3));
186
+ /**
187
+ * Gets or sets the distance from the button the cursor should be for the button
188
+ * to appear selected (Default is 8cm).
189
+ */
190
+ this.selectedDistance = (__runInitializers(this, _selectionFadeSize_extraInitializers), __runInitializers(this, _selectedDistance_initializers, 0.08));
191
+ /**
192
+ * Gets or sets the fall-off distance for the selection fade (Default is 8cm).
193
+ */
194
+ this.selectedFadeLength = (__runInitializers(this, _selectedDistance_extraInitializers), __runInitializers(this, _selectedFadeLength_initializers, 0.08));
195
+ /**
196
+ * Gets or sets the intensity of the luminous blob (Ranges 0-1, default is 0.5).
197
+ */
198
+ this.blobIntensity = (__runInitializers(this, _selectedFadeLength_extraInitializers), __runInitializers(this, _blobIntensity_initializers, 0.5));
199
+ /**
200
+ * The size of the blob when the pointer is at the blobFarDistance (Default is 5cm).
201
+ */
202
+ this.blobFarSize = (__runInitializers(this, _blobIntensity_extraInitializers), __runInitializers(this, _blobFarSize_initializers, 0.05));
203
+ /**
204
+ * The distance at which the pointer is considered near. See [left|right]BlobNearSize. (Default is 0cm).
205
+ */
206
+ this.blobNearDistance = (__runInitializers(this, _blobFarSize_extraInitializers), __runInitializers(this, _blobNearDistance_initializers, 0));
207
+ /**
208
+ * The distance at which the pointer is considered far. See [left|right]BlobFarSize. (Default is 8cm).
209
+ */
210
+ this.blobFarDistance = (__runInitializers(this, _blobNearDistance_extraInitializers), __runInitializers(this, _blobFarDistance_initializers, 0.08));
211
+ /**
212
+ * The distance over which the blob intensity fades from full to none (Default is 8cm).
213
+ */
214
+ this.blobFadeLength = (__runInitializers(this, _blobFarDistance_extraInitializers), __runInitializers(this, _blobFadeLength_initializers, 0.08));
215
+ /**
216
+ * Gets or sets whether the blob corresponding to the left index finger is enabled.
217
+ */
218
+ this.leftBlobEnable = (__runInitializers(this, _blobFadeLength_extraInitializers), __runInitializers(this, _leftBlobEnable_initializers, true));
219
+ /**
220
+ * Gets or sets the size of the left blob when the left pointer is considered near. See blobNearDistance. (Default is 2.5cm).
221
+ */
222
+ this.leftBlobNearSize = (__runInitializers(this, _leftBlobEnable_extraInitializers), __runInitializers(this, _leftBlobNearSize_initializers, 0.025));
223
+ /**
224
+ * Gets or sets the progress of the pulse animation on the left blob (Ranges 0-1).
225
+ */
226
+ this.leftBlobPulse = (__runInitializers(this, _leftBlobNearSize_extraInitializers), __runInitializers(this, _leftBlobPulse_initializers, 0));
227
+ /**
228
+ * Gets or sets the fade factor on the left blob.
229
+ */
230
+ this.leftBlobFade = (__runInitializers(this, _leftBlobPulse_extraInitializers), __runInitializers(this, _leftBlobFade_initializers, 1));
231
+ /**
232
+ * Gets or sets the inner fade on the left blob;
233
+ */
234
+ this.leftBlobInnerFade = (__runInitializers(this, _leftBlobFade_extraInitializers), __runInitializers(this, _leftBlobInnerFade_initializers, 0.01));
235
+ /**
236
+ * Gets or sets whether the blob corresponding to the right index finger is enabled.
237
+ */
238
+ this.rightBlobEnable = (__runInitializers(this, _leftBlobInnerFade_extraInitializers), __runInitializers(this, _rightBlobEnable_initializers, true));
239
+ /**
240
+ * Gets or sets the size of the right blob when the right pointer is considered near. See blobNearDistance. (Default is 2.5cm).
241
+ */
242
+ this.rightBlobNearSize = (__runInitializers(this, _rightBlobEnable_extraInitializers), __runInitializers(this, _rightBlobNearSize_initializers, 0.025));
243
+ /**
244
+ * Gets or sets the progress of the pulse animation on the right blob (Ranges 0-1).
245
+ */
246
+ this.rightBlobPulse = (__runInitializers(this, _rightBlobNearSize_extraInitializers), __runInitializers(this, _rightBlobPulse_initializers, 0));
247
+ /**
248
+ * Gets or sets the fade factor on the right blob.
249
+ */
250
+ this.rightBlobFade = (__runInitializers(this, _rightBlobPulse_extraInitializers), __runInitializers(this, _rightBlobFade_initializers, 1));
251
+ /**
252
+ * Gets or sets the inner fade on the right blob;
253
+ */
254
+ this.rightBlobInnerFade = (__runInitializers(this, _rightBlobFade_extraInitializers), __runInitializers(this, _rightBlobInnerFade_initializers, 0.01));
255
+ /**
256
+ * Gets or sets the direction of the active face before the world transform is applied.
257
+ * This should almost always be set to -z.
258
+ */
259
+ this.activeFaceDir = (__runInitializers(this, _rightBlobInnerFade_extraInitializers), __runInitializers(this, _activeFaceDir_initializers, new Vector3(0, 0, -1)));
260
+ /**
261
+ * Gets or sets the button's up direction before the world transform is applied.
262
+ * This should almost always be set to +y.
263
+ */
264
+ this.activeFaceUp = (__runInitializers(this, _activeFaceDir_extraInitializers), __runInitializers(this, _activeFaceUp_initializers, new Vector3(0, 1, 0)));
265
+ /**
266
+ * Gets or sets whether the edge fade effect is enabled.
267
+ */
268
+ this.enableFade = (__runInitializers(this, _activeFaceUp_extraInitializers), __runInitializers(this, _enableFade_initializers, true));
269
+ /**
270
+ * Gets or sets a value corresponding to the width of the edge fade effect (Default 1.5).
271
+ */
272
+ this.fadeWidth = (__runInitializers(this, _enableFade_extraInitializers), __runInitializers(this, _fadeWidth_initializers, 1.5));
273
+ /**
274
+ * Gets or sets whether the active face is smoothly interpolated.
275
+ */
276
+ this.smoothActiveFace = (__runInitializers(this, _fadeWidth_extraInitializers), __runInitializers(this, _smoothActiveFace_initializers, true));
277
+ /**
278
+ * Gets or sets whether the frame of the fluent button model is visible.
279
+ * This is usually only enabled for debugging purposes.
280
+ */
281
+ this.showFrame = (__runInitializers(this, _smoothActiveFace_extraInitializers), __runInitializers(this, _showFrame_initializers, false));
282
+ /**
283
+ * Gets or sets whether the blob color texture is used for the proximity
284
+ * light effect. This is usually only disabled for debugging purposes.
285
+ */
286
+ this.useBlobTexture = (__runInitializers(this, _showFrame_extraInitializers), __runInitializers(this, _useBlobTexture_initializers, true));
287
+ /**
288
+ * Gets or sets the world-space position of the tip of the left index finger.
289
+ */
290
+ this.globalLeftIndexTipPosition = (__runInitializers(this, _useBlobTexture_extraInitializers), __runInitializers(this, _globalLeftIndexTipPosition_initializers, Vector3.Zero()));
291
+ /**
292
+ * Gets or sets the world-space position of the tip of the right index finger.
293
+ */
294
+ this.globalRightIndexTipPosition = (__runInitializers(this, _globalLeftIndexTipPosition_extraInitializers), __runInitializers(this, _globalRightIndexTipPosition_initializers, Vector3.Zero()));
295
+ this._blobTexture = __runInitializers(this, _globalRightIndexTipPosition_extraInitializers);
296
+ this.alphaMode = Constants.ALPHA_ADD;
297
+ this.disableDepthWrite = true;
298
+ this.backFaceCulling = false;
299
+ this._blobTextureUrl = Tools.GetAssetUrl(_a.BLOB_TEXTURE_URL);
300
+ this._blobTexture = new Texture(this._blobTextureUrl, this.getScene(), true, false, Texture.NEAREST_SAMPLINGMODE);
301
+ }
302
+ needAlphaBlending() {
204
303
  return true;
205
304
  }
206
- }
207
- if (!subMesh.materialDefines) {
208
- subMesh.materialDefines = new FluentButtonMaterialDefines();
209
- }
210
- const defines = subMesh.materialDefines;
211
- const scene = this.getScene();
212
- const blobTextureError = this._blobTexture.errorObject;
213
- if (this._blobTexture.loadingError || blobTextureError) {
214
- const textureErrorMessage = blobTextureError?.message || (blobTextureError?.exception instanceof Error ? blobTextureError.exception.message : undefined);
215
- throw new Error(`FluentButtonMaterial "${this.name}" failed to load blob texture "${this._blobTextureUrl}"${textureErrorMessage ? `: ${textureErrorMessage}` : ""}. Check FluentButtonMaterial.BLOB_TEXTURE_URL and asset availability.`, { cause: blobTextureError?.exception });
216
- }
217
- if (!this._blobTexture.isReady()) {
218
- return false;
219
- }
220
- if (this._isReadyForSubMesh(subMesh)) {
221
- return true;
222
- }
223
- const engine = scene.getEngine();
224
- // Attribs
225
- PrepareDefinesForAttributes(mesh, defines, true, false);
226
- // Get correct effect
227
- if (defines.isDirty) {
228
- defines.markAsProcessed();
229
- scene.resetCachedMaterial();
230
- // Fallbacks
231
- const fallbacks = new EffectFallbacks();
232
- if (defines.FOG) {
233
- fallbacks.addFallback(1, "FOG");
305
+ needAlphaTesting() {
306
+ return true;
234
307
  }
235
- HandleFallbacksForShadows(defines, fallbacks);
236
- defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
237
- //Attributes
238
- const attribs = [VertexBuffer.PositionKind];
239
- if (defines.NORMAL) {
240
- attribs.push(VertexBuffer.NormalKind);
308
+ getAlphaTestTexture() {
309
+ return null;
241
310
  }
242
- if (defines.UV1) {
243
- attribs.push(VertexBuffer.UVKind);
311
+ // Methods
312
+ isReadyForSubMesh(mesh, subMesh) {
313
+ const drawWrapper = subMesh._drawWrapper;
314
+ if (this.isFrozen) {
315
+ if (drawWrapper.effect && drawWrapper._wasPreviouslyReady) {
316
+ return true;
317
+ }
318
+ }
319
+ if (!subMesh.materialDefines) {
320
+ subMesh.materialDefines = new FluentButtonMaterialDefines();
321
+ }
322
+ const defines = subMesh.materialDefines;
323
+ const scene = this.getScene();
324
+ const blobTextureError = this._blobTexture.errorObject;
325
+ if (this._blobTexture.loadingError || blobTextureError) {
326
+ const textureErrorMessage = blobTextureError?.message || (blobTextureError?.exception instanceof Error ? blobTextureError.exception.message : undefined);
327
+ throw new Error(`FluentButtonMaterial "${this.name}" failed to load blob texture "${this._blobTextureUrl}"${textureErrorMessage ? `: ${textureErrorMessage}` : ""}. Check FluentButtonMaterial.BLOB_TEXTURE_URL and asset availability.`, { cause: blobTextureError?.exception });
328
+ }
329
+ if (!this._blobTexture.isReady()) {
330
+ return false;
331
+ }
332
+ if (this._isReadyForSubMesh(subMesh)) {
333
+ return true;
334
+ }
335
+ const engine = scene.getEngine();
336
+ // Attribs
337
+ PrepareDefinesForAttributes(mesh, defines, true, false);
338
+ // Get correct effect
339
+ if (defines.isDirty) {
340
+ defines.markAsProcessed();
341
+ scene.resetCachedMaterial();
342
+ // Fallbacks
343
+ const fallbacks = new EffectFallbacks();
344
+ if (defines.FOG) {
345
+ fallbacks.addFallback(1, "FOG");
346
+ }
347
+ HandleFallbacksForShadows(defines, fallbacks);
348
+ defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
349
+ //Attributes
350
+ const attribs = [VertexBuffer.PositionKind];
351
+ if (defines.NORMAL) {
352
+ attribs.push(VertexBuffer.NormalKind);
353
+ }
354
+ if (defines.UV1) {
355
+ attribs.push(VertexBuffer.UVKind);
356
+ }
357
+ if (defines.UV2) {
358
+ attribs.push(VertexBuffer.UV2Kind);
359
+ }
360
+ if (defines.VERTEXCOLOR) {
361
+ attribs.push(VertexBuffer.ColorKind);
362
+ }
363
+ if (defines.TANGENT) {
364
+ attribs.push(VertexBuffer.TangentKind);
365
+ }
366
+ PrepareAttributesForInstances(attribs, defines);
367
+ // Legacy browser patch
368
+ const shaderName = "fluentButton";
369
+ const join = defines.toString();
370
+ const uniforms = [
371
+ "world",
372
+ "viewProjection",
373
+ "cameraPosition",
374
+ "_Edge_Width_",
375
+ "_Edge_Color_",
376
+ "_Relative_Width_",
377
+ "_Proximity_Max_Intensity_",
378
+ "_Proximity_Far_Distance_",
379
+ "_Proximity_Near_Radius_",
380
+ "_Proximity_Anisotropy_",
381
+ "_Selection_Fuzz_",
382
+ "_Selected_",
383
+ "_Selection_Fade_",
384
+ "_Selection_Fade_Size_",
385
+ "_Selected_Distance_",
386
+ "_Selected_Fade_Length_",
387
+ "_Blob_Enable_",
388
+ "_Blob_Position_",
389
+ "_Blob_Intensity_",
390
+ "_Blob_Near_Size_",
391
+ "_Blob_Far_Size_",
392
+ "_Blob_Near_Distance_",
393
+ "_Blob_Far_Distance_",
394
+ "_Blob_Fade_Length_",
395
+ "_Blob_Inner_Fade_",
396
+ "_Blob_Pulse_",
397
+ "_Blob_Fade_",
398
+ "_Blob_Texture_",
399
+ "_Blob_Enable_2_",
400
+ "_Blob_Position_2_",
401
+ "_Blob_Near_Size_2_",
402
+ "_Blob_Inner_Fade_2_",
403
+ "_Blob_Pulse_2_",
404
+ "_Blob_Fade_2_",
405
+ "_Active_Face_Dir_",
406
+ "_Active_Face_Up_",
407
+ "_Enable_Fade_",
408
+ "_Fade_Width_",
409
+ "_Smooth_Active_Face_",
410
+ "_Show_Frame_",
411
+ "_Use_Blob_Texture_",
412
+ "Use_Global_Left_Index",
413
+ "Use_Global_Right_Index",
414
+ "Global_Left_Index_Tip_Position",
415
+ "Global_Right_Index_Tip_Position",
416
+ "Global_Left_Thumb_Tip_Position",
417
+ "Global_Right_Thumb_Tip_Position",
418
+ "Global_Left_Index_Tip_Proximity",
419
+ "Global_Right_Index_Tip_Proximity",
420
+ ];
421
+ const samplers = ["_Blob_Texture_"];
422
+ const uniformBuffers = [];
423
+ PrepareUniformsAndSamplersList({
424
+ uniformsNames: uniforms,
425
+ uniformBuffersNames: uniformBuffers,
426
+ samplers: samplers,
427
+ defines: defines,
428
+ maxSimultaneousLights: 4,
429
+ shaderLanguage: this._shaderLanguage,
430
+ });
431
+ subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
432
+ attributes: attribs,
433
+ uniformsNames: uniforms,
434
+ uniformBuffersNames: uniformBuffers,
435
+ samplers: samplers,
436
+ defines: join,
437
+ fallbacks: fallbacks,
438
+ onCompiled: this.onCompiled,
439
+ onError: this.onError,
440
+ indexParameters: { maxSimultaneousLights: 4 },
441
+ shaderLanguage: this._shaderLanguage,
442
+ extraInitializationsAsync: this._shadersLoaded
443
+ ? undefined
444
+ : async () => {
445
+ if (this.shaderLanguage === 1 /* ShaderLanguage.WGSL */) {
446
+ await Promise.all([import("./wgsl/fluentButton.vertex.js"), import("./wgsl/fluentButton.fragment.js")]);
447
+ }
448
+ else {
449
+ await Promise.all([import("./shaders/fluentButton.vertex.js"), import("./shaders/fluentButton.fragment.js")]);
450
+ }
451
+ this._shadersLoaded = true;
452
+ },
453
+ }, engine), defines, this._materialContext);
454
+ }
455
+ if (!subMesh.effect || !subMesh.effect.isReady()) {
456
+ return false;
457
+ }
458
+ defines._renderId = scene.getRenderId();
459
+ drawWrapper._wasPreviouslyReady = true;
460
+ return true;
244
461
  }
245
- if (defines.UV2) {
246
- attribs.push(VertexBuffer.UV2Kind);
462
+ bindForSubMesh(world, mesh, subMesh) {
463
+ const scene = this.getScene();
464
+ const defines = subMesh.materialDefines;
465
+ if (!defines) {
466
+ return;
467
+ }
468
+ const effect = subMesh.effect;
469
+ if (!effect) {
470
+ return;
471
+ }
472
+ this._activeEffect = effect;
473
+ // Matrices
474
+ this.bindOnlyWorldMatrix(world);
475
+ this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
476
+ this._activeEffect.setVector3("cameraPosition", scene.activeCamera.position);
477
+ // "Blob Texture"
478
+ this._activeEffect.setTexture("_Blob_Texture_", this._blobTexture);
479
+ // "Wireframe"
480
+ this._activeEffect.setFloat("_Edge_Width_", this.edgeWidth);
481
+ this._activeEffect.setColor4("_Edge_Color_", new Color3(this.edgeColor.r, this.edgeColor.g, this.edgeColor.b), this.edgeColor.a);
482
+ //define _Relative_Width_ true;
483
+ // "Proximity"
484
+ this._activeEffect.setFloat("_Proximity_Max_Intensity_", this.proximityMaxIntensity);
485
+ this._activeEffect.setFloat("_Proximity_Far_Distance_", this.proximityFarDistance);
486
+ this._activeEffect.setFloat("_Proximity_Near_Radius_", this.proximityNearRadius);
487
+ this._activeEffect.setFloat("_Proximity_Anisotropy_", this.proximityAnisotropy);
488
+ // "Selection"
489
+ this._activeEffect.setFloat("_Selection_Fuzz_", this.selectionFuzz);
490
+ this._activeEffect.setFloat("_Selected_", this.selected);
491
+ this._activeEffect.setFloat("_Selection_Fade_", this.selectionFade);
492
+ this._activeEffect.setFloat("_Selection_Fade_Size_", this.selectionFadeSize);
493
+ this._activeEffect.setFloat("_Selected_Distance_", this.selectedDistance);
494
+ this._activeEffect.setFloat("_Selected_Fade_Length_", this.selectedFadeLength);
495
+ // "Blob"
496
+ this._activeEffect.setFloat("_Blob_Enable_", this.leftBlobEnable ? 1.0 : 0.0);
497
+ this._activeEffect.setFloat("_Blob_Intensity_", this.blobIntensity);
498
+ this._activeEffect.setFloat("_Blob_Near_Size_", this.leftBlobNearSize);
499
+ this._activeEffect.setFloat("_Blob_Far_Size_", this.blobFarSize);
500
+ this._activeEffect.setFloat("_Blob_Near_Distance_", this.blobNearDistance);
501
+ this._activeEffect.setFloat("_Blob_Far_Distance_", this.blobFarDistance);
502
+ this._activeEffect.setFloat("_Blob_Fade_Length_", this.blobFadeLength);
503
+ this._activeEffect.setFloat("_Blob_Inner_Fade_", this.leftBlobInnerFade);
504
+ this._activeEffect.setFloat("_Blob_Pulse_", this.leftBlobPulse);
505
+ this._activeEffect.setFloat("_Blob_Fade_", this.leftBlobFade);
506
+ // "Blob 2"
507
+ this._activeEffect.setFloat("_Blob_Enable_2_", this.rightBlobEnable ? 1.0 : 0.0);
508
+ this._activeEffect.setFloat("_Blob_Near_Size_2_", this.rightBlobNearSize);
509
+ this._activeEffect.setFloat("_Blob_Inner_Fade_2_", this.rightBlobInnerFade);
510
+ this._activeEffect.setFloat("_Blob_Pulse_2_", this.rightBlobPulse);
511
+ this._activeEffect.setFloat("_Blob_Fade_2_", this.rightBlobFade);
512
+ // "Active Face"
513
+ this._activeEffect.setVector3("_Active_Face_Dir_", this.activeFaceDir);
514
+ this._activeEffect.setVector3("_Active_Face_Up_", this.activeFaceUp);
515
+ // "Hololens Edge Fade"
516
+ //define _Enable_Fade_ true;
517
+ this._activeEffect.setFloat("_Fade_Width_", this.fadeWidth);
518
+ this._activeEffect.setFloat("_Smooth_Active_Face_", this.smoothActiveFace ? 1.0 : 0.0);
519
+ // "Debug"
520
+ this._activeEffect.setFloat("_Show_Frame_", this.showFrame ? 1.0 : 0.0);
521
+ this._activeEffect.setFloat("_Use_Blob_Texture_", this.useBlobTexture ? 1.0 : 0.0);
522
+ // Global inputs
523
+ this._activeEffect.setFloat("Use_Global_Left_Index", 1.0);
524
+ this._activeEffect.setFloat("Use_Global_Right_Index", 1.0);
525
+ this._activeEffect.setVector4("Global_Left_Index_Tip_Position", new Vector4(this.globalLeftIndexTipPosition.x, this.globalLeftIndexTipPosition.y, this.globalLeftIndexTipPosition.z, 1.0));
526
+ this._activeEffect.setVector4("Global_Right_Index_Tip_Position", new Vector4(this.globalRightIndexTipPosition.x, this.globalRightIndexTipPosition.y, this.globalRightIndexTipPosition.z, 1.0));
527
+ this._afterBind(mesh, this._activeEffect, subMesh);
247
528
  }
248
- if (defines.VERTEXCOLOR) {
249
- attribs.push(VertexBuffer.ColorKind);
529
+ /**
530
+ * Get the list of animatables in the material.
531
+ * @returns the list of animatables object used in the material
532
+ */
533
+ getAnimatables() {
534
+ return [];
250
535
  }
251
- if (defines.TANGENT) {
252
- attribs.push(VertexBuffer.TangentKind);
536
+ /**
537
+ * Disposes the material.
538
+ * @param forceDisposeEffect specifies if effects should be forcefully disposed
539
+ */
540
+ dispose(forceDisposeEffect) {
541
+ super.dispose(forceDisposeEffect);
253
542
  }
254
- PrepareAttributesForInstances(attribs, defines);
255
- // Legacy browser patch
256
- const shaderName = "fluentButton";
257
- const join = defines.toString();
258
- const uniforms = [
259
- "world",
260
- "viewProjection",
261
- "cameraPosition",
262
- "_Edge_Width_",
263
- "_Edge_Color_",
264
- "_Relative_Width_",
265
- "_Proximity_Max_Intensity_",
266
- "_Proximity_Far_Distance_",
267
- "_Proximity_Near_Radius_",
268
- "_Proximity_Anisotropy_",
269
- "_Selection_Fuzz_",
270
- "_Selected_",
271
- "_Selection_Fade_",
272
- "_Selection_Fade_Size_",
273
- "_Selected_Distance_",
274
- "_Selected_Fade_Length_",
275
- "_Blob_Enable_",
276
- "_Blob_Position_",
277
- "_Blob_Intensity_",
278
- "_Blob_Near_Size_",
279
- "_Blob_Far_Size_",
280
- "_Blob_Near_Distance_",
281
- "_Blob_Far_Distance_",
282
- "_Blob_Fade_Length_",
283
- "_Blob_Inner_Fade_",
284
- "_Blob_Pulse_",
285
- "_Blob_Fade_",
286
- "_Blob_Texture_",
287
- "_Blob_Enable_2_",
288
- "_Blob_Position_2_",
289
- "_Blob_Near_Size_2_",
290
- "_Blob_Inner_Fade_2_",
291
- "_Blob_Pulse_2_",
292
- "_Blob_Fade_2_",
293
- "_Active_Face_Dir_",
294
- "_Active_Face_Up_",
295
- "_Enable_Fade_",
296
- "_Fade_Width_",
297
- "_Smooth_Active_Face_",
298
- "_Show_Frame_",
299
- "_Use_Blob_Texture_",
300
- "Use_Global_Left_Index",
301
- "Use_Global_Right_Index",
302
- "Global_Left_Index_Tip_Position",
303
- "Global_Right_Index_Tip_Position",
304
- "Global_Left_Thumb_Tip_Position",
305
- "Global_Right_Thumb_Tip_Position",
306
- "Global_Left_Index_Tip_Proximity",
307
- "Global_Right_Index_Tip_Proximity",
308
- ];
309
- const samplers = ["_Blob_Texture_"];
310
- const uniformBuffers = [];
311
- PrepareUniformsAndSamplersList({
312
- uniformsNames: uniforms,
313
- uniformBuffersNames: uniformBuffers,
314
- samplers: samplers,
315
- defines: defines,
316
- maxSimultaneousLights: 4,
317
- shaderLanguage: this._shaderLanguage,
318
- });
319
- subMesh.setEffect(scene.getEngine().createEffect(shaderName, {
320
- attributes: attribs,
321
- uniformsNames: uniforms,
322
- uniformBuffersNames: uniformBuffers,
323
- samplers: samplers,
324
- defines: join,
325
- fallbacks: fallbacks,
326
- onCompiled: this.onCompiled,
327
- onError: this.onError,
328
- indexParameters: { maxSimultaneousLights: 4 },
329
- shaderLanguage: this._shaderLanguage,
330
- extraInitializationsAsync: this._shadersLoaded
331
- ? undefined
332
- : async () => {
333
- if (this.shaderLanguage === 1 /* ShaderLanguage.WGSL */) {
334
- await Promise.all([import("./wgsl/fluentButton.vertex.js"), import("./wgsl/fluentButton.fragment.js")]);
335
- }
336
- else {
337
- await Promise.all([import("./shaders/fluentButton.vertex.js"), import("./shaders/fluentButton.fragment.js")]);
338
- }
339
- this._shadersLoaded = true;
340
- },
341
- }, engine), defines, this._materialContext);
342
- }
343
- if (!subMesh.effect || !subMesh.effect.isReady()) {
344
- return false;
345
- }
346
- defines._renderId = scene.getRenderId();
347
- drawWrapper._wasPreviouslyReady = true;
348
- return true;
349
- }
350
- bindForSubMesh(world, mesh, subMesh) {
351
- const scene = this.getScene();
352
- const defines = subMesh.materialDefines;
353
- if (!defines) {
354
- return;
355
- }
356
- const effect = subMesh.effect;
357
- if (!effect) {
358
- return;
359
- }
360
- this._activeEffect = effect;
361
- // Matrices
362
- this.bindOnlyWorldMatrix(world);
363
- this._activeEffect.setMatrix("viewProjection", scene.getTransformMatrix());
364
- this._activeEffect.setVector3("cameraPosition", scene.activeCamera.position);
365
- // "Blob Texture"
366
- this._activeEffect.setTexture("_Blob_Texture_", this._blobTexture);
367
- // "Wireframe"
368
- this._activeEffect.setFloat("_Edge_Width_", this.edgeWidth);
369
- this._activeEffect.setColor4("_Edge_Color_", new Color3(this.edgeColor.r, this.edgeColor.g, this.edgeColor.b), this.edgeColor.a);
370
- //define _Relative_Width_ true;
371
- // "Proximity"
372
- this._activeEffect.setFloat("_Proximity_Max_Intensity_", this.proximityMaxIntensity);
373
- this._activeEffect.setFloat("_Proximity_Far_Distance_", this.proximityFarDistance);
374
- this._activeEffect.setFloat("_Proximity_Near_Radius_", this.proximityNearRadius);
375
- this._activeEffect.setFloat("_Proximity_Anisotropy_", this.proximityAnisotropy);
376
- // "Selection"
377
- this._activeEffect.setFloat("_Selection_Fuzz_", this.selectionFuzz);
378
- this._activeEffect.setFloat("_Selected_", this.selected);
379
- this._activeEffect.setFloat("_Selection_Fade_", this.selectionFade);
380
- this._activeEffect.setFloat("_Selection_Fade_Size_", this.selectionFadeSize);
381
- this._activeEffect.setFloat("_Selected_Distance_", this.selectedDistance);
382
- this._activeEffect.setFloat("_Selected_Fade_Length_", this.selectedFadeLength);
383
- // "Blob"
384
- this._activeEffect.setFloat("_Blob_Enable_", this.leftBlobEnable ? 1.0 : 0.0);
385
- this._activeEffect.setFloat("_Blob_Intensity_", this.blobIntensity);
386
- this._activeEffect.setFloat("_Blob_Near_Size_", this.leftBlobNearSize);
387
- this._activeEffect.setFloat("_Blob_Far_Size_", this.blobFarSize);
388
- this._activeEffect.setFloat("_Blob_Near_Distance_", this.blobNearDistance);
389
- this._activeEffect.setFloat("_Blob_Far_Distance_", this.blobFarDistance);
390
- this._activeEffect.setFloat("_Blob_Fade_Length_", this.blobFadeLength);
391
- this._activeEffect.setFloat("_Blob_Inner_Fade_", this.leftBlobInnerFade);
392
- this._activeEffect.setFloat("_Blob_Pulse_", this.leftBlobPulse);
393
- this._activeEffect.setFloat("_Blob_Fade_", this.leftBlobFade);
394
- // "Blob 2"
395
- this._activeEffect.setFloat("_Blob_Enable_2_", this.rightBlobEnable ? 1.0 : 0.0);
396
- this._activeEffect.setFloat("_Blob_Near_Size_2_", this.rightBlobNearSize);
397
- this._activeEffect.setFloat("_Blob_Inner_Fade_2_", this.rightBlobInnerFade);
398
- this._activeEffect.setFloat("_Blob_Pulse_2_", this.rightBlobPulse);
399
- this._activeEffect.setFloat("_Blob_Fade_2_", this.rightBlobFade);
400
- // "Active Face"
401
- this._activeEffect.setVector3("_Active_Face_Dir_", this.activeFaceDir);
402
- this._activeEffect.setVector3("_Active_Face_Up_", this.activeFaceUp);
403
- // "Hololens Edge Fade"
404
- //define _Enable_Fade_ true;
405
- this._activeEffect.setFloat("_Fade_Width_", this.fadeWidth);
406
- this._activeEffect.setFloat("_Smooth_Active_Face_", this.smoothActiveFace ? 1.0 : 0.0);
407
- // "Debug"
408
- this._activeEffect.setFloat("_Show_Frame_", this.showFrame ? 1.0 : 0.0);
409
- this._activeEffect.setFloat("_Use_Blob_Texture_", this.useBlobTexture ? 1.0 : 0.0);
410
- // Global inputs
411
- this._activeEffect.setFloat("Use_Global_Left_Index", 1.0);
412
- this._activeEffect.setFloat("Use_Global_Right_Index", 1.0);
413
- this._activeEffect.setVector4("Global_Left_Index_Tip_Position", new Vector4(this.globalLeftIndexTipPosition.x, this.globalLeftIndexTipPosition.y, this.globalLeftIndexTipPosition.z, 1.0));
414
- this._activeEffect.setVector4("Global_Right_Index_Tip_Position", new Vector4(this.globalRightIndexTipPosition.x, this.globalRightIndexTipPosition.y, this.globalRightIndexTipPosition.z, 1.0));
415
- this._afterBind(mesh, this._activeEffect, subMesh);
416
- }
417
- /**
418
- * Get the list of animatables in the material.
419
- * @returns the list of animatables object used in the material
420
- */
421
- getAnimatables() {
422
- return [];
423
- }
424
- /**
425
- * Disposes the material.
426
- * @param forceDisposeEffect specifies if effects should be forcefully disposed
427
- */
428
- dispose(forceDisposeEffect) {
429
- super.dispose(forceDisposeEffect);
430
- }
431
- clone(name) {
432
- return SerializationHelper.Clone(() => new FluentButtonMaterial(name, this.getScene()), this);
433
- }
434
- serialize() {
435
- const serializationObject = super.serialize();
436
- serializationObject.customType = "BABYLON.FluentButtonMaterial";
437
- return serializationObject;
438
- }
439
- getClassName() {
440
- return "FluentButtonMaterial";
441
- }
442
- // Statics
443
- /**
444
- * Creates a fluent button material from parsed material data.
445
- * @param source defines the JSON representation of the material
446
- * @param scene defines the hosting scene
447
- * @param rootUrl defines the root URL to use to load textures and relative dependencies
448
- * @returns a new fluent button material
449
- */
450
- static Parse(source, scene, rootUrl) {
451
- return SerializationHelper.Parse(() => new FluentButtonMaterial(source.name, scene), source, scene, rootUrl);
452
- }
453
- }
454
- /**
455
- * URL pointing to the texture used to define the coloring for the fluent blob effect.
456
- */
457
- FluentButtonMaterial.BLOB_TEXTURE_URL = "https://assets.babylonjs.com/core/MRTK/mrtk-fluent-button-blob.png";
458
- __decorate([
459
- serialize()
460
- ], FluentButtonMaterial.prototype, "edgeWidth", void 0);
461
- __decorate([
462
- serializeAsColor4()
463
- ], FluentButtonMaterial.prototype, "edgeColor", void 0);
464
- __decorate([
465
- serialize()
466
- ], FluentButtonMaterial.prototype, "proximityMaxIntensity", void 0);
467
- __decorate([
468
- serialize()
469
- ], FluentButtonMaterial.prototype, "proximityFarDistance", void 0);
470
- __decorate([
471
- serialize()
472
- ], FluentButtonMaterial.prototype, "proximityNearRadius", void 0);
473
- __decorate([
474
- serialize()
475
- ], FluentButtonMaterial.prototype, "proximityAnisotropy", void 0);
476
- __decorate([
477
- serialize()
478
- ], FluentButtonMaterial.prototype, "selectionFuzz", void 0);
479
- __decorate([
480
- serialize()
481
- ], FluentButtonMaterial.prototype, "selected", void 0);
482
- __decorate([
483
- serialize()
484
- ], FluentButtonMaterial.prototype, "selectionFade", void 0);
485
- __decorate([
486
- serialize()
487
- ], FluentButtonMaterial.prototype, "selectionFadeSize", void 0);
488
- __decorate([
489
- serialize()
490
- ], FluentButtonMaterial.prototype, "selectedDistance", void 0);
491
- __decorate([
492
- serialize()
493
- ], FluentButtonMaterial.prototype, "selectedFadeLength", void 0);
494
- __decorate([
495
- serialize()
496
- ], FluentButtonMaterial.prototype, "blobIntensity", void 0);
497
- __decorate([
498
- serialize()
499
- ], FluentButtonMaterial.prototype, "blobFarSize", void 0);
500
- __decorate([
501
- serialize()
502
- ], FluentButtonMaterial.prototype, "blobNearDistance", void 0);
503
- __decorate([
504
- serialize()
505
- ], FluentButtonMaterial.prototype, "blobFarDistance", void 0);
506
- __decorate([
507
- serialize()
508
- ], FluentButtonMaterial.prototype, "blobFadeLength", void 0);
509
- __decorate([
510
- serialize()
511
- ], FluentButtonMaterial.prototype, "leftBlobEnable", void 0);
512
- __decorate([
513
- serialize()
514
- ], FluentButtonMaterial.prototype, "leftBlobNearSize", void 0);
515
- __decorate([
516
- serialize()
517
- ], FluentButtonMaterial.prototype, "leftBlobPulse", void 0);
518
- __decorate([
519
- serialize()
520
- ], FluentButtonMaterial.prototype, "leftBlobFade", void 0);
521
- __decorate([
522
- serialize()
523
- ], FluentButtonMaterial.prototype, "leftBlobInnerFade", void 0);
524
- __decorate([
525
- serialize()
526
- ], FluentButtonMaterial.prototype, "rightBlobEnable", void 0);
527
- __decorate([
528
- serialize()
529
- ], FluentButtonMaterial.prototype, "rightBlobNearSize", void 0);
530
- __decorate([
531
- serialize()
532
- ], FluentButtonMaterial.prototype, "rightBlobPulse", void 0);
533
- __decorate([
534
- serialize()
535
- ], FluentButtonMaterial.prototype, "rightBlobFade", void 0);
536
- __decorate([
537
- serialize()
538
- ], FluentButtonMaterial.prototype, "rightBlobInnerFade", void 0);
539
- __decorate([
540
- serializeAsVector3()
541
- ], FluentButtonMaterial.prototype, "activeFaceDir", void 0);
542
- __decorate([
543
- serializeAsVector3()
544
- ], FluentButtonMaterial.prototype, "activeFaceUp", void 0);
545
- __decorate([
546
- serialize()
547
- ], FluentButtonMaterial.prototype, "enableFade", void 0);
548
- __decorate([
549
- serialize()
550
- ], FluentButtonMaterial.prototype, "fadeWidth", void 0);
551
- __decorate([
552
- serialize()
553
- ], FluentButtonMaterial.prototype, "smoothActiveFace", void 0);
554
- __decorate([
555
- serialize()
556
- ], FluentButtonMaterial.prototype, "showFrame", void 0);
557
- __decorate([
558
- serialize()
559
- ], FluentButtonMaterial.prototype, "useBlobTexture", void 0);
560
- __decorate([
561
- serializeAsVector3()
562
- ], FluentButtonMaterial.prototype, "globalLeftIndexTipPosition", void 0);
563
- __decorate([
564
- serializeAsVector3()
565
- ], FluentButtonMaterial.prototype, "globalRightIndexTipPosition", void 0);
543
+ clone(name) {
544
+ return SerializationHelper.Clone(() => new _a(name, this.getScene()), this);
545
+ }
546
+ serialize() {
547
+ const serializationObject = super.serialize();
548
+ serializationObject.customType = "BABYLON.FluentButtonMaterial";
549
+ return serializationObject;
550
+ }
551
+ getClassName() {
552
+ return "FluentButtonMaterial";
553
+ }
554
+ // Statics
555
+ /**
556
+ * Creates a fluent button material from parsed material data.
557
+ * @param source defines the JSON representation of the material
558
+ * @param scene defines the hosting scene
559
+ * @param rootUrl defines the root URL to use to load textures and relative dependencies
560
+ * @returns a new fluent button material
561
+ */
562
+ static Parse(source, scene, rootUrl) {
563
+ return SerializationHelper.Parse(() => new _a(source.name, scene), source, scene, rootUrl);
564
+ }
565
+ },
566
+ (() => {
567
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
568
+ _edgeWidth_decorators = [serialize()];
569
+ _edgeColor_decorators = [serializeAsColor4()];
570
+ _proximityMaxIntensity_decorators = [serialize()];
571
+ _proximityFarDistance_decorators = [serialize()];
572
+ _proximityNearRadius_decorators = [serialize()];
573
+ _proximityAnisotropy_decorators = [serialize()];
574
+ _selectionFuzz_decorators = [serialize()];
575
+ _selected_decorators = [serialize()];
576
+ _selectionFade_decorators = [serialize()];
577
+ _selectionFadeSize_decorators = [serialize()];
578
+ _selectedDistance_decorators = [serialize()];
579
+ _selectedFadeLength_decorators = [serialize()];
580
+ _blobIntensity_decorators = [serialize()];
581
+ _blobFarSize_decorators = [serialize()];
582
+ _blobNearDistance_decorators = [serialize()];
583
+ _blobFarDistance_decorators = [serialize()];
584
+ _blobFadeLength_decorators = [serialize()];
585
+ _leftBlobEnable_decorators = [serialize()];
586
+ _leftBlobNearSize_decorators = [serialize()];
587
+ _leftBlobPulse_decorators = [serialize()];
588
+ _leftBlobFade_decorators = [serialize()];
589
+ _leftBlobInnerFade_decorators = [serialize()];
590
+ _rightBlobEnable_decorators = [serialize()];
591
+ _rightBlobNearSize_decorators = [serialize()];
592
+ _rightBlobPulse_decorators = [serialize()];
593
+ _rightBlobFade_decorators = [serialize()];
594
+ _rightBlobInnerFade_decorators = [serialize()];
595
+ _activeFaceDir_decorators = [serializeAsVector3()];
596
+ _activeFaceUp_decorators = [serializeAsVector3()];
597
+ _enableFade_decorators = [serialize()];
598
+ _fadeWidth_decorators = [serialize()];
599
+ _smoothActiveFace_decorators = [serialize()];
600
+ _showFrame_decorators = [serialize()];
601
+ _useBlobTexture_decorators = [serialize()];
602
+ _globalLeftIndexTipPosition_decorators = [serializeAsVector3()];
603
+ _globalRightIndexTipPosition_decorators = [serializeAsVector3()];
604
+ __esDecorate(null, null, _edgeWidth_decorators, { kind: "field", name: "edgeWidth", static: false, private: false, access: { has: obj => "edgeWidth" in obj, get: obj => obj.edgeWidth, set: (obj, value) => { obj.edgeWidth = value; } }, metadata: _metadata }, _edgeWidth_initializers, _edgeWidth_extraInitializers);
605
+ __esDecorate(null, null, _edgeColor_decorators, { kind: "field", name: "edgeColor", static: false, private: false, access: { has: obj => "edgeColor" in obj, get: obj => obj.edgeColor, set: (obj, value) => { obj.edgeColor = value; } }, metadata: _metadata }, _edgeColor_initializers, _edgeColor_extraInitializers);
606
+ __esDecorate(null, null, _proximityMaxIntensity_decorators, { kind: "field", name: "proximityMaxIntensity", static: false, private: false, access: { has: obj => "proximityMaxIntensity" in obj, get: obj => obj.proximityMaxIntensity, set: (obj, value) => { obj.proximityMaxIntensity = value; } }, metadata: _metadata }, _proximityMaxIntensity_initializers, _proximityMaxIntensity_extraInitializers);
607
+ __esDecorate(null, null, _proximityFarDistance_decorators, { kind: "field", name: "proximityFarDistance", static: false, private: false, access: { has: obj => "proximityFarDistance" in obj, get: obj => obj.proximityFarDistance, set: (obj, value) => { obj.proximityFarDistance = value; } }, metadata: _metadata }, _proximityFarDistance_initializers, _proximityFarDistance_extraInitializers);
608
+ __esDecorate(null, null, _proximityNearRadius_decorators, { kind: "field", name: "proximityNearRadius", static: false, private: false, access: { has: obj => "proximityNearRadius" in obj, get: obj => obj.proximityNearRadius, set: (obj, value) => { obj.proximityNearRadius = value; } }, metadata: _metadata }, _proximityNearRadius_initializers, _proximityNearRadius_extraInitializers);
609
+ __esDecorate(null, null, _proximityAnisotropy_decorators, { kind: "field", name: "proximityAnisotropy", static: false, private: false, access: { has: obj => "proximityAnisotropy" in obj, get: obj => obj.proximityAnisotropy, set: (obj, value) => { obj.proximityAnisotropy = value; } }, metadata: _metadata }, _proximityAnisotropy_initializers, _proximityAnisotropy_extraInitializers);
610
+ __esDecorate(null, null, _selectionFuzz_decorators, { kind: "field", name: "selectionFuzz", static: false, private: false, access: { has: obj => "selectionFuzz" in obj, get: obj => obj.selectionFuzz, set: (obj, value) => { obj.selectionFuzz = value; } }, metadata: _metadata }, _selectionFuzz_initializers, _selectionFuzz_extraInitializers);
611
+ __esDecorate(null, null, _selected_decorators, { kind: "field", name: "selected", static: false, private: false, access: { has: obj => "selected" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);
612
+ __esDecorate(null, null, _selectionFade_decorators, { kind: "field", name: "selectionFade", static: false, private: false, access: { has: obj => "selectionFade" in obj, get: obj => obj.selectionFade, set: (obj, value) => { obj.selectionFade = value; } }, metadata: _metadata }, _selectionFade_initializers, _selectionFade_extraInitializers);
613
+ __esDecorate(null, null, _selectionFadeSize_decorators, { kind: "field", name: "selectionFadeSize", static: false, private: false, access: { has: obj => "selectionFadeSize" in obj, get: obj => obj.selectionFadeSize, set: (obj, value) => { obj.selectionFadeSize = value; } }, metadata: _metadata }, _selectionFadeSize_initializers, _selectionFadeSize_extraInitializers);
614
+ __esDecorate(null, null, _selectedDistance_decorators, { kind: "field", name: "selectedDistance", static: false, private: false, access: { has: obj => "selectedDistance" in obj, get: obj => obj.selectedDistance, set: (obj, value) => { obj.selectedDistance = value; } }, metadata: _metadata }, _selectedDistance_initializers, _selectedDistance_extraInitializers);
615
+ __esDecorate(null, null, _selectedFadeLength_decorators, { kind: "field", name: "selectedFadeLength", static: false, private: false, access: { has: obj => "selectedFadeLength" in obj, get: obj => obj.selectedFadeLength, set: (obj, value) => { obj.selectedFadeLength = value; } }, metadata: _metadata }, _selectedFadeLength_initializers, _selectedFadeLength_extraInitializers);
616
+ __esDecorate(null, null, _blobIntensity_decorators, { kind: "field", name: "blobIntensity", static: false, private: false, access: { has: obj => "blobIntensity" in obj, get: obj => obj.blobIntensity, set: (obj, value) => { obj.blobIntensity = value; } }, metadata: _metadata }, _blobIntensity_initializers, _blobIntensity_extraInitializers);
617
+ __esDecorate(null, null, _blobFarSize_decorators, { kind: "field", name: "blobFarSize", static: false, private: false, access: { has: obj => "blobFarSize" in obj, get: obj => obj.blobFarSize, set: (obj, value) => { obj.blobFarSize = value; } }, metadata: _metadata }, _blobFarSize_initializers, _blobFarSize_extraInitializers);
618
+ __esDecorate(null, null, _blobNearDistance_decorators, { kind: "field", name: "blobNearDistance", static: false, private: false, access: { has: obj => "blobNearDistance" in obj, get: obj => obj.blobNearDistance, set: (obj, value) => { obj.blobNearDistance = value; } }, metadata: _metadata }, _blobNearDistance_initializers, _blobNearDistance_extraInitializers);
619
+ __esDecorate(null, null, _blobFarDistance_decorators, { kind: "field", name: "blobFarDistance", static: false, private: false, access: { has: obj => "blobFarDistance" in obj, get: obj => obj.blobFarDistance, set: (obj, value) => { obj.blobFarDistance = value; } }, metadata: _metadata }, _blobFarDistance_initializers, _blobFarDistance_extraInitializers);
620
+ __esDecorate(null, null, _blobFadeLength_decorators, { kind: "field", name: "blobFadeLength", static: false, private: false, access: { has: obj => "blobFadeLength" in obj, get: obj => obj.blobFadeLength, set: (obj, value) => { obj.blobFadeLength = value; } }, metadata: _metadata }, _blobFadeLength_initializers, _blobFadeLength_extraInitializers);
621
+ __esDecorate(null, null, _leftBlobEnable_decorators, { kind: "field", name: "leftBlobEnable", static: false, private: false, access: { has: obj => "leftBlobEnable" in obj, get: obj => obj.leftBlobEnable, set: (obj, value) => { obj.leftBlobEnable = value; } }, metadata: _metadata }, _leftBlobEnable_initializers, _leftBlobEnable_extraInitializers);
622
+ __esDecorate(null, null, _leftBlobNearSize_decorators, { kind: "field", name: "leftBlobNearSize", static: false, private: false, access: { has: obj => "leftBlobNearSize" in obj, get: obj => obj.leftBlobNearSize, set: (obj, value) => { obj.leftBlobNearSize = value; } }, metadata: _metadata }, _leftBlobNearSize_initializers, _leftBlobNearSize_extraInitializers);
623
+ __esDecorate(null, null, _leftBlobPulse_decorators, { kind: "field", name: "leftBlobPulse", static: false, private: false, access: { has: obj => "leftBlobPulse" in obj, get: obj => obj.leftBlobPulse, set: (obj, value) => { obj.leftBlobPulse = value; } }, metadata: _metadata }, _leftBlobPulse_initializers, _leftBlobPulse_extraInitializers);
624
+ __esDecorate(null, null, _leftBlobFade_decorators, { kind: "field", name: "leftBlobFade", static: false, private: false, access: { has: obj => "leftBlobFade" in obj, get: obj => obj.leftBlobFade, set: (obj, value) => { obj.leftBlobFade = value; } }, metadata: _metadata }, _leftBlobFade_initializers, _leftBlobFade_extraInitializers);
625
+ __esDecorate(null, null, _leftBlobInnerFade_decorators, { kind: "field", name: "leftBlobInnerFade", static: false, private: false, access: { has: obj => "leftBlobInnerFade" in obj, get: obj => obj.leftBlobInnerFade, set: (obj, value) => { obj.leftBlobInnerFade = value; } }, metadata: _metadata }, _leftBlobInnerFade_initializers, _leftBlobInnerFade_extraInitializers);
626
+ __esDecorate(null, null, _rightBlobEnable_decorators, { kind: "field", name: "rightBlobEnable", static: false, private: false, access: { has: obj => "rightBlobEnable" in obj, get: obj => obj.rightBlobEnable, set: (obj, value) => { obj.rightBlobEnable = value; } }, metadata: _metadata }, _rightBlobEnable_initializers, _rightBlobEnable_extraInitializers);
627
+ __esDecorate(null, null, _rightBlobNearSize_decorators, { kind: "field", name: "rightBlobNearSize", static: false, private: false, access: { has: obj => "rightBlobNearSize" in obj, get: obj => obj.rightBlobNearSize, set: (obj, value) => { obj.rightBlobNearSize = value; } }, metadata: _metadata }, _rightBlobNearSize_initializers, _rightBlobNearSize_extraInitializers);
628
+ __esDecorate(null, null, _rightBlobPulse_decorators, { kind: "field", name: "rightBlobPulse", static: false, private: false, access: { has: obj => "rightBlobPulse" in obj, get: obj => obj.rightBlobPulse, set: (obj, value) => { obj.rightBlobPulse = value; } }, metadata: _metadata }, _rightBlobPulse_initializers, _rightBlobPulse_extraInitializers);
629
+ __esDecorate(null, null, _rightBlobFade_decorators, { kind: "field", name: "rightBlobFade", static: false, private: false, access: { has: obj => "rightBlobFade" in obj, get: obj => obj.rightBlobFade, set: (obj, value) => { obj.rightBlobFade = value; } }, metadata: _metadata }, _rightBlobFade_initializers, _rightBlobFade_extraInitializers);
630
+ __esDecorate(null, null, _rightBlobInnerFade_decorators, { kind: "field", name: "rightBlobInnerFade", static: false, private: false, access: { has: obj => "rightBlobInnerFade" in obj, get: obj => obj.rightBlobInnerFade, set: (obj, value) => { obj.rightBlobInnerFade = value; } }, metadata: _metadata }, _rightBlobInnerFade_initializers, _rightBlobInnerFade_extraInitializers);
631
+ __esDecorate(null, null, _activeFaceDir_decorators, { kind: "field", name: "activeFaceDir", static: false, private: false, access: { has: obj => "activeFaceDir" in obj, get: obj => obj.activeFaceDir, set: (obj, value) => { obj.activeFaceDir = value; } }, metadata: _metadata }, _activeFaceDir_initializers, _activeFaceDir_extraInitializers);
632
+ __esDecorate(null, null, _activeFaceUp_decorators, { kind: "field", name: "activeFaceUp", static: false, private: false, access: { has: obj => "activeFaceUp" in obj, get: obj => obj.activeFaceUp, set: (obj, value) => { obj.activeFaceUp = value; } }, metadata: _metadata }, _activeFaceUp_initializers, _activeFaceUp_extraInitializers);
633
+ __esDecorate(null, null, _enableFade_decorators, { kind: "field", name: "enableFade", static: false, private: false, access: { has: obj => "enableFade" in obj, get: obj => obj.enableFade, set: (obj, value) => { obj.enableFade = value; } }, metadata: _metadata }, _enableFade_initializers, _enableFade_extraInitializers);
634
+ __esDecorate(null, null, _fadeWidth_decorators, { kind: "field", name: "fadeWidth", static: false, private: false, access: { has: obj => "fadeWidth" in obj, get: obj => obj.fadeWidth, set: (obj, value) => { obj.fadeWidth = value; } }, metadata: _metadata }, _fadeWidth_initializers, _fadeWidth_extraInitializers);
635
+ __esDecorate(null, null, _smoothActiveFace_decorators, { kind: "field", name: "smoothActiveFace", static: false, private: false, access: { has: obj => "smoothActiveFace" in obj, get: obj => obj.smoothActiveFace, set: (obj, value) => { obj.smoothActiveFace = value; } }, metadata: _metadata }, _smoothActiveFace_initializers, _smoothActiveFace_extraInitializers);
636
+ __esDecorate(null, null, _showFrame_decorators, { kind: "field", name: "showFrame", static: false, private: false, access: { has: obj => "showFrame" in obj, get: obj => obj.showFrame, set: (obj, value) => { obj.showFrame = value; } }, metadata: _metadata }, _showFrame_initializers, _showFrame_extraInitializers);
637
+ __esDecorate(null, null, _useBlobTexture_decorators, { kind: "field", name: "useBlobTexture", static: false, private: false, access: { has: obj => "useBlobTexture" in obj, get: obj => obj.useBlobTexture, set: (obj, value) => { obj.useBlobTexture = value; } }, metadata: _metadata }, _useBlobTexture_initializers, _useBlobTexture_extraInitializers);
638
+ __esDecorate(null, null, _globalLeftIndexTipPosition_decorators, { kind: "field", name: "globalLeftIndexTipPosition", static: false, private: false, access: { has: obj => "globalLeftIndexTipPosition" in obj, get: obj => obj.globalLeftIndexTipPosition, set: (obj, value) => { obj.globalLeftIndexTipPosition = value; } }, metadata: _metadata }, _globalLeftIndexTipPosition_initializers, _globalLeftIndexTipPosition_extraInitializers);
639
+ __esDecorate(null, null, _globalRightIndexTipPosition_decorators, { kind: "field", name: "globalRightIndexTipPosition", static: false, private: false, access: { has: obj => "globalRightIndexTipPosition" in obj, get: obj => obj.globalRightIndexTipPosition, set: (obj, value) => { obj.globalRightIndexTipPosition = value; } }, metadata: _metadata }, _globalRightIndexTipPosition_initializers, _globalRightIndexTipPosition_extraInitializers);
640
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
641
+ })(),
642
+ /**
643
+ * URL pointing to the texture used to define the coloring for the fluent blob effect.
644
+ */
645
+ _a.BLOB_TEXTURE_URL = "https://assets.babylonjs.com/core/MRTK/mrtk-fluent-button-blob.png",
646
+ _a;
647
+ })();
648
+ export { FluentButtonMaterial };
566
649
  let _Registered = false;
567
650
  /**
568
651
  * Registers the FluentButtonMaterial class with the type store for serialization support.