@playcanvas/web-components 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +5 -3
  2. package/dist/app.d.cts +18 -13
  3. package/dist/app.d.ts +18 -13
  4. package/dist/asset.d.cts +13 -3
  5. package/dist/asset.d.ts +13 -3
  6. package/dist/async-element.d.cts +13 -13
  7. package/dist/async-element.d.ts +13 -13
  8. package/dist/components/anim-clip.d.cts +4 -0
  9. package/dist/components/anim-clip.d.ts +4 -0
  10. package/dist/components/anim-component.d.cts +38 -5
  11. package/dist/components/anim-component.d.ts +38 -5
  12. package/dist/components/audio-listener-component.d.cts +26 -0
  13. package/dist/components/audio-listener-component.d.ts +26 -0
  14. package/dist/components/button-component.d.cts +10 -1
  15. package/dist/components/button-component.d.ts +10 -1
  16. package/dist/components/camera-component.d.cts +37 -1
  17. package/dist/components/camera-component.d.ts +37 -1
  18. package/dist/components/collision-component.d.cts +9 -1
  19. package/dist/components/collision-component.d.ts +9 -1
  20. package/dist/components/component.d.cts +3 -2
  21. package/dist/components/component.d.ts +3 -2
  22. package/dist/components/element-component.d.cts +11 -0
  23. package/dist/components/element-component.d.ts +11 -0
  24. package/dist/components/gsplat-component.d.cts +6 -0
  25. package/dist/components/gsplat-component.d.ts +6 -0
  26. package/dist/components/joint-component.d.cts +14 -2
  27. package/dist/components/joint-component.d.ts +14 -2
  28. package/dist/components/{layoutchild-component.d.cts → layout-child-component.d.cts} +7 -1
  29. package/dist/components/{layoutchild-component.d.ts → layout-child-component.d.ts} +7 -1
  30. package/dist/components/{layoutgroup-component.d.cts → layout-group-component.d.cts} +7 -1
  31. package/dist/components/{layoutgroup-component.d.ts → layout-group-component.d.ts} +7 -1
  32. package/dist/components/light-component.d.cts +52 -1
  33. package/dist/components/light-component.d.ts +52 -1
  34. package/dist/components/{particlesystem-component.d.cts → particle-system-component.d.cts} +7 -1
  35. package/dist/components/{particlesystem-component.d.ts → particle-system-component.d.ts} +7 -1
  36. package/dist/components/render-component.d.cts +7 -0
  37. package/dist/components/render-component.d.ts +7 -0
  38. package/dist/components/{rigidbody-component.d.cts → rigid-body-component.d.cts} +8 -1
  39. package/dist/components/{rigidbody-component.d.ts → rigid-body-component.d.ts} +8 -1
  40. package/dist/components/screen-component.d.cts +6 -0
  41. package/dist/components/screen-component.d.ts +6 -0
  42. package/dist/components/script-component.d.cts +26 -12
  43. package/dist/components/script-component.d.ts +26 -12
  44. package/dist/components/{script.d.cts → script-instance.d.cts} +11 -7
  45. package/dist/components/{script.d.ts → script-instance.d.ts} +11 -7
  46. package/dist/components/{scrollview-component.d.cts → scroll-view-component.d.cts} +7 -1
  47. package/dist/components/{scrollview-component.d.ts → scroll-view-component.d.ts} +7 -1
  48. package/dist/components/scrollbar-component.d.cts +6 -0
  49. package/dist/components/scrollbar-component.d.ts +6 -0
  50. package/dist/components/sound-component.d.cts +7 -1
  51. package/dist/components/sound-component.d.ts +7 -1
  52. package/dist/components/sound-slot.d.cts +5 -2
  53. package/dist/components/sound-slot.d.ts +5 -2
  54. package/dist/custom-elements.json +1852 -974
  55. package/dist/entity-base.d.cts +7 -6
  56. package/dist/entity-base.d.ts +7 -6
  57. package/dist/entity-owner.d.cts +118 -0
  58. package/dist/entity-owner.d.ts +118 -0
  59. package/dist/entity.d.cts +14 -102
  60. package/dist/entity.d.ts +14 -102
  61. package/dist/index.d.cts +26 -22
  62. package/dist/index.d.ts +26 -22
  63. package/dist/material.d.cts +18 -7
  64. package/dist/material.d.ts +18 -7
  65. package/dist/model.d.cts +72 -24
  66. package/dist/model.d.ts +72 -24
  67. package/dist/node.d.cts +6 -1
  68. package/dist/node.d.ts +6 -1
  69. package/dist/pwc.cjs +807 -293
  70. package/dist/pwc.cjs.map +1 -1
  71. package/dist/pwc.js +807 -293
  72. package/dist/pwc.js.map +1 -1
  73. package/dist/pwc.min.js +1 -1
  74. package/dist/pwc.min.js.map +1 -1
  75. package/dist/pwc.min.mjs +1 -1
  76. package/dist/pwc.min.mjs.map +1 -1
  77. package/dist/pwc.mjs +805 -292
  78. package/dist/pwc.mjs.map +1 -1
  79. package/dist/scene.d.cts +3 -0
  80. package/dist/scene.d.ts +3 -0
  81. package/dist/sky.d.cts +4 -0
  82. package/dist/sky.d.ts +4 -0
  83. package/dist/vscode.html-custom-data.json +351 -121
  84. package/dist/{module.d.cts → wasm.d.cts} +10 -6
  85. package/dist/{module.d.ts → wasm.d.ts} +10 -6
  86. package/dist/web-types.json +465 -291
  87. package/package.json +7 -7
  88. package/src/app.ts +49 -35
  89. package/src/asset.ts +13 -4
  90. package/src/async-element.ts +14 -14
  91. package/src/components/anim-clip.ts +4 -0
  92. package/src/components/anim-component.ts +89 -14
  93. package/src/components/audio-listener-component.ts +36 -0
  94. package/src/components/button-component.ts +10 -1
  95. package/src/components/camera-component.ts +65 -6
  96. package/src/components/collision-component.ts +9 -1
  97. package/src/components/component.ts +4 -3
  98. package/src/components/element-component.ts +11 -0
  99. package/src/components/gsplat-component.ts +6 -0
  100. package/src/components/joint-component.ts +14 -2
  101. package/src/components/{layoutchild-component.ts → layout-child-component.ts} +8 -2
  102. package/src/components/{layoutgroup-component.ts → layout-group-component.ts} +8 -2
  103. package/src/components/light-component.ts +110 -17
  104. package/src/components/{particlesystem-component.ts → particle-system-component.ts} +8 -2
  105. package/src/components/render-component.ts +7 -0
  106. package/src/components/{rigidbody-component.ts → rigid-body-component.ts} +9 -2
  107. package/src/components/screen-component.ts +6 -0
  108. package/src/components/script-component.ts +66 -42
  109. package/src/components/{script.ts → script-instance.ts} +18 -14
  110. package/src/components/{scrollview-component.ts → scroll-view-component.ts} +8 -2
  111. package/src/components/scrollbar-component.ts +6 -0
  112. package/src/components/sound-component.ts +8 -2
  113. package/src/components/sound-slot.ts +7 -4
  114. package/src/entity-base.ts +8 -7
  115. package/src/entity-owner.ts +298 -0
  116. package/src/entity.ts +21 -271
  117. package/src/index.ts +38 -25
  118. package/src/material.ts +19 -8
  119. package/src/model.ts +164 -72
  120. package/src/node.ts +15 -6
  121. package/src/scene.ts +3 -0
  122. package/src/sky.ts +4 -0
  123. package/src/{module.ts → wasm.ts} +12 -8
  124. package/dist/components/listener-component.d.cts +0 -20
  125. package/dist/components/listener-component.d.ts +0 -20
  126. package/src/components/listener-component.ts +0 -30
