@playcanvas/web-components 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +1 -1
  2. package/dist/app.d.ts +18 -38
  3. package/dist/asset.d.ts +8 -7
  4. package/dist/async-element.d.ts +21 -5
  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 +3 -7
  8. package/dist/components/component.d.ts +22 -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 +5049 -10696
  26. package/dist/entity.d.ts +5 -11
  27. package/dist/index.d.ts +37 -0
  28. package/dist/material.d.ts +12 -12
  29. package/dist/model.d.ts +21 -5
  30. package/dist/module.d.ts +0 -6
  31. package/dist/parse.d.ts +2 -1
  32. package/dist/pwc.cjs +496 -136
  33. package/dist/pwc.cjs.map +1 -1
  34. package/dist/pwc.js +496 -136
  35. package/dist/pwc.js.map +1 -1
  36. package/dist/pwc.min.js +1 -1
  37. package/dist/pwc.min.js.map +1 -1
  38. package/dist/pwc.min.mjs +1 -1
  39. package/dist/pwc.min.mjs.map +1 -1
  40. package/dist/pwc.mjs +496 -136
  41. package/dist/pwc.mjs.map +1 -1
  42. package/dist/scene.d.ts +4 -7
  43. package/dist/sky.d.ts +13 -5
  44. package/dist/vscode.html-custom-data.json +26 -26
  45. package/dist/web-types.json +545 -536
  46. package/package.json +8 -7
  47. package/src/app.ts +142 -70
  48. package/src/asset.ts +34 -28
  49. package/src/async-element.ts +34 -8
  50. package/src/components/button-component.ts +5 -9
  51. package/src/components/camera-component.ts +24 -10
  52. package/src/components/collision-component.ts +26 -15
  53. package/src/components/component.ts +58 -8
  54. package/src/components/element-component.ts +26 -30
  55. package/src/components/gsplat-component.ts +4 -9
  56. package/src/components/layoutchild-component.ts +4 -9
  57. package/src/components/layoutgroup-component.ts +14 -9
  58. package/src/components/light-component.ts +42 -12
  59. package/src/components/listener-component.ts +1 -7
  60. package/src/components/particlesystem-component.ts +7 -15
  61. package/src/components/render-component.ts +5 -10
  62. package/src/components/rigidbody-component.ts +23 -16
  63. package/src/components/screen-component.ts +5 -9
  64. package/src/components/script-component.ts +108 -46
  65. package/src/components/script.ts +38 -33
  66. package/src/components/scrollbar-component.ts +6 -16
  67. package/src/components/scrollview-component.ts +16 -11
  68. package/src/components/sound-component.ts +10 -15
  69. package/src/components/sound-slot.ts +30 -20
  70. package/src/entity.ts +42 -19
  71. package/src/index.ts +45 -1
  72. package/src/loading-bar.ts +8 -8
  73. package/src/material.ts +63 -37
  74. package/src/model.ts +69 -14
  75. package/src/module.ts +8 -7
  76. package/src/parse.ts +62 -17
  77. package/src/scene.ts +12 -9
  78. package/src/sky.ts +50 -9
@@ -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.11.1",
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>` 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- **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 `<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.",
92
+ "type": "EntityElement | 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,14 +122,14 @@
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\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 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
135
  {
@@ -192,7 +192,7 @@
192
192
  {
193
193
  "name": "ready",
194
194
  "type": "CustomEvent",
195
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
195
+ "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
196
  }
197
197
  ],
198
198
  "js": {
@@ -202,10 +202,6 @@
202
202
  "description": "The asset that is loaded. Available once the element is ready — await\nwhenReady or the element's `ready()` promise before accessing it.",
203
203
  "type": "Asset | null"
204
204
  },
205
- {
206
- "name": "lazy",
207
- "description": "Gets whether the asset should be loaded lazily."
208
- },
209
205
  {
210
206
  "name": "closestApp",
211
207
  "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.",
@@ -215,6 +211,10 @@
215
211
  "name": "closestEntity",
216
212
  "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
213
  "type": "EntityElement | null"
214
+ },
215
+ {
216
+ "name": "lazy",
217
+ "description": "Gets whether the asset should be loaded lazily."
218
218
  }
219
219
  ],
220
220
  "events": [
@@ -231,14 +231,14 @@
231
231
  {
232
232
  "name": "ready",
233
233
  "type": "CustomEvent",
234
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
234
+ "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
235
  }
236
236
  ]
237
237
  }
238
238
  },
