@playcanvas/web-components 0.2.5 → 0.2.7

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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/app.d.ts +14 -3
  3. package/dist/asset.d.ts +1 -1
  4. package/dist/components/camera-component.d.ts +3 -3
  5. package/dist/components/collision-component.d.ts +1 -1
  6. package/dist/components/element-component.d.ts +1 -1
  7. package/dist/components/light-component.d.ts +2 -2
  8. package/dist/components/listener-component.d.ts +1 -1
  9. package/dist/components/particlesystem-component.d.ts +1 -1
  10. package/dist/components/render-component.d.ts +1 -1
  11. package/dist/components/rigidbody-component.d.ts +1 -1
  12. package/dist/components/screen-component.d.ts +2 -2
  13. package/dist/components/script-component.d.ts +1 -1
  14. package/dist/components/sound-component.d.ts +1 -1
  15. package/dist/components/splat-component.d.ts +13 -1
  16. package/dist/entity.d.ts +4 -4
  17. package/dist/material.d.ts +1 -1
  18. package/dist/model.d.ts +1 -1
  19. package/dist/module.d.ts +1 -1
  20. package/dist/pwc.cjs +155 -46
  21. package/dist/pwc.cjs.map +1 -1
  22. package/dist/pwc.js +155 -46
  23. package/dist/pwc.js.map +1 -1
  24. package/dist/pwc.min.js +1 -1
  25. package/dist/pwc.min.js.map +1 -1
  26. package/dist/pwc.mjs +156 -47
  27. package/dist/pwc.mjs.map +1 -1
  28. package/dist/scene.d.ts +1 -1
  29. package/package.json +16 -16
  30. package/src/app.ts +170 -15
  31. package/src/asset.ts +2 -1
  32. package/src/components/camera-component.ts +1 -1
  33. package/src/components/collision-component.ts +1 -1
  34. package/src/components/element-component.ts +1 -1
  35. package/src/components/light-component.ts +1 -1
  36. package/src/components/listener-component.ts +1 -1
  37. package/src/components/particlesystem-component.ts +1 -1
  38. package/src/components/render-component.ts +1 -1
  39. package/src/components/rigidbody-component.ts +1 -1
  40. package/src/components/screen-component.ts +1 -1
  41. package/src/components/script-component.ts +1 -1
  42. package/src/components/sound-component.ts +1 -1
  43. package/src/components/sound-slot.ts +3 -0
  44. package/src/components/splat-component.ts +33 -4
  45. package/src/entity.ts +4 -4
  46. package/src/material.ts +1 -1
  47. package/src/model.ts +1 -1
  48. package/src/module.ts +7 -14
  49. package/src/scene.ts +1 -1
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![License](https://img.shields.io/npm/l/@playcanvas/web-components.svg)](https://github.com/playcanvas/web-components/blob/main/LICENSE)
6
6
  [![GitHub Actions Build Status](https://github.com/playcanvas/web-components/actions/workflows/deploy.yml/badge.svg)](https://github.com/playcanvas/web-components/actions/workflows/deploy.yml)
7
7
 
8
- | [User Guide](https://developer.playcanvas.com/user-manual/engine/web-components) | [API Reference](https://api.playcanvas.com/modules/EngineWebComponents.html) | [Examples](https://playcanvas.github.io/web-components/examples) | [Blog](https://blog.playcanvas.com/) | [Forum](https://forum.playcanvas.com/) | [Discord](https://discord.gg/RSaMRzg) |
8
+ | [User Guide](https://developer.playcanvas.com/user-manual/web-components) | [API Reference](https://api.playcanvas.com/web-components/) | [Examples](https://playcanvas.github.io/web-components/examples) | [Blog](https://blog.playcanvas.com/) | [Forum](https://forum.playcanvas.com/) | [Discord](https://discord.gg/RSaMRzg) |
9
9
 
10
10
  PlayCanvas Web Components are a set of custom HTML elements for building 3D interactive web apps. Using the declarative nature of HTML makes it both easy and fun to incorporate 3D into your website. Check out this simple example:
11
11
 
package/dist/app.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { Application } from 'playcanvas';
1
+ import { AppBase } from 'playcanvas';
2
2
  import { AsyncElement } from './async-element';
3
3
  /**
4
4
  * The AppElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-app/ | `<pc-app>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-app/ | `<pc-app>`} elements.
6
6
  * The AppElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  */
@@ -12,6 +12,7 @@ declare class AppElement extends AsyncElement {
12
12
  */
13
13
  private _canvas;
14
14
  private _alpha;
15
+ private _backend;
15
16
  private _antialias;
16
17
  private _depth;
17
18
  private _stencil;
@@ -24,7 +25,7 @@ declare class AppElement extends AsyncElement {
24
25
  /**
25
26
  * The PlayCanvas application instance.
26
27
  */
27
- app: Application | null;
28
+ app: AppBase | null;
28
29
  /**
29
30
  * Creates a new AppElement instance.
30
31
  *
@@ -62,6 +63,16 @@ declare class AppElement extends AsyncElement {
62
63
  * @returns The antialias flag.
63
64
  */
64
65
  get antialias(): boolean;
66
+ /**
67
+ * Sets the graphics backend.
68
+ * @param value - The graphics backend ('webgpu', 'webgl2', or 'null').
69
+ */
70
+ set backend(value: 'webgpu' | 'webgl2' | 'null');
71
+ /**
72
+ * Gets the graphics backend.
73
+ * @returns The graphics backend.
74
+ */
75
+ get backend(): "webgpu" | "webgl2" | "null";
65
76
  /**
66
77
  * Sets the depth flag.
67
78
  * @param value - The depth flag.
package/dist/asset.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Asset } from 'playcanvas';
2
2
  /**
3
3
  * The AssetElement interface provides properties and methods for manipulating
4
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-asset/ | `<pc-asset>`} elements.
4
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-asset/ | `<pc-asset>`} elements.
5
5
  * The AssetElement interface also inherits the properties and methods of the
6
6
  * {@link HTMLElement} interface.
7
7
  */
@@ -2,7 +2,7 @@ import { CameraComponent, Color, Vec4 } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The CameraComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-camera/ | `<pc-camera>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-camera/ | `<pc-camera>`} elements.
6
6
  * The CameraComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -39,7 +39,7 @@ declare class CameraComponentElement extends ComponentElement {
39
39
  flipFaces: boolean;
40
40
  fov: number;
41
41
  frustumCulling: boolean;
42
- gammaCorrection: number;
42
+ gammaCorrection: 0 | 1;
43
43
  horizontalFov: boolean;
44
44
  nearClip: number;
45
45
  orthographic: boolean;
@@ -47,7 +47,7 @@ declare class CameraComponentElement extends ComponentElement {
47
47
  priority: number;
48
48
  rect: Vec4;
49
49
  scissorRect: Vec4;
50
- toneMapping: number | undefined;
50
+ toneMapping: 0 | 2 | 1 | 3 | 4 | 5 | 6 | undefined;
51
51
  };
52
52
  get xrAvailable(): boolean | null | undefined;
53
53
  /**
@@ -2,7 +2,7 @@ import { CollisionComponent, Quat, Vec3 } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The CollisionComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-collision/ | `<pc-collision>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-collision/ | `<pc-collision>`} elements.
6
6
  * The CollisionComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { Color, ElementComponent, Vec2, Vec4 } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The ElementComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-element/ | `<pc-element>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-element/ | `<pc-element>`} elements.
6
6
  * The ElementComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { Color, LightComponent } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The LightComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-light/ | `<pc-light>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-light/ | `<pc-light>`} elements.
6
6
  * The LightComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -38,7 +38,7 @@ declare class LightComponentElement extends ComponentElement {
38
38
  shadowDistance: number;
39
39
  shadowIntensity: number;
40
40
  shadowResolution: number;
41
- shadowType: number | undefined;
41
+ shadowType: 0 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined;
42
42
  type: string;
43
43
  vsmBias: number;
44
44
  vsmBlurSize: number;
@@ -2,7 +2,7 @@ import { AudioListenerComponent } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The ListenerComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-listener/ | `<pc-listener>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-listener/ | `<pc-listener>`} elements.
6
6
  * The ListenerComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { ParticleSystemComponent } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The ParticleSystemComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-particles/ | `<pc-particles>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-particles/ | `<pc-particles>`} elements.
6
6
  * The ParticleSystemComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { RenderComponent, StandardMaterial } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The RenderComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-render/ | `<pc-render>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-render/ | `<pc-render>`} elements.
6
6
  * The RenderComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { RigidBodyComponent, Vec3 } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The RigidBodyComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-rigidbody/ | `<pc-rigidbody>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-rigidbody/ | `<pc-rigidbody>`} elements.
6
6
  * The RigidBodyComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { ScreenComponent, Vec2 } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The ScreenComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-screen/ | `<pc-screen>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-screen/ | `<pc-screen>`} elements.
6
6
  * The ScreenComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -22,7 +22,7 @@ declare class ScreenComponentElement extends ComponentElement {
22
22
  referenceResolution: Vec2;
23
23
  resolution: Vec2;
24
24
  scaleBlend: number;
25
- scaleMode: string;
25
+ scaleMode: "none" | "blend";
26
26
  screenSpace: boolean;
27
27
  };
28
28
  /**
@@ -18,7 +18,7 @@ declare global {
18
18
  }
19
19
  /**
20
20
  * The ScriptComponentElement interface provides properties and methods for manipulating
21
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-scripts/ | `<pc-scripts>`} elements.
21
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-scripts/ | `<pc-scripts>`} elements.
22
22
  * The ScriptComponentElement interface also inherits the properties and methods of the
23
23
  * {@link HTMLElement} interface.
24
24
  *
@@ -2,7 +2,7 @@ import { SoundComponent } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The SoundComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-sounds/ | `<pc-sounds>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-sounds/ | `<pc-sounds>`} elements.
6
6
  * The SoundComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -2,7 +2,7 @@ import { GSplatComponent } from 'playcanvas';
2
2
  import { ComponentElement } from './component';
3
3
  /**
4
4
  * The SplatComponentElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
6
6
  * The SplatComponentElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  *
@@ -10,10 +10,12 @@ import { ComponentElement } from './component';
10
10
  */
11
11
  declare class SplatComponentElement extends ComponentElement {
12
12
  private _asset;
13
+ private _castShadows;
13
14
  /** @ignore */
14
15
  constructor();
15
16
  getInitialComponentData(): {
16
17
  asset: import("playcanvas").Asset | null | undefined;
18
+ castShadows: boolean;
17
19
  };
18
20
  /**
19
21
  * Gets the underlying PlayCanvas splat component.
@@ -30,6 +32,16 @@ declare class SplatComponentElement extends ComponentElement {
30
32
  * @returns The asset ID.
31
33
  */
32
34
  get asset(): string;
35
+ /**
36
+ * Sets whether the splat casts shadows.
37
+ * @param value - Whether the splat casts shadows.
38
+ */
39
+ set castShadows(value: boolean);
40
+ /**
41
+ * Gets whether the splat casts shadows.
42
+ * @returns Whether the splat casts shadows.
43
+ */
44
+ get castShadows(): boolean;
33
45
  static get observedAttributes(): string[];
34
46
  attributeChangedCallback(name: string, _oldValue: string, newValue: string): void;
35
47
  }
package/dist/entity.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { Application, Entity, Vec3 } from 'playcanvas';
1
+ import { AppBase, Entity, Vec3 } from 'playcanvas';
2
2
  import { AsyncElement } from './async-element';
3
3
  /**
4
4
  * The EntityElement interface provides properties and methods for manipulating
5
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-entity/ | `<pc-entity>`} elements.
5
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-entity/ | `<pc-entity>`} elements.
6
6
  * The EntityElement interface also inherits the properties and methods of the
7
7
  * {@link HTMLElement} interface.
8
8
  */
@@ -39,8 +39,8 @@ declare class EntityElement extends AsyncElement {
39
39
  * The PlayCanvas entity instance.
40
40
  */
41
41
  entity: Entity | null;
42
- createEntity(app: Application): void;
43
- buildHierarchy(app: Application): void;
42
+ createEntity(app: AppBase): void;
43
+ buildHierarchy(app: AppBase): void;
44
44
  connectedCallback(): void;
45
45
  disconnectedCallback(): void;
46
46
  /**
@@ -1,7 +1,7 @@
1
1
  import { Color, StandardMaterial } from 'playcanvas';
2
2
  /**
3
3
  * The MaterialElement interface provides properties and methods for manipulating
4
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-material/ | `<pc-material>`} elements.
4
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-material/ | `<pc-material>`} elements.
5
5
  * The MaterialElement interface also inherits the properties and methods of the
6
6
  * {@link HTMLElement} interface.
7
7
  */
package/dist/model.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AsyncElement } from './async-element';
2
2
  /**
3
3
  * The ModelElement interface provides properties and methods for manipulating
4
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-model/ | `<pc-model>`} elements.
4
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-model/ | `<pc-model>`} elements.
5
5
  * The ModelElement interface also inherits the properties and methods of the
6
6
  * {@link HTMLElement} interface.
7
7
  */
package/dist/module.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The ModuleElement interface provides properties and methods for manipulating
3
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-module/ | `<pc-module>`} elements.
3
+ * {@link https://developer.playcanvas.com/user-manual/web-components/tags/pc-module/ | `<pc-module>`} elements.
4
4
  * The ModuleElement interface also inherits the properties and methods of the
5
5
  * {@link HTMLElement} interface.
6
6
  */