@playcanvas/web-components 0.11.0 → 0.12.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 (82) hide show
  1. package/README.md +1 -1
  2. package/dist/app.d.ts +31 -49
  3. package/dist/asset.d.ts +152 -12
  4. package/dist/async-element.d.ts +26 -9
  5. package/dist/components/button-component.d.ts +3 -7
  6. package/dist/components/camera-component.d.ts +3 -7
  7. package/dist/components/collision-component.d.ts +19 -7
  8. package/dist/components/component.d.ts +41 -4
  9. package/dist/components/element-component.d.ts +4 -8
  10. package/dist/components/gsplat-component.d.ts +2 -7
  11. package/dist/components/layoutchild-component.d.ts +2 -7
  12. package/dist/components/layoutgroup-component.d.ts +3 -7
  13. package/dist/components/light-component.d.ts +3 -7
  14. package/dist/components/listener-component.d.ts +1 -6
  15. package/dist/components/particlesystem-component.d.ts +2 -7
  16. package/dist/components/render-component.d.ts +2 -7
  17. package/dist/components/rigidbody-component.d.ts +3 -7
  18. package/dist/components/screen-component.d.ts +3 -7
  19. package/dist/components/script-component.d.ts +8 -20
  20. package/dist/components/script.d.ts +2 -22
  21. package/dist/components/scrollbar-component.d.ts +2 -7
  22. package/dist/components/scrollview-component.d.ts +3 -7
  23. package/dist/components/sound-component.d.ts +2 -7
  24. package/dist/components/sound-slot.d.ts +8 -6
  25. package/dist/custom-elements.json +5824 -10581
  26. package/dist/entity-base.d.ts +67 -0
  27. package/dist/entity.d.ts +7 -48
  28. package/dist/index.d.ts +41 -1
  29. package/dist/material.d.ts +14 -13
  30. package/dist/model.d.ts +43 -5
  31. package/dist/module.d.ts +0 -6
  32. package/dist/node.d.ts +253 -0
  33. package/dist/parse.d.ts +2 -1
  34. package/dist/pwc.cjs +1830 -274
  35. package/dist/pwc.cjs.map +1 -1
  36. package/dist/pwc.js +1830 -274
  37. package/dist/pwc.js.map +1 -1
  38. package/dist/pwc.min.js +1 -1
  39. package/dist/pwc.min.js.map +1 -1
  40. package/dist/pwc.min.mjs +1 -1
  41. package/dist/pwc.min.mjs.map +1 -1
  42. package/dist/pwc.mjs +1830 -276
  43. package/dist/pwc.mjs.map +1 -1
  44. package/dist/scene.d.ts +4 -7
  45. package/dist/sky.d.ts +13 -5
  46. package/dist/vscode.html-custom-data.json +148 -26
  47. package/dist/web-types.json +894 -581
  48. package/package.json +9 -8
  49. package/src/app.ts +163 -88
  50. package/src/asset.ts +472 -36
  51. package/src/async-element.ts +39 -12
  52. package/src/components/button-component.ts +5 -9
  53. package/src/components/camera-component.ts +24 -10
  54. package/src/components/collision-component.ts +61 -15
  55. package/src/components/component.ts +151 -11
  56. package/src/components/element-component.ts +26 -30
  57. package/src/components/gsplat-component.ts +4 -9
  58. package/src/components/layoutchild-component.ts +4 -9
  59. package/src/components/layoutgroup-component.ts +14 -9
  60. package/src/components/light-component.ts +42 -12
  61. package/src/components/listener-component.ts +1 -7
  62. package/src/components/particlesystem-component.ts +7 -15
  63. package/src/components/render-component.ts +5 -10
  64. package/src/components/rigidbody-component.ts +23 -16
  65. package/src/components/screen-component.ts +5 -9
  66. package/src/components/script-component.ts +108 -46
  67. package/src/components/script.ts +38 -33
  68. package/src/components/scrollbar-component.ts +6 -16
  69. package/src/components/scrollview-component.ts +16 -11
  70. package/src/components/sound-component.ts +10 -15
  71. package/src/components/sound-slot.ts +30 -20
  72. package/src/entity-base.ts +136 -0
  73. package/src/entity.ts +47 -118
  74. package/src/index.ts +50 -1
  75. package/src/loading-bar.ts +8 -8
  76. package/src/material.ts +65 -39
  77. package/src/model.ts +140 -17
  78. package/src/module.ts +8 -7
  79. package/src/node.ts +715 -0
  80. package/src/parse.ts +62 -17
  81. package/src/scene.ts +12 -9
  82. package/src/sky.ts +50 -10
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@playcanvas/web-components",
4
- "version": "0.11.0",
4
+ "version": "0.12.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "elements": [
9
9
  {
10
10
  "name": "pc-app",
11
- "description": "The AppElement interface provides properties and methods for manipulating\n[`<pc-app>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-app/) elements.\nThe AppElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **progress** - Fired while the application preloads its assets. `loaded` and `total` are asset counts, not bytes, and an asset that fails to load still counts as loaded. Fired at least once per boot, and the final event always has `loaded` equal to `total`. Does not bubble.\n- **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n - **elementFromEntity(entity: _Entity_): __** - Returns the `<pc-entity>` element whose backing entity is `entity`, or `null` if the\nentity was not created by an element of this application - for example, a node inside a\nmodel's instantiated hierarchy, or an entity created through the engine API.\n\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
11
+ "description": "The AppElement interface provides properties and methods for manipulating\n[`<pc-app>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-app/) elements.\nThe AppElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **progress** - Fired while the application preloads its assets. `loaded` and `total` are asset counts, not bytes, and an asset that fails to load still counts as loaded. Fired at least once per boot, and the final event always has `loaded` equal to `total`. Does not bubble.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **elementFromEntity(entity: _Entity_): __** - Returns the `<pc-entity>` or `<pc-node>` element whose backing entity is `entity`, or\n`null` if the entity is not fronted by an element of this application - for example, an\nunbound node inside a model's instantiated hierarchy, or an entity created through the\nengine API.\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
12
12
  "doc-url": "",
13
13
  "attributes": [
14
14
  {
@@ -59,21 +59,11 @@
59
59
  {
60
60
  "name": "ready",
61
61
  "type": "CustomEvent",
62
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
62
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
63
63
  }
64
64
  ],
65
65
  "js": {
66
66
  "properties": [
67
- {
68
- "name": "app",
69
- "description": "The PlayCanvas application instance. `null` until the element is ready, and again once it\nhas been removed from the document — await whenReady or the element's `ready()`\npromise before accessing it.",
70
- "type": "AppBase | null"
71
- },
72
- {
73
- "name": "loadProgress",
74
- "description": "The asset preload progress of the application, as a fraction from 0 to 1. It is 0 until\npreloading begins (and again once the element has been removed from the document), and 1\nonce preloading has finished — including when there was nothing to preload. Read this to\ninitialize a loading UI; subsequent updates arrive via the `progress` event.",
75
- "type": "number"
76
- },
77
67
  {
78
68
  "name": "alpha",
79
69
  "description": "Gets whether the frame buffer has an alpha channel."
@@ -82,10 +72,25 @@
82
72
  "name": "antialias",
83
73
  "description": "Gets whether the frame buffer is anti-aliased."
84
74
  },
75
+ {
76
+ "name": "app",
77
+ "description": "The PlayCanvas application instance. `null` until the element is ready, and again once it\nhas been removed from the document — await whenReady or the element's `ready()`\npromise before accessing it.",
78
+ "type": "AppBase | null"
79
+ },
85
80
  {
86
81
  "name": "backend",
87
82
  "description": "Gets the graphics backend."
88
83
  },
84
+ {
85
+ "name": "closestApp",
86
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
87
+ "type": "AppElement | null"
88
+ },
89
+ {
90
+ "name": "closestEntity",
91
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
92
+ "type": "EntityBaseElement | null"
93
+ },
89
94
  {
90
95
  "name": "depthBuffer",
91
96
  "description": "Gets whether the frame buffer has a depth buffer."
@@ -94,6 +99,11 @@
94
99
  "name": "loadingBar",
95
100
  "description": "Gets whether the application shows its built-in loading bar while it boots and preloads\nits assets."
96
101
  },
102
+ {
103
+ "name": "loadProgress",
104
+ "description": "The asset preload progress of the application, as a fraction from 0 to 1. It is 0 until\npreloading begins (and again once the element has been removed from the document), and 1\nonce preloading has finished — including when there was nothing to preload. Read this to\ninitialize a loading UI; subsequent updates arrive via the `progress` event.",
105
+ "type": "number"
106
+ },
97
107
  {
98
108
  "name": "maxPixelRatio",
99
109
  "description": "Gets the cap on the pixel ratio the application renders at."
@@ -101,16 +111,6 @@
101
111
  {
102
112
  "name": "stencilBuffer",
103
113
  "description": "Gets whether the frame buffer has a stencil buffer."
104
- },
105
- {
106
- "name": "closestApp",
107
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
108
- "type": "AppElement | null"
109
- },
110
- {
111
- "name": "closestEntity",
112
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
113
- "type": "EntityElement | null"
114
114
  }
115
115
  ],
116
116
  "events": [
@@ -122,16 +122,37 @@
122
122
  {
123
123
  "name": "ready",
124
124
  "type": "CustomEvent",
125
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
125
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
126
126
  }
127
127
  ]
128
128
  }
129
129
  },
130
130
  {
131
131
  "name": "pc-asset",
132
- "description": "The AssetElement interface provides properties and methods for manipulating\n[`<pc-asset>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-asset/) elements.\nThe AssetElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element becomes ready once the containing application has started and the asset is in the\nstate declared by the markup: loaded for preloaded assets (even if loading failed — check the\nasset's `resource`), or registered and awaiting a load for `lazy` assets. Elements inserted\nwhile the application is running are created and registered on insertion, and begin loading\nimmediately unless `lazy`. A `pc-asset` must be a direct child of `pc-app` — elements placed\nelsewhere, or with an unsupported asset type, never become ready.\n\nApart from `lazy`, these attributes are read once when the asset is created, so changing them\nlater has no effect.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time the asset finishes loading, including a `lazy` asset loaded later and any subsequent reloads. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor to observe every asset.\n- **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
132
+ "description": "The AssetElement interface provides properties and methods for manipulating\n[`<pc-asset>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-asset/) elements.\nThe AssetElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element becomes ready once the containing application has started and the asset is in the\nstate declared by the markup: loaded for preloaded assets (even if loading failed — check the\nasset's `resource`), or registered and awaiting a load for `lazy` assets. Elements inserted\nwhile the application is running are created and registered on insertion, and begin loading\nimmediately unless `lazy`. A `pc-asset` must be a direct child of `pc-app` — elements placed\nelsewhere, or with an unsupported asset type, never become ready.\n\nFor `texture` and `textureatlas` assets, the texture options (`address-u`, `address-v`,\n`min-filter`, `mag-filter`, `anisotropy`, `mipmaps`, `srgb`, `flip-y`) apply when the texture is\ncreated and — like `lazy` — are observed: changing one updates a texture that has already\nloaded, and removing one restores the engine default. Changing `srgb` or `mipmaps` on a loaded\ntexture recreates the underlying GPU resource, so prefer declaring those up front. Each option\noverrides the matching key in the `data` JSON; options left unset write nothing, leaving the\nengine's per-format defaults in force.\n\nApart from `lazy` and the texture options, these attributes are read once when the asset is\ncreated, so changing them later has no effect.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time the asset finishes loading, including a `lazy` asset loaded later and any subsequent reloads. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor to observe every asset.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **get(id: _string_): __** - Returns the Asset created by the `<pc-asset>` element with the given `id`, or\n`undefined` if there is no such element or its asset has not been created yet.\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
133
133
  "doc-url": "",
134
134
  "attributes": [
135
+ {
136
+ "name": "address-u",
137
+ "description": "The texture's horizontal (U) address mode.",
138
+ "value": {
139
+ "type": "'repeat' | 'clamp' | 'mirror'",
140
+ "default": "repeat"
141
+ }
142
+ },
143
+ {
144
+ "name": "address-v",
145
+ "description": "The texture's vertical (V) address mode.",
146
+ "value": {
147
+ "type": "'repeat' | 'clamp' | 'mirror'",
148
+ "default": "repeat"
149
+ }
150
+ },
151
+ {
152
+ "name": "anisotropy",
153
+ "description": "The texture's maximum anisotropic filtering level.",
154
+ "value": { "type": "number", "default": "1" }
155
+ },
135
156
  {
136
157
  "name": "atlas",
137
158
  "description": "For a `sprite` asset, the `id` of the texture atlas asset it uses. The atlas must be declared before the sprite.",
@@ -142,6 +163,11 @@
142
163
  "description": "Additional asset data, as a JSON object.",
143
164
  "value": { "type": "string" }
144
165
  },
166
+ {
167
+ "name": "flip-y",
168
+ "description": "Whether the texture's image data is flipped vertically at upload.",
169
+ "value": { "type": "boolean", "default": "false" }
170
+ },
145
171
  {
146
172
  "name": "frame-keys",
147
173
  "description": "For a `sprite` asset, the atlas frame keys it uses, separated by spaces or commas.",
@@ -157,6 +183,24 @@
157
183
  "description": "Whether the asset should be loaded lazily.",
158
184
  "value": { "type": "boolean", "default": "false" }
159
185
  },
186
+ {
187
+ "name": "mag-filter",
188
+ "description": "The texture's magnification filter.",
189
+ "value": { "type": "'nearest' | 'linear'", "default": "linear" }
190
+ },
191
+ {
192
+ "name": "min-filter",
193
+ "description": "The texture's minification filter.",
194
+ "value": {
195
+ "type": "'nearest' | 'linear' | 'nearest-mip-nearest' | 'linear-mip-nearest' | 'nearest-mip-linear' | 'linear-mip-linear'",
196
+ "default": "linear-mip-linear"
197
+ }
198
+ },
199
+ {
200
+ "name": "mipmaps",
201
+ "description": "Whether the texture generates and uses mipmaps.",
202
+ "value": { "type": "boolean", "default": "true" }
203
+ },
160
204
  {
161
205
  "name": "pixels-per-unit",
162
206
  "description": "For a `sprite` asset, the number of pixels per world unit.",
@@ -172,6 +216,11 @@
172
216
  "description": "The URL of the asset to load.",
173
217
  "value": { "type": "string" }
174
218
  },
219
+ {
220
+ "name": "srgb",
221
+ "description": "Whether the texture holds sRGB (gamma-encoded) color data.",
222
+ "value": { "type": "boolean", "default": "false" }
223
+ },
175
224
  {
176
225
  "name": "type",
177
226
  "description": "The asset type. Inferred from the `src` file extension when omitted.",
@@ -192,20 +241,31 @@
192
241
  {
193
242
  "name": "ready",
194
243
  "type": "CustomEvent",
195
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
244
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
196
245
  }
197
246
  ],
198
247
  "js": {
199
248
  "properties": [
249
+ {
250
+ "name": "addressU",
251
+ "description": "Gets the texture's horizontal (U) address mode.",
252
+ "type": "AddressMode | null"
253
+ },
254
+ {
255
+ "name": "addressV",
256
+ "description": "Gets the texture's vertical (V) address mode.",
257
+ "type": "AddressMode | null"
258
+ },
259
+ {
260
+ "name": "anisotropy",
261
+ "description": "Gets the texture's maximum anisotropic filtering level.",
262
+ "type": "number | null"
263
+ },
200
264
  {
201
265
  "name": "asset",
202
266
  "description": "The asset that is loaded. Available once the element is ready — await\nwhenReady or the element's `ready()` promise before accessing it.",
203
267
  "type": "Asset | null"
204
268
  },
205
- {
206
- "name": "lazy",
207
- "description": "Gets whether the asset should be loaded lazily."
208
- },
209
269
  {
210
270
  "name": "closestApp",
211
271
  "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
@@ -213,8 +273,37 @@
213
273
  },
214
274
  {
215
275
  "name": "closestEntity",
216
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
217
- "type": "EntityElement | null"
276
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
277
+ "type": "EntityBaseElement | null"
278
+ },
279
+ {
280
+ "name": "flipY",
281
+ "description": "Gets whether the texture's image data is flipped vertically at upload.",
282
+ "type": "boolean | null"
283
+ },
284
+ {
285
+ "name": "lazy",
286
+ "description": "Gets whether the asset should be loaded lazily."
287
+ },
288
+ {
289
+ "name": "magFilter",
290
+ "description": "Gets the texture's magnification filter.",
291
+ "type": "MagFilterMode | null"
292
+ },
293
+ {
294
+ "name": "minFilter",
295
+ "description": "Gets the texture's minification filter.",
296
+ "type": "MinFilterMode | null"
297
+ },
298
+ {
299
+ "name": "mipmaps",
300
+ "description": "Gets whether the texture generates and uses mipmaps.",
301
+ "type": "boolean | null"
302
+ },
303
+ {
304
+ "name": "srgb",
305
+ "description": "Gets whether the texture holds sRGB (gamma-encoded) color data.",
306
+ "type": "boolean | null"
218
307
  }
219
308
  ],
220
309
  "events": [
@@ -231,14 +320,14 @@
231
320
  {
232
321
  "name": "ready",
233
322
  "type": "CustomEvent",
234
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
323
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
235
324
  }
236
325
  ]
237
326
  }
238
327
  },
239
328
  {
240
329
  "name": "pc-entity",
241
- "description": "The EntityElement interface provides properties and methods for manipulating\n[`<pc-entity>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-entity/) elements.\nThe EntityElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe pointer events below are dispatched by the containing `<pc-app>` element when the pointer\nintersects this entity's geometry. They are only generated while the entity has a listener for\nthem, registered either with addEventListener or with the matching inline `onpointer*`\nattribute.\n\n---\n\n\n### **Events:**\n - **pointerdown** - Fired when a pointer button is pressed over the entity.\n- **pointerenter** - Fired when the pointer moves onto the entity.\n- **pointerleave** - Fired when the pointer moves off the entity.\n- **pointermove** - Fired when the pointer moves over the entity.\n- **pointerup** - Fired when a pointer button is released over the entity.\n- **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
330
+ "description": "The EntityElement interface provides properties and methods for manipulating\n[`<pc-entity>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-entity/) elements.\nThe EntityElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe pointer events below are dispatched by the containing `<pc-app>` element when the pointer\nintersects this entity's geometry. They are only generated while the entity has a listener for\nthem, registered either with addEventListener or with the matching inline `onpointer*`\nattribute.\n\n---\n\n\n### **Events:**\n - **pointerdown** - Fired when a pointer button is pressed over the entity.\n- **pointerenter** - Fired when the pointer moves onto the entity.\n- **pointerleave** - Fired when the pointer moves off the entity.\n- **pointermove** - Fired when the pointer moves over the entity.\n- **pointerup** - Fired when a pointer button is released over the entity.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
242
331
  "doc-url": "",
243
332
  "attributes": [
244
333
  {
@@ -326,20 +415,30 @@
326
415
  {
327
416
  "name": "ready",
328
417
  "type": "CustomEvent",
329
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
418
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
330
419
  }
331
420
  ],
332
421
  "js": {
333
422
  "properties": [
334
423
  {
335
- "name": "entity",
336
- "description": "The PlayCanvas entity instance. `null` until the element is ready, and again once it has\nbeen removed from the document await whenReady or the element's `ready()`\npromise before accessing it.",
337
- "type": "Entity | null"
424
+ "name": "closestApp",
425
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
426
+ "type": "AppElement | null"
427
+ },
428
+ {
429
+ "name": "closestEntity",
430
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
431
+ "type": "EntityBaseElement | null"
338
432
  },
339
433
  {
340
434
  "name": "enabled",
341
435
  "description": "Gets the enabled state of the entity."
342
436
  },
437
+ {
438
+ "name": "entity",
439
+ "description": "The PlayCanvas entity instance. `null` until the element is ready, and again once the\nentity is gone — await whenReady or the element's `ready()` promise before\naccessing it.",
440
+ "type": "Entity | null"
441
+ },
343
442
  { "name": "name", "description": "Gets the name of the entity." },
344
443
  {
345
444
  "name": "position",
@@ -353,17 +452,7 @@
353
452
  "name": "scale",
354
453
  "description": "Gets the scale of the entity."
355
454
  },
356
- { "name": "tags", "description": "Gets the tags of the entity." },
357
- {
358
- "name": "closestApp",
359
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
360
- "type": "AppElement | null"
361
- },
362
- {
363
- "name": "closestEntity",
364
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
365
- "type": "EntityElement | null"
366
- }
455
+ { "name": "tags", "description": "Gets the tags of the entity." }
367
456
  ],
368
457
  "events": [
369
458
  {
@@ -394,14 +483,14 @@
394
483
  {
395
484
  "name": "ready",
396
485
  "type": "CustomEvent",
397
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
486
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
398
487
  }
399
488
  ]
400
489
  }
401
490
  },
402
491
  {
403
492
  "name": "pc-material",
404
- "description": "The MaterialElement interface provides properties and methods for manipulating\n[`<pc-material>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-material/) elements.\nThe MaterialElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nA `pc-material` must be a direct child of `pc-app` — elements placed elsewhere log a warning\nand never create a material. Elements inserted while the application is already running are\ncreated on insertion.\n\nThe element is metal/rough by default: unlike a bare `StandardMaterial` it enables the metalness\nworkflow, which is what the `metalness-*` attributes assume and what glTF means by PBR. It also\ndefaults `metalness` to 0 rather than the engine's 1, because those two defaults have to be\nchosen together - the engine's 1 is unreachable under its own `useMetalness` of false, and with\nthe workflow on it would make every material fully metallic, so `<pc-material diffuse=\"crimson\">`\nwould render as dark tinted reflections of an environment that may not exist rather than as a\ncrimson surface. `metalness=\"1\"` remains one attribute away.\n\nThe `roughness` and `roughness-map` attributes are aliases for `gloss` and `gloss-map` that\nadditionally invert the gloss channel; do not mix the two families on one element.\n\nThe two aliases are documented here rather than on an accessor, because they resolve to the\n`gloss` properties and would otherwise inherit gloss's description - which reads inverted.\n\n---\n\n\n### **Methods:**\n - **setMap(id: _string_, slot: _TextureSlot_)** - Points a texture slot at the resource of a `pc-asset`, waiting for the asset to load when it\nhas not already. An empty id clears the slot.",
493
+ "description": "The MaterialElement interface provides properties and methods for manipulating\n[`<pc-material>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-material/) elements.\nThe MaterialElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nA `pc-material` must be a direct child of `pc-app` — elements placed elsewhere log a warning\nand never create a material. Elements inserted while the application is already running are\ncreated on insertion.\n\nThe element is metal/rough by default: unlike a bare `StandardMaterial` it enables the metalness\nworkflow, which is what the `metalness-*` attributes assume and what glTF means by PBR. It also\ndefaults `metalness` to 0 rather than the engine's 1, because those two defaults have to be\nchosen together - the engine's 1 is unreachable under its own `useMetalness` of false, and with\nthe workflow on it would make every material fully metallic, so `<pc-material diffuse=\"crimson\">`\nwould render as dark tinted reflections of an environment that may not exist rather than as a\ncrimson surface. `metalness=\"1\"` remains one attribute away.\n\nThe `roughness` and `roughness-map` attributes are aliases for `gloss` and `gloss-map` that\nadditionally invert the gloss channel; do not mix the two families on one element.\n\nThe two aliases are documented here rather than on an accessor, because they resolve to the\n`gloss` properties and would otherwise inherit gloss's description - which reads inverted.\n\n---\n\n\n### **Methods:**\n - **get(id: _string_): __** - Returns the StandardMaterial created by the `<pc-material>` element with the given\n`id`, or `undefined` if there is no such element or its material has not been created yet.",
405
494
  "doc-url": "",
406
495
  "attributes": [
407
496
  {
@@ -831,7 +920,6 @@
831
920
  "events": [],
832
921
  "js": {
833
922
  "properties": [
834
- { "name": "material", "type": "StandardMaterial | null" },
835
923
  {
836
924
  "name": "alphaTest",
837
925
  "description": "Gets the alpha test reference value."
@@ -1030,6 +1118,11 @@
1030
1118
  "name": "heightMapUv",
1031
1119
  "description": "Gets the UV channel the height map samples."
1032
1120
  },
1121
+ {
1122
+ "name": "material",
1123
+ "description": "The material. `null` until the containing application has created it — an element present\nat startup has its material once the application is ready.",
1124
+ "type": "StandardMaterial | null"
1125
+ },
1033
1126
  {
1034
1127
  "name": "metalness",
1035
1128
  "description": "Gets how metallic the surface is."
@@ -1181,7 +1274,7 @@
1181
1274
  },
1182
1275
  {
1183
1276
  "name": "pc-model",
1184
- "description": "The ModelElement interface provides properties and methods for manipulating\n[`<pc-model>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-model/) elements.\nThe ModelElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
1277
+ "description": "The ModelElement interface provides properties and methods for manipulating\n[`<pc-model>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-model/) elements.\nThe ModelElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element becomes ready once its container asset has loaded and the instantiated hierarchy has\nbeen added to the scene — `entity` is non-null by then. A failed load also settles readiness,\nwith `entity` remaining `null`: readiness means the load settled, not that it succeeded — listen\nfor `error`, or check `entity`, to tell the outcomes apart. Changing `asset` re-arms readiness\nand instantiates anew, so a `ready()` obtained after the change resolves against the new\nhierarchy. A `pc-model` outside a `pc-app`, or referencing an unknown asset id, warns and never\nbecomes ready.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the container asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1185
1278
  "doc-url": "",
1186
1279
  "attributes": [
1187
1280
  {
@@ -1191,10 +1284,20 @@
1191
1284
  }
1192
1285
  ],
1193
1286
  "events": [
1287
+ {
1288
+ "name": "error",
1289
+ "type": "ErrorEvent",
1290
+ "description": "Fired when the container asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded."
1291
+ },
1292
+ {
1293
+ "name": "load",
1294
+ "type": "Event",
1295
+ "description": "Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor."
1296
+ },
1194
1297
  {
1195
1298
  "name": "ready",
1196
1299
  "type": "CustomEvent",
1197
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1300
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1198
1301
  }
1199
1302
  ],
1200
1303
  "js": {
@@ -1211,15 +1314,30 @@
1211
1314
  },
1212
1315
  {
1213
1316
  "name": "closestEntity",
1214
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1215
- "type": "EntityElement | null"
1317
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1318
+ "type": "EntityBaseElement | null"
1319
+ },
1320
+ {
1321
+ "name": "entity",
1322
+ "description": "The root entity of the instantiated model. `null` until the container asset has loaded\nand been instantiated, and again once the element has been removed from the document.",
1323
+ "type": "Entity | null"
1216
1324
  }
1217
1325
  ],
1218
1326
  "events": [
1327
+ {
1328
+ "name": "error",
1329
+ "type": "ErrorEvent",
1330
+ "description": "Fired when the container asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded."
1331
+ },
1332
+ {
1333
+ "name": "load",
1334
+ "type": "Event",
1335
+ "description": "Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor."
1336
+ },
1219
1337
  {
1220
1338
  "name": "ready",
1221
1339
  "type": "CustomEvent",
1222
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1340
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1223
1341
  }
1224
1342
  ]
1225
1343
  }
@@ -1254,108 +1372,303 @@
1254
1372
  "js": { "properties": [], "events": [] }
1255
1373
  },
1256
1374
  {
1257
- "name": "pc-scene",
1258
- "description": "The SceneElement interface provides properties and methods for manipulating\n[`<pc-scene>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scene/) elements.\nThe SceneElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
1375
+ "name": "pc-node",
1376
+ "description": "The NodeElement interface provides properties and methods for manipulating\n[`<pc-node>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-node/)\nelements. The NodeElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nA `pc-node` is an override element: where `pc-entity` creates an entity, `pc-node` binds to a\nnode a `pc-model` loaded and declares overrides against the authored asset — components to\nadd, properties to change, content to attach. Attributes present apply as overrides; attributes\nabsent leave authored values untouched, and removing an attribute (or assigning `null` to the\nmatching property) restores the authored value.\n\n`name` selects among the host model's nodes (first match in depth-first order), nesting a\n`pc-node` inside another scopes the search to that subtree, and `index` picks among identically\nnamed matches. When `name` matches more than one node and no `index` is given, the element\nwarns and binds nothing.\n\nThe element becomes ready once bound, and never while unresolved — a missing or ambiguous\nname warns and records the failure in `state`, readiness stays unresolved, and descendants\nwait with it.\n\nThe pointer events below are dispatched by the containing `<pc-app>` element when the pointer\nintersects the bound node's geometry, exactly as for `<pc-entity>`.\n\n---\n\n\n### **Events:**\n - **pointerdown** - Fired when a pointer button is pressed over the node.\n- **pointerenter** - Fired when the pointer moves onto the node.\n- **pointerleave** - Fired when the pointer moves off the node.\n- **pointermove** - Fired when the pointer moves over the node.\n- **pointerup** - Fired when a pointer button is released over the node.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1259
1377
  "doc-url": "",
1260
1378
  "attributes": [
1261
1379
  {
1262
- "name": "fog",
1263
- "description": "The fog type of the scene.",
1264
- "value": {
1265
- "type": "'none' | 'linear' | 'exp' | 'exp2'",
1266
- "default": "none"
1267
- }
1380
+ "name": "enabled",
1381
+ "description": "Overrides the node's enabled state.",
1382
+ "value": { "type": "string" }
1268
1383
  },
1269
1384
  {
1270
- "name": "fog-color",
1271
- "description": "The fog color of the scene. Accepts a CSS color name, a hex color, or 3 or 4 space-separated numbers in the range 0 to 1.",
1272
- "value": { "type": "string", "default": "1 1 1" }
1385
+ "name": "index",
1386
+ "description": "Which match to bind when `name` matches more than one node, 0-based in depth-first order. Optional for a unique match; required for an ambiguous one.",
1387
+ "value": { "type": "string" }
1273
1388
  },
1274
1389
  {
1275
- "name": "fog-density",
1276
- "description": "The fog density of the scene.",
1277
- "value": { "type": "number", "default": "0" }
1390
+ "name": "name",
1391
+ "description": "The name of the node to bind, resolved within the nearest ancestor `pc-model` (or `pc-node`) once it has instantiated.",
1392
+ "value": { "type": "string" }
1278
1393
  },
1279
1394
  {
1280
- "name": "fog-end",
1281
- "description": "The fog end distance of the scene.",
1282
- "value": { "type": "number", "default": "1000" }
1395
+ "name": "onpointerdown",
1396
+ "description": "Script to run when a pointer button is pressed over the node.",
1397
+ "value": { "type": "string" }
1283
1398
  },
1284
1399
  {
1285
- "name": "fog-start",
1286
- "description": "The fog start distance of the scene.",
1287
- "value": { "type": "number", "default": "0" }
1400
+ "name": "onpointerenter",
1401
+ "description": "Script to run when the pointer moves onto the node.",
1402
+ "value": { "type": "string" }
1288
1403
  },
1289
1404
  {
1290
- "name": "gravity",
1291
- "description": "The gravity of the scene. Accepts 3 space-separated numbers.",
1292
- "value": { "type": "string", "default": "0 -9.81 0" }
1405
+ "name": "onpointerleave",
1406
+ "description": "Script to run when the pointer moves off the node.",
1407
+ "value": { "type": "string" }
1408
+ },
1409
+ {
1410
+ "name": "onpointermove",
1411
+ "description": "Script to run when the pointer moves over the node.",
1412
+ "value": { "type": "string" }
1413
+ },
1414
+ {
1415
+ "name": "onpointerup",
1416
+ "description": "Script to run when a pointer button is released over the node.",
1417
+ "value": { "type": "string" }
1418
+ },
1419
+ {
1420
+ "name": "position",
1421
+ "description": "Overrides the node's local position, as an \"x y z\" triple.",
1422
+ "value": { "type": "string" }
1423
+ },
1424
+ {
1425
+ "name": "rotation",
1426
+ "description": "Overrides the node's local rotation (Euler angles), as an \"x y z\" triple.",
1427
+ "value": { "type": "string" }
1428
+ },
1429
+ {
1430
+ "name": "scale",
1431
+ "description": "Overrides the node's local scale, as an \"x y z\" triple.",
1432
+ "value": { "type": "string" }
1433
+ },
1434
+ {
1435
+ "name": "tags",
1436
+ "description": "Overrides the node's tags, separated by spaces or commas.",
1437
+ "value": { "type": "string" }
1293
1438
  }
1294
1439
  ],
1295
1440
  "events": [
1441
+ {
1442
+ "name": "pointerdown",
1443
+ "type": "PointerEvent",
1444
+ "description": "Fired when a pointer button is pressed over the node."
1445
+ },
1446
+ {
1447
+ "name": "pointerenter",
1448
+ "type": "PointerEvent",
1449
+ "description": "Fired when the pointer moves onto the node."
1450
+ },
1451
+ {
1452
+ "name": "pointerleave",
1453
+ "type": "PointerEvent",
1454
+ "description": "Fired when the pointer moves off the node."
1455
+ },
1456
+ {
1457
+ "name": "pointermove",
1458
+ "type": "PointerEvent",
1459
+ "description": "Fired when the pointer moves over the node."
1460
+ },
1461
+ {
1462
+ "name": "pointerup",
1463
+ "type": "PointerEvent",
1464
+ "description": "Fired when a pointer button is released over the node."
1465
+ },
1296
1466
  {
1297
1467
  "name": "ready",
1298
1468
  "type": "CustomEvent",
1299
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1469
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1300
1470
  }
1301
1471
  ],
1302
1472
  "js": {
1303
1473
  "properties": [
1304
1474
  {
1305
- "name": "scene",
1306
- "description": "The PlayCanvas scene instance. `null` until the element is ready await\nwhenReady or the element's `ready()` promise before accessing it.",
1307
- "type": "Scene | null"
1475
+ "name": "closestApp",
1476
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1477
+ "type": "AppElement | null"
1308
1478
  },
1309
1479
  {
1310
- "name": "fog",
1311
- "description": "Gets the fog type of the scene."
1480
+ "name": "closestEntity",
1481
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1482
+ "type": "EntityBaseElement | null"
1312
1483
  },
1313
1484
  {
1314
- "name": "fogColor",
1315
- "description": "Gets the fog color of the scene."
1485
+ "name": "enabled",
1486
+ "description": "Gets the enabled override.",
1487
+ "type": "boolean | null"
1316
1488
  },
1317
1489
  {
1318
- "name": "fogDensity",
1319
- "description": "Gets the fog density of the scene."
1490
+ "name": "entity",
1491
+ "description": "The PlayCanvas entity instance. `null` until the element is ready, and again once the\nentity is gone — await whenReady or the element's `ready()` promise before\naccessing it.",
1492
+ "type": "Entity | null"
1320
1493
  },
1321
1494
  {
1322
- "name": "fogStart",
1323
- "description": "Gets the fog start distance of the scene."
1495
+ "name": "index",
1496
+ "description": "Gets which match to bind.",
1497
+ "type": "number | null"
1324
1498
  },
1325
1499
  {
1326
- "name": "fogEnd",
1327
- "description": "Gets the fog end distance of the scene."
1500
+ "name": "name",
1501
+ "description": "Gets the name of the node to bind.",
1502
+ "type": "string"
1328
1503
  },
1329
1504
  {
1330
- "name": "gravity",
1331
- "description": "Gets the gravity of the scene."
1505
+ "name": "path",
1506
+ "description": "The path of the bound node below the search root, `/`-separated, or `null` while not\nbound.",
1507
+ "type": "string | null"
1332
1508
  },
1333
1509
  {
1334
- "name": "closestApp",
1335
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1336
- "type": "AppElement | null"
1510
+ "name": "position",
1511
+ "description": "Gets the local position override.",
1512
+ "type": "Vec3 | null"
1337
1513
  },
1338
1514
  {
1339
- "name": "closestEntity",
1340
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1341
- "type": "EntityElement | null"
1515
+ "name": "rotation",
1516
+ "description": "Gets the local rotation override.",
1517
+ "type": "Vec3 | null"
1518
+ },
1519
+ {
1520
+ "name": "scale",
1521
+ "description": "Gets the local scale override.",
1522
+ "type": "Vec3 | null"
1523
+ },
1524
+ {
1525
+ "name": "state",
1526
+ "description": "The binding state: `pending` until the host instantiates and `name` resolves, `bound`\nonce decorated, `missing`/`ambiguous`/`duplicate` when resolution failed (each also\nwarns). Useful for asserting a document's bindings programmatically.",
1527
+ "type": "NodeBindingState"
1528
+ },
1529
+ {
1530
+ "name": "tags",
1531
+ "description": "Gets the tags override.",
1532
+ "type": "string[] | null"
1342
1533
  }
1343
1534
  ],
1344
1535
  "events": [
1345
1536
  {
1346
- "name": "ready",
1347
- "type": "CustomEvent",
1348
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1349
- }
1350
- ]
1351
- }
1352
- },
1353
- {
1354
- "name": "pc-sky",
1355
- "description": "The SkyElement interface provides properties and methods for manipulating\n`<pc-sky>` elements. The SkyElement interface also inherits the properties and\nmethods of the HTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
1356
- "doc-url": "",
1357
- "attributes": [
1358
- {
1537
+ "name": "pointerdown",
1538
+ "type": "PointerEvent",
1539
+ "description": "Fired when a pointer button is pressed over the node."
1540
+ },
1541
+ {
1542
+ "name": "pointerenter",
1543
+ "type": "PointerEvent",
1544
+ "description": "Fired when the pointer moves onto the node."
1545
+ },
1546
+ {
1547
+ "name": "pointerleave",
1548
+ "type": "PointerEvent",
1549
+ "description": "Fired when the pointer moves off the node."
1550
+ },
1551
+ {
1552
+ "name": "pointermove",
1553
+ "type": "PointerEvent",
1554
+ "description": "Fired when the pointer moves over the node."
1555
+ },
1556
+ {
1557
+ "name": "pointerup",
1558
+ "type": "PointerEvent",
1559
+ "description": "Fired when a pointer button is released over the node."
1560
+ },
1561
+ {
1562
+ "name": "ready",
1563
+ "type": "CustomEvent",
1564
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1565
+ }
1566
+ ]
1567
+ }
1568
+ },
1569
+ {
1570
+ "name": "pc-scene",
1571
+ "description": "The SceneElement interface provides properties and methods for manipulating\n[`<pc-scene>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scene/) elements.\nThe SceneElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1572
+ "doc-url": "",
1573
+ "attributes": [
1574
+ {
1575
+ "name": "fog",
1576
+ "description": "The fog type of the scene.",
1577
+ "value": {
1578
+ "type": "'none' | 'linear' | 'exp' | 'exp2'",
1579
+ "default": "none"
1580
+ }
1581
+ },
1582
+ {
1583
+ "name": "fog-color",
1584
+ "description": "The fog color of the scene. Accepts a CSS color name, a hex color, or 3 or 4 space-separated numbers in the range 0 to 1.",
1585
+ "value": { "type": "string", "default": "1 1 1" }
1586
+ },
1587
+ {
1588
+ "name": "fog-density",
1589
+ "description": "The fog density of the scene.",
1590
+ "value": { "type": "number", "default": "0" }
1591
+ },
1592
+ {
1593
+ "name": "fog-end",
1594
+ "description": "The fog end distance of the scene.",
1595
+ "value": { "type": "number", "default": "1000" }
1596
+ },
1597
+ {
1598
+ "name": "fog-start",
1599
+ "description": "The fog start distance of the scene.",
1600
+ "value": { "type": "number", "default": "0" }
1601
+ },
1602
+ {
1603
+ "name": "gravity",
1604
+ "description": "The gravity of the scene. Accepts 3 space-separated numbers.",
1605
+ "value": { "type": "string", "default": "0 -9.81 0" }
1606
+ }
1607
+ ],
1608
+ "events": [
1609
+ {
1610
+ "name": "ready",
1611
+ "type": "CustomEvent",
1612
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1613
+ }
1614
+ ],
1615
+ "js": {
1616
+ "properties": [
1617
+ {
1618
+ "name": "closestApp",
1619
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1620
+ "type": "AppElement | null"
1621
+ },
1622
+ {
1623
+ "name": "closestEntity",
1624
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1625
+ "type": "EntityBaseElement | null"
1626
+ },
1627
+ {
1628
+ "name": "fog",
1629
+ "description": "Gets the fog type of the scene."
1630
+ },
1631
+ {
1632
+ "name": "fogColor",
1633
+ "description": "Gets the fog color of the scene."
1634
+ },
1635
+ {
1636
+ "name": "fogDensity",
1637
+ "description": "Gets the fog density of the scene."
1638
+ },
1639
+ {
1640
+ "name": "fogEnd",
1641
+ "description": "Gets the fog end distance of the scene."
1642
+ },
1643
+ {
1644
+ "name": "fogStart",
1645
+ "description": "Gets the fog start distance of the scene."
1646
+ },
1647
+ {
1648
+ "name": "gravity",
1649
+ "description": "Gets the gravity of the scene."
1650
+ },
1651
+ {
1652
+ "name": "scene",
1653
+ "description": "The PlayCanvas scene instance. `null` until the element is ready — await\nwhenReady or the element's `ready()` promise before accessing it.",
1654
+ "type": "Scene | null"
1655
+ }
1656
+ ],
1657
+ "events": [
1658
+ {
1659
+ "name": "ready",
1660
+ "type": "CustomEvent",
1661
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1662
+ }
1663
+ ]
1664
+ }
1665
+ },
1666
+ {
1667
+ "name": "pc-sky",
1668
+ "description": "The SkyElement interface provides properties and methods for manipulating\n`<pc-sky>` elements. The SkyElement interface also inherits the properties and\nmethods of the HTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1669
+ "doc-url": "",
1670
+ "attributes": [
1671
+ {
1359
1672
  "name": "asset",
1360
1673
  "description": "The id of the `pc-asset` to use for the skybox.",
1361
1674
  "value": { "type": "string" }
@@ -1403,7 +1716,7 @@
1403
1716
  {
1404
1717
  "name": "ready",
1405
1718
  "type": "CustomEvent",
1406
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1719
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1407
1720
  }
1408
1721
  ],
1409
1722
  "js": {
@@ -1416,6 +1729,16 @@
1416
1729
  "name": "center",
1417
1730
  "description": "Gets the center of the skybox."
1418
1731
  },
1732
+ {
1733
+ "name": "closestApp",
1734
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1735
+ "type": "AppElement | null"
1736
+ },
1737
+ {
1738
+ "name": "closestEntity",
1739
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1740
+ "type": "EntityBaseElement | null"
1741
+ },
1419
1742
  {
1420
1743
  "name": "intensity",
1421
1744
  "description": "Gets the intensity of the skybox."
@@ -1436,30 +1759,20 @@
1436
1759
  "name": "scale",
1437
1760
  "description": "Gets the scale of the skybox."
1438
1761
  },
1439
- { "name": "type", "description": "Gets the type of the skybox." },
1440
- {
1441
- "name": "closestApp",
1442
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1443
- "type": "AppElement | null"
1444
- },
1445
- {
1446
- "name": "closestEntity",
1447
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1448
- "type": "EntityElement | null"
1449
- }
1762
+ { "name": "type", "description": "Gets the type of the skybox." }
1450
1763
  ],
1451
1764
  "events": [
1452
1765
  {
1453
1766
  "name": "ready",
1454
1767
  "type": "CustomEvent",
1455
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1768
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1456
1769
  }
1457
1770
  ]
1458
1771
  }
1459
1772
  },
1460
1773
  {
1461
1774
  "name": "pc-button",
1462
- "description": "The ButtonComponentElement interface provides properties and methods for manipulating\n[`<pc-button>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-button/) elements.\nThe ButtonComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
1775
+ "description": "The ButtonComponentElement interface provides properties and methods for manipulating\n[`<pc-button>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-button/) elements.\nThe ButtonComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1463
1776
  "doc-url": "",
1464
1777
  "attributes": [
1465
1778
  {
@@ -1542,48 +1855,42 @@
1542
1855
  {
1543
1856
  "name": "ready",
1544
1857
  "type": "CustomEvent",
1545
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1858
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1546
1859
  }
1547
1860
  ],
1548
1861
  "js": {
1549
1862
  "properties": [
1550
- {
1551
- "name": "component",
1552
- "description": "Gets the underlying PlayCanvas button component.",
1553
- "type": "Component | null"
1554
- },
1555
1863
  {
1556
1864
  "name": "active",
1557
1865
  "description": "Gets whether the button is active."
1558
1866
  },
1559
1867
  {
1560
- "name": "image",
1561
- "description": "Gets the reference to the `<pc-entity>` whose image element is used for visual transitions."
1562
- },
1563
- {
1564
- "name": "hitPadding",
1565
- "description": "Gets the padding used to expand the button's hit area."
1566
- },
1567
- {
1568
- "name": "transitionMode",
1569
- "description": "Gets how the button reacts to being hovered/pressed."
1868
+ "name": "closestApp",
1869
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1870
+ "type": "AppElement | null"
1570
1871
  },
1571
1872
  {
1572
- "name": "hoverTint",
1573
- "description": "Gets the hover tint color."
1873
+ "name": "closestEntity",
1874
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1875
+ "type": "EntityBaseElement | null"
1574
1876
  },
1575
1877
  {
1576
- "name": "pressedTint",
1577
- "description": "Gets the pressed tint color."
1878
+ "name": "component",
1879
+ "description": "Gets the underlying PlayCanvas button component.",
1880
+ "type": "Component | null"
1578
1881
  },
1579
1882
  {
1580
- "name": "inactiveTint",
1581
- "description": "Gets the inactive tint color."
1883
+ "name": "enabled",
1884
+ "description": "Gets the enabled state of the component."
1582
1885
  },
1583
1886
  {
1584
1887
  "name": "fadeDuration",
1585
1888
  "description": "Gets the duration over which tint transitions are applied."
1586
1889
  },
1890
+ {
1891
+ "name": "hitPadding",
1892
+ "description": "Gets the padding used to expand the button's hit area."
1893
+ },
1587
1894
  {
1588
1895
  "name": "hoverSpriteAsset",
1589
1896
  "description": "Gets the id of the `pc-asset` sprite shown when the button is hovered."
@@ -1593,12 +1900,12 @@
1593
1900
  "description": "Gets the frame of the hover sprite to show."
1594
1901
  },
1595
1902
  {
1596
- "name": "pressedSpriteAsset",
1597
- "description": "Gets the id of the `pc-asset` sprite shown when the button is pressed."
1903
+ "name": "hoverTint",
1904
+ "description": "Gets the hover tint color."
1598
1905
  },
1599
1906
  {
1600
- "name": "pressedSpriteFrame",
1601
- "description": "Gets the frame of the pressed sprite to show."
1907
+ "name": "image",
1908
+ "description": "Gets the reference to the `<pc-entity>` whose image element is used for visual transitions."
1602
1909
  },
1603
1910
  {
1604
1911
  "name": "inactiveSpriteAsset",
@@ -1609,32 +1916,38 @@
1609
1916
  "description": "Gets the frame of the inactive sprite to show."
1610
1917
  },
1611
1918
  {
1612
- "name": "enabled",
1613
- "description": "Gets the enabled state of the component."
1919
+ "name": "inactiveTint",
1920
+ "description": "Gets the inactive tint color."
1614
1921
  },
1615
1922
  {
1616
- "name": "closestApp",
1617
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1618
- "type": "AppElement | null"
1923
+ "name": "pressedSpriteAsset",
1924
+ "description": "Gets the id of the `pc-asset` sprite shown when the button is pressed."
1619
1925
  },
1620
1926
  {
1621
- "name": "closestEntity",
1622
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1623
- "type": "EntityElement | null"
1927
+ "name": "pressedSpriteFrame",
1928
+ "description": "Gets the frame of the pressed sprite to show."
1929
+ },
1930
+ {
1931
+ "name": "pressedTint",
1932
+ "description": "Gets the pressed tint color."
1933
+ },
1934
+ {
1935
+ "name": "transitionMode",
1936
+ "description": "Gets how the button reacts to being hovered/pressed."
1624
1937
  }
1625
1938
  ],
1626
1939
  "events": [
1627
1940
  {
1628
1941
  "name": "ready",
1629
1942
  "type": "CustomEvent",
1630
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1943
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1631
1944
  }
1632
1945
  ]
1633
1946
  }
1634
1947
  },
1635
1948
  {
1636
1949
  "name": "pc-camera",
1637
- "description": "The CameraComponentElement interface provides properties and methods for manipulating\n[`<pc-camera>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-camera/) elements.\nThe CameraComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n - **startXr(type: _'immersive-ar' | 'immersive-vr'_, space: _'bounded-floor' | 'local' | 'local-floor' | 'unbounded' | 'viewer'_)** - Starts the camera in XR mode.\n- **endXr()** - Ends the camera's XR mode.\n\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
1950
+ "description": "The CameraComponentElement interface provides properties and methods for manipulating\n[`<pc-camera>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-camera/) elements.\nThe CameraComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **endXr()** - Ends the camera's XR mode.\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.\n- **startXr(type: _'immersive-ar' | 'immersive-vr'_, space: _'bounded-floor' | 'local' | 'local-floor' | 'unbounded' | 'viewer'_)** - Starts the camera in XR mode.",
1638
1951
  "doc-url": "",
1639
1952
  "attributes": [
1640
1953
  {
@@ -1743,17 +2056,11 @@
1743
2056
  {
1744
2057
  "name": "ready",
1745
2058
  "type": "CustomEvent",
1746
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2059
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1747
2060
  }
1748
2061
  ],
1749
2062
  "js": {
1750
2063
  "properties": [
1751
- { "name": "xrAvailable" },
1752
- {
1753
- "name": "component",
1754
- "description": "Gets the underlying PlayCanvas camera component.",
1755
- "type": "Component | null"
1756
- },
1757
2064
  {
1758
2065
  "name": "clearColor",
1759
2066
  "description": "Gets the clear color of the camera.",
@@ -1774,11 +2081,30 @@
1774
2081
  "description": "Gets the clear stencil buffer of the camera.",
1775
2082
  "type": "boolean"
1776
2083
  },
2084
+ {
2085
+ "name": "closestApp",
2086
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2087
+ "type": "AppElement | null"
2088
+ },
2089
+ {
2090
+ "name": "closestEntity",
2091
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2092
+ "type": "EntityBaseElement | null"
2093
+ },
2094
+ {
2095
+ "name": "component",
2096
+ "description": "Gets the underlying PlayCanvas camera component.",
2097
+ "type": "Component | null"
2098
+ },
1777
2099
  {
1778
2100
  "name": "cullFaces",
1779
2101
  "description": "Gets the cull faces of the camera.",
1780
2102
  "type": "boolean"
1781
2103
  },
2104
+ {
2105
+ "name": "enabled",
2106
+ "description": "Gets the enabled state of the component."
2107
+ },
1782
2108
  {
1783
2109
  "name": "farClip",
1784
2110
  "description": "Gets the far clip distance of the camera.",
@@ -1842,33 +2168,20 @@
1842
2168
  "description": "Gets the tone mapping of the camera.",
1843
2169
  "type": "'none' | 'linear' | 'filmic' | 'hejl' | 'aces' | 'aces2' | 'neutral'"
1844
2170
  },
1845
- {
1846
- "name": "enabled",
1847
- "description": "Gets the enabled state of the component."
1848
- },
1849
- {
1850
- "name": "closestApp",
1851
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1852
- "type": "AppElement | null"
1853
- },
1854
- {
1855
- "name": "closestEntity",
1856
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1857
- "type": "EntityElement | null"
1858
- }
2171
+ { "name": "xrAvailable" }
1859
2172
  ],
1860
2173
  "events": [
1861
2174
  {
1862
2175
  "name": "ready",
1863
2176
  "type": "CustomEvent",
1864
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2177
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1865
2178
  }
1866
2179
  ]
1867
2180
  }
1868
2181
  },
1869
2182
  {
1870
2183
  "name": "pc-collision",
1871
- "description": "The CollisionComponentElement interface provides properties and methods for manipulating\n[`<pc-collision>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-collision/) elements.\nThe CollisionComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2184
+ "description": "The CollisionComponentElement interface provides properties and methods for manipulating\n[`<pc-collision>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-collision/) elements.\nThe CollisionComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nFor `type=\"mesh\"`, the collision geometry defaults to the host entity's own render component\n(its render asset) — a collider matching the visible mesh, which is what a mesh collider on a\nglTF node means. The default resolves each time the component applies, so a `pc-node` that\nretargets or rebinds picks up the new node's geometry. An entity with no asset-backed render\ncomponent warns, and the collider has no shape.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1872
2185
  "doc-url": "",
1873
2186
  "attributes": [
1874
2187
  {
@@ -1913,51 +2226,51 @@
1913
2226
  {
1914
2227
  "name": "ready",
1915
2228
  "type": "CustomEvent",
1916
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2229
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1917
2230
  }
1918
2231
  ],
1919
2232
  "js": {
1920
2233
  "properties": [
2234
+ { "name": "angularOffset" },
2235
+ { "name": "axis" },
2236
+ {
2237
+ "name": "closestApp",
2238
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2239
+ "type": "AppElement | null"
2240
+ },
2241
+ {
2242
+ "name": "closestEntity",
2243
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2244
+ "type": "EntityBaseElement | null"
2245
+ },
1921
2246
  {
1922
2247
  "name": "component",
1923
2248
  "description": "Gets the underlying PlayCanvas collision component.",
1924
2249
  "type": "Component | null"
1925
2250
  },
1926
- { "name": "angularOffset" },
1927
- { "name": "axis" },
1928
2251
  { "name": "convexHull" },
1929
- { "name": "halfExtents" },
1930
- { "name": "height" },
1931
- { "name": "linearOffset" },
1932
- { "name": "radius" },
1933
- { "name": "type" },
1934
2252
  {
1935
2253
  "name": "enabled",
1936
2254
  "description": "Gets the enabled state of the component."
1937
2255
  },
1938
- {
1939
- "name": "closestApp",
1940
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1941
- "type": "AppElement | null"
1942
- },
1943
- {
1944
- "name": "closestEntity",
1945
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
1946
- "type": "EntityElement | null"
1947
- }
2256
+ { "name": "halfExtents" },
2257
+ { "name": "height" },
2258
+ { "name": "linearOffset" },
2259
+ { "name": "radius" },
2260
+ { "name": "type" }
1948
2261
  ],
1949
2262
  "events": [
1950
2263
  {
1951
2264
  "name": "ready",
1952
2265
  "type": "CustomEvent",
1953
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2266
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
1954
2267
  }
1955
2268
  ]
1956
2269
  }
1957
2270
  },
1958
2271
  {
1959
2272
  "name": "pc-element",
1960
- "description": "The ElementComponentElement interface provides properties and methods for manipulating\n[`<pc-element>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-element/) elements.\nThe ElementComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2273
+ "description": "The ElementComponentElement interface provides properties and methods for manipulating\n[`<pc-element>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-element/) elements.\nThe ElementComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1961
2274
  "doc-url": "",
1962
2275
  "attributes": [
1963
2276
  {
@@ -2103,32 +2416,54 @@
2103
2416
  {
2104
2417
  "name": "ready",
2105
2418
  "type": "CustomEvent",
2106
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2419
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2107
2420
  }
2108
2421
  ],
2109
2422
  "js": {
2110
2423
  "properties": [
2111
- {
2112
- "name": "component",
2113
- "description": "Gets the underlying PlayCanvas element component.",
2114
- "type": "Component | null"
2115
- },
2116
2424
  {
2117
2425
  "name": "anchor",
2118
2426
  "description": "Gets the anchor of the element component."
2119
2427
  },
2120
2428
  {
2121
- "name": "autoWidth",
2122
- "description": "Gets whether the element component should automatically adjust its width."
2429
+ "name": "autoFitHeight",
2430
+ "description": "Gets whether a text element automatically reduces its font size to fit its height."
2431
+ },
2432
+ {
2433
+ "name": "autoFitWidth",
2434
+ "description": "Gets whether a text element automatically reduces its font size to fit its width."
2123
2435
  },
2124
2436
  {
2125
2437
  "name": "autoHeight",
2126
2438
  "description": "Gets whether the element component should automatically adjust its height."
2127
2439
  },
2440
+ {
2441
+ "name": "autoWidth",
2442
+ "description": "Gets whether the element component should automatically adjust its width."
2443
+ },
2444
+ {
2445
+ "name": "closestApp",
2446
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2447
+ "type": "AppElement | null"
2448
+ },
2449
+ {
2450
+ "name": "closestEntity",
2451
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2452
+ "type": "EntityBaseElement | null"
2453
+ },
2128
2454
  {
2129
2455
  "name": "color",
2130
2456
  "description": "Gets the color of the element component."
2131
2457
  },
2458
+ {
2459
+ "name": "component",
2460
+ "description": "Gets the underlying PlayCanvas element component.",
2461
+ "type": "Component | null"
2462
+ },
2463
+ {
2464
+ "name": "enabled",
2465
+ "description": "Gets the enabled state of the component."
2466
+ },
2132
2467
  {
2133
2468
  "name": "enableMarkup",
2134
2469
  "description": "Gets whether the element component should use markup."
@@ -2157,6 +2492,14 @@
2157
2492
  "name": "mask",
2158
2493
  "description": "Gets whether the element component is a mask."
2159
2494
  },
2495
+ {
2496
+ "name": "maxFontSize",
2497
+ "description": "Gets the largest font size a text element may use when auto-fitting."
2498
+ },
2499
+ {
2500
+ "name": "minFontSize",
2501
+ "description": "Gets the smallest font size a text element may use when auto-fitting."
2502
+ },
2160
2503
  {
2161
2504
  "name": "opacity",
2162
2505
  "description": "Gets the opacity of the element component."
@@ -2183,68 +2526,38 @@
2183
2526
  },
2184
2527
  {
2185
2528
  "name": "textureAsset",
2186
- "description": "Gets the id of the `pc-asset` to use for the texture."
2187
- },
2188
- {
2189
- "name": "type",
2190
- "description": "Gets the type of the element component.",
2191
- "type": "'group' | 'image' | 'text'"
2192
- },
2193
- {
2194
- "name": "useInput",
2195
- "description": "Gets whether the element component accepts input events."
2196
- },
2197
- {
2198
- "name": "width",
2199
- "description": "Gets the width of the element component."
2200
- },
2201
- {
2202
- "name": "wrapLines",
2203
- "description": "Gets whether the element component should wrap lines."
2204
- },
2205
- {
2206
- "name": "autoFitWidth",
2207
- "description": "Gets whether a text element automatically reduces its font size to fit its width."
2208
- },
2209
- {
2210
- "name": "autoFitHeight",
2211
- "description": "Gets whether a text element automatically reduces its font size to fit its height."
2212
- },
2213
- {
2214
- "name": "minFontSize",
2215
- "description": "Gets the smallest font size a text element may use when auto-fitting."
2529
+ "description": "Gets the id of the `pc-asset` to use for the texture."
2216
2530
  },
2217
2531
  {
2218
- "name": "maxFontSize",
2219
- "description": "Gets the largest font size a text element may use when auto-fitting."
2532
+ "name": "type",
2533
+ "description": "Gets the type of the element component.",
2534
+ "type": "'group' | 'image' | 'text'"
2220
2535
  },
2221
2536
  {
2222
- "name": "enabled",
2223
- "description": "Gets the enabled state of the component."
2537
+ "name": "useInput",
2538
+ "description": "Gets whether the element component accepts input events."
2224
2539
  },
2225
2540
  {
2226
- "name": "closestApp",
2227
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2228
- "type": "AppElement | null"
2541
+ "name": "width",
2542
+ "description": "Gets the width of the element component."
2229
2543
  },
2230
2544
  {
2231
- "name": "closestEntity",
2232
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2233
- "type": "EntityElement | null"
2545
+ "name": "wrapLines",
2546
+ "description": "Gets whether the element component should wrap lines."
2234
2547
  }
2235
2548
  ],
2236
2549
  "events": [
2237
2550
  {
2238
2551
  "name": "ready",
2239
2552
  "type": "CustomEvent",
2240
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2553
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2241
2554
  }
2242
2555
  ]
2243
2556
  }
2244
2557
  },
2245
2558
  {
2246
2559
  "name": "pc-gsplat",
2247
- "description": "The GSplatComponentElement interface provides properties and methods for manipulating\n[`<pc-gsplat>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-gsplat/) elements.\nThe GSplatComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2560
+ "description": "The GSplatComponentElement interface provides properties and methods for manipulating\n[`<pc-gsplat>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-gsplat/) elements.\nThe GSplatComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2248
2561
  "doc-url": "",
2249
2562
  "attributes": [
2250
2563
  {
@@ -2287,16 +2600,11 @@
2287
2600
  {
2288
2601
  "name": "ready",
2289
2602
  "type": "CustomEvent",
2290
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2603
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2291
2604
  }
2292
2605
  ],
2293
2606
  "js": {
2294
2607
  "properties": [
2295
- {
2296
- "name": "component",
2297
- "description": "Gets the underlying PlayCanvas gsplat component.",
2298
- "type": "Component | null"
2299
- },
2300
2608
  {
2301
2609
  "name": "asset",
2302
2610
  "description": "Gets the id of the `pc-asset` to use for the splat."
@@ -2306,48 +2614,53 @@
2306
2614
  "description": "Gets whether the splat casts shadows."
2307
2615
  },
2308
2616
  {
2309
- "name": "lodBaseDistance",
2310
- "description": "Gets the base distance for the first LOD transition."
2311
- },
2312
- {
2313
- "name": "lodMultiplier",
2314
- "description": "Gets the multiplier between successive LOD distance thresholds."
2617
+ "name": "closestApp",
2618
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2619
+ "type": "AppElement | null"
2315
2620
  },
2316
2621
  {
2317
- "name": "lodRangeMin",
2318
- "description": "Gets the minimum allowed LOD index."
2622
+ "name": "closestEntity",
2623
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2624
+ "type": "EntityBaseElement | null"
2319
2625
  },
2320
2626
  {
2321
- "name": "lodRangeMax",
2322
- "description": "Gets the maximum allowed LOD index."
2627
+ "name": "component",
2628
+ "description": "Gets the underlying PlayCanvas gsplat component.",
2629
+ "type": "Component | null"
2323
2630
  },
2324
2631
  {
2325
2632
  "name": "enabled",
2326
2633
  "description": "Gets the enabled state of the component."
2327
2634
  },
2328
2635
  {
2329
- "name": "closestApp",
2330
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2331
- "type": "AppElement | null"
2636
+ "name": "lodBaseDistance",
2637
+ "description": "Gets the base distance for the first LOD transition."
2332
2638
  },
2333
2639
  {
2334
- "name": "closestEntity",
2335
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2336
- "type": "EntityElement | null"
2640
+ "name": "lodMultiplier",
2641
+ "description": "Gets the multiplier between successive LOD distance thresholds."
2642
+ },
2643
+ {
2644
+ "name": "lodRangeMax",
2645
+ "description": "Gets the maximum allowed LOD index."
2646
+ },
2647
+ {
2648
+ "name": "lodRangeMin",
2649
+ "description": "Gets the minimum allowed LOD index."
2337
2650
  }
2338
2651
  ],
2339
2652
  "events": [
2340
2653
  {
2341
2654
  "name": "ready",
2342
2655
  "type": "CustomEvent",
2343
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2656
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2344
2657
  }
2345
2658
  ]
2346
2659
  }
2347
2660
  },
2348
2661
  {
2349
2662
  "name": "pc-layoutchild",
2350
- "description": "The LayoutChildComponentElement interface provides properties and methods for manipulating\n[`<pc-layoutchild>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-layoutchild/) elements.\nThe LayoutChildComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2663
+ "description": "The LayoutChildComponentElement interface provides properties and methods for manipulating\n[`<pc-layoutchild>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-layoutchild/) elements.\nThe LayoutChildComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2351
2664
  "doc-url": "",
2352
2665
  "attributes": [
2353
2666
  {
@@ -2395,71 +2708,71 @@
2395
2708
  {
2396
2709
  "name": "ready",
2397
2710
  "type": "CustomEvent",
2398
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2711
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2399
2712
  }
2400
2713
  ],
2401
2714
  "js": {
2402
2715
  "properties": [
2716
+ {
2717
+ "name": "closestApp",
2718
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2719
+ "type": "AppElement | null"
2720
+ },
2721
+ {
2722
+ "name": "closestEntity",
2723
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2724
+ "type": "EntityBaseElement | null"
2725
+ },
2403
2726
  {
2404
2727
  "name": "component",
2405
2728
  "description": "Gets the underlying PlayCanvas layout child component.",
2406
2729
  "type": "Component | null"
2407
2730
  },
2408
2731
  {
2409
- "name": "minWidth",
2410
- "description": "Gets the minimum width the element should be laid out with."
2411
- },
2412
- {
2413
- "name": "minHeight",
2414
- "description": "Gets the minimum height the element should be laid out with."
2732
+ "name": "enabled",
2733
+ "description": "Gets the enabled state of the component."
2415
2734
  },
2416
2735
  {
2417
- "name": "maxWidth",
2418
- "description": "Gets the maximum width the element should be laid out with."
2736
+ "name": "excludeFromLayout",
2737
+ "description": "Gets whether the element is excluded from the layout."
2419
2738
  },
2420
2739
  {
2421
- "name": "maxHeight",
2422
- "description": "Gets the maximum height the element should be laid out with."
2740
+ "name": "fitHeightProportion",
2741
+ "description": "Gets the proportion of the container's spare height this element should take."
2423
2742
  },
2424
2743
  {
2425
2744
  "name": "fitWidthProportion",
2426
2745
  "description": "Gets the proportion of the container's spare width this element should take."
2427
2746
  },
2428
2747
  {
2429
- "name": "fitHeightProportion",
2430
- "description": "Gets the proportion of the container's spare height this element should take."
2431
- },
2432
- {
2433
- "name": "excludeFromLayout",
2434
- "description": "Gets whether the element is excluded from the layout."
2748
+ "name": "maxHeight",
2749
+ "description": "Gets the maximum height the element should be laid out with."
2435
2750
  },
2436
2751
  {
2437
- "name": "enabled",
2438
- "description": "Gets the enabled state of the component."
2752
+ "name": "maxWidth",
2753
+ "description": "Gets the maximum width the element should be laid out with."
2439
2754
  },
2440
2755
  {
2441
- "name": "closestApp",
2442
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2443
- "type": "AppElement | null"
2756
+ "name": "minHeight",
2757
+ "description": "Gets the minimum height the element should be laid out with."
2444
2758
  },
2445
2759
  {
2446
- "name": "closestEntity",
2447
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2448
- "type": "EntityElement | null"
2760
+ "name": "minWidth",
2761
+ "description": "Gets the minimum width the element should be laid out with."
2449
2762
  }
2450
2763
  ],
2451
2764
  "events": [
2452
2765
  {
2453
2766
  "name": "ready",
2454
2767
  "type": "CustomEvent",
2455
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2768
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2456
2769
  }
2457
2770
  ]
2458
2771
  }
2459
2772
  },
2460
2773
  {
2461
2774
  "name": "pc-layoutgroup",
2462
- "description": "The LayoutGroupComponentElement interface provides properties and methods for manipulating\n[`<pc-layoutgroup>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-layoutgroup/) elements.\nThe LayoutGroupComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2775
+ "description": "The LayoutGroupComponentElement interface provides properties and methods for manipulating\n[`<pc-layoutgroup>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-layoutgroup/) elements.\nThe LayoutGroupComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2463
2776
  "doc-url": "",
2464
2777
  "attributes": [
2465
2778
  {
@@ -2526,20 +2839,46 @@
2526
2839
  {
2527
2840
  "name": "ready",
2528
2841
  "type": "CustomEvent",
2529
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2842
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2530
2843
  }
2531
2844
  ],
2532
2845
  "js": {
2533
2846
  "properties": [
2847
+ {
2848
+ "name": "alignment",
2849
+ "description": "Gets the alignment of the child elements."
2850
+ },
2851
+ {
2852
+ "name": "closestApp",
2853
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2854
+ "type": "AppElement | null"
2855
+ },
2856
+ {
2857
+ "name": "closestEntity",
2858
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2859
+ "type": "EntityBaseElement | null"
2860
+ },
2534
2861
  {
2535
2862
  "name": "component",
2536
2863
  "description": "Gets the underlying PlayCanvas layout group component.",
2537
2864
  "type": "Component | null"
2538
2865
  },
2866
+ {
2867
+ "name": "enabled",
2868
+ "description": "Gets the enabled state of the component."
2869
+ },
2870
+ {
2871
+ "name": "heightFitting",
2872
+ "description": "Gets the fitting mode along the vertical axis."
2873
+ },
2539
2874
  {
2540
2875
  "name": "orientation",
2541
2876
  "description": "Gets the orientation of the layout group."
2542
2877
  },
2878
+ {
2879
+ "name": "padding",
2880
+ "description": "Gets the padding around the layout group."
2881
+ },
2543
2882
  {
2544
2883
  "name": "reverseX",
2545
2884
  "description": "Gets whether the order of children is reversed along the horizontal axis."
@@ -2548,14 +2887,6 @@
2548
2887
  "name": "reverseY",
2549
2888
  "description": "Gets whether the order of children is reversed along the vertical axis."
2550
2889
  },
2551
- {
2552
- "name": "alignment",
2553
- "description": "Gets the alignment of the child elements."
2554
- },
2555
- {
2556
- "name": "padding",
2557
- "description": "Gets the padding around the layout group."
2558
- },
2559
2890
  {
2560
2891
  "name": "spacing",
2561
2892
  "description": "Gets the spacing between child elements."
@@ -2564,41 +2895,23 @@
2564
2895
  "name": "widthFitting",
2565
2896
  "description": "Gets the fitting mode along the horizontal axis."
2566
2897
  },
2567
- {
2568
- "name": "heightFitting",
2569
- "description": "Gets the fitting mode along the vertical axis."
2570
- },
2571
2898
  {
2572
2899
  "name": "wrap",
2573
2900
  "description": "Gets whether children wrap onto a new line/column when they overflow the group."
2574
- },
2575
- {
2576
- "name": "enabled",
2577
- "description": "Gets the enabled state of the component."
2578
- },
2579
- {
2580
- "name": "closestApp",
2581
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2582
- "type": "AppElement | null"
2583
- },
2584
- {
2585
- "name": "closestEntity",
2586
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2587
- "type": "EntityElement | null"
2588
2901
  }
2589
2902
  ],
2590
2903
  "events": [
2591
2904
  {
2592
2905
  "name": "ready",
2593
2906
  "type": "CustomEvent",
2594
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2907
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2595
2908
  }
2596
2909
  ]
2597
2910
  }
2598
2911
  },
2599
2912
  {
2600
2913
  "name": "pc-light",
2601
- "description": "The LightComponentElement interface provides properties and methods for manipulating\n[`<pc-light>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-light/) elements.\nThe LightComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
2914
+ "description": "The LightComponentElement interface provides properties and methods for manipulating\n[`<pc-light>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-light/) elements.\nThe LightComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2602
2915
  "doc-url": "",
2603
2916
  "attributes": [
2604
2917
  {
@@ -2712,24 +3025,38 @@
2712
3025
  {
2713
3026
  "name": "ready",
2714
3027
  "type": "CustomEvent",
2715
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3028
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2716
3029
  }
2717
3030
  ],
2718
3031
  "js": {
2719
3032
  "properties": [
2720
- {
2721
- "name": "component",
2722
- "description": "Gets the underlying PlayCanvas light component.",
2723
- "type": "Component | null"
2724
- },
2725
3033
  {
2726
3034
  "name": "castShadows",
2727
3035
  "description": "Gets the cast shadows flag of the light."
2728
3036
  },
3037
+ {
3038
+ "name": "closestApp",
3039
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3040
+ "type": "AppElement | null"
3041
+ },
3042
+ {
3043
+ "name": "closestEntity",
3044
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3045
+ "type": "EntityBaseElement | null"
3046
+ },
2729
3047
  {
2730
3048
  "name": "color",
2731
3049
  "description": "Gets the color of the light."
2732
3050
  },
3051
+ {
3052
+ "name": "component",
3053
+ "description": "Gets the underlying PlayCanvas light component.",
3054
+ "type": "Component | null"
3055
+ },
3056
+ {
3057
+ "name": "enabled",
3058
+ "description": "Gets the enabled state of the component."
3059
+ },
2733
3060
  {
2734
3061
  "name": "innerConeAngle",
2735
3062
  "description": "Gets the inner cone angle of the light."
@@ -2746,6 +3073,14 @@
2746
3073
  "name": "outerConeAngle",
2747
3074
  "description": "Gets the outer cone angle of the light."
2748
3075
  },
3076
+ {
3077
+ "name": "penumbraFalloff",
3078
+ "description": "Gets the penumbra falloff of the light."
3079
+ },
3080
+ {
3081
+ "name": "penumbraSize",
3082
+ "description": "Gets the penumbra size of the light."
3083
+ },
2749
3084
  {
2750
3085
  "name": "range",
2751
3086
  "description": "Gets the range of the light."
@@ -2754,6 +3089,10 @@
2754
3089
  "name": "shadowBias",
2755
3090
  "description": "Gets the shadow bias of the light."
2756
3091
  },
3092
+ {
3093
+ "name": "shadowBlockerSamples",
3094
+ "description": "Gets the number of shadow blocker samples."
3095
+ },
2757
3096
  {
2758
3097
  "name": "shadowDistance",
2759
3098
  "description": "Gets the shadow distance of the light."
@@ -2766,6 +3105,10 @@
2766
3105
  "name": "shadowResolution",
2767
3106
  "description": "Gets the shadow resolution of the light."
2768
3107
  },
3108
+ {
3109
+ "name": "shadowSamples",
3110
+ "description": "Gets the number of shadow samples."
3111
+ },
2769
3112
  {
2770
3113
  "name": "shadowType",
2771
3114
  "description": "Gets the shadow type of the light."
@@ -2778,50 +3121,20 @@
2778
3121
  {
2779
3122
  "name": "vsmBlurSize",
2780
3123
  "description": "Gets the VSM blur size of the light."
2781
- },
2782
- {
2783
- "name": "penumbraSize",
2784
- "description": "Gets the penumbra size of the light."
2785
- },
2786
- {
2787
- "name": "penumbraFalloff",
2788
- "description": "Gets the penumbra falloff of the light."
2789
- },
2790
- {
2791
- "name": "shadowSamples",
2792
- "description": "Gets the number of shadow samples."
2793
- },
2794
- {
2795
- "name": "shadowBlockerSamples",
2796
- "description": "Gets the number of shadow blocker samples."
2797
- },
2798
- {
2799
- "name": "enabled",
2800
- "description": "Gets the enabled state of the component."
2801
- },
2802
- {
2803
- "name": "closestApp",
2804
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2805
- "type": "AppElement | null"
2806
- },
2807
- {
2808
- "name": "closestEntity",
2809
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2810
- "type": "EntityElement | null"
2811
3124
  }
2812
3125
  ],
2813
3126
  "events": [
2814
3127
  {
2815
3128
  "name": "ready",
2816
3129
  "type": "CustomEvent",
2817
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3130
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2818
3131
  }
2819
3132
  ]
2820
3133
  }
2821
3134
  },
2822
3135
  {
2823
3136
  "name": "pc-listener",
2824
- "description": "The ListenerComponentElement interface provides properties and methods for manipulating\n[`<pc-listener>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-listener/) elements.\nThe ListenerComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3137
+ "description": "The ListenerComponentElement interface provides properties and methods for manipulating\n[`<pc-listener>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-listener/) elements.\nThe ListenerComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2825
3138
  "doc-url": "",
2826
3139
  "attributes": [
2827
3140
  {
@@ -2834,11 +3147,21 @@
2834
3147
  {
2835
3148
  "name": "ready",
2836
3149
  "type": "CustomEvent",
2837
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3150
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2838
3151
  }
2839
3152
  ],
2840
3153
  "js": {
2841
3154
  "properties": [
3155
+ {
3156
+ "name": "closestApp",
3157
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3158
+ "type": "AppElement | null"
3159
+ },
3160
+ {
3161
+ "name": "closestEntity",
3162
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3163
+ "type": "EntityBaseElement | null"
3164
+ },
2842
3165
  {
2843
3166
  "name": "component",
2844
3167
  "description": "Gets the underlying PlayCanvas audio listener component.",
@@ -2847,30 +3170,20 @@
2847
3170
  {
2848
3171
  "name": "enabled",
2849
3172
  "description": "Gets the enabled state of the component."
2850
- },
2851
- {
2852
- "name": "closestApp",
2853
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2854
- "type": "AppElement | null"
2855
- },
2856
- {
2857
- "name": "closestEntity",
2858
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2859
- "type": "EntityElement | null"
2860
3173
  }
2861
3174
  ],
2862
3175
  "events": [
2863
3176
  {
2864
3177
  "name": "ready",
2865
3178
  "type": "CustomEvent",
2866
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3179
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2867
3180
  }
2868
3181
  ]
2869
3182
  }
2870
3183
  },
2871
3184
  {
2872
3185
  "name": "pc-particles",
2873
- "description": "The ParticleSystemComponentElement interface provides properties and methods for manipulating\n[`<pc-particles>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-particles/) elements.\nThe ParticleSystemComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n - **play()** - Starts playing the particle system\n- **pause()** - Pauses the particle system\n- **reset()** - Resets the particle system\n- **stop()** - Stops the particle system\n\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3186
+ "description": "The ParticleSystemComponentElement interface provides properties and methods for manipulating\n[`<pc-particles>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-particles/) elements.\nThe ParticleSystemComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **pause()** - Pauses the particle system\n- **play()** - Starts playing the particle system\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.\n- **reset()** - Resets the particle system\n- **stop()** - Stops the particle system",
2874
3187
  "doc-url": "",
2875
3188
  "attributes": [
2876
3189
  {
@@ -2888,25 +3201,16 @@
2888
3201
  {
2889
3202
  "name": "ready",
2890
3203
  "type": "CustomEvent",
2891
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3204
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2892
3205
  }
2893
3206
  ],
2894
3207
  "js": {
2895
3208
  "properties": [
2896
- {
2897
- "name": "component",
2898
- "description": "Gets the underlying PlayCanvas particle system component.",
2899
- "type": "Component | null"
2900
- },
2901
3209
  {
2902
3210
  "name": "asset",
2903
3211
  "description": "Gets the id of the `pc-asset` to use for the model.",
2904
3212
  "type": "string"
2905
3213
  },
2906
- {
2907
- "name": "enabled",
2908
- "description": "Gets the enabled state of the component."
2909
- },
2910
3214
  {
2911
3215
  "name": "closestApp",
2912
3216
  "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
@@ -2914,22 +3218,31 @@
2914
3218
  },
2915
3219
  {
2916
3220
  "name": "closestEntity",
2917
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
2918
- "type": "EntityElement | null"
3221
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3222
+ "type": "EntityBaseElement | null"
3223
+ },
3224
+ {
3225
+ "name": "component",
3226
+ "description": "Gets the underlying PlayCanvas particle system component.",
3227
+ "type": "Component | null"
3228
+ },
3229
+ {
3230
+ "name": "enabled",
3231
+ "description": "Gets the enabled state of the component."
2919
3232
  }
2920
3233
  ],
2921
3234
  "events": [
2922
3235
  {
2923
3236
  "name": "ready",
2924
3237
  "type": "CustomEvent",
2925
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3238
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2926
3239
  }
2927
3240
  ]
2928
3241
  }
2929
3242
  },
2930
3243
  {
2931
3244
  "name": "pc-render",
2932
- "description": "The RenderComponentElement interface provides properties and methods for manipulating\n[`<pc-render>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-render/) elements.\nThe RenderComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThis element renders one of the engine's built-in primitives, selected with `type` (defaulting\nto `box`). It does not cover the engine's `asset` render type, since there is no way to supply\na render asset here — use `pc-model` for glTF content instead.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3245
+ "description": "The RenderComponentElement interface provides properties and methods for manipulating\n[`<pc-render>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-render/) elements.\nThe RenderComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThis element renders one of the engine's built-in primitives, selected with `type` (defaulting\nto `box`). It does not cover the engine's `asset` render type, since there is no way to supply\na render asset here — use `pc-model` for glTF content instead.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2933
3246
  "doc-url": "",
2934
3247
  "attributes": [
2935
3248
  {
@@ -2965,25 +3278,34 @@
2965
3278
  {
2966
3279
  "name": "ready",
2967
3280
  "type": "CustomEvent",
2968
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3281
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
2969
3282
  }
2970
3283
  ],
2971
3284
  "js": {
2972
3285
  "properties": [
3286
+ {
3287
+ "name": "castShadows",
3288
+ "description": "Gets the cast shadows flag of the render component.",
3289
+ "type": "boolean"
3290
+ },
3291
+ {
3292
+ "name": "closestApp",
3293
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3294
+ "type": "AppElement | null"
3295
+ },
3296
+ {
3297
+ "name": "closestEntity",
3298
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3299
+ "type": "EntityBaseElement | null"
3300
+ },
2973
3301
  {
2974
3302
  "name": "component",
2975
3303
  "description": "Gets the underlying PlayCanvas render component.",
2976
3304
  "type": "Component | null"
2977
3305
  },
2978
3306
  {
2979
- "name": "type",
2980
- "description": "Gets the type of the render component.",
2981
- "type": "'box' | 'capsule' | 'cone' | 'cylinder' | 'plane' | 'sphere'"
2982
- },
2983
- {
2984
- "name": "castShadows",
2985
- "description": "Gets the cast shadows flag of the render component.",
2986
- "type": "boolean"
3307
+ "name": "enabled",
3308
+ "description": "Gets the enabled state of the component."
2987
3309
  },
2988
3310
  {
2989
3311
  "name": "material",
@@ -2995,32 +3317,23 @@
2995
3317
  "type": "boolean"
2996
3318
  },
2997
3319
  {
2998
- "name": "enabled",
2999
- "description": "Gets the enabled state of the component."
3000
- },
3001
- {
3002
- "name": "closestApp",
3003
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3004
- "type": "AppElement | null"
3005
- },
3006
- {
3007
- "name": "closestEntity",
3008
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3009
- "type": "EntityElement | null"
3320
+ "name": "type",
3321
+ "description": "Gets the type of the render component.",
3322
+ "type": "'box' | 'capsule' | 'cone' | 'cylinder' | 'plane' | 'sphere'"
3010
3323
  }
3011
3324
  ],
3012
3325
  "events": [
3013
3326
  {
3014
3327
  "name": "ready",
3015
3328
  "type": "CustomEvent",
3016
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3329
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3017
3330
  }
3018
3331
  ]
3019
3332
  }
3020
3333
  },
3021
3334
  {
3022
3335
  "name": "pc-rigidbody",
3023
- "description": "The RigidBodyComponentElement interface provides properties and methods for manipulating\n[`<pc-rigidbody>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-rigidbody/) elements.\nThe RigidBodyComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3336
+ "description": "The RigidBodyComponentElement interface provides properties and methods for manipulating\n[`<pc-rigidbody>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-rigidbody/) elements.\nThe RigidBodyComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3024
3337
  "doc-url": "",
3025
3338
  "attributes": [
3026
3339
  {
@@ -3071,52 +3384,52 @@
3071
3384
  {
3072
3385
  "name": "ready",
3073
3386
  "type": "CustomEvent",
3074
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3387
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3075
3388
  }
3076
3389
  ],
3077
3390
  "js": {
3078
3391
  "properties": [
3392
+ { "name": "angularDamping" },
3393
+ { "name": "angularFactor" },
3394
+ {
3395
+ "name": "closestApp",
3396
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3397
+ "type": "AppElement | null"
3398
+ },
3399
+ {
3400
+ "name": "closestEntity",
3401
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3402
+ "type": "EntityBaseElement | null"
3403
+ },
3079
3404
  {
3080
3405
  "name": "component",
3081
3406
  "description": "Gets the underlying PlayCanvas rigidbody component.",
3082
3407
  "type": "Component | null"
3083
3408
  },
3084
- { "name": "angularDamping" },
3085
- { "name": "angularFactor" },
3409
+ {
3410
+ "name": "enabled",
3411
+ "description": "Gets the enabled state of the component."
3412
+ },
3086
3413
  { "name": "friction" },
3087
3414
  { "name": "linearDamping" },
3088
3415
  { "name": "linearFactor" },
3089
3416
  { "name": "mass" },
3090
3417
  { "name": "restitution" },
3091
3418
  { "name": "rollingFriction" },
3092
- { "name": "type" },
3093
- {
3094
- "name": "enabled",
3095
- "description": "Gets the enabled state of the component."
3096
- },
3097
- {
3098
- "name": "closestApp",
3099
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3100
- "type": "AppElement | null"
3101
- },
3102
- {
3103
- "name": "closestEntity",
3104
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3105
- "type": "EntityElement | null"
3106
- }
3419
+ { "name": "type" }
3107
3420
  ],
3108
3421
  "events": [
3109
3422
  {
3110
3423
  "name": "ready",
3111
3424
  "type": "CustomEvent",
3112
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3425
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3113
3426
  }
3114
3427
  ]
3115
3428
  }
3116
3429
  },
3117
3430
  {
3118
3431
  "name": "pc-screen",
3119
- "description": "The ScreenComponentElement interface provides properties and methods for manipulating\n[`<pc-screen>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-screen/) elements.\nThe ScreenComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3432
+ "description": "The ScreenComponentElement interface provides properties and methods for manipulating\n[`<pc-screen>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-screen/) elements.\nThe ScreenComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3120
3433
  "doc-url": "",
3121
3434
  "attributes": [
3122
3435
  {
@@ -3157,16 +3470,30 @@
3157
3470
  {
3158
3471
  "name": "ready",
3159
3472
  "type": "CustomEvent",
3160
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3473
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3161
3474
  }
3162
3475
  ],
3163
3476
  "js": {
3164
3477
  "properties": [
3478
+ {
3479
+ "name": "closestApp",
3480
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3481
+ "type": "AppElement | null"
3482
+ },
3483
+ {
3484
+ "name": "closestEntity",
3485
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3486
+ "type": "EntityBaseElement | null"
3487
+ },
3165
3488
  {
3166
3489
  "name": "component",
3167
3490
  "description": "Gets the underlying PlayCanvas screen component.",
3168
3491
  "type": "Component | null"
3169
3492
  },
3493
+ {
3494
+ "name": "enabled",
3495
+ "description": "Gets the enabled state of the component."
3496
+ },
3170
3497
  { "name": "priority" },
3171
3498
  { "name": "referenceResolution" },
3172
3499
  { "name": "resolution" },
@@ -3178,34 +3505,20 @@
3178
3505
  "name": "scaleMode",
3179
3506
  "description": "Gets how the screen scales its contents."
3180
3507
  },
3181
- { "name": "screenSpace" },
3182
- {
3183
- "name": "enabled",
3184
- "description": "Gets the enabled state of the component."
3185
- },
3186
- {
3187
- "name": "closestApp",
3188
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3189
- "type": "AppElement | null"
3190
- },
3191
- {
3192
- "name": "closestEntity",
3193
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3194
- "type": "EntityElement | null"
3195
- }
3508
+ { "name": "screenSpace" }
3196
3509
  ],
3197
3510
  "events": [
3198
3511
  {
3199
3512
  "name": "ready",
3200
3513
  "type": "CustomEvent",
3201
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3514
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3202
3515
  }
3203
3516
  ]
3204
3517
  }
3205
3518
  },
3206
3519
  {
3207
3520
  "name": "pc-scripts",
3208
- "description": "The ScriptComponentElement interface provides properties and methods for manipulating\n[`<pc-scripts>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scripts/) elements.\nThe ScriptComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3521
+ "description": "The ScriptComponentElement interface provides properties and methods for manipulating\n[`<pc-scripts>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scripts/) elements.\nThe ScriptComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3209
3522
  "doc-url": "",
3210
3523
  "attributes": [
3211
3524
  {
@@ -3218,11 +3531,21 @@
3218
3531
  {
3219
3532
  "name": "ready",
3220
3533
  "type": "CustomEvent",
3221
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3534
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3222
3535
  }
3223
3536
  ],
3224
3537
  "js": {
3225
3538
  "properties": [
3539
+ {
3540
+ "name": "closestApp",
3541
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3542
+ "type": "AppElement | null"
3543
+ },
3544
+ {
3545
+ "name": "closestEntity",
3546
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3547
+ "type": "EntityBaseElement | null"
3548
+ },
3226
3549
  {
3227
3550
  "name": "component",
3228
3551
  "description": "Gets the underlying PlayCanvas script component.",
@@ -3231,30 +3554,20 @@
3231
3554
  {
3232
3555
  "name": "enabled",
3233
3556
  "description": "Gets the enabled state of the component."
3234
- },
3235
- {
3236
- "name": "closestApp",
3237
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3238
- "type": "AppElement | null"
3239
- },
3240
- {
3241
- "name": "closestEntity",
3242
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3243
- "type": "EntityElement | null"
3244
3557
  }
3245
3558
  ],
3246
3559
  "events": [
3247
3560
  {
3248
3561
  "name": "ready",
3249
3562
  "type": "CustomEvent",
3250
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3563
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3251
3564
  }
3252
3565
  ]
3253
3566
  }
3254
3567
  },
3255
3568
  {
3256
3569
  "name": "pc-script",
3257
- "description": "The ScriptElement interface provides properties and methods for manipulating\n`<pc-script>` elements. The ScriptElement interface also inherits the properties and\nmethods of the AsyncElement interface.\n\nScript attributes can be supplied through two channels:\n\n- **Per-property attributes**: any non-reserved attribute on the element maps to the script\n attribute of the same name (kebab-case to camelCase, e.g. `focus-point` → `focusPoint`).\n Values are parsed according to the type of the attribute's current value — initially the\n script's declared default (numbers, booleans, strings, Vec2/3/4, Color, Quat as Euler\n angles) — and the `asset:`/`entity:`/`vec2:`/`vec3:`/`vec4:`/`color:` prefixes may be used\n to be explicit.\n- **The `attributes` JSON attribute**: an object supporting nested structures and attribute\n names that collide with reserved HTML attribute names (e.g. `title`).\n\nWhen both specify the same attribute, the per-property attribute wins — at creation and\nwhenever either channel changes at runtime. The element's own `name` and `enabled`\nattributes configure the element itself and are not script attributes.\n\nChanging `name` on a live element destroys the old-name script instance and creates the\nnew-name one, re-applying both attribute channels to it.\n\nThe element becomes ready once its script instance has been created by the parent\n`<pc-scripts>` element.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n- **scriptattributeschange** - Fired when the script's attributes change. The `detail` carries the new `attributes` object. Bubbles.\n- **scriptenablechange** - Fired when the script's enabled state changes. The `detail` carries the new `enabled` state. Bubbles.\n- **scriptnamechange** - Fired when the script is renamed on a live element. The `detail` carries `oldName` and `newName`. Bubbles.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3570
+ "description": "The ScriptElement interface provides properties and methods for manipulating\n`<pc-script>` elements. The ScriptElement interface also inherits the properties and\nmethods of the AsyncElement interface.\n\nScript attributes can be supplied through two channels:\n\n- **Per-property attributes**: any non-reserved attribute on the element maps to the script\n attribute of the same name (kebab-case to camelCase, e.g. `focus-point` → `focusPoint`).\n Values are parsed according to the type of the attribute's current value — initially the\n script's declared default (numbers, booleans, strings, Vec2/3/4, Color, Quat as Euler\n angles) — and the `asset:`/`entity:`/`vec2:`/`vec3:`/`vec4:`/`color:` prefixes may be used\n to be explicit.\n- **The `attributes` JSON attribute**: an object supporting nested structures and attribute\n names that collide with reserved HTML attribute names (e.g. `title`).\n\nWhen both specify the same attribute, the per-property attribute wins — at creation and\nwhenever either channel changes at runtime. The element's own `name` and `enabled`\nattributes configure the element itself and are not script attributes.\n\nChanging `name` on a live element destroys the old-name script instance and creates the\nnew-name one, re-applying both attribute channels to it.\n\nThe element becomes ready once its script instance has been created by the parent\n`<pc-scripts>` element.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n- **scriptattributeschange** - Fired when the script's attributes change. The `detail` carries the new `attributes` object. Bubbles.\n- **scriptenablechange** - Fired when the script's enabled state changes. The `detail` carries the new `enabled` state. Bubbles.\n- **scriptnamechange** - Fired when the script is renamed on a live element. The `detail` carries `oldName` and `newName`. Bubbles.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3258
3571
  "doc-url": "",
3259
3572
  "attributes": [
3260
3573
  {
@@ -3277,7 +3590,7 @@
3277
3590
  {
3278
3591
  "name": "ready",
3279
3592
  "type": "CustomEvent",
3280
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3593
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3281
3594
  },
3282
3595
  {
3283
3596
  "name": "scriptattributeschange",
@@ -3298,9 +3611,14 @@
3298
3611
  "js": {
3299
3612
  "properties": [
3300
3613
  {
3301
- "name": "scriptAttributes",
3302
- "description": "Gets the attributes of the script.",
3303
- "type": "Record<string, any>"
3614
+ "name": "closestApp",
3615
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3616
+ "type": "AppElement | null"
3617
+ },
3618
+ {
3619
+ "name": "closestEntity",
3620
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3621
+ "type": "EntityBaseElement | null"
3304
3622
  },
3305
3623
  {
3306
3624
  "name": "enabled",
@@ -3313,21 +3631,16 @@
3313
3631
  "type": "Script | null"
3314
3632
  },
3315
3633
  {
3316
- "name": "closestApp",
3317
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3318
- "type": "AppElement | null"
3319
- },
3320
- {
3321
- "name": "closestEntity",
3322
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3323
- "type": "EntityElement | null"
3634
+ "name": "scriptAttributes",
3635
+ "description": "Gets the attributes of the script.",
3636
+ "type": "Record<string, any>"
3324
3637
  }
3325
3638
  ],
3326
3639
  "events": [
3327
3640
  {
3328
3641
  "name": "ready",
3329
3642
  "type": "CustomEvent",
3330
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3643
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3331
3644
  },
3332
3645
  {
3333
3646
  "name": "scriptattributeschange",
@@ -3349,7 +3662,7 @@
3349
3662
  },
3350
3663
  {
3351
3664
  "name": "pc-scrollbar",
3352
- "description": "The ScrollbarComponentElement interface provides properties and methods for manipulating\n[`<pc-scrollbar>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scrollbar/) elements.\nThe ScrollbarComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3665
+ "description": "The ScrollbarComponentElement interface provides properties and methods for manipulating\n[`<pc-scrollbar>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scrollbar/) elements.\nThe ScrollbarComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3353
3666
  "doc-url": "",
3354
3667
  "attributes": [
3355
3668
  {
@@ -3385,59 +3698,59 @@
3385
3698
  {
3386
3699
  "name": "ready",
3387
3700
  "type": "CustomEvent",
3388
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3701
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3389
3702
  }
3390
3703
  ],
3391
3704
  "js": {
3392
3705
  "properties": [
3393
3706
  {
3394
- "name": "component",
3395
- "description": "Gets the underlying PlayCanvas scrollbar component.",
3396
- "type": "Component | null"
3707
+ "name": "closestApp",
3708
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3709
+ "type": "AppElement | null"
3397
3710
  },
3398
3711
  {
3399
- "name": "orientation",
3400
- "description": "Gets the orientation of the scrollbar."
3712
+ "name": "closestEntity",
3713
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3714
+ "type": "EntityBaseElement | null"
3401
3715
  },
3402
3716
  {
3403
- "name": "value",
3404
- "description": "Gets the current position value of the scrollbar."
3717
+ "name": "component",
3718
+ "description": "Gets the underlying PlayCanvas scrollbar component.",
3719
+ "type": "Component | null"
3405
3720
  },
3406
3721
  {
3407
- "name": "handleSize",
3408
- "description": "Gets the size of the handle relative to the size of the track."
3722
+ "name": "enabled",
3723
+ "description": "Gets the enabled state of the component."
3409
3724
  },
3410
3725
  {
3411
3726
  "name": "handle",
3412
3727
  "description": "Gets the reference to the `<pc-entity>` used as the scrollbar handle."
3413
3728
  },
3414
3729
  {
3415
- "name": "enabled",
3416
- "description": "Gets the enabled state of the component."
3730
+ "name": "handleSize",
3731
+ "description": "Gets the size of the handle relative to the size of the track."
3417
3732
  },
3418
3733
  {
3419
- "name": "closestApp",
3420
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3421
- "type": "AppElement | null"
3734
+ "name": "orientation",
3735
+ "description": "Gets the orientation of the scrollbar."
3422
3736
  },
3423
3737
  {
3424
- "name": "closestEntity",
3425
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3426
- "type": "EntityElement | null"
3738
+ "name": "value",
3739
+ "description": "Gets the current position value of the scrollbar."
3427
3740
  }
3428
3741
  ],
3429
3742
  "events": [
3430
3743
  {
3431
3744
  "name": "ready",
3432
3745
  "type": "CustomEvent",
3433
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3746
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3434
3747
  }
3435
3748
  ]
3436
3749
  }
3437
3750
  },
3438
3751
  {
3439
3752
  "name": "pc-scrollview",
3440
- "description": "The ScrollViewComponentElement interface provides properties and methods for manipulating\n[`<pc-scrollview>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scrollview/) elements.\nThe ScrollViewComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3753
+ "description": "The ScrollViewComponentElement interface provides properties and methods for manipulating\n[`<pc-scrollview>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-scrollview/) elements.\nThe ScrollViewComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3441
3754
  "doc-url": "",
3442
3755
  "attributes": [
3443
3756
  {
@@ -3524,92 +3837,92 @@
3524
3837
  {
3525
3838
  "name": "ready",
3526
3839
  "type": "CustomEvent",
3527
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3840
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3528
3841
  }
3529
3842
  ],
3530
3843
  "js": {
3531
3844
  "properties": [
3532
3845
  {
3533
- "name": "component",
3534
- "description": "Gets the underlying PlayCanvas scroll view component.",
3535
- "type": "Component | null"
3846
+ "name": "bounceAmount",
3847
+ "description": "Gets the bounce amount."
3536
3848
  },
3537
3849
  {
3538
- "name": "horizontal",
3539
- "description": "Gets whether scrolling along the horizontal axis is enabled."
3850
+ "name": "closestApp",
3851
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3852
+ "type": "AppElement | null"
3540
3853
  },
3541
3854
  {
3542
- "name": "vertical",
3543
- "description": "Gets whether scrolling along the vertical axis is enabled."
3855
+ "name": "closestEntity",
3856
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3857
+ "type": "EntityBaseElement | null"
3544
3858
  },
3545
3859
  {
3546
- "name": "scrollMode",
3547
- "description": "Gets how the scroll view behaves when the content is scrolled beyond its bounds."
3860
+ "name": "component",
3861
+ "description": "Gets the underlying PlayCanvas scroll view component.",
3862
+ "type": "Component | null"
3548
3863
  },
3549
3864
  {
3550
- "name": "bounceAmount",
3551
- "description": "Gets the bounce amount."
3865
+ "name": "content",
3866
+ "description": "Gets the reference to the `<pc-entity>` used as the content."
3867
+ },
3868
+ {
3869
+ "name": "enabled",
3870
+ "description": "Gets the enabled state of the component."
3552
3871
  },
3553
3872
  { "name": "friction", "description": "Gets the friction." },
3554
3873
  {
3555
- "name": "useMouseWheel",
3556
- "description": "Gets whether the scroll view responds to mouse wheel events."
3874
+ "name": "horizontal",
3875
+ "description": "Gets whether scrolling along the horizontal axis is enabled."
3557
3876
  },
3558
3877
  {
3559
- "name": "mouseWheelSensitivity",
3560
- "description": "Gets the mouse wheel sensitivity."
3878
+ "name": "horizontalScrollbar",
3879
+ "description": "Gets the reference to the `<pc-entity>` containing the horizontal scrollbar."
3561
3880
  },
3562
3881
  {
3563
3882
  "name": "horizontalScrollbarVisibility",
3564
3883
  "description": "Gets the visibility of the horizontal scrollbar."
3565
3884
  },
3566
3885
  {
3567
- "name": "verticalScrollbarVisibility",
3568
- "description": "Gets the visibility of the vertical scrollbar."
3886
+ "name": "mouseWheelSensitivity",
3887
+ "description": "Gets the mouse wheel sensitivity."
3569
3888
  },
3570
3889
  {
3571
- "name": "viewport",
3572
- "description": "Gets the reference to the `<pc-entity>` used as the viewport."
3890
+ "name": "scrollMode",
3891
+ "description": "Gets how the scroll view behaves when the content is scrolled beyond its bounds."
3573
3892
  },
3574
3893
  {
3575
- "name": "content",
3576
- "description": "Gets the reference to the `<pc-entity>` used as the content."
3894
+ "name": "useMouseWheel",
3895
+ "description": "Gets whether the scroll view responds to mouse wheel events."
3577
3896
  },
3578
3897
  {
3579
- "name": "horizontalScrollbar",
3580
- "description": "Gets the reference to the `<pc-entity>` containing the horizontal scrollbar."
3898
+ "name": "vertical",
3899
+ "description": "Gets whether scrolling along the vertical axis is enabled."
3581
3900
  },
3582
3901
  {
3583
3902
  "name": "verticalScrollbar",
3584
3903
  "description": "Gets the reference to the `<pc-entity>` containing the vertical scrollbar."
3585
3904
  },
3586
3905
  {
3587
- "name": "enabled",
3588
- "description": "Gets the enabled state of the component."
3589
- },
3590
- {
3591
- "name": "closestApp",
3592
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3593
- "type": "AppElement | null"
3906
+ "name": "verticalScrollbarVisibility",
3907
+ "description": "Gets the visibility of the vertical scrollbar."
3594
3908
  },
3595
3909
  {
3596
- "name": "closestEntity",
3597
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3598
- "type": "EntityElement | null"
3910
+ "name": "viewport",
3911
+ "description": "Gets the reference to the `<pc-entity>` used as the viewport."
3599
3912
  }
3600
3913
  ],
3601
3914
  "events": [
3602
3915
  {
3603
3916
  "name": "ready",
3604
3917
  "type": "CustomEvent",
3605
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3918
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3606
3919
  }
3607
3920
  ]
3608
3921
  }
3609
3922
  },
3610
3923
  {
3611
3924
  "name": "pc-sounds",
3612
- "description": "The SoundComponentElement interface provides properties and methods for manipulating\n[`<pc-sounds>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-sounds/) elements.\nThe SoundComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
3925
+ "description": "The SoundComponentElement interface provides properties and methods for manipulating\n[`<pc-sounds>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-sounds/) elements.\nThe SoundComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3613
3926
  "doc-url": "",
3614
3927
  "attributes": [
3615
3928
  {
@@ -3660,11 +3973,21 @@
3660
3973
  {
3661
3974
  "name": "ready",
3662
3975
  "type": "CustomEvent",
3663
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3976
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3664
3977
  }
3665
3978
  ],
3666
3979
  "js": {
3667
3980
  "properties": [
3981
+ {
3982
+ "name": "closestApp",
3983
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3984
+ "type": "AppElement | null"
3985
+ },
3986
+ {
3987
+ "name": "closestEntity",
3988
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3989
+ "type": "EntityBaseElement | null"
3990
+ },
3668
3991
  {
3669
3992
  "name": "component",
3670
3993
  "description": "Gets the underlying PlayCanvas sound component.",
@@ -3675,6 +3998,10 @@
3675
3998
  "description": "Gets which algorithm to use to reduce the volume of the sound as it moves away from the listener.",
3676
3999
  "type": "'exponential' | 'inverse' | 'linear'"
3677
4000
  },
4001
+ {
4002
+ "name": "enabled",
4003
+ "description": "Gets the enabled state of the component."
4004
+ },
3678
4005
  {
3679
4006
  "name": "maxDistance",
3680
4007
  "description": "Gets the maximum distance from the listener at which audio falloff stops."
@@ -3698,34 +4025,20 @@
3698
4025
  {
3699
4026
  "name": "volume",
3700
4027
  "description": "Gets the volume of the sound."
3701
- },
3702
- {
3703
- "name": "enabled",
3704
- "description": "Gets the enabled state of the component."
3705
- },
3706
- {
3707
- "name": "closestApp",
3708
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3709
- "type": "AppElement | null"
3710
- },
3711
- {
3712
- "name": "closestEntity",
3713
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3714
- "type": "EntityElement | null"
3715
4028
  }
3716
4029
  ],
3717
4030
  "events": [
3718
4031
  {
3719
4032
  "name": "ready",
3720
4033
  "type": "CustomEvent",
3721
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
4034
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3722
4035
  }
3723
4036
  ]
3724
4037
  }
3725
4038
  },
3726
4039
  {
3727
4040
  "name": "pc-sound",
3728
- "description": "The SoundSlotElement interface provides properties and methods for manipulating\n`<pc-sound>` elements. The SoundSlotElement interface also inherits the properties and\nmethods of the AsyncElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired once the element is fully initialized. Bubbles and is composed.\n\n### **Methods:**\n \n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.",
4041
+ "description": "The SoundSlotElement interface provides properties and methods for manipulating\n`<pc-sound>` elements. The SoundSlotElement interface also inherits the properties and\nmethods of the AsyncElement interface.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
3729
4042
  "doc-url": "",
3730
4043
  "attributes": [
3731
4044
  {
@@ -3778,16 +4091,11 @@
3778
4091
  {
3779
4092
  "name": "ready",
3780
4093
  "type": "CustomEvent",
3781
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
4094
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3782
4095
  }
3783
4096
  ],
3784
4097
  "js": {
3785
4098
  "properties": [
3786
- {
3787
- "name": "soundSlot",
3788
- "description": "The sound slot.",
3789
- "type": "SoundSlot | null"
3790
- },
3791
4099
  {
3792
4100
  "name": "asset",
3793
4101
  "description": "Gets the id of the `pc-asset` to use for the sound slot."
@@ -3796,6 +4104,16 @@
3796
4104
  "name": "autoPlay",
3797
4105
  "description": "Gets the auto play flag of the sound slot."
3798
4106
  },
4107
+ {
4108
+ "name": "closestApp",
4109
+ "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
4110
+ "type": "AppElement | null"
4111
+ },
4112
+ {
4113
+ "name": "closestEntity",
4114
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4115
+ "type": "EntityBaseElement | null"
4116
+ },
3799
4117
  {
3800
4118
  "name": "duration",
3801
4119
  "description": "Gets the duration of the sound slot.",
@@ -3817,6 +4135,11 @@
3817
4135
  "name": "pitch",
3818
4136
  "description": "Gets the pitch of the sound slot."
3819
4137
  },
4138
+ {
4139
+ "name": "soundSlot",
4140
+ "description": "The sound slot.",
4141
+ "type": "SoundSlot | null"
4142
+ },
3820
4143
  {
3821
4144
  "name": "startTime",
3822
4145
  "description": "Gets the start time of the sound slot."
@@ -3824,23 +4147,13 @@
3824
4147
  {
3825
4148
  "name": "volume",
3826
4149
  "description": "Gets the volume of the sound slot."
3827
- },
3828
- {
3829
- "name": "closestApp",
3830
- "description": "The nearest ancestor `<pc-app>` element, or `null` if this element has no `<pc-app>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3831
- "type": "AppElement | null"
3832
- },
3833
- {
3834
- "name": "closestEntity",
3835
- "description": "The nearest ancestor `<pc-entity>` element, or `null` if this element has no `<pc-entity>`\nancestor. The search starts at the parent, so an element never resolves to itself.",
3836
- "type": "EntityElement | null"
3837
4150
  }
3838
4151
  ],
3839
4152
  "events": [
3840
4153
  {
3841
4154
  "name": "ready",
3842
4155
  "type": "CustomEvent",
3843
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
4156
+ "description": "Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed."
3844
4157
  }
3845
4158
  ]
3846
4159
  }