239
239
  {
240
240
  "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.",
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 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
242
  "doc-url": "",
243
243
  "attributes": [
244
244
  {
@@ -326,20 +326,30 @@
326
326
  {
327
327
  "name": "ready",
328
328
  "type": "CustomEvent",
329
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
329
+ "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
330
  }
331
331
  ],
332
332
  "js": {
333
333
  "properties": [
334
334
  {
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"
335
+ "name": "closestApp",
336
+ "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.",
337
+ "type": "AppElement | null"
338
+ },
339
+ {
340
+ "name": "closestEntity",
341
+ "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.",
342
+ "type": "EntityElement | null"
338
343
  },
339
344
  {
340
345
  "name": "enabled",
341
346
  "description": "Gets the enabled state of the entity."
342
347
  },
348
+ {
349
+ "name": "entity",
350
+ "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.",
351
+ "type": "Entity | null"
352
+ },
343
353
  { "name": "name", "description": "Gets the name of the entity." },
344
354
  {
345
355
  "name": "position",
@@ -353,17 +363,7 @@
353
363
  "name": "scale",
354
364
  "description": "Gets the scale of the entity."
355
365
  },
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
- }
366
+ { "name": "tags", "description": "Gets the tags of the entity." }
367
367
  ],
368
368
  "events": [
369
369
  {
@@ -394,14 +394,14 @@
394
394
  {
395
395
  "name": "ready",
396
396
  "type": "CustomEvent",
397
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
397
+ "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
398
  }
399
399
  ]
400
400
  }
401
401
  },
402
402
  {
403
403
  "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.",
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 - **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
405
  "doc-url": "",
406
406
  "attributes": [
407
407
  {
@@ -831,7 +831,6 @@
831
831
  "events": [],
832
832
  "js": {
833
833
  "properties": [
834
- { "name": "material", "type": "StandardMaterial | null" },
835
834
  {
836
835
  "name": "alphaTest",
837
836
  "description": "Gets the alpha test reference value."
@@ -1030,6 +1029,11 @@
1030
1029
  "name": "heightMapUv",
1031
1030
  "description": "Gets the UV channel the height map samples."
1032
1031
  },
1032
+ {
1033
+ "name": "material",
1034
+ "description": "The material. `null` until the containing application has created it — an element present\nat startup has its material once the application is ready.",
1035
+ "type": "StandardMaterial | null"
1036
+ },
1033
1037
  {
1034
1038
  "name": "metalness",
1035
1039
  "description": "Gets how metallic the surface is."
@@ -1181,7 +1185,7 @@
1181
1185
  },
1182
1186
  {
1183
1187
  "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.",
1188
+ "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 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
1189
  "doc-url": "",
1186
1190
  "attributes": [
1187
1191
  {
@@ -1194,7 +1198,7 @@
1194
1198
  {
1195
1199
  "name": "ready",
1196
1200
  "type": "CustomEvent",
1197
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1201
+ "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
1202
  }
1199
1203
  ],
1200
1204
  "js": {
@@ -1213,13 +1217,18 @@
1213
1217
  "name": "closestEntity",
1214
1218
  "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
1219
  "type": "EntityElement | null"
1220
+ },
1221
+ {
1222
+ "name": "entity",
1223
+ "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.",
1224
+ "type": "Entity | null"
1216
1225
  }
1217
1226
  ],
1218
1227
  "events": [
1219
1228
  {
1220
1229
  "name": "ready",
1221
1230
  "type": "CustomEvent",
1222
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1231
+ "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
1232
  }
1224
1233
  ]
1225
1234
  }
@@ -1255,7 +1264,7 @@
1255
1264
  },
1256
1265
  {
1257
1266
  "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.",
1267
+ "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.",
1259
1268
  "doc-url": "",
1260
1269
  "attributes": [
1261
1270
  {
@@ -1296,15 +1305,20 @@
1296
1305
  {
1297
1306
  "name": "ready",
1298
1307
  "type": "CustomEvent",
1299
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1308
+ "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
1309
  }
1301
1310
  ],
1302
1311
  "js": {
1303
1312
  "properties": [
1304
1313
  {
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"
1314
+ "name": "closestApp",
1315
+ "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.",
1316
+ "type": "AppElement | null"
1317
+ },
1318
+ {
1319
+ "name": "closestEntity",
1320
+ "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.",
1321
+ "type": "EntityElement | null"
1308
1322
  },
1309
1323
  {
1310
1324
  "name": "fog",
@@ -1318,41 +1332,36 @@
1318
1332
  "name": "fogDensity",
1319
1333
  "description": "Gets the fog density of the scene."
1320
1334
  },
1321
- {
1322
- "name": "fogStart",
1323
- "description": "Gets the fog start distance of the scene."
1324
- },
1325
1335
  {
1326
1336
  "name": "fogEnd",
1327
1337
  "description": "Gets the fog end distance of the scene."
1328
1338
  },
1329
1339
  {
1330
- "name": "gravity",
1331
- "description": "Gets the gravity of the scene."
1340
+ "name": "fogStart",
1341
+ "description": "Gets the fog start distance of the scene."
1332
1342
  },
1333
1343
  {
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"
1344
+ "name": "gravity",
1345
+ "description": "Gets the gravity of the scene."
1337
1346
  },
1338
1347
  {
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"
1348
+ "name": "scene",
1349
+ "description": "The PlayCanvas scene instance. `null` until the element is ready await\nwhenReady or the element's `ready()` promise before accessing it.",
1350
+ "type": "Scene | null"
1342
1351
  }
1343
1352
  ],
1344
1353
  "events": [
1345
1354
  {
1346
1355
  "name": "ready",
1347
1356
  "type": "CustomEvent",
1348
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1357
+ "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."
1349
1358
  }
1350
1359
  ]
1351
1360
  }
1352
1361
  },
1353
1362
  {
1354
1363
  "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.",
1364
+ "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.",
1356
1365
  "doc-url": "",
1357
1366
  "attributes": [
1358
1367
  {
@@ -1403,7 +1412,7 @@
1403
1412
  {
1404
1413
  "name": "ready",
1405
1414
  "type": "CustomEvent",
1406
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1415
+ "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
1416
  }
1408
1417
  ],
1409
1418
  "js": {
@@ -1416,6 +1425,16 @@
1416
1425
  "name": "center",
1417
1426
  "description": "Gets the center of the skybox."
1418
1427
  },
1428
+ {
1429
+ "name": "closestApp",
1430
+ "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.",
1431
+ "type": "AppElement | null"
1432
+ },
1433
+ {
1434
+ "name": "closestEntity",
1435
+ "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.",
1436
+ "type": "EntityElement | null"
1437
+ },
1419
1438
  {
1420
1439
  "name": "intensity",
1421
1440
  "description": "Gets the intensity of the skybox."
@@ -1436,30 +1455,20 @@
1436
1455
  "name": "scale",
1437
1456
  "description": "Gets the scale of the skybox."
1438
1457
  },
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
- }
1458
+ { "name": "type", "description": "Gets the type of the skybox." }
1450
1459
  ],
1451
1460
  "events": [
1452
1461
  {
1453
1462
  "name": "ready",
1454
1463
  "type": "CustomEvent",
1455
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1464
+ "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
1465
  }
1457
1466
  ]
1458
1467
  }
1459
1468
  },
1460
1469
  {
1461
1470
  "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.",
1471
+ "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
1472
  "doc-url": "",
1464
1473
  "attributes": [
1465
1474
  {
@@ -1542,48 +1551,42 @@
1542
1551
  {
1543
1552
  "name": "ready",
1544
1553
  "type": "CustomEvent",
1545
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1554
+ "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
1555
  }
1547
1556
  ],
1548
1557
  "js": {
1549
1558
  "properties": [
1550
- {
1551
- "name": "component",
1552
- "description": "Gets the underlying PlayCanvas button component.",
1553
- "type": "Component | null"
1554
- },
1555
1559
  {
1556
1560
  "name": "active",
1557
1561
  "description": "Gets whether the button is active."
1558
1562
  },
1559
1563
  {
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."
1564
+ "name": "closestApp",
1565
+ "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.",
1566
+ "type": "AppElement | null"
1570
1567
  },
1571
1568
  {
1572
- "name": "hoverTint",
1573
- "description": "Gets the hover tint color."
1569
+ "name": "closestEntity",
1570
+ "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.",
1571
+ "type": "EntityElement | null"
1574
1572
  },
1575
1573
  {
1576
- "name": "pressedTint",
1577
- "description": "Gets the pressed tint color."
1574
+ "name": "component",
1575
+ "description": "Gets the underlying PlayCanvas button component.",
1576
+ "type": "Component | null"
1578
1577
  },
1579
1578
  {
1580
- "name": "inactiveTint",
1581
- "description": "Gets the inactive tint color."
1579
+ "name": "enabled",
1580
+ "description": "Gets the enabled state of the component."
1582
1581
  },
1583
1582
  {
1584
1583
  "name": "fadeDuration",
1585
1584
  "description": "Gets the duration over which tint transitions are applied."
1586
1585
  },
1586
+ {
1587
+ "name": "hitPadding",
1588
+ "description": "Gets the padding used to expand the button's hit area."
1589
+ },
1587
1590
  {
1588
1591
  "name": "hoverSpriteAsset",
1589
1592
  "description": "Gets the id of the `pc-asset` sprite shown when the button is hovered."
@@ -1593,12 +1596,12 @@
1593
1596
  "description": "Gets the frame of the hover sprite to show."
1594
1597
  },
1595
1598
  {
1596
- "name": "pressedSpriteAsset",
1597
- "description": "Gets the id of the `pc-asset` sprite shown when the button is pressed."
1599
+ "name": "hoverTint",
1600
+ "description": "Gets the hover tint color."
1598
1601
  },
1599
1602
  {
1600
- "name": "pressedSpriteFrame",
1601
- "description": "Gets the frame of the pressed sprite to show."
1603
+ "name": "image",
1604
+ "description": "Gets the reference to the `<pc-entity>` whose image element is used for visual transitions."
1602
1605
  },
1603
1606
  {
1604
1607
  "name": "inactiveSpriteAsset",
@@ -1609,32 +1612,38 @@
1609
1612
  "description": "Gets the frame of the inactive sprite to show."
1610
1613
  },
1611
1614
  {
1612
- "name": "enabled",
1613
- "description": "Gets the enabled state of the component."
1615
+ "name": "inactiveTint",
1616
+ "description": "Gets the inactive tint color."
1614
1617
  },
1615
1618
  {
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"
1619
+ "name": "pressedSpriteAsset",
1620
+ "description": "Gets the id of the `pc-asset` sprite shown when the button is pressed."
1619
1621
  },
1620
1622
  {
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"
1623
+ "name": "pressedSpriteFrame",
1624
+ "description": "Gets the frame of the pressed sprite to show."
1625
+ },
1626
+ {
1627
+ "name": "pressedTint",
1628
+ "description": "Gets the pressed tint color."
1629
+ },
1630
+ {
1631
+ "name": "transitionMode",
1632
+ "description": "Gets how the button reacts to being hovered/pressed."
1624
1633
  }
1625
1634
  ],
1626
1635
  "events": [
1627
1636
  {
1628
1637
  "name": "ready",
1629
1638
  "type": "CustomEvent",
1630
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1639
+ "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
1640
  }
1632
1641
  ]
1633
1642
  }
1634
1643
  },
1635
1644
  {
1636
1645
  "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.",
1646
+ "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
1647
  "doc-url": "",
1639
1648
  "attributes": [
1640
1649
  {
@@ -1743,17 +1752,11 @@
1743
1752
  {
1744
1753
  "name": "ready",
1745
1754
  "type": "CustomEvent",
1746
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1755
+ "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
1756
  }
1748
1757
  ],
1749
1758
  "js": {
1750
1759
  "properties": [
1751
- { "name": "xrAvailable" },
1752
- {
1753
- "name": "component",
1754
- "description": "Gets the underlying PlayCanvas camera component.",
1755
- "type": "Component | null"
1756
- },
1757
1760
  {
1758
1761
  "name": "clearColor",
1759
1762
  "description": "Gets the clear color of the camera.",
@@ -1774,11 +1777,30 @@
1774
1777
  "description": "Gets the clear stencil buffer of the camera.",
1775
1778
  "type": "boolean"
1776
1779
  },
1780
+ {
1781
+ "name": "closestApp",
1782
+ "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.",
1783
+ "type": "AppElement | null"
1784
+ },
1785
+ {
1786
+ "name": "closestEntity",
1787
+ "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.",
1788
+ "type": "EntityElement | null"
1789
+ },
1790
+ {
1791
+ "name": "component",
1792
+ "description": "Gets the underlying PlayCanvas camera component.",
1793
+ "type": "Component | null"
1794
+ },
1777
1795
  {
1778
1796
  "name": "cullFaces",
1779
1797
  "description": "Gets the cull faces of the camera.",
1780
1798
  "type": "boolean"
1781
1799
  },
1800
+ {
1801
+ "name": "enabled",
1802
+ "description": "Gets the enabled state of the component."
1803
+ },
1782
1804
  {
1783
1805
  "name": "farClip",
1784
1806
  "description": "Gets the far clip distance of the camera.",
@@ -1842,33 +1864,20 @@
1842
1864
  "description": "Gets the tone mapping of the camera.",
1843
1865
  "type": "'none' | 'linear' | 'filmic' | 'hejl' | 'aces' | 'aces2' | 'neutral'"
1844
1866
  },
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
- }
1867
+ { "name": "xrAvailable" }
1859
1868
  ],
1860
1869
  "events": [
1861
1870
  {
1862
1871
  "name": "ready",
1863
1872
  "type": "CustomEvent",
1864
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1873
+ "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
1874
  }
1866
1875
  ]
1867
1876
  }
1868
1877
  },
1869
1878
  {
1870
1879
  "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.",
1880
+ "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 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
1881
  "doc-url": "",
1873
1882
  "attributes": [
1874
1883
  {
@@ -1913,28 +1922,13 @@
1913
1922
  {
1914
1923
  "name": "ready",
1915
1924
  "type": "CustomEvent",
1916
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1925
+ "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
1926
  }
1918
1927
  ],
1919
1928
  "js": {
1920
1929
  "properties": [
1921
- {
1922
- "name": "component",
1923
- "description": "Gets the underlying PlayCanvas collision component.",
1924
- "type": "Component | null"
1925
- },
1926
1930
  { "name": "angularOffset" },
1927
1931
  { "name": "axis" },
1928
- { "name": "convexHull" },
1929
- { "name": "halfExtents" },
1930
- { "name": "height" },
1931
- { "name": "linearOffset" },
1932
- { "name": "radius" },
1933
- { "name": "type" },
1934
- {
1935
- "name": "enabled",
1936
- "description": "Gets the enabled state of the component."
1937
- },
1938
1932
  {
1939
1933
  "name": "closestApp",
1940
1934
  "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.",
@@ -1944,20 +1938,35 @@
1944
1938
  "name": "closestEntity",
1945
1939
  "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
1940
  "type": "EntityElement | null"
1947
- }
1948
- ],
1949
- "events": [
1941
+ },
1950
1942
  {
1951
- "name": "ready",
1952
- "type": "CustomEvent",
1953
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
1954
- }
1943
+ "name": "component",
1944
+ "description": "Gets the underlying PlayCanvas collision component.",
1945
+ "type": "Component | null"
1946
+ },
1947
+ { "name": "convexHull" },
1948
+ {
1949
+ "name": "enabled",
1950
+ "description": "Gets the enabled state of the component."
1951
+ },
1952
+ { "name": "halfExtents" },
1953
+ { "name": "height" },
1954
+ { "name": "linearOffset" },
1955
+ { "name": "radius" },
1956
+ { "name": "type" }
1957
+ ],
1958
+ "events": [
1959
+ {
1960
+ "name": "ready",
1961
+ "type": "CustomEvent",
1962
+ "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."
1963
+ }
1955
1964
  ]
1956
1965
  }
1957
1966
  },
1958
1967
  {
1959
1968
  "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.",
1969
+ "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
1970
  "doc-url": "",
1962
1971
  "attributes": [
1963
1972
  {
@@ -2103,32 +2112,54 @@
2103
2112
  {
2104
2113
  "name": "ready",
2105
2114
  "type": "CustomEvent",
2106
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2115
+ "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
2116
  }
2108
2117
  ],
2109
2118
  "js": {
2110
2119
  "properties": [
2111
- {
2112
- "name": "component",
2113
- "description": "Gets the underlying PlayCanvas element component.",
2114
- "type": "Component | null"
2115
- },
2116
2120
  {
2117
2121
  "name": "anchor",
2118
2122
  "description": "Gets the anchor of the element component."
2119
2123
  },
2120
2124
  {
2121
- "name": "autoWidth",
2122
- "description": "Gets whether the element component should automatically adjust its width."
2125
+ "name": "autoFitHeight",
2126
+ "description": "Gets whether a text element automatically reduces its font size to fit its height."
2127
+ },
2128
+ {
2129
+ "name": "autoFitWidth",
2130
+ "description": "Gets whether a text element automatically reduces its font size to fit its width."
2123
2131
  },
2124
2132
  {
2125
2133
  "name": "autoHeight",
2126
2134
  "description": "Gets whether the element component should automatically adjust its height."
2127
2135
  },
2136
+ {
2137
+ "name": "autoWidth",
2138
+ "description": "Gets whether the element component should automatically adjust its width."
2139
+ },
2140
+ {
2141
+ "name": "closestApp",
2142
+ "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.",
2143
+ "type": "AppElement | null"
2144
+ },
2145
+ {
2146
+ "name": "closestEntity",
2147
+ "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.",
2148
+ "type": "EntityElement | null"
2149
+ },
2128
2150
  {
2129
2151
  "name": "color",
2130
2152
  "description": "Gets the color of the element component."
2131
2153
  },
2154
+ {
2155
+ "name": "component",
2156
+ "description": "Gets the underlying PlayCanvas element component.",
2157
+ "type": "Component | null"
2158
+ },
2159
+ {
2160
+ "name": "enabled",
2161
+ "description": "Gets the enabled state of the component."
2162
+ },
2132
2163
  {
2133
2164
  "name": "enableMarkup",
2134
2165
  "description": "Gets whether the element component should use markup."
@@ -2157,6 +2188,14 @@
2157
2188
  "name": "mask",
2158
2189
  "description": "Gets whether the element component is a mask."
2159
2190
  },
2191
+ {
2192
+ "name": "maxFontSize",
2193
+ "description": "Gets the largest font size a text element may use when auto-fitting."
2194
+ },
2195
+ {
2196
+ "name": "minFontSize",
2197
+ "description": "Gets the smallest font size a text element may use when auto-fitting."
2198
+ },
2160
2199
  {
2161
2200
  "name": "opacity",
2162
2201
  "description": "Gets the opacity of the element component."
@@ -2201,50 +2240,20 @@
2201
2240
  {
2202
2241
  "name": "wrapLines",
2203
2242
  "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."
2216
- },
2217
- {
2218
- "name": "maxFontSize",
2219
- "description": "Gets the largest font size a text element may use when auto-fitting."
2220
- },
2221
- {
2222
- "name": "enabled",
2223
- "description": "Gets the enabled state of the component."
2224
- },
2225
- {
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"
2229
- },
2230
- {
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"
2234
2243
  }
2235
2244
  ],
2236
2245
  "events": [
2237
2246
  {
2238
2247
  "name": "ready",
2239
2248
  "type": "CustomEvent",
2240
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2249
+ "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
2250
  }
2242
2251
  ]
2243
2252
  }
2244
2253
  },
2245
2254
  {
2246
2255
  "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.",
2256
+ "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
2257
  "doc-url": "",
2249
2258
  "attributes": [
2250
2259
  {
@@ -2287,16 +2296,11 @@
2287
2296
  {
2288
2297
  "name": "ready",
2289
2298
  "type": "CustomEvent",
2290
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2299
+ "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
2300
  }
2292
2301
  ],
2293
2302
  "js": {
2294
2303
  "properties": [
2295
- {
2296
- "name": "component",
2297
- "description": "Gets the underlying PlayCanvas gsplat component.",
2298
- "type": "Component | null"
2299
- },
2300
2304
  {
2301
2305
  "name": "asset",
2302
2306
  "description": "Gets the id of the `pc-asset` to use for the splat."
@@ -2306,48 +2310,53 @@
2306
2310
  "description": "Gets whether the splat casts shadows."
2307
2311
  },
2308
2312
  {
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."
2313
+ "name": "closestApp",
2314
+ "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.",
2315
+ "type": "AppElement | null"
2315
2316
  },
2316
2317
  {
2317
- "name": "lodRangeMin",
2318
- "description": "Gets the minimum allowed LOD index."
2318
+ "name": "closestEntity",
2319
+ "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.",
2320
+ "type": "EntityElement | null"
2319
2321
  },
2320
2322
  {
2321
- "name": "lodRangeMax",
2322
- "description": "Gets the maximum allowed LOD index."
2323
+ "name": "component",
2324
+ "description": "Gets the underlying PlayCanvas gsplat component.",
2325
+ "type": "Component | null"
2323
2326
  },
2324
2327
  {
2325
2328
  "name": "enabled",
2326
2329
  "description": "Gets the enabled state of the component."
2327
2330
  },
2328
2331
  {
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"
2332
+ "name": "lodBaseDistance",
2333
+ "description": "Gets the base distance for the first LOD transition."
2332
2334
  },
2333
2335
  {
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"
2336
+ "name": "lodMultiplier",
2337
+ "description": "Gets the multiplier between successive LOD distance thresholds."
2338
+ },
2339
+ {
2340
+ "name": "lodRangeMax",
2341
+ "description": "Gets the maximum allowed LOD index."
2342
+ },
2343
+ {
2344
+ "name": "lodRangeMin",
2345
+ "description": "Gets the minimum allowed LOD index."
2337
2346
  }
2338
2347
  ],
2339
2348
  "events": [
2340
2349
  {
2341
2350
  "name": "ready",
2342
2351
  "type": "CustomEvent",
2343
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2352
+ "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
2353
  }
2345
2354
  ]
2346
2355
  }
2347
2356
  },
2348
2357
  {
2349
2358
  "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.",
2359
+ "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
2360
  "doc-url": "",
2352
2361
  "attributes": [
2353
2362
  {
@@ -2395,71 +2404,71 @@
2395
2404
  {
2396
2405
  "name": "ready",
2397
2406
  "type": "CustomEvent",
2398
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2407
+ "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
2408
  }
2400
2409
  ],
2401
2410
  "js": {
2402
2411
  "properties": [
2412
+ {
2413
+ "name": "closestApp",
2414
+ "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.",
2415
+ "type": "AppElement | null"
2416
+ },
2417
+ {
2418
+ "name": "closestEntity",
2419
+ "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.",
2420
+ "type": "EntityElement | null"
2421
+ },
2403
2422
  {
2404
2423
  "name": "component",
2405
2424
  "description": "Gets the underlying PlayCanvas layout child component.",
2406
2425
  "type": "Component | null"
2407
2426
  },
2408
2427
  {
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."
2428
+ "name": "enabled",
2429
+ "description": "Gets the enabled state of the component."
2415
2430
  },
2416
2431
  {
2417
- "name": "maxWidth",
2418
- "description": "Gets the maximum width the element should be laid out with."
2432
+ "name": "excludeFromLayout",
2433
+ "description": "Gets whether the element is excluded from the layout."
2419
2434
  },
2420
2435
  {
2421
- "name": "maxHeight",
2422
- "description": "Gets the maximum height the element should be laid out with."
2436
+ "name": "fitHeightProportion",
2437
+ "description": "Gets the proportion of the container's spare height this element should take."
2423
2438
  },
2424
2439
  {
2425
2440
  "name": "fitWidthProportion",
2426
2441
  "description": "Gets the proportion of the container's spare width this element should take."
2427
2442
  },
2428
2443
  {
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."
2444
+ "name": "maxHeight",
2445
+ "description": "Gets the maximum height the element should be laid out with."
2435
2446
  },
2436
2447
  {
2437
- "name": "enabled",
2438
- "description": "Gets the enabled state of the component."
2448
+ "name": "maxWidth",
2449
+ "description": "Gets the maximum width the element should be laid out with."
2439
2450
  },
2440
2451
  {
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"
2452
+ "name": "minHeight",
2453
+ "description": "Gets the minimum height the element should be laid out with."
2444
2454
  },
2445
2455
  {
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"
2456
+ "name": "minWidth",
2457
+ "description": "Gets the minimum width the element should be laid out with."
2449
2458
  }
2450
2459
  ],
2451
2460
  "events": [
2452
2461
  {
2453
2462
  "name": "ready",
2454
2463
  "type": "CustomEvent",
2455
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2464
+ "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
2465
  }
2457
2466
  ]
2458
2467
  }
2459
2468
  },
2460
2469
  {
2461
2470
  "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.",
2471
+ "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
2472
  "doc-url": "",
2464
2473
  "attributes": [
2465
2474
  {
@@ -2526,20 +2535,46 @@
2526
2535
  {
2527
2536
  "name": "ready",
2528
2537
  "type": "CustomEvent",
2529
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2538
+ "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
2539
  }
2531
2540
  ],
2532
2541
  "js": {
2533
2542
  "properties": [
2543
+ {
2544
+ "name": "alignment",
2545
+ "description": "Gets the alignment of the child elements."
2546
+ },
2547
+ {
2548
+ "name": "closestApp",
2549
+ "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.",
2550
+ "type": "AppElement | null"
2551
+ },
2552
+ {
2553
+ "name": "closestEntity",
2554
+ "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.",
2555
+ "type": "EntityElement | null"
2556
+ },
2534
2557
  {
2535
2558
  "name": "component",
2536
2559
  "description": "Gets the underlying PlayCanvas layout group component.",
2537
2560
  "type": "Component | null"
2538
2561
  },
2562
+ {
2563
+ "name": "enabled",
2564
+ "description": "Gets the enabled state of the component."
2565
+ },
2566
+ {
2567
+ "name": "heightFitting",
2568
+ "description": "Gets the fitting mode along the vertical axis."
2569
+ },
2539
2570
  {
2540
2571
  "name": "orientation",
2541
2572
  "description": "Gets the orientation of the layout group."
2542
2573
  },
2574
+ {
2575
+ "name": "padding",
2576
+ "description": "Gets the padding around the layout group."
2577
+ },
2543
2578
  {
2544
2579
  "name": "reverseX",
2545
2580
  "description": "Gets whether the order of children is reversed along the horizontal axis."
@@ -2548,14 +2583,6 @@
2548
2583
  "name": "reverseY",
2549
2584
  "description": "Gets whether the order of children is reversed along the vertical axis."
2550
2585
  },
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
2586
  {
2560
2587
  "name": "spacing",
2561
2588
  "description": "Gets the spacing between child elements."
@@ -2564,41 +2591,23 @@
2564
2591
  "name": "widthFitting",
2565
2592
  "description": "Gets the fitting mode along the horizontal axis."
2566
2593
  },
2567
- {
2568
- "name": "heightFitting",
2569
- "description": "Gets the fitting mode along the vertical axis."
2570
- },
2571
2594
  {
2572
2595
  "name": "wrap",
2573
2596
  "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
2597
  }
2589
2598
  ],
2590
2599
  "events": [
2591
2600
  {
2592
2601
  "name": "ready",
2593
2602
  "type": "CustomEvent",
2594
- "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."
2595
2604
  }
2596
2605
  ]
2597
2606
  }
2598
2607
  },
2599
2608
  {
2600
2609
  "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.",
2610
+ "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
2611
  "doc-url": "",
2603
2612
  "attributes": [
2604
2613
  {
@@ -2712,40 +2721,62 @@
2712
2721
  {
2713
2722
  "name": "ready",
2714
2723
  "type": "CustomEvent",
2715
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2724
+ "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
2725
  }
2717
2726
  ],
2718
2727
  "js": {
2719
2728
  "properties": [
2720
- {
2721
- "name": "component",
2722
- "description": "Gets the underlying PlayCanvas light component.",
2723
- "type": "Component | null"
2724
- },
2725
2729
  {
2726
2730
  "name": "castShadows",
2727
2731
  "description": "Gets the cast shadows flag of the light."
2728
2732
  },
2729
2733
  {
2730
- "name": "color",
2731
- "description": "Gets the color of the light."
2734
+ "name": "closestApp",
2735
+ "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.",
2736
+ "type": "AppElement | null"
2732
2737
  },
2733
2738
  {
2734
- "name": "innerConeAngle",
2735
- "description": "Gets the inner cone angle of the light."
2739
+ "name": "closestEntity",
2740
+ "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.",
2741
+ "type": "EntityElement | null"
2736
2742
  },
2737
2743
  {
2738
- "name": "intensity",
2739
- "description": "Gets the intensity of the light."
2744
+ "name": "color",
2745
+ "description": "Gets the color of the light."
2740
2746
  },
2741
2747
  {
2742
- "name": "normalOffsetBias",
2743
- "description": "Gets the normal offset bias of the light."
2748
+ "name": "component",
2749
+ "description": "Gets the underlying PlayCanvas light component.",
2750
+ "type": "Component | null"
2751
+ },
2752
+ {
2753
+ "name": "enabled",
2754
+ "description": "Gets the enabled state of the component."
2755
+ },
2756
+ {
2757
+ "name": "innerConeAngle",
2758
+ "description": "Gets the inner cone angle of the light."
2759
+ },
2760
+ {
2761
+ "name": "intensity",
2762
+ "description": "Gets the intensity of the light."
2763
+ },
2764
+ {
2765
+ "name": "normalOffsetBias",
2766
+ "description": "Gets the normal offset bias of the light."
2744
2767
  },
2745
2768
  {
2746
2769
  "name": "outerConeAngle",
2747
2770
  "description": "Gets the outer cone angle of the light."
2748
2771
  },
2772
+ {
2773
+ "name": "penumbraFalloff",
2774
+ "description": "Gets the penumbra falloff of the light."
2775
+ },
2776
+ {
2777
+ "name": "penumbraSize",
2778
+ "description": "Gets the penumbra size of the light."
2779
+ },
2749
2780
  {
2750
2781
  "name": "range",
2751
2782
  "description": "Gets the range of the light."
@@ -2754,6 +2785,10 @@
2754
2785
  "name": "shadowBias",
2755
2786
  "description": "Gets the shadow bias of the light."
2756
2787
  },
2788
+ {
2789
+ "name": "shadowBlockerSamples",
2790
+ "description": "Gets the number of shadow blocker samples."
2791
+ },
2757
2792
  {
2758
2793
  "name": "shadowDistance",
2759
2794
  "description": "Gets the shadow distance of the light."
@@ -2766,6 +2801,10 @@
2766
2801
  "name": "shadowResolution",
2767
2802
  "description": "Gets the shadow resolution of the light."
2768
2803
  },
2804
+ {
2805
+ "name": "shadowSamples",
2806
+ "description": "Gets the number of shadow samples."
2807
+ },
2769
2808
  {
2770
2809
  "name": "shadowType",
2771
2810
  "description": "Gets the shadow type of the light."
@@ -2778,50 +2817,20 @@
2778
2817
  {
2779
2818
  "name": "vsmBlurSize",
2780
2819
  "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
2820
  }
2812
2821
  ],
2813
2822
  "events": [
2814
2823
  {
2815
2824
  "name": "ready",
2816
2825
  "type": "CustomEvent",
2817
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2826
+ "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
2827
  }
2819
2828
  ]
2820
2829
  }
2821
2830
  },
2822
2831
  {
2823
2832
  "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.",
2833
+ "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
2834
  "doc-url": "",
2826
2835
  "attributes": [
2827
2836
  {
@@ -2834,20 +2843,11 @@
2834
2843
  {
2835
2844
  "name": "ready",
2836
2845
  "type": "CustomEvent",
2837
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2846
+ "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
2847
  }
2839
2848
  ],
2840
2849
  "js": {
2841
2850
  "properties": [
2842
- {
2843
- "name": "component",
2844
- "description": "Gets the underlying PlayCanvas audio listener component.",
2845
- "type": "Component | null"
2846
- },
2847
- {
2848
- "name": "enabled",
2849
- "description": "Gets the enabled state of the component."
2850
- },
2851
2851
  {
2852
2852
  "name": "closestApp",
2853
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.",
@@ -2857,20 +2857,29 @@
2857
2857
  "name": "closestEntity",
2858
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
2859
  "type": "EntityElement | null"
2860
+ },
2861
+ {
2862
+ "name": "component",
2863
+ "description": "Gets the underlying PlayCanvas audio listener component.",
2864
+ "type": "Component | null"
2865
+ },
2866
+ {
2867
+ "name": "enabled",
2868
+ "description": "Gets the enabled state of the component."
2860
2869
  }
2861
2870
  ],
2862
2871
  "events": [
2863
2872
  {
2864
2873
  "name": "ready",
2865
2874
  "type": "CustomEvent",
2866
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2875
+ "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
2876
  }
2868
2877
  ]
2869
2878
  }
2870
2879
  },
2871
2880
  {
2872
2881
  "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.",
2882
+ "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
2883
  "doc-url": "",
2875
2884
  "attributes": [
2876
2885
  {
@@ -2888,25 +2897,16 @@
2888
2897
  {
2889
2898
  "name": "ready",
2890
2899
  "type": "CustomEvent",
2891
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2900
+ "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
2901
  }
2893
2902
  ],
2894
2903
  "js": {
2895
2904
  "properties": [
2896
- {
2897
- "name": "component",
2898
- "description": "Gets the underlying PlayCanvas particle system component.",
2899
- "type": "Component | null"
2900
- },
2901
2905
  {
2902
2906
  "name": "asset",
2903
2907
  "description": "Gets the id of the `pc-asset` to use for the model.",
2904
2908
  "type": "string"
2905
2909
  },
2906
- {
2907
- "name": "enabled",
2908
- "description": "Gets the enabled state of the component."
2909
- },
2910
2910
  {
2911
2911
  "name": "closestApp",
2912
2912
  "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.",
@@ -2916,20 +2916,29 @@
2916
2916
  "name": "closestEntity",
2917
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
2918
  "type": "EntityElement | null"
2919
+ },
2920
+ {
2921
+ "name": "component",
2922
+ "description": "Gets the underlying PlayCanvas particle system component.",
2923
+ "type": "Component | null"
2924
+ },
2925
+ {
2926
+ "name": "enabled",
2927
+ "description": "Gets the enabled state of the component."
2919
2928
  }
2920
2929
  ],
2921
2930
  "events": [
2922
2931
  {
2923
2932
  "name": "ready",
2924
2933
  "type": "CustomEvent",
2925
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2934
+ "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
2935
  }
2927
2936
  ]
2928
2937
  }
2929
2938
  },
2930
2939
  {
2931
2940
  "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.",
2941
+ "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
2942
  "doc-url": "",
2934
2943
  "attributes": [
2935
2944
  {
@@ -2965,25 +2974,34 @@
2965
2974
  {
2966
2975
  "name": "ready",
2967
2976
  "type": "CustomEvent",
2968
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
2977
+ "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
2978
  }
2970
2979
  ],
2971
2980
  "js": {
2972
2981
  "properties": [
2982
+ {
2983
+ "name": "castShadows",
2984
+ "description": "Gets the cast shadows flag of the render component.",
2985
+ "type": "boolean"
2986
+ },
2987
+ {
2988
+ "name": "closestApp",
2989
+ "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.",
2990
+ "type": "AppElement | null"
2991
+ },
2992
+ {
2993
+ "name": "closestEntity",
2994
+ "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.",
2995
+ "type": "EntityElement | null"
2996
+ },
2973
2997
  {
2974
2998
  "name": "component",
2975
2999
  "description": "Gets the underlying PlayCanvas render component.",
2976
3000
  "type": "Component | null"
2977
3001
  },
2978
3002
  {
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"
3003
+ "name": "enabled",
3004
+ "description": "Gets the enabled state of the component."
2987
3005
  },
2988
3006
  {
2989
3007
  "name": "material",
@@ -2995,32 +3013,23 @@
2995
3013
  "type": "boolean"
2996
3014
  },
2997
3015
  {
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"
3016
+ "name": "type",
3017
+ "description": "Gets the type of the render component.",
3018
+ "type": "'box' | 'capsule' | 'cone' | 'cylinder' | 'plane' | 'sphere'"
3010
3019
  }
3011
3020
  ],
3012
3021
  "events": [
3013
3022
  {
3014
3023
  "name": "ready",
3015
3024
  "type": "CustomEvent",
3016
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3025
+ "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
3026
  }
3018
3027
  ]
3019
3028
  }
3020
3029
  },
3021
3030
  {
3022
3031
  "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.",
3032
+ "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
3033
  "doc-url": "",
3025
3034
  "attributes": [
3026
3035
  {
@@ -3071,29 +3080,13 @@
3071
3080
  {
3072
3081
  "name": "ready",
3073
3082
  "type": "CustomEvent",
3074
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3083
+ "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
3084
  }
3076
3085
  ],
3077
3086
  "js": {
3078
3087
  "properties": [
3079
- {
3080
- "name": "component",
3081
- "description": "Gets the underlying PlayCanvas rigidbody component.",
3082
- "type": "Component | null"
3083
- },
3084
3088
  { "name": "angularDamping" },
3085
3089
  { "name": "angularFactor" },
3086
- { "name": "friction" },
3087
- { "name": "linearDamping" },
3088
- { "name": "linearFactor" },
3089
- { "name": "mass" },
3090
- { "name": "restitution" },
3091
- { "name": "rollingFriction" },
3092
- { "name": "type" },
3093
- {
3094
- "name": "enabled",
3095
- "description": "Gets the enabled state of the component."
3096
- },
3097
3090
  {
3098
3091
  "name": "closestApp",
3099
3092
  "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.",
@@ -3103,20 +3096,36 @@
3103
3096
  "name": "closestEntity",
3104
3097
  "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
3098
  "type": "EntityElement | null"
3106
- }
3099
+ },
3100
+ {
3101
+ "name": "component",
3102
+ "description": "Gets the underlying PlayCanvas rigidbody component.",
3103
+ "type": "Component | null"
3104
+ },
3105
+ {
3106
+ "name": "enabled",
3107
+ "description": "Gets the enabled state of the component."
3108
+ },
3109
+ { "name": "friction" },
3110
+ { "name": "linearDamping" },
3111
+ { "name": "linearFactor" },
3112
+ { "name": "mass" },
3113
+ { "name": "restitution" },
3114
+ { "name": "rollingFriction" },
3115
+ { "name": "type" }
3107
3116
  ],
3108
3117
  "events": [
3109
3118
  {
3110
3119
  "name": "ready",
3111
3120
  "type": "CustomEvent",
3112
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3121
+ "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
3122
  }
3114
3123
  ]
3115
3124
  }
3116
3125
  },
3117
3126
  {
3118
3127
  "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.",
3128
+ "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
3129
  "doc-url": "",
3121
3130
  "attributes": [
3122
3131
  {
@@ -3157,16 +3166,30 @@
3157
3166
  {
3158
3167
  "name": "ready",
3159
3168
  "type": "CustomEvent",
3160
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3169
+ "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
3170
  }
3162
3171
  ],
3163
3172
  "js": {
3164
3173
  "properties": [
3174
+ {
3175
+ "name": "closestApp",
3176
+ "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.",
3177
+ "type": "AppElement | null"
3178
+ },
3179
+ {
3180
+ "name": "closestEntity",
3181
+ "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.",
3182
+ "type": "EntityElement | null"
3183
+ },
3165
3184
  {
3166
3185
  "name": "component",
3167
3186
  "description": "Gets the underlying PlayCanvas screen component.",
3168
3187
  "type": "Component | null"
3169
3188
  },
3189
+ {
3190
+ "name": "enabled",
3191
+ "description": "Gets the enabled state of the component."
3192
+ },
3170
3193
  { "name": "priority" },
3171
3194
  { "name": "referenceResolution" },
3172
3195
  { "name": "resolution" },
@@ -3178,34 +3201,20 @@
3178
3201
  "name": "scaleMode",
3179
3202
  "description": "Gets how the screen scales its contents."
3180
3203
  },
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
- }
3204
+ { "name": "screenSpace" }
3196
3205
  ],
3197
3206
  "events": [
3198
3207
  {
3199
3208
  "name": "ready",
3200
3209
  "type": "CustomEvent",
3201
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3210
+ "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
3211
  }
3203
3212
  ]
3204
3213
  }
3205
3214
  },
3206
3215
  {
3207
3216
  "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.",
3217
+ "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
3218
  "doc-url": "",
3210
3219
  "attributes": [
3211
3220
  {
@@ -3218,20 +3227,11 @@
3218
3227
  {
3219
3228
  "name": "ready",
3220
3229
  "type": "CustomEvent",
3221
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3230
+ "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
3231
  }
3223
3232
  ],
3224
3233
  "js": {
3225
3234
  "properties": [
3226
- {
3227
- "name": "component",
3228
- "description": "Gets the underlying PlayCanvas script component.",
3229
- "type": "Component | null"
3230
- },
3231
- {
3232
- "name": "enabled",
3233
- "description": "Gets the enabled state of the component."
3234
- },
3235
3235
  {
3236
3236
  "name": "closestApp",
3237
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.",
@@ -3241,20 +3241,29 @@
3241
3241
  "name": "closestEntity",
3242
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
3243
  "type": "EntityElement | null"
3244
+ },
3245
+ {
3246
+ "name": "component",
3247
+ "description": "Gets the underlying PlayCanvas script component.",
3248
+ "type": "Component | null"
3249
+ },
3250
+ {
3251
+ "name": "enabled",
3252
+ "description": "Gets the enabled state of the component."
3244
3253
  }
3245
3254
  ],
3246
3255
  "events": [
3247
3256
  {
3248
3257
  "name": "ready",
3249
3258
  "type": "CustomEvent",
3250
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3259
+ "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
3260
  }
3252
3261
  ]
3253
3262
  }
3254
3263
  },
3255
3264
  {
3256
3265
  "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.",
3266
+ "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
3267
  "doc-url": "",
3259
3268
  "attributes": [
3260
3269
  {
@@ -3277,7 +3286,7 @@
3277
3286
  {
3278
3287
  "name": "ready",
3279
3288
  "type": "CustomEvent",
3280
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3289
+ "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
3290
  },
3282
3291
  {
3283
3292
  "name": "scriptattributeschange",
@@ -3298,9 +3307,14 @@
3298
3307
  "js": {
3299
3308
  "properties": [
3300
3309
  {
3301
- "name": "scriptAttributes",
3302
- "description": "Gets the attributes of the script.",
3303
- "type": "Record<string, any>"
3310
+ "name": "closestApp",
3311
+ "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.",
3312
+ "type": "AppElement | null"
3313
+ },
3314
+ {
3315
+ "name": "closestEntity",
3316
+ "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.",
3317
+ "type": "EntityElement | null"
3304
3318
  },
3305
3319
  {
3306
3320
  "name": "enabled",
@@ -3313,21 +3327,16 @@
3313
3327
  "type": "Script | null"
3314
3328
  },
3315
3329
  {
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"
3330
+ "name": "scriptAttributes",
3331
+ "description": "Gets the attributes of the script.",
3332
+ "type": "Record<string, any>"
3324
3333
  }
3325
3334
  ],
3326
3335
  "events": [
3327
3336
  {
3328
3337
  "name": "ready",
3329
3338
  "type": "CustomEvent",
3330
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3339
+ "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
3340
  },
3332
3341
  {
3333
3342
  "name": "scriptattributeschange",
@@ -3349,7 +3358,7 @@
3349
3358
  },
3350
3359
  {
3351
3360
  "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.",
3361
+ "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
3362
  "doc-url": "",
3354
3363
  "attributes": [
3355
3364
  {
@@ -3385,59 +3394,59 @@
3385
3394
  {
3386
3395
  "name": "ready",
3387
3396
  "type": "CustomEvent",
3388
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3397
+ "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
3398
  }
3390
3399
  ],
3391
3400
  "js": {
3392
3401
  "properties": [
3393
3402
  {
3394
- "name": "component",
3395
- "description": "Gets the underlying PlayCanvas scrollbar component.",
3396
- "type": "Component | null"
3403
+ "name": "closestApp",
3404
+ "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.",
3405
+ "type": "AppElement | null"
3397
3406
  },
3398
3407
  {
3399
- "name": "orientation",
3400
- "description": "Gets the orientation of the scrollbar."
3408
+ "name": "closestEntity",
3409
+ "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.",
3410
+ "type": "EntityElement | null"
3401
3411
  },
3402
3412
  {
3403
- "name": "value",
3404
- "description": "Gets the current position value of the scrollbar."
3413
+ "name": "component",
3414
+ "description": "Gets the underlying PlayCanvas scrollbar component.",
3415
+ "type": "Component | null"
3405
3416
  },
3406
3417
  {
3407
- "name": "handleSize",
3408
- "description": "Gets the size of the handle relative to the size of the track."
3418
+ "name": "enabled",
3419
+ "description": "Gets the enabled state of the component."
3409
3420
  },
3410
3421
  {
3411
3422
  "name": "handle",
3412
3423
  "description": "Gets the reference to the `<pc-entity>` used as the scrollbar handle."
3413
3424
  },
3414
3425
  {
3415
- "name": "enabled",
3416
- "description": "Gets the enabled state of the component."
3426
+ "name": "handleSize",
3427
+ "description": "Gets the size of the handle relative to the size of the track."
3417
3428
  },
3418
3429
  {
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"
3430
+ "name": "orientation",
3431
+ "description": "Gets the orientation of the scrollbar."
3422
3432
  },
3423
3433
  {
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"
3434
+ "name": "value",
3435
+ "description": "Gets the current position value of the scrollbar."
3427
3436
  }
3428
3437
  ],
3429
3438
  "events": [
3430
3439
  {
3431
3440
  "name": "ready",
3432
3441
  "type": "CustomEvent",
3433
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3442
+ "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
3443
  }
3435
3444
  ]
3436
3445
  }
3437
3446
  },
3438
3447
  {
3439
3448
  "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.",
3449
+ "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
3450
  "doc-url": "",
3442
3451
  "attributes": [
3443
3452
  {
@@ -3524,92 +3533,92 @@
3524
3533
  {
3525
3534
  "name": "ready",
3526
3535
  "type": "CustomEvent",
3527
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3536
+ "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
3537
  }
3529
3538
  ],
3530
3539
  "js": {
3531
3540
  "properties": [
3532
3541
  {
3533
- "name": "component",
3534
- "description": "Gets the underlying PlayCanvas scroll view component.",
3535
- "type": "Component | null"
3542
+ "name": "bounceAmount",
3543
+ "description": "Gets the bounce amount."
3536
3544
  },
3537
3545
  {
3538
- "name": "horizontal",
3539
- "description": "Gets whether scrolling along the horizontal axis is enabled."
3546
+ "name": "closestApp",
3547
+ "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.",
3548
+ "type": "AppElement | null"
3540
3549
  },
3541
3550
  {
3542
- "name": "vertical",
3543
- "description": "Gets whether scrolling along the vertical axis is enabled."
3551
+ "name": "closestEntity",
3552
+ "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.",
3553
+ "type": "EntityElement | null"
3544
3554
  },
3545
3555
  {
3546
- "name": "scrollMode",
3547
- "description": "Gets how the scroll view behaves when the content is scrolled beyond its bounds."
3556
+ "name": "component",
3557
+ "description": "Gets the underlying PlayCanvas scroll view component.",
3558
+ "type": "Component | null"
3548
3559
  },
3549
3560
  {
3550
- "name": "bounceAmount",
3551
- "description": "Gets the bounce amount."
3561
+ "name": "content",
3562
+ "description": "Gets the reference to the `<pc-entity>` used as the content."
3563
+ },
3564
+ {
3565
+ "name": "enabled",
3566
+ "description": "Gets the enabled state of the component."
3552
3567
  },
3553
3568
  { "name": "friction", "description": "Gets the friction." },
3554
3569
  {
3555
- "name": "useMouseWheel",
3556
- "description": "Gets whether the scroll view responds to mouse wheel events."
3570
+ "name": "horizontal",
3571
+ "description": "Gets whether scrolling along the horizontal axis is enabled."
3557
3572
  },
3558
3573
  {
3559
- "name": "mouseWheelSensitivity",
3560
- "description": "Gets the mouse wheel sensitivity."
3574
+ "name": "horizontalScrollbar",
3575
+ "description": "Gets the reference to the `<pc-entity>` containing the horizontal scrollbar."
3561
3576
  },
3562
3577
  {
3563
3578
  "name": "horizontalScrollbarVisibility",
3564
3579
  "description": "Gets the visibility of the horizontal scrollbar."
3565
3580
  },
3566
3581
  {
3567
- "name": "verticalScrollbarVisibility",
3568
- "description": "Gets the visibility of the vertical scrollbar."
3582
+ "name": "mouseWheelSensitivity",
3583
+ "description": "Gets the mouse wheel sensitivity."
3569
3584
  },
3570
3585
  {
3571
- "name": "viewport",
3572
- "description": "Gets the reference to the `<pc-entity>` used as the viewport."
3586
+ "name": "scrollMode",
3587
+ "description": "Gets how the scroll view behaves when the content is scrolled beyond its bounds."
3573
3588
  },
3574
3589
  {
3575
- "name": "content",
3576
- "description": "Gets the reference to the `<pc-entity>` used as the content."
3590
+ "name": "useMouseWheel",
3591
+ "description": "Gets whether the scroll view responds to mouse wheel events."
3577
3592
  },
3578
3593
  {
3579
- "name": "horizontalScrollbar",
3580
- "description": "Gets the reference to the `<pc-entity>` containing the horizontal scrollbar."
3594
+ "name": "vertical",
3595
+ "description": "Gets whether scrolling along the vertical axis is enabled."
3581
3596
  },
3582
3597
  {
3583
3598
  "name": "verticalScrollbar",
3584
3599
  "description": "Gets the reference to the `<pc-entity>` containing the vertical scrollbar."
3585
3600
  },
3586
3601
  {
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"
3602
+ "name": "verticalScrollbarVisibility",
3603
+ "description": "Gets the visibility of the vertical scrollbar."
3594
3604
  },
3595
3605
  {
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"
3606
+ "name": "viewport",
3607
+ "description": "Gets the reference to the `<pc-entity>` used as the viewport."
3599
3608
  }
3600
3609
  ],
3601
3610
  "events": [
3602
3611
  {
3603
3612
  "name": "ready",
3604
3613
  "type": "CustomEvent",
3605
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3614
+ "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
3615
  }
3607
3616
  ]
3608
3617
  }
3609
3618
  },
3610
3619
  {
3611
3620
  "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.",
3621
+ "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
3622
  "doc-url": "",
3614
3623
  "attributes": [
3615
3624
  {
@@ -3660,11 +3669,21 @@
3660
3669
  {
3661
3670
  "name": "ready",
3662
3671
  "type": "CustomEvent",
3663
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3672
+ "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
3673
  }
3665
3674
  ],
3666
3675
  "js": {
3667
3676
  "properties": [
3677
+ {
3678
+ "name": "closestApp",
3679
+ "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.",
3680
+ "type": "AppElement | null"
3681
+ },
3682
+ {
3683
+ "name": "closestEntity",
3684
+ "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.",
3685
+ "type": "EntityElement | null"
3686
+ },
3668
3687
  {
3669
3688
  "name": "component",
3670
3689
  "description": "Gets the underlying PlayCanvas sound component.",
@@ -3675,6 +3694,10 @@
3675
3694
  "description": "Gets which algorithm to use to reduce the volume of the sound as it moves away from the listener.",
3676
3695
  "type": "'exponential' | 'inverse' | 'linear'"
3677
3696
  },
3697
+ {
3698
+ "name": "enabled",
3699
+ "description": "Gets the enabled state of the component."
3700
+ },
3678
3701
  {
3679
3702
  "name": "maxDistance",
3680
3703
  "description": "Gets the maximum distance from the listener at which audio falloff stops."
@@ -3698,34 +3721,20 @@
3698
3721
  {
3699
3722
  "name": "volume",
3700
3723
  "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
3724
  }
3716
3725
  ],
3717
3726
  "events": [
3718
3727
  {
3719
3728
  "name": "ready",
3720
3729
  "type": "CustomEvent",
3721
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3730
+ "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
3731
  }
3723
3732
  ]
3724
3733
  }
3725
3734
  },
3726
3735
  {
3727
3736
  "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.",
3737
+ "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
3738
  "doc-url": "",
3730
3739
  "attributes": [
3731
3740
  {
@@ -3778,16 +3787,11 @@
3778
3787
  {
3779
3788
  "name": "ready",
3780
3789
  "type": "CustomEvent",
3781
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3790
+ "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
3791
  }
3783
3792
  ],
3784
3793
  "js": {
3785
3794
  "properties": [
3786
- {
3787
- "name": "soundSlot",
3788
- "description": "The sound slot.",
3789
- "type": "SoundSlot | null"
3790
- },
3791
3795
  {
3792
3796
  "name": "asset",
3793
3797
  "description": "Gets the id of the `pc-asset` to use for the sound slot."
@@ -3796,6 +3800,16 @@
3796
3800
  "name": "autoPlay",
3797
3801
  "description": "Gets the auto play flag of the sound slot."
3798
3802
  },
3803
+ {
3804
+ "name": "closestApp",
3805
+ "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.",
3806
+ "type": "AppElement | null"
3807
+ },
3808
+ {
3809
+ "name": "closestEntity",
3810
+ "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.",
3811
+ "type": "EntityElement | null"
3812
+ },
3799
3813
  {
3800
3814
  "name": "duration",
3801
3815
  "description": "Gets the duration of the sound slot.",
@@ -3817,6 +3831,11 @@
3817
3831
  "name": "pitch",
3818
3832
  "description": "Gets the pitch of the sound slot."
3819
3833
  },
3834
+ {
3835
+ "name": "soundSlot",
3836
+ "description": "The sound slot.",
3837
+ "type": "SoundSlot | null"
3838
+ },
3820
3839
  {
3821
3840
  "name": "startTime",
3822
3841
  "description": "Gets the start time of the sound slot."
@@ -3824,23 +3843,13 @@
3824
3843
  {
3825
3844
  "name": "volume",
3826
3845
  "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
3846
  }
3838
3847
  ],
3839
3848
  "events": [
3840
3849
  {
3841
3850
  "name": "ready",
3842
3851
  "type": "CustomEvent",
3843
- "description": "Fired once the element is fully initialized. Bubbles and is composed."
3852
+ "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
3853
  }
3845
3854
  ]
3846
3855
  }