angular-three-cannon 1.6.1 → 2.0.0-beta.10

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 (53) hide show
  1. package/README.md +4 -12
  2. package/debug/lib/debug.d.ts +29 -12
  3. package/esm2022/angular-three-cannon.mjs +1 -1
  4. package/esm2022/debug/angular-three-cannon-debug.mjs +1 -1
  5. package/esm2022/debug/index.mjs +1 -1
  6. package/esm2022/debug/lib/debug.mjs +34 -55
  7. package/esm2022/index.mjs +1 -3
  8. package/esm2022/lib/physics.mjs +179 -152
  9. package/esm2022/services/angular-three-cannon-services.mjs +1 -1
  10. package/esm2022/services/index.mjs +2 -2
  11. package/esm2022/services/lib/body.mjs +252 -230
  12. package/esm2022/services/lib/constraints.mjs +58 -0
  13. package/esm2022/services/lib/contact-material.mjs +19 -17
  14. package/esm2022/services/lib/ray.mjs +26 -28
  15. package/esm2022/services/lib/raycast-vehicle.mjs +62 -70
  16. package/esm2022/services/lib/spring.mjs +30 -36
  17. package/fesm2022/angular-three-cannon-debug.mjs +33 -53
  18. package/fesm2022/angular-three-cannon-debug.mjs.map +1 -1
  19. package/fesm2022/angular-three-cannon-services.mjs +419 -418
  20. package/fesm2022/angular-three-cannon-services.mjs.map +1 -1
  21. package/fesm2022/angular-three-cannon.mjs +179 -214
  22. package/fesm2022/angular-three-cannon.mjs.map +1 -1
  23. package/index.d.ts +0 -2
  24. package/lib/physics.d.ts +66 -30
  25. package/package.json +8 -13
  26. package/services/index.d.ts +1 -1
  27. package/services/lib/body.d.ts +18 -38
  28. package/services/lib/constraints.d.ts +31 -0
  29. package/services/lib/contact-material.d.ts +8 -2
  30. package/services/lib/ray.d.ts +12 -4
  31. package/services/lib/raycast-vehicle.d.ts +14 -9
  32. package/services/lib/spring.d.ts +12 -7
  33. package/esm2022/lib/store.mjs +0 -22
  34. package/esm2022/lib/utils.mjs +0 -48
  35. package/esm2022/services/lib/constraint.mjs +0 -69
  36. package/esm2022/services/lib/utils.mjs +0 -5
  37. package/lib/store.d.ts +0 -34
  38. package/lib/utils.d.ts +0 -16
  39. package/plugin/README.md +0 -11
  40. package/plugin/generators.json +0 -19
  41. package/plugin/package.json +0 -9
  42. package/plugin/src/generators/init/compat.d.ts +0 -2
  43. package/plugin/src/generators/init/compat.js +0 -6
  44. package/plugin/src/generators/init/compat.js.map +0 -1
  45. package/plugin/src/generators/init/init.d.ts +0 -5
  46. package/plugin/src/generators/init/init.js +0 -28
  47. package/plugin/src/generators/init/init.js.map +0 -1
  48. package/plugin/src/generators/init/schema.json +0 -7
  49. package/plugin/src/index.d.ts +0 -1
  50. package/plugin/src/index.js +0 -6
  51. package/plugin/src/index.js.map +0 -1
  52. package/services/lib/constraint.d.ts +0 -25
  53. package/services/lib/utils.d.ts +0 -2
package/README.md CHANGED
@@ -1,15 +1,7 @@
1
- # Physics utilities for Angular Three using CannonJS
1
+ # cannon
2
2
 