@@ -1,15 +1,15 @@
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.16.0",
4
+ "version": "0.18.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "elements": [
9
9
  {
10
10
  "name": "pc-app",
11
- "description": "The AppElement interface provides properties and methods for manipulating\n[`<pc-app>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-app/) elements.\nThe AppElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element is sized like a replaced element such as `<video>`: a block-level box that the\npage's CSS controls, 300x150 by default. The application's canvas always fills the element,\nand the drawing buffer resolution follows the element's size (capped by `max-pixel-ratio`),\ntracked live via a ResizeObserver — so the element can be embedded at any size, resized by\nits container, or made fullscreen with ordinary CSS such as `width: 100vw; height: 100dvh`.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the application cannot boot because no graphics device could be created (for example, a browser with WebGL disabled). `message` names the requested backends and `error` holds the underlying failure. The element never becomes ready and `app` stays `null` — listen for this event to show a fallback UI. Removing the element and re-inserting it retries the boot with its current attributes. Does not bubble.\n- **progress** - Fired while the application preloads its assets. `loaded` and `total` are asset counts, not bytes, and an asset that fails to load still counts as loaded. Fired at least once per boot, and the final event always has `loaded` equal to `total`. Does not bubble.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **elementFromEntity(entity: _Entity_): __** - Returns the `<pc-entity>` or `<pc-node>` element whose backing entity is `entity`, or\n`null` if the entity is not fronted by an element of this application - for example, an\nunbound node inside a model's instantiated hierarchy, or an entity created through the\nengine API.\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
12
- "doc-url": "",
11
+ "description": "The `<pc-app>` element creates a PlayCanvas application and the canvas it renders\ninto, and is the root of every scene. It holds the `<pc-asset>`, `<pc-material>`, `<pc-wasm>` and\n`<pc-scene>` elements, and the page's CSS sizes it, as it would a `<video>`.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the application cannot boot because no graphics device could be created (for example, a browser with WebGL disabled). `message` names the requested backends and `error` holds the underlying failure. The element never becomes ready and `app` stays `null` — listen for this event to show a fallback UI. Removing the element and re-inserting it retries the boot with its current attributes. Does not bubble.\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.",
12
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-app/",
13
13
  "attributes": [
14
14
  {
15
15
  "name": "alpha",
@@ -93,7 +93,7 @@
93
93
  },
94
94
  {
95
95
  "name": "closestEntity",
96
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
96
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
97
97
  "type": "EntityBaseElement | null"
98
98
  },
99
99
  {
@@ -139,8 +139,8 @@
139
139
  },
140
140
  {
141
141
  "name": "pc-asset",
142
- "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\nA `lazy` asset loads on first use: the first time any element resolves it by `id` — a model,\na material map, a sky, a script `asset:` reference — or when the `lazy` attribute is removed,\nwhichever comes first. Until then it stays registered and unloaded.\n\nFor `texture` and `textureatlas` assets, the texture options (`address-u`, `address-v`,\n`min-filter`, `mag-filter`, `anisotropy`, `mipmaps`, `srgb`, `flip-y`) apply when the texture is\ncreated and — like `lazy` — are observed: changing one updates a texture that has already\nloaded, and removing one restores the engine default. Changing `srgb` or `mipmaps` on a loaded\ntexture recreates the underlying GPU resource, so prefer declaring those up front. Each option\noverrides the matching key in the `data` JSON; options left unset write nothing, leaving the\nengine's per-format defaults in force.\n\nApart from `lazy` and the texture options, these attributes are read once when the asset is\ncreated, so changing them later has no effect.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time the asset finishes loading, including a `lazy` asset loaded later and any subsequent reloads. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor to observe every asset.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **get(id: _string_): __** - Returns the Asset created by the `<pc-asset>` element with the given `id`, or\n`undefined` if there is no such element or its asset has not been created yet.\n- **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
143
- "doc-url": "",
142
+ "description": "The `<pc-asset>` element declares an asset for the application to load — a model,\ntexture, font, sound, script or JSON file under an `id` that other elements reference. Must be\na direct child of `<pc-app>`.\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.",
143
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-asset/",
144
144
  "attributes": [
145
145
  {
146
146
  "name": "address-u",
@@ -283,7 +283,7 @@
283
283
  },
284
284
  {
285
285
  "name": "closestEntity",
286
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
286
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
287
287
  "type": "EntityBaseElement | null"
288
288
  },
289
289
  {
@@ -337,8 +337,8 @@
337
337
  },
338
338
  {
339
339
  "name": "pc-entity",
340
- "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.",
341
- "doc-url": "",
340
+ "description": "The `<pc-entity>` element creates an entity: a named, transformable node of the\nscene hierarchy, and the host for component elements such as `<pc-camera>`, `<pc-light>` and\n`<pc-render>`. Place it in the `<pc-scene>`, or nest it under another `<pc-entity>`, a\n`<pc-model>` or a `<pc-node>` to parent it there.\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.",
341
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-entity/",
342
342
  "attributes": [
343
343
  {
344
344
  "name": "enabled",
@@ -437,7 +437,7 @@
437
437
  },
438
438
  {
439
439
  "name": "closestEntity",
440
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
440
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
441
441
  "type": "EntityBaseElement | null"
442
442
  },
443
443
  {
@@ -500,8 +500,8 @@
500
500
  },
501
501
  {
502
502
  "name": "pc-material",
503
- "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.",
504
- "doc-url": "",
503
+ "description": "The `<pc-material>` element defines a physically based material, which\n`<pc-render>` elements apply by naming its `id`. It is metal/rough by default, with `metalness`\nstarting at 0. Must be a direct child of `<pc-app>`.\n\n---\n",
504
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-material/",
505
505
  "attributes": [
506
506
  {
507
507
  "name": "alpha-test",
@@ -1293,13 +1293,68 @@
1293
1293
  },
1294
1294
  {
1295
1295
  "name": "pc-model",
1296
- "description": "The ModelElement interface provides properties and methods for manipulating\n[`<pc-model>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-model/) elements.\nThe ModelElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element becomes ready once its container asset has loaded and the instantiated hierarchy has\nbeen added to the scene `entity` is non-null by then. A failed load also settles readiness,\nwith `entity` remaining `null`: readiness means the load settled, not that it succeeded — listen\nfor `error`, or check `entity`, to tell the outcomes apart. Changing `asset` re-arms readiness\nand instantiates anew, so a `ready()` obtained after the change resolves against the new\nhierarchy. A `pc-model` outside a `pc-app`, or referencing an unknown asset id, warns and never\nbecomes ready.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the container asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **hierarchy(): __** - Returns a snapshot of the instantiated node tree, or `null` while there is none (the\ncontainer asset has not loaded, or the element has left the document). One call grounds a\nsession — a browser console, a test, an agent — in the vocabulary `pc-node` binding\nresolves against: the instantiated names (HierarchyNode.name), paths, match\nindices, attached component types and the material assignments of render components\n(HierarchyNode.materials). `String(...)` of the result, or of any node in it,\nis the printable form.\n\nThe snapshot is plain data, computed afresh each call: it does not follow later changes\nto the hierarchy, and mutating it changes nothing.\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.",
1297
- "doc-url": "",
1296
+ "description": "The `<pc-model>` element instantiates a 3D model from a container asset\n(typically a GLB) beneath an entity of its own, so the element's transform and tags place the\ninstance in the scene. Its `<pc-node>` children override what the asset authored. Place it in the\n`<pc-scene>`, or nest it under a `<pc-entity>`, another `<pc-model>` or a `<pc-node>`.\n\n---\n\n\n### **Events:**\n - **error** - Fired when the container asset fails to load, with the engine's error in `message`. Does not bubble. The element still becomes ready — readiness means the load settled, not that it succeeded.\n- **load** - Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor.\n- **pointerdown** - Fired when a pointer button is pressed over the model.\n- **pointerenter** - Fired when the pointer moves onto the model.\n- **pointerleave** - Fired when the pointer moves off the model.\n- **pointermove** - Fired when the pointer moves over the model.\n- **pointerup** - Fired when a pointer button is released over the model.\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.",
1297
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-model/",
1298
1298
  "attributes": [
1299
1299
  {
1300
1300
  "name": "asset",
1301
1301
  "description": "The id of the `pc-asset` to use for the model.",
1302
1302
  "value": { "type": "string" }
1303
+ },
1304
+ {
1305
+ "name": "enabled",
1306
+ "description": "The enabled state of the model.",
1307
+ "value": { "type": "boolean", "default": "true" }
1308
+ },
1309
+ {
1310
+ "name": "name",
1311
+ "description": "The name of the model.",
1312
+ "value": { "type": "string" }
1313
+ },
1314
+ {
1315
+ "name": "onpointerdown",
1316
+ "description": "Script to run when a pointer button is pressed over the model.",
1317
+ "value": { "type": "string" }
1318
+ },
1319
+ {
1320
+ "name": "onpointerenter",
1321
+ "description": "Script to run when the pointer moves onto the model.",
1322
+ "value": { "type": "string" }
1323
+ },
1324
+ {
1325
+ "name": "onpointerleave",
1326
+ "description": "Script to run when the pointer moves off the model.",
1327
+ "value": { "type": "string" }
1328
+ },
1329
+ {
1330
+ "name": "onpointermove",
1331
+ "description": "Script to run when the pointer moves over the model.",
1332
+ "value": { "type": "string" }
1333
+ },
1334
+ {
1335
+ "name": "onpointerup",
1336
+ "description": "Script to run when a pointer button is released over the model.",
1337
+ "value": { "type": "string" }
1338
+ },
1339
+ {
1340
+ "name": "position",
1341
+ "description": "The position of the model. Accepts 3 space-separated numbers.",
1342
+ "value": { "type": "string", "default": "0 0 0" }
1343
+ },
1344
+ {
1345
+ "name": "rotation",
1346
+ "description": "The rotation of the model. Accepts 3 space-separated numbers.",
1347
+ "value": { "type": "string", "default": "0 0 0" }
1348
+ },
1349
+ {
1350
+ "name": "scale",
1351
+ "description": "The scale of the model. Accepts 3 space-separated numbers.",
1352
+ "value": { "type": "string", "default": "1 1 1" }
1353
+ },
1354
+ {
1355
+ "name": "tags",
1356
+ "description": "The tags of the model.",
1357
+ "value": { "type": "string" }
1303
1358
  }
1304
1359
  ],
1305
1360
  "events": [
@@ -1313,6 +1368,31 @@
1313
1368
  "type": "Event",
1314
1369
  "description": "Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor."
1315
1370
  },
1371
+ {
1372
+ "name": "pointerdown",
1373
+ "type": "PointerEvent",
1374
+ "description": "Fired when a pointer button is pressed over the model."
1375
+ },
1376
+ {
1377
+ "name": "pointerenter",
1378
+ "type": "PointerEvent",
1379
+ "description": "Fired when the pointer moves onto the model."
1380
+ },
1381
+ {
1382
+ "name": "pointerleave",
1383
+ "type": "PointerEvent",
1384
+ "description": "Fired when the pointer moves off the model."
1385
+ },
1386
+ {
1387
+ "name": "pointermove",
1388
+ "type": "PointerEvent",
1389
+ "description": "Fired when the pointer moves over the model."
1390
+ },
1391
+ {
1392
+ "name": "pointerup",
1393
+ "type": "PointerEvent",
1394
+ "description": "Fired when a pointer button is released over the model."
1395
+ },
1316
1396
  {
1317
1397
  "name": "ready",
1318
1398
  "type": "CustomEvent",
@@ -1333,14 +1413,37 @@
1333
1413
  },
1334
1414
  {
1335
1415
  "name": "closestEntity",
1336
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1416
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1337
1417
  "type": "EntityBaseElement | null"
1338
1418
  },
1419
+ {
1420
+ "name": "contentEntity",
1421
+ "description": "The root entity of the instantiated model content, parented beneath the host entity.\n`null` until the container asset has loaded and been instantiated, after a failed load,\nand again once the element has been removed from the document.",
1422
+ "type": "Entity | null"
1423
+ },
1424
+ {
1425
+ "name": "enabled",
1426
+ "description": "Gets the enabled state of the entity."
1427
+ },
1339
1428
  {
1340
1429
  "name": "entity",
1341
- "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.",
1430
+ "description": "The PlayCanvas entity instance. `null` until the element is ready, and again once the\nentity is gone await whenReady or the element's `ready()` promise before\naccessing it.",
1342
1431
  "type": "Entity | null"
1343
- }
1432
+ },
1433
+ { "name": "name", "description": "Gets the name of the entity." },
1434
+ {
1435
+ "name": "position",
1436
+ "description": "Gets the position of the entity."
1437
+ },
1438
+ {
1439
+ "name": "rotation",
1440
+ "description": "Gets the rotation of the entity."
1441
+ },
1442
+ {
1443
+ "name": "scale",
1444
+ "description": "Gets the scale of the entity."
1445
+ },
1446
+ { "name": "tags", "description": "Gets the tags of the entity." }
1344
1447
  ],
1345
1448
  "events": [
1346
1449
  {
@@ -1354,60 +1457,30 @@
1354
1457
  "description": "Fired each time a container asset finishes instantiating, including re-instantiation after `asset` changes. Does not bubble — listen on this element, or use a capture-phase listener on an ancestor."
1355
1458
  },
1356
1459
  {
1357
- "name": "ready",
1358
- "type": "CustomEvent",
1359
- "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."
1360
- }
1361
- ]
1362
- }
1363
- },
1364
- {
1365
- "name": "pc-module",
1366
- "description": "The ModuleElement interface provides properties and methods for manipulating\n[`<pc-module>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-module/)\nelements. The ModuleElement interface also inherits the properties and methods of the\nAsyncElement interface.\n\nThe attributes are read once, when the module starts loading - on the element's first\nconnection, or earlier if a containing `<pc-app>` boots first and collects it - so changing\nthem later has no effect. The element becomes ready once the module has loaded. WebAssembly\nmodules configure engine-global state that never unloads, so readiness is not re-armed by\nremoving the element, and a re-inserted element does not load again.\n\nA `<pc-module>` without a `name` warns and never becomes ready; a containing `<pc-app>` still\nboots.\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.",
1367
- "doc-url": "",
1368
- "attributes": [
1369
- {
1370
- "name": "fallback",
1371
- "description": "The URL of the module's asm.js fallback script, used when WebAssembly is unavailable.",
1372
- "value": { "type": "string" }
1373
- },
1374
- {
1375
- "name": "glue",
1376
- "description": "The URL of the module's glue script.",
1377
- "value": { "type": "string" }
1378
- },
1379
- {
1380
- "name": "name",
1381
- "description": "The name of the WebAssembly module to configure, e.g. `Basis` or `Ammo`.",
1382
- "value": { "type": "string" }
1383
- },
1384
- {
1385
- "name": "wasm",
1386
- "description": "The URL of the module's WebAssembly binary.",
1387
- "value": { "type": "string" }
1388
- }
1389
- ],
1390
- "events": [
1391
- {
1392
- "name": "ready",
1393
- "type": "CustomEvent",
1394
- "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."
1395
- }
1396
- ],
1397
- "js": {
1398
- "properties": [
1460
+ "name": "pointerdown",
1461
+ "type": "PointerEvent",
1462
+ "description": "Fired when a pointer button is pressed over the model."
1463
+ },
1399
1464
  {
1400
- "name": "closestApp",
1401
- "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.",
1402
- "type": "AppElement | null"
1465
+ "name": "pointerenter",
1466
+ "type": "PointerEvent",
1467
+ "description": "Fired when the pointer moves onto the model."
1403
1468
  },
1404
1469
  {
1405
- "name": "closestEntity",
1406
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1407
- "type": "EntityBaseElement | null"
1408
- }
1409
- ],
1410
- "events": [
1470
+ "name": "pointerleave",
1471
+ "type": "PointerEvent",
1472
+ "description": "Fired when the pointer moves off the model."
1473
+ },
1474
+ {
1475
+ "name": "pointermove",
1476
+ "type": "PointerEvent",
1477
+ "description": "Fired when the pointer moves over the model."
1478
+ },
1479
+ {
1480
+ "name": "pointerup",
1481
+ "type": "PointerEvent",
1482
+ "description": "Fired when a pointer button is released over the model."
1483
+ },
1411
1484
  {
1412
1485
  "name": "ready",
1413
1486
  "type": "CustomEvent",
@@ -1418,8 +1491,8 @@
1418
1491
  },
1419
1492
  {
1420
1493
  "name": "pc-node",
1421
- "description": "The NodeElement interface provides properties and methods for manipulating\n[`<pc-node>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-node/)\nelements. The NodeElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nA `pc-node` is an override element: where `pc-entity` creates an entity, `pc-node` binds to a\nnode a `pc-model` loaded and declares overrides against the authored asset components to\nadd, properties to change, content to attach. Attributes present apply as overrides; attributes\nabsent leave authored values untouched, and removing an attribute (or assigning `null` to the\nmatching property) restores the authored value.\n\n`name` selects among the host model's nodes (first match in depth-first order), nesting a\n`pc-node` inside another scopes the search to that subtree, and `index` picks among identically\nnamed matches. When `name` matches more than one node and no `index` is given, the element\nwarns and binds nothing.\n\nThe element becomes ready once bound, and never while unresolved — a missing or ambiguous\nname warns and records the failure in `state`, readiness stays unresolved, and descendants\nwait with it.\n\nThe pointer events below are dispatched by the containing `<pc-app>` element when the pointer\nintersects the bound node's geometry, exactly as for `<pc-entity>`.\n\n---\n\n\n### **Events:**\n - **pointerdown** - Fired when a pointer button is pressed over the node.\n- **pointerenter** - Fired when the pointer moves onto the node.\n- **pointerleave** - Fired when the pointer moves off the node.\n- **pointermove** - Fired when the pointer moves over the node.\n- **pointerup** - Fired when a pointer button is released over the node.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
1422
- "doc-url": "",
1494
+ "description": "The `<pc-node>` element binds to a node inside the hierarchy a `<pc-model>`\ninstantiated and declares overrides against it: a transform, an enabled state, tags, components\nto add, or content to attach. Its `name` is a lookup, never a rename. Must be a descendant of\n`<pc-model>`.\n\n---\n\n\n### **Events:**\n - **pointerdown** - Fired when a pointer button is pressed over the node.\n- **pointerenter** - Fired when the pointer moves onto the node.\n- **pointerleave** - Fired when the pointer moves off the node.\n- **pointermove** - Fired when the pointer moves over the node.\n- **pointerup** - Fired when a pointer button is released over the node.\n- **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.",
1495
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-node/",
1423
1496
  "attributes": [
1424
1497
  {
1425
1498
  "name": "enabled",
@@ -1528,7 +1601,7 @@
1528
1601
  },
1529
1602
  {
1530
1603
  "name": "closestEntity",
1531
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1604
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1532
1605
  "type": "EntityBaseElement | null"
1533
1606
  },
1534
1607
  {
@@ -1623,8 +1696,8 @@
1623
1696
  },
1624
1697
  {
1625
1698
  "name": "pc-scene",
1626
- "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.",
1627
- "doc-url": "",
1699
+ "description": "The `<pc-scene>` element holds the entity hierarchy the application renders,\nalong with the scene-wide fog and gravity settings. Must be a direct child of `<pc-app>`.\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.",
1700
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-scene/",
1628
1701
  "attributes": [
1629
1702
  {
1630
1703
  "name": "fog",
@@ -1676,7 +1749,7 @@
1676
1749
  },
1677
1750
  {
1678
1751
  "name": "closestEntity",
1679
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1752
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1680
1753
  "type": "EntityBaseElement | null"
1681
1754
  },
1682
1755
  {
@@ -1720,8 +1793,8 @@
1720
1793
  },
1721
1794
  {
1722
1795
  "name": "pc-sky",
1723
- "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.",
1724
- "doc-url": "",
1796
+ "description": "The `<pc-sky>` element renders a skybox from a texture asset, projected as an\ninfinite background, a box or a dome, and optionally lights the scene from it. Must be a direct\nchild of `<pc-scene>`.\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.",
1797
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-sky/",
1725
1798
  "attributes": [
1726
1799
  {
1727
1800
  "name": "asset",
@@ -1791,7 +1864,7 @@
1791
1864
  },
1792
1865
  {
1793
1866
  "name": "closestEntity",
1794
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
1867
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1795
1868
  "type": "EntityBaseElement | null"
1796
1869
  },
1797
1870
  {
@@ -1825,10 +1898,65 @@
1825
1898
  ]
1826
1899
  }
1827
1900
  },
1901
+ {
1902
+ "name": "pc-wasm",
1903
+ "description": "The `<pc-wasm>` element loads a WebAssembly module the engine needs before the\napplication starts — `Ammo` for physics, `Basis` or `DracoDecoderModule` for compressed assets.\nMust be a direct child of `<pc-app>`.\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.",
1904
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-wasm/",
1905
+ "attributes": [
1906
+ {
1907
+ "name": "fallback",
1908
+ "description": "The URL of the module's asm.js fallback script, used when WebAssembly is unavailable.",
1909
+ "value": { "type": "string" }
1910
+ },
1911
+ {
1912
+ "name": "glue",
1913
+ "description": "The URL of the module's glue script.",
1914
+ "value": { "type": "string" }
1915
+ },
1916
+ {
1917
+ "name": "name",
1918
+ "description": "The name of the WebAssembly module to configure, e.g. `Basis` or `Ammo`.",
1919
+ "value": { "type": "string" }
1920
+ },
1921
+ {
1922
+ "name": "wasm",
1923
+ "description": "The URL of the module's WebAssembly binary.",
1924
+ "value": { "type": "string" }
1925
+ }
1926
+ ],
1927
+ "events": [
1928
+ {
1929
+ "name": "ready",
1930
+ "type": "CustomEvent",
1931
+ "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."
1932
+ }
1933
+ ],
1934
+ "js": {
1935
+ "properties": [
1936
+ {
1937
+ "name": "closestApp",
1938
+ "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.",
1939
+ "type": "AppElement | null"
1940
+ },
1941
+ {
1942
+ "name": "closestEntity",
1943
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1944
+ "type": "EntityBaseElement | null"
1945
+ }
1946
+ ],
1947
+ "events": [
1948
+ {
1949
+ "name": "ready",
1950
+ "type": "CustomEvent",
1951
+ "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."
1952
+ }
1953
+ ]
1954
+ }
1955
+ },
1828
1956
  {
1829
1957
  "name": "pc-anim-clip",
1830
- "description": "The AnimClipElement interface provides properties and methods for manipulating\n[`<pc-anim-clip>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-anim-clip/)\nelements. The AnimClipElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nA clip declares one named animation on its parent `<pc-anim>`. `name` is both the clip's name\nand the track looked up in the clip's source: an explicit `asset` (a `container`, an\n`animation` `.glb`, or an `animclip` JSON), or, without one, the container of the `<pc-model>`\nenclosing the parent `<pc-anim>`. A source holding a single track supplies it whatever it is\nnamed; in a multi-track source the track named `name` is chosen, falling back to the first\nwith a warning. The element becomes ready once its resolved track is assigned.\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.",
1831
- "doc-url": "",
1958
+ "description": "The `<pc-anim-clip>` element declares one named animation clip on its parent\n`<pc-anim>`, taken from the `asset` it names or, without one, from the enclosing `<pc-model>`'s\nown animations. Must be a direct child of `<pc-anim>`.\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.",
1959
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-anim-clip/",
1832
1960
  "attributes": [
1833
1961
  {
1834
1962
  "name": "asset",
@@ -1871,7 +1999,7 @@
1871
1999
  },
1872
2000
  {
1873
2001
  "name": "closestEntity",
1874
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2002
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1875
2003
  "type": "EntityBaseElement | null"
1876
2004
  },
1877
2005
  { "name": "loop", "description": "Gets whether the clip loops." },
@@ -1892,8 +2020,8 @@
1892
2020
  },
1893
2021
  {
1894
2022
  "name": "pc-anim",
1895
- "description": "The AnimComponentElement interface provides properties and methods for manipulating\n[`<pc-anim>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-anim/) elements.\nThe AnimComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe element drives animation clips over the host entity's hierarchy. Clips come from\n`<pc-anim-clip>` children or, when the element is a direct child of a `<pc-model>` and\ndeclares no clips, every animation of that model's container asset is assigned, named by track\nname, in container order. The first clip plays automatically (opt out with `activate=\"false\"`);\nswitch clips declaratively through the `clip` attribute, or imperatively through play\nand transition. Tracks bind to scene nodes by name, so any hierarchy whose node names\nmatch a clip's curves can be animated — a model's skeleton is simply the common case.\n\nThe engine reports no clip completion: a non-looping clip holds its last pose silently. Poll\nthe underlying AnimComponent (via component) for playback state beyond what\nthis element exposes.\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 playback, preserving the playhead — play resumes from where it stopped.\n- **play(name: _string_)** - Resumes playback, optionally switching to a named clip first (a hard cut). A name that\nmatches no clip leaves the selection unchanged.\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- **transition(name: _string_, time: _number_)** - Cross-fades to a named clip and ensures playback is running. A name that matches no clip\nleaves the selection unchanged.",
1896
- "doc-url": "",
2023
+ "description": "The `<pc-anim>` element plays animation clips over its entity's hierarchy, taken\nfrom `<pc-anim-clip>` children or from the enclosing `<pc-model>`'s own animations. The first\nclip plays automatically, and the `clip` attribute switches between them. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2024
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-anim/",
1897
2025
  "attributes": [
1898
2026
  {
1899
2027
  "name": "activate",
@@ -1950,7 +2078,7 @@
1950
2078
  },
1951
2079
  {
1952
2080
  "name": "closestEntity",
1953
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2081
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
1954
2082
  "type": "EntityBaseElement | null"
1955
2083
  },
1956
2084
  {
@@ -1980,10 +2108,59 @@
1980
2108
  ]
1981
2109
  }
1982
2110
  },
2111
+ {
2112
+ "name": "pc-audio-listener",
2113
+ "description": "The `<pc-audio-listener>` element makes its entity the point from which\npositional sounds are heard, typically the entity holding the `<pc-camera>`. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2114
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-audio-listener/",
2115
+ "attributes": [
2116
+ {
2117
+ "name": "enabled",
2118
+ "description": "The enabled state of the component.",
2119
+ "value": { "type": "boolean", "default": "true" }
2120
+ }
2121
+ ],
2122
+ "events": [
2123
+ {
2124
+ "name": "ready",
2125
+ "type": "CustomEvent",
2126
+ "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."
2127
+ }
2128
+ ],
2129
+ "js": {
2130
+ "properties": [
2131
+ {
2132
+ "name": "closestApp",
2133
+ "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.",
2134
+ "type": "AppElement | null"
2135
+ },
2136
+ {
2137
+ "name": "closestEntity",
2138
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2139
+ "type": "EntityBaseElement | null"
2140
+ },
2141
+ {
2142
+ "name": "component",
2143
+ "description": "Gets the underlying PlayCanvas audio listener component.",
2144
+ "type": "Component | null"
2145
+ },
2146
+ {
2147
+ "name": "enabled",
2148
+ "description": "Gets the enabled state of the component."
2149
+ }
2150
+ ],
2151
+ "events": [
2152
+ {
2153
+ "name": "ready",
2154
+ "type": "CustomEvent",
2155
+ "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."
2156
+ }
2157
+ ]
2158
+ }
2159
+ },
1983
2160
  {
1984
2161
  "name": "pc-button",
1985
- "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.",
1986
- "doc-url": "",
2162
+ "description": "The `<pc-button>` element makes its entity respond to pointer input, tinting or\nswapping its image as the pointer hovers, presses and releases it. The entity also needs a\n`<pc-element>` with `use-input` set. Must be a child of a `<pc-entity>`, `<pc-model>` or\n`<pc-node>`.\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.",
2163
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-button/",
1987
2164
  "attributes": [
1988
2165
  {
1989
2166
  "name": "active",
@@ -2081,7 +2258,7 @@
2081
2258
  },
2082
2259
  {
2083
2260
  "name": "closestEntity",
2084
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2261
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2085
2262
  "type": "EntityBaseElement | null"
2086
2263
  },
2087
2264
  {
@@ -2157,8 +2334,8 @@
2157
2334
  },
2158
2335
  {
2159
2336
  "name": "pc-camera",
2160
- "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.",
2161
- "doc-url": "",
2337
+ "description": "The `<pc-camera>` element renders the scene from its entity's transform, with\nattributes for the projection, field of view, clip planes, clear color and tonemapping. Must be a\nchild of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2338
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-camera/",
2162
2339
  "attributes": [
2163
2340
  {
2164
2341
  "name": "clear-color",
@@ -2170,6 +2347,11 @@
2170
2347
  "description": "The clear color buffer of the camera.",
2171
2348
  "value": { "type": "boolean", "default": "true" }
2172
2349
  },
2350
+ {
2351
+ "name": "clear-depth",
2352
+ "description": "The depth value the depth buffer is cleared to.",
2353
+ "value": { "type": "number", "default": "1" }
2354
+ },
2173
2355
  {
2174
2356
  "name": "clear-depth-buffer",
2175
2357
  "description": "The clear depth buffer of the camera.",
@@ -2178,7 +2360,7 @@
2178
2360
  {
2179
2361
  "name": "clear-stencil-buffer",
2180
2362
  "description": "The clear stencil buffer of the camera.",
2181
- "value": { "type": "boolean", "default": "false" }
2363
+ "value": { "type": "boolean", "default": "true" }
2182
2364
  },
2183
2365
  {
2184
2366
  "name": "cull-faces",
@@ -2271,6 +2453,11 @@
2271
2453
  ],
2272
2454
  "js": {
2273
2455
  "properties": [
2456
+ {
2457
+ "name": "arAvailable",
2458
+ "description": "Whether immersive AR is available. Independent of vrAvailable: a device can offer\neither mode without the other.",
2459
+ "type": "boolean"
2460
+ },
2274
2461
  {
2275
2462
  "name": "clearColor",
2276
2463
  "description": "Gets the clear color of the camera.",
@@ -2281,6 +2468,11 @@
2281
2468
  "description": "Gets the clear color buffer of the camera.",
2282
2469
  "type": "boolean"
2283
2470
  },
2471
+ {
2472
+ "name": "clearDepth",
2473
+ "description": "Gets the depth value the depth buffer is cleared to.",
2474
+ "type": "number"
2475
+ },
2284
2476
  {
2285
2477
  "name": "clearDepthBuffer",
2286
2478
  "description": "Gets the clear depth buffer of the camera.",
@@ -2298,7 +2490,7 @@
2298
2490
  },
2299
2491
  {
2300
2492
  "name": "closestEntity",
2301
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2493
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2302
2494
  "type": "EntityBaseElement | null"
2303
2495
  },
2304
2496
  {
@@ -2378,7 +2570,11 @@
2378
2570
  "description": "Gets the tone mapping of the camera.",
2379
2571
  "type": "'none' | 'linear' | 'filmic' | 'hejl' | 'aces' | 'aces2' | 'neutral'"
2380
2572
  },
2381
- { "name": "xrAvailable" }
2573
+ {
2574
+ "name": "vrAvailable",
2575
+ "description": "Whether immersive VR is available. Independent of arAvailable: a device can offer\neither mode without the other.",
2576
+ "type": "boolean"
2577
+ }
2382
2578
  ],
2383
2579
  "events": [
2384
2580
  {
@@ -2391,8 +2587,8 @@
2391
2587
  },
2392
2588
  {
2393
2589
  "name": "pc-collision",
2394
- "description": "The CollisionComponentElement interface provides properties and methods for manipulating\n[`<pc-collision>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-collision/) elements.\nThe CollisionComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nFor `type=\"mesh\"`, the collision geometry defaults to the host entity's own render component\n(its render asset) a collider matching the visible mesh, which is what a mesh collider on a\nglTF node means. The default resolves each time the component applies, so a `pc-node` that\nretargets or rebinds picks up the new node's geometry. An entity with no asset-backed render\ncomponent warns, and the collider has no shape.\n\n---\n\n\n### **Events:**\n - **ready** - Fired when the element is fully initialized — once per readiness cycle, so an element that is torn down and re-initialized (for example by removing and re-inserting it) fires it again. Bubbles and is composed.\n\n### **Methods:**\n - **ready(): __** - Returns a promise that resolves with this element when it's ready. This is the low-level\nprimitive underlying whenReady, which is the recommended way to wait for elements.\n\nReadiness tracks the element's current lifecycle: once a ready element is torn down (for\nexample by removing it from the document), this returns a fresh promise that resolves when\nthe element is next ready. A promise obtained earlier stays resolved — call this again\nafter re-inserting an element rather than reusing a promise from before its removal.",
2395
- "doc-url": "",
2590
+ "description": "The `<pc-collision>` element gives its entity a collision shape a box, sphere,\ncapsule, cone, cylinder or meshfor the physics simulation to collide against. Pair it with a\n`<pc-rigid-body>`. Must be a child of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2591
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-collision/",
2396
2592
  "attributes": [
2397
2593
  {
2398
2594
  "name": "angular-offset",
@@ -2450,7 +2646,7 @@
2450
2646
  },
2451
2647
  {
2452
2648
  "name": "closestEntity",
2453
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2649
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2454
2650
  "type": "EntityBaseElement | null"
2455
2651
  },
2456
2652
  {
@@ -2480,8 +2676,8 @@
2480
2676
  },
2481
2677
  {
2482
2678
  "name": "pc-element",
2483
- "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.",
2484
- "doc-url": "",
2679
+ "description": "The `<pc-element>` element gives its entity a 2D UI rectangle inside a\n`<pc-screen>` hierarchy, drawing an image, a line of text or nothing (`type=\"image\"`, `\"text\"` or\n`\"group\"`). Must be a child of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2680
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-element/",
2485
2681
  "attributes": [
2486
2682
  {
2487
2683
  "name": "anchor",
@@ -2658,7 +2854,7 @@
2658
2854
  },
2659
2855
  {
2660
2856
  "name": "closestEntity",
2661
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
2857
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2662
2858
  "type": "EntityBaseElement | null"
2663
2859
  },
2664
2860
  {
@@ -2767,8 +2963,8 @@
2767
2963
  },
2768
2964
  {
2769
2965
  "name": "pc-gsplat",
2770
- "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.",
2771
- "doc-url": "",
2966
+ "description": "The `<pc-gsplat>` element renders the 3D Gaussian splats of a `gsplat` asset at\nits entity, with attributes for shadow casting and level of detail. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
2967
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-gsplat/",
2772
2968
  "attributes": [
2773
2969
  {
2774
2970
  "name": "asset",
@@ -2830,7 +3026,7 @@
2830
3026
  },
2831
3027
  {
2832
3028
  "name": "closestEntity",
2833
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3029
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
2834
3030
  "type": "EntityBaseElement | null"
2835
3031
  },
2836
3032
  {
@@ -2870,8 +3066,8 @@
2870
3066
  },
2871
3067
  {
2872
3068
  "name": "pc-joint",
2873
- "description": "The JointComponentElement interface provides properties and methods for manipulating\n[`<pc-joint>`](https://developer.playcanvas.com/user-manual/web-components/tags/pc-joint/) elements.\nThe JointComponentElement interface also inherits the properties and methods of the\nHTMLElement interface.\n\nThe entity holding the joint is not itself constrained. Its world transform defines the joint\nframe — the anchor point and axes the constraint operates about — with the local X axis as the\nprimary axis: a hinge rotates about it, a slider translates along it and a ball joint twists\nabout it. The constrained bodies are referenced by `entity-a` and `entity-b`, both of which need\na rigid body component; leaving `entity-b` empty constrains `entity-a` to a fixed point in world\nspace. The underlying engine component is in alpha, so its API may change.\n\n---\n\n\n### **Events:**\n - **break** - Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed.\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.",
2874
- "doc-url": "",
3069
+ "description": "The `<pc-joint>` element constrains two rigid bodies to each other a hinged\ndoor, a swinging chain, a sliding drawer. Its entity's transform is the joint frame, and\n`entity-a` and `entity-b` name the bodies. Must be a child of a `<pc-entity>`, `<pc-model>` or\n`<pc-node>`.\n\n---\n\n\n### **Events:**\n - **break** - Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed. Engine component: `JointComponent` (`joint`).\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.",
3070
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-joint/",
2875
3071
  "attributes": [
2876
3072
  {
2877
3073
  "name": "angular-damping",
@@ -3054,7 +3250,7 @@
3054
3250
  {
3055
3251
  "name": "break",
3056
3252
  "type": "CustomEvent",
3057
- "description": "Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed."
3253
+ "description": "Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed. Engine component: `JointComponent` (`joint`)."
3058
3254
  },
3059
3255
  {
3060
3256
  "name": "ready",
@@ -3111,7 +3307,7 @@
3111
3307
  },
3112
3308
  {
3113
3309
  "name": "closestEntity",
3114
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3310
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3115
3311
  "type": "EntityBaseElement | null"
3116
3312
  },
3117
3313
  {
@@ -3205,7 +3401,7 @@
3205
3401
  {
3206
3402
  "name": "break",
3207
3403
  "type": "CustomEvent",
3208
- "description": "Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed."
3404
+ "description": "Fired when the impulse on the joint exceeds `break-impulse` and the constraint breaks. A broken joint no longer constrains its bodies; calling `refreshFrames()` on the underlying component re-attaches it. Bubbles and is composed. Engine component: `JointComponent` (`joint`)."
3209
3405
  },
3210
3406
  {
3211
3407
  "name": "ready",
@@ -3216,9 +3412,9 @@
3216
3412
  }
3217
3413
  },
3218
3414
  {
3219
- "name": "pc-layoutchild",
3220
- "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.",
3221
- "doc-url": "",
3415
+ "name": "pc-layout-child",
3416
+ "description": "The `<pc-layout-child>` element controls how its entity is sized by the\n`<pc-layout-group>` above it, through minimum and maximum sizes and fit proportions. Must be a\nchild of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
3417
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-layout-child/",
3222
3418
  "attributes": [
3223
3419
  {
3224
3420
  "name": "enabled",
@@ -3277,7 +3473,7 @@
3277
3473
  },
3278
3474
  {
3279
3475
  "name": "closestEntity",
3280
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3476
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3281
3477
  "type": "EntityBaseElement | null"
3282
3478
  },
3283
3479
  {
@@ -3328,9 +3524,9 @@
3328
3524
  }
3329
3525
  },
3330
3526
  {
3331
- "name": "pc-layoutgroup",
3332
- "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.",
3333
- "doc-url": "",
3527
+ "name": "pc-layout-group",
3528
+ "description": "The `<pc-layout-group>` element arranges its entity's children in a row or\ncolumn, with spacing, padding, alignment and fitting. Must be a child of a `<pc-entity>`,\n`<pc-model>` or `<pc-node>`.\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.",
3529
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-layout-group/",
3334
3530
  "attributes": [
3335
3531
  {
3336
3532
  "name": "alignment",
@@ -3412,7 +3608,7 @@
3412
3608
  },
3413
3609
  {
3414
3610
  "name": "closestEntity",
3415
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3611
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3416
3612
  "type": "EntityBaseElement | null"
3417
3613
  },
3418
3614
  {
@@ -3468,9 +3664,19 @@
3468
3664
  },
3469
3665
  {
3470
3666
  "name": "pc-light",
3471
- "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.",
3472
- "doc-url": "",
3667
+ "description": "The `<pc-light>` element lights the scene from its entity — as a directional,\nomni or spot light with attributes for color, intensity, range and shadows. Must be a child of\na `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
3668
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-light/",
3473
3669
  "attributes": [
3670
+ {
3671
+ "name": "cascade-blend",
3672
+ "description": "The cascade blend factor of the light, from 0 (no blending) to 1, which applies only to `directional` lights with `num-cascades` greater than 1.",
3673
+ "value": { "type": "number", "default": "0" }
3674
+ },
3675
+ {
3676
+ "name": "cascade-distribution",
3677
+ "description": "The cascade distribution of the light, from 0 (linear split) to 1 (logarithmic split, concentrating shadow resolution near the camera), which applies only to `directional` lights with `num-cascades` greater than 1.",
3678
+ "value": { "type": "number", "default": "0.5" }
3679
+ },
3474
3680
  {
3475
3681
  "name": "cast-shadows",
3476
3682
  "description": "The cast shadows flag of the light.",
@@ -3499,7 +3705,12 @@
3499
3705
  {
3500
3706
  "name": "normal-offset-bias",
3501
3707
  "description": "The normal offset bias of the light.",
3502
- "value": { "type": "number", "default": "0.05" }
3708
+ "value": { "type": "number", "default": "0" }
3709
+ },
3710
+ {
3711
+ "name": "num-cascades",
3712
+ "description": "The number of shadow cascades of the light, an integer from 1 (no cascades) to 4, which applies only to `directional` lights.",
3713
+ "value": { "type": "number", "default": "1" }
3503
3714
  },
3504
3715
  {
3505
3716
  "name": "outer-cone-angle",
@@ -3524,7 +3735,7 @@
3524
3735
  {
3525
3736
  "name": "shadow-bias",
3526
3737
  "description": "The shadow bias of the light.",
3527
- "value": { "type": "number", "default": "0.2" }
3738
+ "value": { "type": "number", "default": "0.05" }
3528
3739
  },
3529
3740
  {
3530
3741
  "name": "shadow-blocker-samples",
@@ -3534,7 +3745,7 @@
3534
3745
  {
3535
3746
  "name": "shadow-distance",
3536
3747
  "description": "The shadow distance of the light.",
3537
- "value": { "type": "number", "default": "16" }
3748
+ "value": { "type": "number", "default": "40" }
3538
3749
  },
3539
3750
  {
3540
3751
  "name": "shadow-intensity",
@@ -3570,7 +3781,7 @@
3570
3781
  {
3571
3782
  "name": "vsm-bias",
3572
3783
  "description": "The VSM bias of the light.",
3573
- "value": { "type": "number", "default": "0.01" }
3784
+ "value": { "type": "number", "default": "0.0025" }
3574
3785
  },
3575
3786
  {
3576
3787
  "name": "vsm-blur-size",
@@ -3587,6 +3798,14 @@
3587
3798
  ],
3588
3799
  "js": {
3589
3800
  "properties": [
3801
+ {
3802
+ "name": "cascadeBlend",
3803
+ "description": "Gets the cascade blend factor of the light, from 0 (no blending) to 1, which applies only to\n`directional` lights with `num-cascades` greater than 1."
3804
+ },
3805
+ {
3806
+ "name": "cascadeDistribution",
3807
+ "description": "Gets the cascade distribution of the light, from 0 (linear split) to 1 (logarithmic split,\nconcentrating shadow resolution near the camera), which applies only to `directional` lights\nwith `num-cascades` greater than 1."
3808
+ },
3590
3809
  {
3591
3810
  "name": "castShadows",
3592
3811
  "description": "Gets the cast shadows flag of the light."
@@ -3598,7 +3817,7 @@
3598
3817
  },
3599
3818
  {
3600
3819
  "name": "closestEntity",
3601
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3820
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3602
3821
  "type": "EntityBaseElement | null"
3603
3822
  },
3604
3823
  {
@@ -3626,6 +3845,10 @@
3626
3845
  "name": "normalOffsetBias",
3627
3846
  "description": "Gets the normal offset bias of the light."
3628
3847
  },
3848
+ {
3849
+ "name": "numCascades",
3850
+ "description": "Gets the number of shadow cascades of the light, an integer from 1 (no cascades) to 4, which\napplies only to `directional` lights."
3851
+ },
3629
3852
  {
3630
3853
  "name": "outerConeAngle",
3631
3854
  "description": "Gets the outer cone angle of the light."
@@ -3690,58 +3913,9 @@
3690
3913
  }
3691
3914
  },
3692
3915
  {
3693
- "name": "pc-listener",
3694
- "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.",
3695
- "doc-url": "",
3696
- "attributes": [
3697
- {
3698
- "name": "enabled",
3699
- "description": "The enabled state of the component.",
3700
- "value": { "type": "boolean", "default": "true" }
3701
- }
3702
- ],
3703
- "events": [
3704
- {
3705
- "name": "ready",
3706
- "type": "CustomEvent",
3707
- "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."
3708
- }
3709
- ],
3710
- "js": {
3711
- "properties": [
3712
- {
3713
- "name": "closestApp",
3714
- "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.",
3715
- "type": "AppElement | null"
3716
- },
3717
- {
3718
- "name": "closestEntity",
3719
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3720
- "type": "EntityBaseElement | null"
3721
- },
3722
- {
3723
- "name": "component",
3724
- "description": "Gets the underlying PlayCanvas audio listener component.",
3725
- "type": "Component | null"
3726
- },
3727
- {
3728
- "name": "enabled",
3729
- "description": "Gets the enabled state of the component."
3730
- }
3731
- ],
3732
- "events": [
3733
- {
3734
- "name": "ready",
3735
- "type": "CustomEvent",
3736
- "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."
3737
- }
3738
- ]
3739
- }
3740
- },
3741
- {
3742
- "name": "pc-particles",
3743
- "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",
3744
- "doc-url": "",
3916
+ "name": "pc-particle-system",
3917
+ "description": "The `<pc-particle-system>` element emits particles from its entity, with\nattributes for the emitter's shape, rate, lifetime, textures and blending. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
3918
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-particle-system/",
3745
3919
  "attributes": [
3746
3920
  {
3747
3921
  "name": "asset",
@@ -3775,7 +3949,7 @@
3775
3949
  },
3776
3950
  {
3777
3951
  "name": "closestEntity",
3778
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
3952
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3779
3953
  "type": "EntityBaseElement | null"
3780
3954
  },
3781
3955
  {
@@ -3799,8 +3973,8 @@
3799
3973
  },
3800
3974
  {
3801
3975
  "name": "pc-render",
3802
- "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.",
3803
- "doc-url": "",
3976
+ "description": "The `<pc-render>` element renders one of the engine's built-in primitives at its\nentity — box, sphere, capsule, cone, cylinder or plane shaded by the `<pc-material>` its\n`material` attribute names. For glTF content, use `<pc-model>` instead. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
3977
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-render/",
3804
3978
  "attributes": [
3805
3979
  {
3806
3980
  "name": "cast-shadows",
@@ -3852,7 +4026,7 @@
3852
4026
  },
3853
4027
  {
3854
4028
  "name": "closestEntity",
3855
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4029
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3856
4030
  "type": "EntityBaseElement | null"
3857
4031
  },
3858
4032
  {
@@ -3889,9 +4063,9 @@
3889
4063
  }
3890
4064
  },
3891
4065
  {
3892
- "name": "pc-rigidbody",
3893
- "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.",
3894
- "doc-url": "",
4066
+ "name": "pc-rigid-body",
4067
+ "description": "The `<pc-rigid-body>` element hands its entity to the physics simulation, with\nattributes for its type, mass, friction and restitution. It needs a sibling `<pc-collision>` for\nits shape, and `Ammo` loaded through `<pc-wasm>`. Must be a child of a `<pc-entity>`,\n`<pc-model>` or `<pc-node>`.\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.",
4068
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-rigid-body/",
3895
4069
  "attributes": [
3896
4070
  {
3897
4071
  "name": "angular-damping",
@@ -3955,7 +4129,7 @@
3955
4129
  },
3956
4130
  {
3957
4131
  "name": "closestEntity",
3958
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4132
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
3959
4133
  "type": "EntityBaseElement | null"
3960
4134
  },
3961
4135
  {
@@ -3986,8 +4160,8 @@
3986
4160
  },
3987
4161
  {
3988
4162
  "name": "pc-screen",
3989
- "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.",
3990
- "doc-url": "",
4163
+ "description": "The `<pc-screen>` element gives its entity a 2D space — in screen space or in the\nworld — that a hierarchy of `<pc-element>` descendants lays out inside. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
4164
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-screen/",
3991
4165
  "attributes": [
3992
4166
  {
3993
4167
  "name": "enabled",
@@ -4039,7 +4213,7 @@
4039
4213
  },
4040
4214
  {
4041
4215
  "name": "closestEntity",
4042
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4216
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4043
4217
  "type": "EntityBaseElement | null"
4044
4218
  },
4045
4219
  {
@@ -4074,9 +4248,9 @@
4074
4248
  }
4075
4249
  },
4076
4250
  {
4077
- "name": "pc-scripts",
4078
- "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.",
4079
- "doc-url": "",
4251
+ "name": "pc-script",
4252
+ "description": "The `<pc-script>` element holds the `<pc-script-instance>` children that attach\nscripts to its entity. Must be a child of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
4253
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-script/",
4080
4254
  "attributes": [
4081
4255
  {
4082
4256
  "name": "enabled",
@@ -4100,7 +4274,7 @@
4100
4274
  },
4101
4275
  {
4102
4276
  "name": "closestEntity",
4103
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4277
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4104
4278
  "type": "EntityBaseElement | null"
4105
4279
  },
4106
4280
  {
@@ -4123,9 +4297,9 @@
4123
4297
  }
4124
4298
  },
4125
4299
  {
4126
- "name": "pc-script",
4127
- "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.",
4128
- "doc-url": "",
4300
+ "name": "pc-script-instance",
4301
+ "description": "The `<pc-script-instance>` element attaches one script class, named by `name`, to\nthe entity of its parent `<pc-script>`. Its other attributes set script attributes of the same\nname, and `attributes` takes a JSON object instead. Must be a direct child of `<pc-script>`.\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.",
4302
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-script-instance/",
4129
4303
  "attributes": [
4130
4304
  {
4131
4305
  "name": "attributes",
@@ -4174,7 +4348,7 @@
4174
4348
  },
4175
4349
  {
4176
4350
  "name": "closestEntity",
4177
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4351
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4178
4352
  "type": "EntityBaseElement | null"
4179
4353
  },
4180
4354
  {
@@ -4218,97 +4392,9 @@
4218
4392
  }
4219
4393
  },
4220
4394
  {
4221
- "name": "pc-scrollbar",
4222
- "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.",
4223
- "doc-url": "",
4224
- "attributes": [
4225
- {
4226
- "name": "enabled",
4227
- "description": "The enabled state of the component.",
4228
- "value": { "type": "boolean", "default": "true" }
4229
- },
4230
- {
4231
- "name": "handle",
4232
- "description": "The reference to the `<pc-entity>` used as the scrollbar handle.",
4233
- "value": { "type": "string" }
4234
- },
4235
- {
4236
- "name": "handle-size",
4237
- "description": "The size of the handle relative to the size of the track.",
4238
- "value": { "type": "number", "default": "0.5" }
4239
- },
4240
- {
4241
- "name": "orientation",
4242
- "description": "The orientation of the scrollbar.",
4243
- "value": {
4244
- "type": "'horizontal' | 'vertical'",
4245
- "default": "horizontal"
4246
- }
4247
- },
4248
- {
4249
- "name": "value",
4250
- "description": "The current position value of the scrollbar.",
4251
- "value": { "type": "number", "default": "0" }
4252
- }
4253
- ],
4254
- "events": [
4255
- {
4256
- "name": "ready",
4257
- "type": "CustomEvent",
4258
- "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."
4259
- }
4260
- ],
4261
- "js": {
4262
- "properties": [
4263
- {
4264
- "name": "closestApp",
4265
- "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.",
4266
- "type": "AppElement | null"
4267
- },
4268
- {
4269
- "name": "closestEntity",
4270
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4271
- "type": "EntityBaseElement | null"
4272
- },
4273
- {
4274
- "name": "component",
4275
- "description": "Gets the underlying PlayCanvas scrollbar component.",
4276
- "type": "Component | null"
4277
- },
4278
- {
4279
- "name": "enabled",
4280
- "description": "Gets the enabled state of the component."
4281
- },
4282
- {
4283
- "name": "handle",
4284
- "description": "Gets the reference to the `<pc-entity>` used as the scrollbar handle."
4285
- },
4286
- {
4287
- "name": "handleSize",
4288
- "description": "Gets the size of the handle relative to the size of the track."
4289
- },
4290
- {
4291
- "name": "orientation",
4292
- "description": "Gets the orientation of the scrollbar."
4293
- },
4294
- {
4295
- "name": "value",
4296
- "description": "Gets the current position value of the scrollbar."
4297
- }
4298
- ],
4299
- "events": [
4300
- {
4301
- "name": "ready",
4302
- "type": "CustomEvent",
4303
- "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."
4304
- }
4305
- ]
4306
- }
4307
- },
4308
- {
4309
- "name": "pc-scrollview",
4310
- "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.",
4311
- "doc-url": "",
4395
+ "name": "pc-scroll-view",
4396
+ "description": "The `<pc-scroll-view>` element scrolls a larger content entity within a clipped\nviewport at its entity, optionally driven by the `<pc-scrollbar>` elements it references. Must be\na child of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
4397
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-scroll-view/",
4312
4398
  "attributes": [
4313
4399
  {
4314
4400
  "name": "bounce-amount",
@@ -4410,7 +4496,7 @@
4410
4496
  },
4411
4497
  {
4412
4498
  "name": "closestEntity",
4413
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4499
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4414
4500
  "type": "EntityBaseElement | null"
4415
4501
  },
4416
4502
  {
@@ -4478,9 +4564,97 @@
4478
4564
  }
4479
4565
  },
4480
4566
  {
4481
- "name": "pc-sounds",
4482
- "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.",
4483
- "doc-url": "",
4567
+ "name": "pc-scrollbar",
4568
+ "description": "The `<pc-scrollbar>` element gives its entity a draggable handle reporting a\nposition from 0 to 1, which a `<pc-scroll-view>` references to scroll its content. Must be a\nchild of a `<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
4569
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-scrollbar/",
4570
+ "attributes": [
4571
+ {
4572
+ "name": "enabled",
4573
+ "description": "The enabled state of the component.",
4574
+ "value": { "type": "boolean", "default": "true" }
4575
+ },
4576
+ {
4577
+ "name": "handle",
4578
+ "description": "The reference to the `<pc-entity>` used as the scrollbar handle.",
4579
+ "value": { "type": "string" }
4580
+ },
4581
+ {
4582
+ "name": "handle-size",
4583
+ "description": "The size of the handle relative to the size of the track.",
4584
+ "value": { "type": "number", "default": "0.5" }
4585
+ },
4586
+ {
4587
+ "name": "orientation",
4588
+ "description": "The orientation of the scrollbar.",
4589
+ "value": {
4590
+ "type": "'horizontal' | 'vertical'",
4591
+ "default": "horizontal"
4592
+ }
4593
+ },
4594
+ {
4595
+ "name": "value",
4596
+ "description": "The current position value of the scrollbar.",
4597
+ "value": { "type": "number", "default": "0" }
4598
+ }
4599
+ ],
4600
+ "events": [
4601
+ {
4602
+ "name": "ready",
4603
+ "type": "CustomEvent",
4604
+ "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."
4605
+ }
4606
+ ],
4607
+ "js": {
4608
+ "properties": [
4609
+ {
4610
+ "name": "closestApp",
4611
+ "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.",
4612
+ "type": "AppElement | null"
4613
+ },
4614
+ {
4615
+ "name": "closestEntity",
4616
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4617
+ "type": "EntityBaseElement | null"
4618
+ },
4619
+ {
4620
+ "name": "component",
4621
+ "description": "Gets the underlying PlayCanvas scrollbar component.",
4622
+ "type": "Component | null"
4623
+ },
4624
+ {
4625
+ "name": "enabled",
4626
+ "description": "Gets the enabled state of the component."
4627
+ },
4628
+ {
4629
+ "name": "handle",
4630
+ "description": "Gets the reference to the `<pc-entity>` used as the scrollbar handle."
4631
+ },
4632
+ {
4633
+ "name": "handleSize",
4634
+ "description": "Gets the size of the handle relative to the size of the track."
4635
+ },
4636
+ {
4637
+ "name": "orientation",
4638
+ "description": "Gets the orientation of the scrollbar."
4639
+ },
4640
+ {
4641
+ "name": "value",
4642
+ "description": "Gets the current position value of the scrollbar."
4643
+ }
4644
+ ],
4645
+ "events": [
4646
+ {
4647
+ "name": "ready",
4648
+ "type": "CustomEvent",
4649
+ "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."
4650
+ }
4651
+ ]
4652
+ }
4653
+ },
4654
+ {
4655
+ "name": "pc-sound",
4656
+ "description": "The `<pc-sound>` element holds the `<pc-sound-slot>` children that play sounds at\nits entity, along with the positional audio settings they share. Must be a child of a\n`<pc-entity>`, `<pc-model>` or `<pc-node>`.\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.",
4657
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-sound/",
4484
4658
  "attributes": [
4485
4659
  {
4486
4660
  "name": "distance-model",
@@ -4542,7 +4716,7 @@
4542
4716
  },
4543
4717
  {
4544
4718
  "name": "closestEntity",
4545
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4719
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4546
4720
  "type": "EntityBaseElement | null"
4547
4721
  },
4548
4722
  {
@@ -4594,9 +4768,9 @@
4594
4768
  }
4595
4769
  },
4596
4770
  {
4597
- "name": "pc-sound",
4598
- "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.",
4599
- "doc-url": "",
4771
+ "name": "pc-sound-slot",
4772
+ "description": "The `<pc-sound-slot>` element declares one named sound on its parent `<pc-sound>`\n— its asset, volume, pitch, looping and autoplay. Must be a direct child of `<pc-sound>`.\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.",
4773
+ "doc-url": "https://developer.playcanvas.com/user-manual/web-components/tags/pc-sound-slot/",
4600
4774
  "attributes": [
4601
4775
  {
4602
4776
  "name": "asset",
@@ -4668,7 +4842,7 @@
4668
4842
  },
4669
4843
  {
4670
4844
  "name": "closestEntity",
4671
- "description": "The nearest ancestor element that fronts an entity — `<pc-entity>` or `<pc-node>` — or\n`null` if this element has no such ancestor. The search starts at the parent, so an element\nnever resolves to itself.",
4845
+ "description": "The nearest ancestor element that fronts an entity — `<pc-entity>`, `<pc-model>` or\n`<pc-node>` — or `null` if this element has no such ancestor. The search starts at the\nparent, so an element never resolves to itself.",
4672
4846
  "type": "EntityBaseElement | null"
4673
4847
  },
4674
4848
  {