3
- ## Installation
3
+ This library was generated with [Nx](https://nx.dev).
4
4
 
5
- ```shell
6
- ng add angular-three-cannon
7
- ```
5
+ ## Running unit tests
8
6
 
9
- ## Documentations
10
-
11
- Read more about Angular Three Cannon usages in [TBD: Documentations](#)
12
-
13
- ## Contributions
14
-
15
- Contributions are welcomed
7
+ Run `nx test cannon` to execute the unit tests.
@@ -1,24 +1,41 @@
1
- import { InjectionToken, OnInit } from '@angular/core';
2
- import { BodyProps, BodyShapeType } from '@pmndrs/cannon-worker-api';
3
- import { Body } from 'cannon-es';
1
+ import { type OnInit } from '@angular/core';
2
+ import { type BodyProps, type BodyShapeType } from '@pmndrs/cannon-worker-api';
4
3
  import CannonDebugger from 'cannon-es-debugger';
5
4
  import * as THREE from 'three';
6
5
  import * as i0 from "@angular/core";
7
- export type NgtcDebugApi = {
8
- add(id: string, props: BodyProps, type: BodyShapeType): void;
9
- remove(id: string): void;
10
- };
11
- export declare const NGTC_DEBUG_API: InjectionToken<NgtcDebugApi>;
6
+ export declare const injectNgtcDebugApi: {
7
+ (): {
8
+ add: (uuid: string, props: BodyProps, type: BodyShapeType) => void;
9
+ remove: (id: string) => void;
10
+ };
11
+ (injectOptions: import("@angular/core").InjectOptions & {
12
+ optional?: false | undefined;
13
+ }): {
14
+ add: (uuid: string, props: BodyProps, type: BodyShapeType) => void;
15
+ remove: (id: string) => void;
16
+ };
17
+ (injectOptions: import("@angular/core").InjectOptions): {
18
+ add: (uuid: string, props: BodyProps, type: BodyShapeType) => void;
19
+ remove: (id: string) => void;
20
+ } | null;
21
+ }, provideNgtcDebugApi: (value?: {
22
+ add: (uuid: string, props: BodyProps, type: BodyShapeType) => void;
23
+ remove: (id: string) => void;
24
+ } | undefined) => import("@angular/core").Provider;
12
25
  export declare class NgtcDebug implements OnInit {
13
26
  color: string;
14
27
  scale: number;
15
28
  impl: typeof CannonDebugger;
16
29
  disabled: boolean;
17
- readonly bodies: Body[];
18
- readonly bodyMap: Record<string, Body>;
19
- readonly scene: THREE.Scene;
20
- private readonly physicsStore;
30
+ private bodies;
31
+ private bodyMap;
32
+ private physicsApi;
33
+ scene: THREE.Scene;
21
34
  private cannonDebugger;
35
+ api: {
36
+ add: (uuid: string, props: BodyProps, type: BodyShapeType) => void;
37
+ remove: (id: string) => void;
38
+ };
22
39
  constructor();
23
40
  ngOnInit(): void;
24
41
  static ɵfac: i0.ɵɵFactoryDeclaration<NgtcDebug, never>;
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtY2Fubm9uL3NyYy9hbmd1bGFyLXRocmVlLWNhbm5vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtY2Fubm9uL2RlYnVnL3NyYy9hbmd1bGFyLXRocmVlLWNhbm5vbi1kZWJ1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './lib/debug';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtY2Fubm9uL2RlYnVnL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2RlYnVnJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9kZWJ1Zyc7XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input } from '@angular/core';
1
+ import { Component, CUSTOM_ELEMENTS_SCHEMA, forwardRef, Input } from '@angular/core';
2
2
  import { propsToBody } from '@pmndrs/cannon-worker-api';
3
- import { injectBeforeRender, NgtArgs } from 'angular-three';
4
- import { NgtcStore } from 'angular-three-cannon';
3
+ import { createInjectionToken, injectBeforeRender, NgtArgs } from 'angular-three';
4
+ import { injectNgtcPhysicsApi } from 'angular-three-cannon';
5
5
  import CannonDebugger from 'cannon-es-debugger';
6
6
  import * as THREE from 'three';
7
7
  import * as i0 from "@angular/core";
@@ -16,8 +16,11 @@ function getMatrix(o) {
16
16
  }
17
17
  return o.matrix;
18
18
  }
19
- export const NGTC_DEBUG_API = new InjectionToken('NgtcDebug API');
20
- class NgtcDebug {
19
+ export const [injectNgtcDebugApi, provideNgtcDebugApi] = createInjectionToken((debug) => debug.api, {
20
+ isRoot: false,
21
+ deps: [forwardRef(() => NgtcDebug)],
22
+ });
23
+ export class NgtcDebug {
21
24
  constructor() {
22
25
  this.color = 'black';
23
26
  this.scale = 1;
@@ -25,12 +28,25 @@ class NgtcDebug {
25
28
  this.disabled = false;
26
29
  this.bodies = [];
27
30
  this.bodyMap = {};
31
+ this.physicsApi = injectNgtcPhysicsApi();
28
32
  this.scene = new THREE.Scene();
29
- this.physicsStore = inject(NgtcStore, { skipSelf: true });
33
+ this.api = {
34
+ add: (uuid, props, type) => {
35
+ const body = propsToBody({ uuid, props, type });
36
+ this.bodies.push(body);
37
+ this.bodyMap[uuid] = body;
38
+ },
39
+ remove: (id) => {
40
+ const debugBodyIndex = this.bodies.indexOf(this.bodyMap[id]);
41
+ if (debugBodyIndex > -1)
42
+ this.bodies.splice(debugBodyIndex, 1);
43
+ delete this.bodyMap[id];
44
+ },
45
+ };
30
46
  injectBeforeRender(() => {
31
47
  if (!this.cannonDebugger)
32
48
  return;
33
- const refs = this.physicsStore.get('refs');
49
+ const refs = this.physicsApi.get('refs');
34
50
  for (const uuid in this.bodyMap) {
35
51
  getMatrix(refs[uuid]).decompose(v, q, s);
36
52
  this.bodyMap[uuid].position.copy(v);
@@ -50,59 +66,22 @@ class NgtcDebug {
50
66
  scale: this.scale,
51
67
  });
52
68
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtcDebug, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgtcDebug, isStandalone: true, selector: "ngtc-debug", inputs: { color: "color", scale: "scale", impl: "impl", disabled: "disabled" }, providers: [
55
- {
56
- provide: NGTC_DEBUG_API,
57
- useFactory: (debug) => ({
58
- add: (uuid, props, type) => {
59
- const body = propsToBody({ uuid, props, type });
60
- debug.bodies.push(body);
61
- debug.bodyMap[uuid] = body;
62
- },
63
- remove: (id) => {
64
- const debugBodyIndex = debug.bodies.indexOf(debug.bodyMap[id]);
65
- if (debugBodyIndex > -1)
66
- debug.bodies.splice(debugBodyIndex, 1);
67
- delete debug.bodyMap[id];
68
- },
69
- }),
70
- deps: [NgtcDebug],
71
- },
72
- ], ngImport: i0, template: `
73
- <ngt-primitive *args="[scene]" />
74
- <ng-content />
75
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtcDebug, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: NgtcDebug, isStandalone: true, selector: "ngtc-debug", inputs: { color: "color", scale: "scale", impl: "impl", disabled: "disabled" }, providers: [provideNgtcDebugApi()], ngImport: i0, template: `
71
+ <ngt-primitive *args="[scene]" />
72
+ <ng-content />
73
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
76
74
  }
77
- export { NgtcDebug };
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgtcDebug, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: NgtcDebug, decorators: [{
79
76
  type: Component,
80
77
  args: [{
81
78
  selector: 'ngtc-debug',
82
79
  standalone: true,
83
80
  template: `
84
- <ngt-primitive *args="[scene]" />
85
- <ng-content />
86
- `,
87
- providers: [
88
- {
89
- provide: NGTC_DEBUG_API,
90
- useFactory: (debug) => ({
91
- add: (uuid, props, type) => {
92
- const body = propsToBody({ uuid, props, type });
93
- debug.bodies.push(body);
94
- debug.bodyMap[uuid] = body;
95
- },
96
- remove: (id) => {
97
- const debugBodyIndex = debug.bodies.indexOf(debug.bodyMap[id]);
98
- if (debugBodyIndex > -1)
99
- debug.bodies.splice(debugBodyIndex, 1);
100
- delete debug.bodyMap[id];
101
- },
102
- }),
103
- deps: [NgtcDebug],
104
- },
105
- ],
81
+ <ngt-primitive *args="[scene]" />
82
+ <ng-content />
83
+ `,
84
+ providers: [provideNgtcDebugApi()],
106
85
  imports: [NgtArgs],
107
86
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
108
87
  }]
@@ -115,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
115
94
  }], disabled: [{
116
95
  type: Input
117
96
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtY2Fubm9uL2RlYnVnL3NyYy9saWIvZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQTRCLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sY0FBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQUUvQixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNyQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUU5QixTQUFTLFNBQVMsQ0FBQyxDQUFpQjtJQUNoQyxJQUFJLENBQUMsWUFBWSxLQUFLLENBQUMsYUFBYSxFQUFFO1FBQ2xDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLENBQUM7S0FDWjtJQUNELE9BQU8sQ0FB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LENBQUM7NEJBQ0YsSUFBSSxFQUFFLFdBQVc7eUJBQ3BCO3FCQUNKO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDOzBFQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvZHlQcm9wcywgQm9keVNoYXBlVHlwZSwgcHJvcHNUb0JvZHkgfSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgTmd0QXJncyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1N0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZS1jYW5ub24nO1xuaW1wb3J0IHsgQm9keSwgUXVhdGVybmlvbiBhcyBDUXVhcnRlcm5pb24sIFZlYzMsIFdvcmxkIH0gZnJvbSAnY2Fubm9uLWVzJztcbmltcG9ydCBDYW5ub25EZWJ1Z2dlciBmcm9tICdjYW5ub24tZXMtZGVidWdnZXInO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBxID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbmNvbnN0IHMgPSBuZXcgVEhSRUUuVmVjdG9yMygxLCAxLCAxKTtcbmNvbnN0IHYgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgbSA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG5cbmZ1bmN0aW9uIGdldE1hdHJpeChvOiBUSFJFRS5PYmplY3QzRCk6IFRIUkVFLk1hdHJpeDQge1xuICAgIGlmIChvIGluc3RhbmNlb2YgVEhSRUUuSW5zdGFuY2VkTWVzaCkge1xuICAgICAgICBvLmdldE1hdHJpeEF0KHBhcnNlSW50KG8udXVpZC5zcGxpdCgnLycpWzFdKSwgbSk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cbiAgICByZXR1cm4gby5tYXRyaXg7XG59XG5cbmV4cG9ydCB0eXBlIE5ndGNEZWJ1Z0FwaSA9IHtcbiAgICBhZGQoaWQ6IHN0cmluZywgcHJvcHM6IEJvZHlQcm9wcywgdHlwZTogQm9keVNoYXBlVHlwZSk6IHZvaWQ7XG4gICAgcmVtb3ZlKGlkOiBzdHJpbmcpOiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IE5HVENfREVCVUdfQVBJID0gbmV3IEluamVjdGlvblRva2VuPE5ndGNEZWJ1Z0FwaT4oJ05ndGNEZWJ1ZyBBUEknKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3RjLWRlYnVnJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW3NjZW5lXVwiIC8+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdUQ19ERUJVR19BUEksXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoZGVidWc6IE5ndGNEZWJ1ZykgPT4gKHtcbiAgICAgICAgICAgICAgICBhZGQ6ICh1dWlkOiBzdHJpbmcsIHByb3BzOiBCb2R5UHJvcHMsIHR5cGU6IEJvZHlTaGFwZVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9keSA9IHByb3BzVG9Cb2R5KHsgdXVpZCwgcHJvcHMsIHR5cGUgfSk7XG4gICAgICAgICAgICAgICAgICAgIGRlYnVnLmJvZGllcy5wdXNoKGJvZHkpO1xuICAgICAgICAgICAgICAgICAgICBkZWJ1Zy5ib2R5TWFwW3V1aWRdID0gYm9keTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlbW92ZTogKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVidWdCb2R5SW5kZXggPSBkZWJ1Zy5ib2RpZXMuaW5kZXhPZihkZWJ1Zy5ib2R5TWFwW2lkXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZWJ1Z0JvZHlJbmRleCA+IC0xKSBkZWJ1Zy5ib2RpZXMuc3BsaWNlKGRlYnVnQm9keUluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGRlYnVnLmJvZHlNYXBbaWRdO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRlcHM6IFtOZ3RjRGVidWddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaW1wb3J0czogW05ndEFyZ3NdLFxuICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0Y0RlYnVnIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjb2xvciA9ICdibGFjayc7XG4gICAgQElucHV0KCkgc2NhbGUgPSAxO1xuICAgIEBJbnB1dCgpIGltcGwgPSBDYW5ub25EZWJ1Z2dlcjtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgYm9kaWVzOiBCb2R5W10gPSBbXTtcbiAgICByZWFkb25seSBib2R5TWFwOiBSZWNvcmQ8c3RyaW5nLCBCb2R5PiA9IHt9O1xuICAgIHJlYWRvbmx5IHNjZW5lID0gbmV3IFRIUkVFLlNjZW5lKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBoeXNpY3NTdG9yZSA9IGluamVjdChOZ3RjU3RvcmUsIHsgc2tpcFNlbGY6IHRydWUgfSk7XG5cbiAgICBwcml2YXRlIGNhbm5vbkRlYnVnZ2VyITogUmV0dXJuVHlwZTx0eXBlb2YgQ2Fubm9uRGVidWdnZXI+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuY2Fubm9uRGVidWdnZXIpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IHJlZnMgPSB0aGlzLnBoeXNpY3NTdG9yZS5nZXQoJ3JlZnMnKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdXVpZCBpbiB0aGlzLmJvZHlNYXApIHtcbiAgICAgICAgICAgICAgICBnZXRNYXRyaXgocmVmc1t1dWlkXSkuZGVjb21wb3NlKHYsIHEsIHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuYm9keU1hcFt1dWlkXS5wb3NpdGlvbi5jb3B5KHYgYXMgdW5rbm93biBhcyBWZWMzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJvZHlNYXBbdXVpZF0ucXVhdGVybmlvbi5jb3B5KHEgYXMgdW5rbm93biBhcyBDUXVhcnRlcm5pb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuc2NlbmUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjaGlsZC52aXNpYmxlID0gIXRoaXMuZGlzYWJsZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2Fubm9uRGVidWdnZXIudXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNhbm5vbkRlYnVnZ2VyID0gdGhpcy5pbXBsKHRoaXMuc2NlbmUsIHsgYm9kaWVzOiB0aGlzLmJvZGllcyB9IGFzIFdvcmxkLCB7XG4gICAgICAgICAgICBjb2xvcjogdGhpcy5jb2xvcixcbiAgICAgICAgICAgIHNjYWxlOiB0aGlzLnNjYWxlLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFzQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUQsT0FBTyxjQUFjLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBRS9CLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQzlCLE1BQU0sQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTlCLFNBQVMsU0FBUyxDQUFDLENBQWlCO0lBQ25DLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQyxhQUFhLEVBQUU7UUFDckMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsQ0FBQztLQUNUO0lBQ0QsT0FBTyxDQUFDLENBQUMsTUFB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QUMsTUFBTSxFQUFXLEVBQUU7WUFDN0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNqQixDQUFDLENBQUM7SUFDSixDQUFDOzhHQXBEVyxTQUFTO2tHQUFULFNBQVMseUlBSlYsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLDBCQUp4Qjs7O0VBR1QsNERBRVMsT0FBTzs7MkZBR0wsU0FBUztrQkFYckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7O0VBR1Q7b0JBQ0QsU0FBUyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakM7MEVBRVMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZm9yd2FyZFJlZiwgSW5wdXQsIHR5cGUgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm9wc1RvQm9keSwgdHlwZSBCb2R5UHJvcHMsIHR5cGUgQm9keVNoYXBlVHlwZSB9IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgY3JlYXRlSW5qZWN0aW9uVG9rZW4sIGluamVjdEJlZm9yZVJlbmRlciwgTmd0QXJncyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgaW5qZWN0Tmd0Y1BoeXNpY3NBcGkgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbic7XG5pbXBvcnQgdHlwZSB7IEJvZHksIFF1YXRlcm5pb24gYXMgQ1F1YXJ0ZXJuaW9uLCBWZWMzLCBXb3JsZCB9IGZyb20gJ2Nhbm5vbi1lcyc7XG5pbXBvcnQgQ2Fubm9uRGVidWdnZXIgZnJvbSAnY2Fubm9uLWVzLWRlYnVnZ2VyJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgcSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBzID0gbmV3IFRIUkVFLlZlY3RvcjMoMSwgMSwgMSk7XG5jb25zdCB2ID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IG0gPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuXG5mdW5jdGlvbiBnZXRNYXRyaXgobzogVEhSRUUuT2JqZWN0M0QpOiBUSFJFRS5NYXRyaXg0IHtcblx0aWYgKG8gaW5zdGFuY2VvZiBUSFJFRS5JbnN0YW5jZWRNZXNoKSB7XG5cdFx0by5nZXRNYXRyaXhBdChwYXJzZUludChvLnV1aWQuc3BsaXQoJy8nKVsxXSksIG0pO1xuXHRcdHJldHVybiBtO1xuXHR9XG5cdHJldHVybiBvLm1hdHJpeDtcbn1cblxuZXhwb3J0IGNvbnN0IFtpbmplY3ROZ3RjRGVidWdBcGksIHByb3ZpZGVOZ3RjRGVidWdBcGldID0gY3JlYXRlSW5qZWN0aW9uVG9rZW4oKGRlYnVnOiBOZ3RjRGVidWcpID0+IGRlYnVnLmFwaSwge1xuXHRpc1Jvb3Q6IGZhbHNlLFxuXHRkZXBzOiBbZm9yd2FyZFJlZigoKSA9PiBOZ3RjRGVidWcpXSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RjLWRlYnVnJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltzY2VuZV1cIiAvPlxuXHRcdDxuZy1jb250ZW50IC8+XG5cdGAsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVOZ3RjRGVidWdBcGkoKV0sXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RjRGVidWcgaW1wbGVtZW50cyBPbkluaXQge1xuXHRASW5wdXQoKSBjb2xvciA9ICdibGFjayc7XG5cdEBJbnB1dCgpIHNjYWxlID0gMTtcblx0QElucHV0KCkgaW1wbCA9IENhbm5vbkRlYnVnZ2VyO1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYm9kaWVzOiBCb2R5W10gPSBbXTtcblx0cHJpdmF0ZSBib2R5TWFwOiBSZWNvcmQ8c3RyaW5nLCBCb2R5PiA9IHt9O1xuXG5cdHByaXZhdGUgcGh5c2ljc0FwaSA9IGluamVjdE5ndGNQaHlzaWNzQXBpKCk7XG5cblx0c2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcblx0cHJpdmF0ZSBjYW5ub25EZWJ1Z2dlciE6IFJldHVyblR5cGU8dHlwZW9mIENhbm5vbkRlYnVnZ2VyPjtcblxuXHRhcGkgPSB7XG5cdFx0YWRkOiAodXVpZDogc3RyaW5nLCBwcm9wczogQm9keVByb3BzLCB0eXBlOiBCb2R5U2hhcGVUeXBlKSA9PiB7XG5cdFx0XHRjb25zdCBib2R5ID0gcHJvcHNUb0JvZHkoeyB1dWlkLCBwcm9wcywgdHlwZSB9KTtcblx0XHRcdHRoaXMuYm9kaWVzLnB1c2goYm9keSk7XG5cdFx0XHR0aGlzLmJvZHlNYXBbdXVpZF0gPSBib2R5O1xuXHRcdH0sXG5cdFx0cmVtb3ZlOiAoaWQ6IHN0cmluZykgPT4ge1xuXHRcdFx0Y29uc3QgZGVidWdCb2R5SW5kZXggPSB0aGlzLmJvZGllcy5pbmRleE9mKHRoaXMuYm9keU1hcFtpZF0pO1xuXHRcdFx0aWYgKGRlYnVnQm9keUluZGV4ID4gLTEpIHRoaXMuYm9kaWVzLnNwbGljZShkZWJ1Z0JvZHlJbmRleCwgMSk7XG5cdFx0XHRkZWxldGUgdGhpcy5ib2R5TWFwW2lkXTtcblx0XHR9LFxuXHR9O1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuY2Fubm9uRGVidWdnZXIpIHJldHVybjtcblx0XHRcdGNvbnN0IHJlZnMgPSB0aGlzLnBoeXNpY3NBcGkuZ2V0KCdyZWZzJyk7XG5cdFx0XHRmb3IgKGNvbnN0IHV1aWQgaW4gdGhpcy5ib2R5TWFwKSB7XG5cdFx0XHRcdGdldE1hdHJpeChyZWZzW3V1aWRdKS5kZWNvbXBvc2UodiwgcSwgcyk7XG5cdFx0XHRcdHRoaXMuYm9keU1hcFt1dWlkXS5wb3NpdGlvbi5jb3B5KHYgYXMgdW5rbm93biBhcyBWZWMzKTtcblx0XHRcdFx0dGhpcy5ib2R5TWFwW3V1aWRdLnF1YXRlcm5pb24uY29weShxIGFzIHVua25vd24gYXMgQ1F1YXJ0ZXJuaW9uKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnNjZW5lLmNoaWxkcmVuKSB7XG5cdFx0XHRcdGNoaWxkLnZpc2libGUgPSAhdGhpcy5kaXNhYmxlZDtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCF0aGlzLmRpc2FibGVkKSB7XG5cdFx0XHRcdHRoaXMuY2Fubm9uRGVidWdnZXIudXBkYXRlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLmNhbm5vbkRlYnVnZ2VyID0gdGhpcy5pbXBsKHRoaXMuc2NlbmUsIHsgYm9kaWVzOiB0aGlzLmJvZGllcyB9IGFzIFdvcmxkLCB7XG5cdFx0XHRjb2xvcjogdGhpcy5jb2xvcixcblx0XHRcdHNjYWxlOiB0aGlzLnNjYWxlLFxuXHRcdH0pO1xuXHR9XG59XG4iXX0=
package/esm2022/index.mjs CHANGED
@@ -1,4 +1,2 @@
1
1
  export * from './lib/physics';
2
- export * from './lib/store';
3
- export * from './lib/utils';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdGhyZWUtY2Fubm9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3BoeXNpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9waHlzaWNzJztcbiJdfQ==