angular-three-cannon 4.0.0-next.111 → 4.0.0-next.112
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.
|
@@ -72,10 +72,10 @@ class NgtcDebug {
|
|
|
72
72
|
this.bodies.splice(debugBodyIndex, 1);
|
|
73
73
|
delete this.bodyMap[uuid];
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
76
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NgtcDebug, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: NgtcDebug, isStandalone: true, selector: "ngtc-physics[debug]", inputs: { debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NgtcDebug, decorators: [{
|
|
79
79
|
type: Directive,
|
|
80
80
|
args: [{ selector: 'ngtc-physics[debug]' }]
|
|
81
81
|
}], ctorParameters: () => [] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-cannon-debug.mjs","sources":["../tmp-esm2022/debug/lib/debug.js","../tmp-esm2022/debug/angular-three-cannon-debug.js"],"sourcesContent":["import { Directive, afterNextRender, inject, input } from '@angular/core';\nimport { propsToBody } from '@pmndrs/cannon-worker-api';\nimport { beforeRender, injectStore, is } from 'angular-three';\nimport { NgtcPhysics } from 'angular-three-cannon';\nimport CannonDebugger from 'cannon-es-debugger';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport * as THREE from 'three';\nimport * as i0 from \"@angular/core\";\nconst q = new THREE.Quaternion();\nconst s = new THREE.Vector3(1, 1, 1);\nconst v = new THREE.Vector3();\nconst m = new THREE.Matrix4();\nfunction getMatrix(o) {\n if (is.three(o, 'isInstancedMesh')) {\n o.getMatrixAt(parseInt(o.uuid.split('/')[1]), m);\n return m;\n }\n return o.matrix;\n}\nconst defaultOptions = {\n enabled: true,\n scale: 1,\n color: 'black',\n impl: CannonDebugger,\n};\nexport class NgtcDebug {\n constructor() {\n this.debug = input(defaultOptions, ...(ngDevMode ? [{ debugName: \"debug\", transform: mergeInputs(defaultOptions) }] : [{ transform: mergeInputs(defaultOptions) }]));\n this.physics = inject(NgtcPhysics);\n this.store = injectStore();\n this.defaultScene = this.store.scene;\n this.debuggerScene = new THREE.Scene();\n this.bodies = [];\n this.bodyMap = {};\n // NOTE: afterNextRender so we only instantiate once after inputs have been resolved\n afterNextRender(() => {\n this.defaultScene().add(this.debuggerScene);\n this.cannonDebugger = this.debug().impl(this.debuggerScene, { bodies: this.bodies }, {\n color: this.debug().color,\n scale: this.debug().scale,\n });\n });\n beforeRender(() => {\n if (!this.cannonDebugger)\n return;\n const enabled = this.debug().enabled;\n const refs = this.physics.refs;\n for (const uuid in this.bodyMap) {\n const ref = refs[uuid];\n const body = this.bodyMap[uuid];\n if (ref) {\n getMatrix(ref).decompose(v, q, s);\n body.position.copy(v);\n body.quaternion.copy(q);\n }\n }\n for (const child of this.debuggerScene.children)\n child.visible = enabled;\n if (enabled)\n this.cannonDebugger.update();\n });\n }\n add(uuid, props, type) {\n const body = propsToBody({ uuid, props, type });\n this.bodies.push(body);\n this.bodyMap[uuid] = body;\n }\n remove(uuid) {\n const debugBodyIndex = this.bodies.indexOf(this.bodyMap[uuid]);\n if (debugBodyIndex > -1)\n this.bodies.splice(debugBodyIndex, 1);\n delete this.bodyMap[uuid];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NgtcDebug, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: NgtcDebug, isStandalone: true, selector: \"ngtc-physics[debug]\", inputs: { debug: { classPropertyName: \"debug\", publicName: \"debug\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NgtcDebug, decorators: [{\n type: Directive,\n args: [{ selector: 'ngtc-physics[debug]' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QixXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sY0FBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQzs7QUFFL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFOUIsU0FBUyxTQUFTLENBQUMsQ0FBaUI7SUFDbkMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFzQixDQUFDLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxD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Q0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0F0RFcsU0FBUztrR0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBhZnRlck5leHRSZW5kZXIsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvZHlQcm9wcywgQm9keVNoYXBlVHlwZSwgcHJvcHNUb0JvZHkgfSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IGJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIGlzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RjUGh5c2ljcyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtY2Fubm9uJztcbmltcG9ydCB7IEJvZHksIFF1YXRlcm5pb24gYXMgQ1F1YXJ0ZXJuaW9uLCBWZWMzLCBXb3JsZCB9IGZyb20gJ2Nhbm5vbi1lcyc7XG5pbXBvcnQgQ2Fubm9uRGVidWdnZXIgZnJvbSAnY2Fubm9uLWVzLWRlYnVnZ2VyJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgcSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBzID0gbmV3IFRIUkVFLlZlY3RvcjMoMSwgMSwgMSk7XG5jb25zdCB2ID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IG0gPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuXG5mdW5jdGlvbiBnZXRNYXRyaXgobzogVEhSRUUuT2JqZWN0M0QpIHtcblx0aWYgKGlzLnRocmVlPFRIUkVFLkluc3RhbmNlZE1lc2g+KG8sICdpc0luc3RhbmNlZE1lc2gnKSkge1xuXHRcdG8uZ2V0TWF0cml4QXQocGFyc2VJbnQoby51dWlkLnNwbGl0KCcvJylbMV0pLCBtKTtcblx0XHRyZXR1cm4gbTtcblx0fVxuXHRyZXR1cm4gby5tYXRyaXg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0Y0RlYnVnSW5wdXRzIHtcblx0ZW5hYmxlZDogYm9vbGVhbjtcblx0Y29sb3I6IHN0cmluZztcblx0aW1wbDogdHlwZW9mIENhbm5vbkRlYnVnZ2VyO1xuXHRzY2FsZTogbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0Y0RlYnVnSW5wdXRzID0ge1xuXHRlbmFibGVkOiB0cnVlLFxuXHRzY2FsZTogMSxcblx0Y29sb3I6ICdibGFjaycsXG5cdGltcGw6IENhbm5vbkRlYnVnZ2VyLFxufTtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0Yy1waHlzaWNzW2RlYnVnXScgfSlcbmV4cG9ydCBjbGFzcyBOZ3RjRGVidWcge1xuXHRkZWJ1ZyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXG5cdHByaXZhdGUgcGh5c2ljcyA9IGluamVjdChOZ3RjUGh5c2ljcyk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgZGVmYXVsdFNjZW5lID0gdGhpcy5zdG9yZS5zY2VuZTtcblxuXHRwcml2YXRlIGRlYnVnZ2VyU2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcblx0cHJpdmF0ZSBib2RpZXM6IEJvZHlbXSA9IFtdO1xuXHRwcml2YXRlIGJvZHlNYXA6IFJlY29yZDxzdHJpbmcsIEJvZHk+ID0ge307XG5cblx0cHJpdmF0ZSBjYW5ub25EZWJ1Z2dlciE6IFJldHVyblR5cGU8dHlwZW9mIENhbm5vbkRlYnVnZ2VyPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHQvLyBOT1RFOiBhZnRlck5leHRSZW5kZXIgc28gd2Ugb25seSBpbnN0YW50aWF0ZSBvbmNlIGFmdGVyIGlucHV0cyBoYXZlIGJlZW4gcmVzb2x2ZWRcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZWZhdWx0U2NlbmUoKS5hZGQodGhpcy5kZWJ1Z2dlclNjZW5lKTtcblx0XHRcdHRoaXMuY2Fubm9uRGVidWdnZXIgPSB0aGlzLmRlYnVnKCkuaW1wbCh0aGlzLmRlYnVnZ2VyU2NlbmUsIHsgYm9kaWVzOiB0aGlzLmJvZGllcyB9IGFzIFdvcmxkLCB7XG5cdFx0XHRcdGNvbG9yOiB0aGlzLmRlYnVnKCkuY29sb3IsXG5cdFx0XHRcdHNjYWxlOiB0aGlzLmRlYnVnKCkuc2NhbGUsXG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuY2Fubm9uRGVidWdnZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgZW5hYmxlZCA9IHRoaXMuZGVidWcoKS5lbmFibGVkO1xuXHRcdFx0Y29uc3QgcmVmcyA9IHRoaXMucGh5c2ljcy5yZWZzO1xuXHRcdFx0Zm9yIChjb25zdCB1dWlkIGluIHRoaXMuYm9keU1hcCkge1xuXHRcdFx0XHRjb25zdCByZWYgPSByZWZzW3V1aWRdO1xuXHRcdFx0XHRjb25zdCBib2R5ID0gdGhpcy5ib2R5TWFwW3V1aWRdO1xuXHRcdFx0XHRpZiAocmVmKSB7XG5cdFx0XHRcdFx0Z2V0TWF0cml4KHJlZikuZGVjb21wb3NlKHYsIHEsIHMpO1xuXHRcdFx0XHRcdGJvZHkucG9zaXRpb24uY29weSh2IGFzIHVua25vd24gYXMgVmVjMyk7XG5cdFx0XHRcdFx0Ym9keS5xdWF0ZXJuaW9uLmNvcHkocSBhcyB1bmtub3duIGFzIENRdWFydGVybmlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmRlYnVnZ2VyU2NlbmUuY2hpbGRyZW4pIGNoaWxkLnZpc2libGUgPSBlbmFibGVkO1xuXHRcdFx0aWYgKGVuYWJsZWQpIHRoaXMuY2Fubm9uRGVidWdnZXIudXBkYXRlKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhZGQodXVpZDogc3RyaW5nLCBwcm9wczogQm9keVByb3BzLCB0eXBlOiBCb2R5U2hhcGVUeXBlKSB7XG5cdFx0Y29uc3QgYm9keSA9IHByb3BzVG9Cb2R5KHsgdXVpZCwgcHJvcHMsIHR5cGUgfSk7XG5cdFx0dGhpcy5ib2RpZXMucHVzaChib2R5KTtcblx0XHR0aGlzLmJvZHlNYXBbdXVpZF0gPSBib2R5O1xuXHR9XG5cblx0cmVtb3ZlKHV1aWQ6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlYnVnQm9keUluZGV4ID0gdGhpcy5ib2RpZXMuaW5kZXhPZih0aGlzLmJvZHlNYXBbdXVpZF0pO1xuXHRcdGlmIChkZWJ1Z0JvZHlJbmRleCA+IC0xKSB0aGlzLmJvZGllcy5zcGxpY2UoZGVidWdCb2R5SW5kZXgsIDEpO1xuXHRcdGRlbGV0ZSB0aGlzLmJvZHlNYXBbdXVpZF07XG5cdH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;;;AAQA,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE;AAChC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;AAC7B,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE;AACxC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC;AAChB;AACA,IAAI,OAAO,CAAC,CAAC,MAAM;AACnB;AACA,MAAM,cAAc,GAAG;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,IAAI,EAAE,cAAc;AACxB,CAAC;AACM,MAAM,SAAS,CAAC;AACvB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5K,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC1C,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE;AAClC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;AAC5C,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;AAC9C,QAAQ,IAAI,CAAC,MAAM,GAAG,EAAE;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;AACzB;AACA,QAAQ,eAAe,CAAC,MAAM;AAC9B,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;AACvD,YAAY,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;AACjG,gBAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK;AACzC,gBAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK;AACzC,aAAa,CAAC;AACd,SAAS,CAAC;AACV,QAAQ,YAAY,CAAC,MAAM;AAC3B,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc;AACpC,gBAAgB;AAChB,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO;AAChD,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AAC1C,YAAY,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7C,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;AACtC,gBAAgB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/C,gBAAgB,IAAI,GAAG,EAAE;AACzB,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,oBAAoB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C;AACA;AACA,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ;AAC3D,gBAAgB,KAAK,CAAC,OAAO,GAAG,OAAO;AACvC,YAAY,IAAI,OAAO;AACvB,gBAAgB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAC5C,SAAS,CAAC;AACV;AACA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3B,QAAQ,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;AACjC;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,QAAQ,IAAI,cAAc,GAAG,CAAC,CAAC;AAC/B,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;AACjD,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACtT;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE;AACtD,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC/EvC;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"angular-three-cannon-debug.mjs","sources":["../tmp-esm2022/debug/lib/debug.js","../tmp-esm2022/debug/angular-three-cannon-debug.js"],"sourcesContent":["import { Directive, afterNextRender, inject, input } from '@angular/core';\nimport { propsToBody } from '@pmndrs/cannon-worker-api';\nimport { beforeRender, injectStore, is } from 'angular-three';\nimport { NgtcPhysics } from 'angular-three-cannon';\nimport CannonDebugger from 'cannon-es-debugger';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport * as THREE from 'three';\nimport * as i0 from \"@angular/core\";\nconst q = new THREE.Quaternion();\nconst s = new THREE.Vector3(1, 1, 1);\nconst v = new THREE.Vector3();\nconst m = new THREE.Matrix4();\nfunction getMatrix(o) {\n if (is.three(o, 'isInstancedMesh')) {\n o.getMatrixAt(parseInt(o.uuid.split('/')[1]), m);\n return m;\n }\n return o.matrix;\n}\nconst defaultOptions = {\n enabled: true,\n scale: 1,\n color: 'black',\n impl: CannonDebugger,\n};\nexport class NgtcDebug {\n constructor() {\n this.debug = input(defaultOptions, ...(ngDevMode ? [{ debugName: \"debug\", transform: mergeInputs(defaultOptions) }] : [{ transform: mergeInputs(defaultOptions) }]));\n this.physics = inject(NgtcPhysics);\n this.store = injectStore();\n this.defaultScene = this.store.scene;\n this.debuggerScene = new THREE.Scene();\n this.bodies = [];\n this.bodyMap = {};\n // NOTE: afterNextRender so we only instantiate once after inputs have been resolved\n afterNextRender(() => {\n this.defaultScene().add(this.debuggerScene);\n this.cannonDebugger = this.debug().impl(this.debuggerScene, { bodies: this.bodies }, {\n color: this.debug().color,\n scale: this.debug().scale,\n });\n });\n beforeRender(() => {\n if (!this.cannonDebugger)\n return;\n const enabled = this.debug().enabled;\n const refs = this.physics.refs;\n for (const uuid in this.bodyMap) {\n const ref = refs[uuid];\n const body = this.bodyMap[uuid];\n if (ref) {\n getMatrix(ref).decompose(v, q, s);\n body.position.copy(v);\n body.quaternion.copy(q);\n }\n }\n for (const child of this.debuggerScene.children)\n child.visible = enabled;\n if (enabled)\n this.cannonDebugger.update();\n });\n }\n add(uuid, props, type) {\n const body = propsToBody({ uuid, props, type });\n this.bodies.push(body);\n this.bodyMap[uuid] = body;\n }\n remove(uuid) {\n const debugBodyIndex = this.bodies.indexOf(this.bodyMap[uuid]);\n if (debugBodyIndex > -1)\n this.bodies.splice(debugBodyIndex, 1);\n delete this.bodyMap[uuid];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NgtcDebug, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.7\", type: NgtcDebug, isStandalone: true, selector: \"ngtc-physics[debug]\", inputs: { debug: { classPropertyName: \"debug\", publicName: \"debug\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NgtcDebug, decorators: [{\n type: Directive,\n args: [{ selector: 'ngtc-physics[debug]' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QixXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sY0FBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQzs7QUFFL0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDckMsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFOUIsU0FBUyxTQUFTLENBQUMsQ0FBaUI7SUFDbkMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFzQixDQUFDLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxD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Q0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs4R0F0RFcsU0FBUztrR0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBhZnRlck5leHRSZW5kZXIsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvZHlQcm9wcywgQm9keVNoYXBlVHlwZSwgcHJvcHNUb0JvZHkgfSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IGJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIGlzIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RjUGh5c2ljcyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtY2Fubm9uJztcbmltcG9ydCB7IEJvZHksIFF1YXRlcm5pb24gYXMgQ1F1YXJ0ZXJuaW9uLCBWZWMzLCBXb3JsZCB9IGZyb20gJ2Nhbm5vbi1lcyc7XG5pbXBvcnQgQ2Fubm9uRGVidWdnZXIgZnJvbSAnY2Fubm9uLWVzLWRlYnVnZ2VyJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgcSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBzID0gbmV3IFRIUkVFLlZlY3RvcjMoMSwgMSwgMSk7XG5jb25zdCB2ID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbmNvbnN0IG0gPSBuZXcgVEhSRUUuTWF0cml4NCgpO1xuXG5mdW5jdGlvbiBnZXRNYXRyaXgobzogVEhSRUUuT2JqZWN0M0QpIHtcblx0aWYgKGlzLnRocmVlPFRIUkVFLkluc3RhbmNlZE1lc2g+KG8sICdpc0luc3RhbmNlZE1lc2gnKSkge1xuXHRcdG8uZ2V0TWF0cml4QXQocGFyc2VJbnQoby51dWlkLnNwbGl0KCcvJylbMV0pLCBtKTtcblx0XHRyZXR1cm4gbTtcblx0fVxuXHRyZXR1cm4gby5tYXRyaXg7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0Y0RlYnVnSW5wdXRzIHtcblx0ZW5hYmxlZDogYm9vbGVhbjtcblx0Y29sb3I6IHN0cmluZztcblx0aW1wbDogdHlwZW9mIENhbm5vbkRlYnVnZ2VyO1xuXHRzY2FsZTogbnVtYmVyO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0Y0RlYnVnSW5wdXRzID0ge1xuXHRlbmFibGVkOiB0cnVlLFxuXHRzY2FsZTogMSxcblx0Y29sb3I6ICdibGFjaycsXG5cdGltcGw6IENhbm5vbkRlYnVnZ2VyLFxufTtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0Yy1waHlzaWNzW2RlYnVnXScgfSlcbmV4cG9ydCBjbGFzcyBOZ3RjRGVidWcge1xuXHRkZWJ1ZyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXG5cdHByaXZhdGUgcGh5c2ljcyA9IGluamVjdChOZ3RjUGh5c2ljcyk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgZGVmYXVsdFNjZW5lID0gdGhpcy5zdG9yZS5zY2VuZTtcblxuXHRwcml2YXRlIGRlYnVnZ2VyU2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcblx0cHJpdmF0ZSBib2RpZXM6IEJvZHlbXSA9IFtdO1xuXHRwcml2YXRlIGJvZHlNYXA6IFJlY29yZDxzdHJpbmcsIEJvZHk+ID0ge307XG5cblx0cHJpdmF0ZSBjYW5ub25EZWJ1Z2dlciE6IFJldHVyblR5cGU8dHlwZW9mIENhbm5vbkRlYnVnZ2VyPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHQvLyBOT1RFOiBhZnRlck5leHRSZW5kZXIgc28gd2Ugb25seSBpbnN0YW50aWF0ZSBvbmNlIGFmdGVyIGlucHV0cyBoYXZlIGJlZW4gcmVzb2x2ZWRcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZWZhdWx0U2NlbmUoKS5hZGQodGhpcy5kZWJ1Z2dlclNjZW5lKTtcblx0XHRcdHRoaXMuY2Fubm9uRGVidWdnZXIgPSB0aGlzLmRlYnVnKCkuaW1wbCh0aGlzLmRlYnVnZ2VyU2NlbmUsIHsgYm9kaWVzOiB0aGlzLmJvZGllcyB9IGFzIFdvcmxkLCB7XG5cdFx0XHRcdGNvbG9yOiB0aGlzLmRlYnVnKCkuY29sb3IsXG5cdFx0XHRcdHNjYWxlOiB0aGlzLmRlYnVnKCkuc2NhbGUsXG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuY2Fubm9uRGVidWdnZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgZW5hYmxlZCA9IHRoaXMuZGVidWcoKS5lbmFibGVkO1xuXHRcdFx0Y29uc3QgcmVmcyA9IHRoaXMucGh5c2ljcy5yZWZzO1xuXHRcdFx0Zm9yIChjb25zdCB1dWlkIGluIHRoaXMuYm9keU1hcCkge1xuXHRcdFx0XHRjb25zdCByZWYgPSByZWZzW3V1aWRdO1xuXHRcdFx0XHRjb25zdCBib2R5ID0gdGhpcy5ib2R5TWFwW3V1aWRdO1xuXHRcdFx0XHRpZiAocmVmKSB7XG5cdFx0XHRcdFx0Z2V0TWF0cml4KHJlZikuZGVjb21wb3NlKHYsIHEsIHMpO1xuXHRcdFx0XHRcdGJvZHkucG9zaXRpb24uY29weSh2IGFzIHVua25vd24gYXMgVmVjMyk7XG5cdFx0XHRcdFx0Ym9keS5xdWF0ZXJuaW9uLmNvcHkocSBhcyB1bmtub3duIGFzIENRdWFydGVybmlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmRlYnVnZ2VyU2NlbmUuY2hpbGRyZW4pIGNoaWxkLnZpc2libGUgPSBlbmFibGVkO1xuXHRcdFx0aWYgKGVuYWJsZWQpIHRoaXMuY2Fubm9uRGVidWdnZXIudXBkYXRlKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhZGQodXVpZDogc3RyaW5nLCBwcm9wczogQm9keVByb3BzLCB0eXBlOiBCb2R5U2hhcGVUeXBlKSB7XG5cdFx0Y29uc3QgYm9keSA9IHByb3BzVG9Cb2R5KHsgdXVpZCwgcHJvcHMsIHR5cGUgfSk7XG5cdFx0dGhpcy5ib2RpZXMucHVzaChib2R5KTtcblx0XHR0aGlzLmJvZHlNYXBbdXVpZF0gPSBib2R5O1xuXHR9XG5cblx0cmVtb3ZlKHV1aWQ6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlYnVnQm9keUluZGV4ID0gdGhpcy5ib2RpZXMuaW5kZXhPZih0aGlzLmJvZHlNYXBbdXVpZF0pO1xuXHRcdGlmIChkZWJ1Z0JvZHlJbmRleCA+IC0xKSB0aGlzLmJvZGllcy5zcGxpY2UoZGVidWdCb2R5SW5kZXgsIDEpO1xuXHRcdGRlbGV0ZSB0aGlzLmJvZHlNYXBbdXVpZF07XG5cdH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24tZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;;;;;AAQA,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE;AAChC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;AAC7B,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE;AACxC,QAAQ,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxD,QAAQ,OAAO,CAAC;AAChB;AACA,IAAI,OAAO,CAAC,CAAC,MAAM;AACnB;AACA,MAAM,cAAc,GAAG;AACvB,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,KAAK,EAAE,OAAO;AAClB,IAAI,IAAI,EAAE,cAAc;AACxB,CAAC;AACM,MAAM,SAAS,CAAC;AACvB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5K,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAC1C,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE;AAClC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;AAC5C,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;AAC9C,QAAQ,IAAI,CAAC,MAAM,GAAG,EAAE;AACxB,QAAQ,IAAI,CAAC,OAAO,GAAG,EAAE;AACzB;AACA,QAAQ,eAAe,CAAC,MAAM;AAC9B,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;AACvD,YAAY,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;AACjG,gBAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK;AACzC,gBAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK;AACzC,aAAa,CAAC;AACd,SAAS,CAAC;AACV,QAAQ,YAAY,CAAC,MAAM;AAC3B,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc;AACpC,gBAAgB;AAChB,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO;AAChD,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;AAC1C,YAAY,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7C,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;AACtC,gBAAgB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/C,gBAAgB,IAAI,GAAG,EAAE;AACzB,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,oBAAoB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C;AACA;AACA,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ;AAC3D,gBAAgB,KAAK,CAAC,OAAO,GAAG,OAAO;AACvC,YAAY,IAAI,OAAO;AACvB,gBAAgB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAC5C,SAAS,CAAC;AACV;AACA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3B,QAAQ,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;AACjC;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACtE,QAAQ,IAAI,cAAc,GAAG,CAAC,CAAC;AAC/B,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;AACjD,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACtT;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE;AACtD,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC/EvC;AACA;AACA;;;;"}
|
|
@@ -183,10 +183,10 @@ class NgtcPhysics {
|
|
|
183
183
|
if (cb)
|
|
184
184
|
cb({ body: body ? refs[body] : null, ray: { uuid, ...rayRest }, ...rest });
|
|
185
185
|
}
|
|
186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
187
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.
|
|
186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NgtcPhysics, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: NgtcPhysics, isStandalone: true, selector: "ngtc-physics", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
188
188
|
}
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NgtcPhysics, decorators: [{
|
|
190
190
|
type: Directive,
|
|
191
191
|
args: [{ selector: 'ngtc-physics' }]
|
|
192
192
|
}], ctorParameters: () => [] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-three-cannon.mjs","sources":["../tmp-esm2022/lib/physics.js","../tmp-esm2022/angular-three-cannon.js"],"sourcesContent":["import { Directive, Injector, afterNextRender, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CannonWorkerAPI, } from '@pmndrs/cannon-worker-api';\nimport { beforeRender, injectStore, is, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport * as THREE from 'three';\nimport * as i0 from \"@angular/core\";\nconst v = new THREE.Vector3();\nconst s = new THREE.Vector3(1, 1, 1);\nconst q = new THREE.Quaternion();\nconst m = new THREE.Matrix4();\nfunction apply(index, positions, quaternions, scale = s, object) {\n if (index !== undefined) {\n m.compose(v.fromArray(positions, index * 3), q.fromArray(quaternions, index * 4), scale);\n if (object) {\n object.matrixAutoUpdate = false;\n object.matrix.copy(m);\n }\n return m;\n }\n return m.identity();\n}\nfunction unique() {\n const values = [];\n return (value) => (values.includes(value) ? false : !!values.push(value));\n}\nconst defaultOptions = {\n allowSleep: false,\n axisIndex: 0,\n broadphase: 'Naive',\n defaultContactMaterial: { contactEquationStiffness: 1e6 },\n frictionGravity: null,\n gravity: [0, -9.81, 0],\n isPaused: false,\n iterations: 5,\n maxSubSteps: 10,\n quatNormalizeFast: false,\n quatNormalizeSkip: 0,\n shouldInvalidate: true,\n size: 1000,\n solver: 'GS',\n stepSize: 1 / 60,\n tolerance: 0.001,\n};\nexport class NgtcPhysics {\n constructor() {\n this.store = injectStore();\n this.options = input(defaultOptions, ...(ngDevMode ? [{ debugName: \"options\", transform: mergeInputs(defaultOptions) }] : [{ transform: mergeInputs(defaultOptions) }]));\n this.axisIndex = pick(this.options, 'axisIndex');\n this.broadphase = pick(this.options, 'broadphase');\n this.gravity = pick(this.options, 'gravity');\n this.iterations = pick(this.options, 'iterations');\n this.tolerance = pick(this.options, 'tolerance');\n this.invalidate = this.store.invalidate;\n // @ts-expect-error - worker is not nullable, and we don't want to use ! operator.\n this.cannonWorker = signal(null, ...(ngDevMode ? [{ debugName: \"cannonWorker\" }] : []));\n this.bodies = {};\n this.events = {};\n this.refs = {};\n this.scaleOverrides = {};\n this.subscriptions = {};\n this.worker = this.cannonWorker.asReadonly();\n const injector = inject(Injector);\n // NOTE: set new cannonworker in afterNextRender\n // - so inputs are resolved\n // - so the worker is instantiated only once\n // - effects are started after worker is instantiated\n afterNextRender(() => {\n this.cannonWorker.set(new CannonWorkerAPI(this.options()));\n effect((onCleanup) => {\n const cleanup = this.connectWorkerEffect();\n onCleanup(() => cleanup?.());\n }, { injector });\n effect(() => {\n this.updateWorkerStateEffect('axisIndex', this.axisIndex);\n this.updateWorkerStateEffect('broadphase', this.broadphase);\n this.updateWorkerStateEffect('gravity', this.gravity);\n this.updateWorkerStateEffect('iterations', this.iterations);\n this.updateWorkerStateEffect('tolerance', this.tolerance);\n }, { injector });\n });\n let timeSinceLastCalled = 0;\n beforeRender(({ delta }) => {\n const [{ isPaused, maxSubSteps, stepSize }, worker] = [this.options(), this.cannonWorker()];\n if (isPaused || !worker || stepSize == null)\n return;\n timeSinceLastCalled += delta;\n worker.step({ maxSubSteps, stepSize, timeSinceLastCalled });\n timeSinceLastCalled = 0;\n });\n }\n connectWorkerEffect() {\n const worker = this.cannonWorker();\n if (!worker)\n return;\n worker.connect();\n worker.init();\n worker.on('collide', this.collideHandler.bind(this));\n worker.on('collideBegin', this.collideBeginHandler.bind(this));\n worker.on('collideEnd', this.collideEndHandler.bind(this));\n worker.on('frame', this.frameHandler.bind(this));\n worker.on('rayhit', this.rayhitHandler.bind(this));\n return () => {\n worker.terminate();\n worker.removeAllListeners();\n };\n }\n updateWorkerStateEffect(key, option) {\n const worker = this.cannonWorker();\n if (!worker)\n return;\n Object.assign(worker, { [key]: option() });\n }\n collideHandler({ body, contact: { bi, bj, ...contactRest }, target, ...rest }) {\n const { events, refs } = this;\n const cb = events[target]?.collide;\n if (cb) {\n cb({\n body: refs[body],\n contact: { bi: refs[bi], bj: refs[bj], ...contactRest },\n target: refs[target],\n ...rest,\n });\n }\n }\n collideBeginHandler({ bodyA, bodyB }) {\n const { events, refs } = this;\n const cbA = events[bodyA]?.collideBegin;\n if (cbA)\n cbA({ body: refs[bodyB], op: 'event', target: refs[bodyA], type: 'collideBegin' });\n const cbB = events[bodyB]?.collideBegin;\n if (cbB)\n cbB({ body: refs[bodyA], op: 'event', target: refs[bodyB], type: 'collideBegin' });\n }\n collideEndHandler({ bodyA, bodyB }) {\n const { events, refs } = this;\n const cbA = events[bodyA]?.collideEnd;\n if (cbA)\n cbA({ body: refs[bodyB], op: 'event', target: refs[bodyA], type: 'collideEnd' });\n const cbB = events[bodyB]?.collideEnd;\n if (cbB)\n cbB({ body: refs[bodyA], op: 'event', target: refs[bodyB], type: 'collideEnd' });\n }\n frameHandler({ active, bodies: uuids = [], observations, positions, quaternions, }) {\n const [{ shouldInvalidate }, { bodies, subscriptions, refs, scaleOverrides }, invalidate] = [\n untracked(this.options),\n this,\n this.invalidate(),\n ];\n for (let i = 0; i < uuids.length; i++) {\n bodies[uuids[i]] = i;\n }\n observations.forEach(([id, value, type]) => {\n const subscription = subscriptions[id] || {};\n const cb = subscription[type];\n // @ts-expect-error - We clearly know the type of the callback, but typescript can't deal with it\n cb && cb(value);\n });\n if (!active)\n return;\n for (const ref of Object.values(refs).filter(unique())) {\n if (is.three(ref, 'isInstancedMesh')) {\n for (let i = 0; i < ref.count; i++) {\n const uuid = `${ref.uuid}/${i}`;\n const index = bodies[uuid];\n if (index !== undefined) {\n ref.setMatrixAt(i, apply(index, positions, quaternions, scaleOverrides[uuid]));\n ref.instanceMatrix.needsUpdate = true;\n }\n }\n }\n else {\n const scale = scaleOverrides[ref.uuid] || ref.scale;\n apply(bodies[ref.uuid], positions, quaternions, scale, ref);\n }\n }\n if (shouldInvalidate)\n invalidate();\n }\n rayhitHandler({ body, ray: { uuid, ...rayRest }, ...rest }) {\n const { events, refs } = this;\n const cb = events[uuid]?.rayhit;\n if (cb)\n cb({ body: body ? refs[body] : null, ray: { uuid, ...rayRest }, ...rest });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NgtcPhysics, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.4\", type: NgtcPhysics, isStandalone: true, selector: \"ngtc-physics\", inputs: { options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NgtcPhysics, decorators: [{\n type: Directive,\n args: [{ selector: 'ngtc-physics' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5c2ljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL3NyYy9saWIvcGh5c2ljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQ04sZUFBZSxHQWFmLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBa0IvQixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNyQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUU5QixTQUFTLEtBQUssQ0FDYixLQUFhLEVBQ2IsU0FBNEIsRUFDNUIsV0FBOEIsRUFDOUIsS0FBSyxHQUFHLENBQUMsRUFDVCxNQUF1QjtJQUV2QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsT0FBTyxDQUNSLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDakMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFvQyxFQUFF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SUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQW5LVyxXQUFXO2tHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgYWZ0ZXJOZXh0UmVuZGVyLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRDYW5ub25Xb3JrZXJBUEksXG5cdENhbm5vbldvcmtlclByb3BzLFxuXHRDb2xsaWRlQmVnaW5FdmVudCxcblx0Q29sbGlkZUVuZEV2ZW50LFxuXHRDb2xsaWRlRXZlbnQsXG5cdFJheWhpdEV2ZW50LFxuXHRSZWZzLFxuXHRTdWJzY3JpcHRpb25zLFxuXHRXb3JrZXJDb2xsaWRlQmVnaW5FdmVudCxcblx0V29ya2VyQ29sbGlkZUVuZEV2ZW50LFxuXHRXb3JrZXJDb2xsaWRlRXZlbnQsXG5cdFdvcmtlckZyYW1lTWVzc2FnZSxcblx0V29ya2VyUmF5aGl0RXZlbnQsXG59IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgYmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSwgaXMsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjQ2Fubm9uV29ya2VyRXZlbnRzIHtcblx0Y29sbGlkZTogV29ya2VyQ29sbGlkZUV2ZW50O1xuXHRjb2xsaWRlQmVnaW46IFdvcmtlckNvbGxpZGVCZWdpbkV2ZW50O1xuXHRjb2xsaWRlRW5kOiBXb3JrZXJDb2xsaWRlRW5kRXZlbnQ7XG5cdGZyYW1lOiBXb3JrZXJGcmFtZU1lc3NhZ2U7XG5cdHJheWhpdDogV29ya2VyUmF5aGl0RXZlbnQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndGNDYW5ub25Xb3JrZXIgPSBDYW5ub25Xb3JrZXJBUEkgJiB7XG5cdG9uOiA8SyBleHRlbmRzIGtleW9mIE5ndGNDYW5ub25Xb3JrZXJFdmVudHM+KFxuXHRcdGV2ZW50OiBLLFxuXHRcdGNiOiAoZGF0YTogTmd0Y0Nhbm5vbldvcmtlckV2ZW50c1tLXVsnZGF0YSddKSA9PiB2b2lkLFxuXHQpID0+IHZvaWQ7XG5cdHJlbW92ZUFsbExpc3RlbmVyczogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IHYgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgcyA9IG5ldyBUSFJFRS5WZWN0b3IzKDEsIDEsIDEpO1xuY29uc3QgcSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBtID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcblxuZnVuY3Rpb24gYXBwbHkoXG5cdGluZGV4OiBudW1iZXIsXG5cdHBvc2l0aW9uczogQXJyYXlMaWtlPG51bWJlcj4sXG5cdHF1YXRlcm5pb25zOiBBcnJheUxpa2U8bnVtYmVyPixcblx0c2NhbGUgPSBzLFxuXHRvYmplY3Q/OiBUSFJFRS5PYmplY3QzRCxcbikge1xuXHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdG0uY29tcG9zZShcblx0XHRcdHYuZnJvbUFycmF5KHBvc2l0aW9ucywgaW5kZXggKiAzKSxcblx0XHRcdHEuZnJvbUFycmF5KHF1YXRlcm5pb25zIGFzIFRIUkVFLlF1YXRlcm5pb25UdXBsZSwgaW5kZXggKiA0KSxcblx0XHRcdHNjYWxlLFxuXHRcdCk7XG5cdFx0aWYgKG9iamVjdCkge1xuXHRcdFx0b2JqZWN0Lm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcblx0XHRcdG9iamVjdC5tYXRyaXguY29weShtKTtcblx0XHR9XG5cdFx0cmV0dXJuIG07XG5cdH1cblx0cmV0dXJuIG0uaWRlbnRpdHkoKTtcbn1cblxuZnVuY3Rpb24gdW5pcXVlKCkge1xuXHRjb25zdCB2YWx1ZXM6IHVua25vd25bXSA9IFtdO1xuXHRyZXR1cm4gKHZhbHVlOiB1bmtub3duKSA9PiAodmFsdWVzLmluY2x1ZGVzKHZhbHVlKSA/IGZhbHNlIDogISF2YWx1ZXMucHVzaCh2YWx1ZSkpO1xufVxuXG50eXBlIE5ndGNDYW5ub25FdmVudCA9IENvbGxpZGVCZWdpbkV2ZW50IHwgQ29sbGlkZUVuZEV2ZW50IHwgQ29sbGlkZUV2ZW50IHwgUmF5aGl0RXZlbnQ7XG50eXBlIE5ndGNDYWxsYmFja0J5VHlwZTxUIGV4dGVuZHMgeyB0eXBlOiBzdHJpbmcgfT4gPSB7XG5cdFtLIGluIFRbJ3R5cGUnXV0/OiBUIGV4dGVuZHMgeyB0eXBlOiBLIH0gPyAoZTogVCkgPT4gdm9pZCA6IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0Y0Nhbm5vbkV2ZW50cyA9IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8Tmd0Y0NhbGxiYWNrQnlUeXBlPE5ndGNDYW5ub25FdmVudD4+PjtcblxuZXhwb3J0IHR5cGUgU2NhbGVPdmVycmlkZXMgPSBSZWNvcmQ8c3RyaW5nLCBUSFJFRS5WZWN0b3IzPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjUGh5c2ljc09wdGlvbnMgZXh0ZW5kcyBDYW5ub25Xb3JrZXJQcm9wcyB7XG5cdGlzUGF1c2VkPzogYm9vbGVhbjtcblx0bWF4U3ViU3RlcHM/OiBudW1iZXI7XG5cdHNob3VsZEludmFsaWRhdGU/OiBib29sZWFuO1xuXHRzdGVwU2l6ZT86IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndGNQaHlzaWNzT3B0aW9ucyA9IHtcblx0YWxsb3dTbGVlcDogZmFsc2UsXG5cdGF4aXNJbmRleDogMCxcblx0YnJvYWRwaGFzZTogJ05haXZlJyxcblx0ZGVmYXVsdENvbnRhY3RNYXRlcmlhbDogeyBjb250YWN0RXF1YXRpb25TdGlmZm5lc3M6IDFlNiB9LFxuXHRmcmljdGlvbkdyYXZpdHk6IG51bGwsXG5cdGdyYXZpdHk6IFswLCAtOS44MSwgMF0sXG5cdGlzUGF1c2VkOiBmYWxzZSxcblx0aXRlcmF0aW9uczogNSxcblx0bWF4U3ViU3RlcHM6IDEwLFxuXHRxdWF0Tm9ybWFsaXplRmFzdDogZmFsc2UsXG5cdHF1YXROb3JtYWxpemVTa2lwOiAwLFxuXHRzaG91bGRJbnZhbGlkYXRlOiB0cnVlLFxuXHRzaXplOiAxMDAwLFxuXHRzb2x2ZXI6ICdHUycsXG5cdHN0ZXBTaXplOiAxIC8gNjAsXG5cdHRvbGVyYW5jZTogMC4wMDEsXG59O1xuXG50eXBlIE5ndHNQaHlzaWNzVXBkYXRhYmxlT3B0aW9ucyA9IEV4dHJhY3Q8XG5cdGtleW9mIE5ndGNQaHlzaWNzT3B0aW9ucyxcblx0J2dyYXZpdHknIHwgJ2l0ZXJhdGlvbnMnIHwgJ3RvbGVyYW5jZScgfCAnYnJvYWRwaGFzZScgfCAnYXhpc0luZGV4J1xuPjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0Yy1waHlzaWNzJyB9KVxuZXhwb3J0IGNsYXNzIE5ndGNQaHlzaWNzIHtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXG5cdHByaXZhdGUgYXhpc0luZGV4ID0gcGljayh0aGlzLm9wdGlvbnMsICdheGlzSW5kZXgnKTtcblx0cHJpdmF0ZSBicm9hZHBoYXNlID0gcGljayh0aGlzLm9wdGlvbnMsICdicm9hZHBoYXNlJyk7XG5cdHByaXZhdGUgZ3Jhdml0eSA9IHBpY2sodGhpcy5vcHRpb25zLCAnZ3Jhdml0eScpO1xuXHRwcml2YXRlIGl0ZXJhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2l0ZXJhdGlvbnMnKTtcblx0cHJpdmF0ZSB0b2xlcmFuY2UgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RvbGVyYW5jZScpO1xuXG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuaW52YWxpZGF0ZTtcblx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHdvcmtlciBpcyBub3QgbnVsbGFibGUsIGFuZCB3ZSBkb24ndCB3YW50IHRvIHVzZSAhIG9wZXJhdG9yLlxuXHRwcml2YXRlIGNhbm5vbldvcmtlciA9IHNpZ25hbDxDYW5ub25Xb3JrZXJBUEk+KG51bGwpO1xuXG5cdGJvZGllczogeyBbdXVpZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblx0ZXZlbnRzOiBOZ3RjQ2Fubm9uRXZlbnRzID0ge307XG5cdHJlZnM6IFJlZnMgPSB7fTtcblx0c2NhbGVPdmVycmlkZXM6IFNjYWxlT3ZlcnJpZGVzID0ge307XG5cdHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbnMgPSB7fTtcblx0d29ya2VyID0gdGhpcy5jYW5ub25Xb3JrZXIuYXNSZWFkb25seSgpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHRcdC8vIE5PVEU6IHNldCBuZXcgY2Fubm9ud29ya2VyIGluIGFmdGVyTmV4dFJlbmRlclxuXHRcdC8vIC0gc28gaW5wdXRzIGFyZSByZXNvbHZlZFxuXHRcdC8vIC0gc28gdGhlIHdvcmtlciBpcyBpbnN0YW50aWF0ZWQgb25seSBvbmNlXG5cdFx0Ly8gLSBlZmZlY3RzIGFyZSBzdGFydGVkIGFmdGVyIHdvcmtlciBpcyBpbnN0YW50aWF0ZWRcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5jYW5ub25Xb3JrZXIuc2V0KG5ldyBDYW5ub25Xb3JrZXJBUEkodGhpcy5vcHRpb25zKCkpKTtcblxuXHRcdFx0ZWZmZWN0KFxuXHRcdFx0XHQob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY2xlYW51cCA9IHRoaXMuY29ubmVjdFdvcmtlckVmZmVjdCgpO1xuXHRcdFx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjbGVhbnVwPy4oKSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3IgfSxcblx0XHRcdCk7XG5cblx0XHRcdGVmZmVjdChcblx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMudXBkYXRlV29ya2VyU3RhdGVFZmZlY3QoJ2F4aXNJbmRleCcsIHRoaXMuYXhpc0luZGV4KTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdicm9hZHBoYXNlJywgdGhpcy5icm9hZHBoYXNlKTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdncmF2aXR5JywgdGhpcy5ncmF2aXR5KTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdpdGVyYXRpb25zJywgdGhpcy5pdGVyYXRpb25zKTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCd0b2xlcmFuY2UnLCB0aGlzLnRvbGVyYW5jZSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3IgfSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cblx0XHRsZXQgdGltZVNpbmNlTGFzdENhbGxlZCA9IDA7XG5cdFx0YmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdGNvbnN0IFt7IGlzUGF1c2VkLCBtYXhTdWJTdGVwcywgc3RlcFNpemUgfSwgd29ya2VyXSA9IFt0aGlzLm9wdGlvbnMoKSwgdGhpcy5jYW5ub25Xb3JrZXIoKV07XG5cdFx0XHRpZiAoaXNQYXVzZWQgfHwgIXdvcmtlciB8fCBzdGVwU2l6ZSA9PSBudWxsKSByZXR1cm47XG5cdFx0XHR0aW1lU2luY2VMYXN0Q2FsbGVkICs9IGRlbHRhO1xuXHRcdFx0d29ya2VyLnN0ZXAoeyBtYXhTdWJTdGVwcywgc3RlcFNpemUsIHRpbWVTaW5jZUxhc3RDYWxsZWQgfSk7XG5cdFx0XHR0aW1lU2luY2VMYXN0Q2FsbGVkID0gMDtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgY29ubmVjdFdvcmtlckVmZmVjdCgpIHtcblx0XHRjb25zdCB3b3JrZXIgPSB0aGlzLmNhbm5vbldvcmtlcigpIGFzIE5ndGNDYW5ub25Xb3JrZXI7XG5cdFx0aWYgKCF3b3JrZXIpIHJldHVybjtcblxuXHRcdHdvcmtlci5jb25uZWN0KCk7XG5cdFx0d29ya2VyLmluaXQoKTtcblxuXHRcdHdvcmtlci5vbignY29sbGlkZScsIHRoaXMuY29sbGlkZUhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdjb2xsaWRlQmVnaW4nLCB0aGlzLmNvbGxpZGVCZWdpbkhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdjb2xsaWRlRW5kJywgdGhpcy5jb2xsaWRlRW5kSGFuZGxlci5iaW5kKHRoaXMpKTtcblx0XHR3b3JrZXIub24oJ2ZyYW1lJywgdGhpcy5mcmFtZUhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdyYXloaXQnLCB0aGlzLnJheWhpdEhhbmRsZXIuYmluZCh0aGlzKSk7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0d29ya2VyLnRlcm1pbmF0ZSgpO1xuXHRcdFx0d29ya2VyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0PFRVcGRhdGFibGVLZXkgZXh0ZW5kcyBOZ3RzUGh5c2ljc1VwZGF0YWJsZU9wdGlvbnM+KFxuXHRcdGtleTogVFVwZGF0YWJsZUtleSxcblx0XHRvcHRpb246ICgpID0+IE5ndGNQaHlzaWNzT3B0aW9uc1tUVXBkYXRhYmxlS2V5XSxcblx0KSB7XG5cdFx0Y29uc3Qgd29ya2VyID0gdGhpcy5jYW5ub25Xb3JrZXIoKTtcblx0XHRpZiAoIXdvcmtlcikgcmV0dXJuO1xuXHRcdE9iamVjdC5hc3NpZ24od29ya2VyLCB7IFtrZXldOiBvcHRpb24oKSB9KTtcblx0fVxuXG5cdHByaXZhdGUgY29sbGlkZUhhbmRsZXIoeyBib2R5LCBjb250YWN0OiB7IGJpLCBiaiwgLi4uY29udGFjdFJlc3QgfSwgdGFyZ2V0LCAuLi5yZXN0IH06IFdvcmtlckNvbGxpZGVFdmVudFsnZGF0YSddKSB7XG5cdFx0Y29uc3QgeyBldmVudHMsIHJlZnMgfSA9IHRoaXM7XG5cdFx0Y29uc3QgY2IgPSBldmVudHNbdGFyZ2V0XT8uY29sbGlkZTtcblx0XHRpZiAoY2IpIHtcblx0XHRcdGNiKHtcblx0XHRcdFx0Ym9keTogcmVmc1tib2R5XSxcblx0XHRcdFx0Y29udGFjdDogeyBiaTogcmVmc1tiaV0sIGJqOiByZWZzW2JqXSwgLi4uY29udGFjdFJlc3QgfSxcblx0XHRcdFx0dGFyZ2V0OiByZWZzW3RhcmdldF0sXG5cdFx0XHRcdC4uLnJlc3QsXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbGxpZGVCZWdpbkhhbmRsZXIoeyBib2R5QSwgYm9keUIgfTogV29ya2VyQ29sbGlkZUJlZ2luRXZlbnRbJ2RhdGEnXSkge1xuXHRcdGNvbnN0IHsgZXZlbnRzLCByZWZzIH0gPSB0aGlzO1xuXHRcdGNvbnN0IGNiQSA9IGV2ZW50c1tib2R5QV0/LmNvbGxpZGVCZWdpbjtcblx0XHRpZiAoY2JBKSBjYkEoeyBib2R5OiByZWZzW2JvZHlCXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5QV0sIHR5cGU6ICdjb2xsaWRlQmVnaW4nIH0pO1xuXHRcdGNvbnN0IGNiQiA9IGV2ZW50c1tib2R5Ql0/LmNvbGxpZGVCZWdpbjtcblx0XHRpZiAoY2JCKSBjYkIoeyBib2R5OiByZWZzW2JvZHlBXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5Ql0sIHR5cGU6ICdjb2xsaWRlQmVnaW4nIH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBjb2xsaWRlRW5kSGFuZGxlcih7IGJvZHlBLCBib2R5QiB9OiBXb3JrZXJDb2xsaWRlRW5kRXZlbnRbJ2RhdGEnXSkge1xuXHRcdGNvbnN0IHsgZXZlbnRzLCByZWZzIH0gPSB0aGlzO1xuXHRcdGNvbnN0IGNiQSA9IGV2ZW50c1tib2R5QV0/LmNvbGxpZGVFbmQ7XG5cdFx0aWYgKGNiQSkgY2JBKHsgYm9keTogcmVmc1tib2R5Ql0sIG9wOiAnZXZlbnQnLCB0YXJnZXQ6IHJlZnNbYm9keUFdLCB0eXBlOiAnY29sbGlkZUVuZCcgfSk7XG5cdFx0Y29uc3QgY2JCID0gZXZlbnRzW2JvZHlCXT8uY29sbGlkZUVuZDtcblx0XHRpZiAoY2JCKSBjYkIoeyBib2R5OiByZWZzW2JvZHlBXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5Ql0sIHR5cGU6ICdjb2xsaWRlRW5kJyB9KTtcblx0fVxuXG5cdHByaXZhdGUgZnJhbWVIYW5kbGVyKHtcblx0XHRhY3RpdmUsXG5cdFx0Ym9kaWVzOiB1dWlkcyA9IFtdLFxuXHRcdG9ic2VydmF0aW9ucyxcblx0XHRwb3NpdGlvbnMsXG5cdFx0cXVhdGVybmlvbnMsXG5cdH06IFdvcmtlckZyYW1lTWVzc2FnZVsnZGF0YSddKSB7XG5cdFx0Y29uc3QgW3sgc2hvdWxkSW52YWxpZGF0ZSB9LCB7IGJvZGllcywgc3Vic2NyaXB0aW9ucywgcmVmcywgc2NhbGVPdmVycmlkZXMgfSwgaW52YWxpZGF0ZV0gPSBbXG5cdFx0XHR1bnRyYWNrZWQodGhpcy5vcHRpb25zKSxcblx0XHRcdHRoaXMsXG5cdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdXVpZHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGJvZGllc1t1dWlkc1tpXV0gPSBpO1xuXHRcdH1cblx0XHRvYnNlcnZhdGlvbnMuZm9yRWFjaCgoW2lkLCB2YWx1ZSwgdHlwZV0pID0+IHtcblx0XHRcdGNvbnN0IHN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbnNbaWRdIHx8IHt9O1xuXHRcdFx0Y29uc3QgY2IgPSBzdWJzY3JpcHRpb25bdHlwZV07XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gV2UgY2xlYXJseSBrbm93IHRoZSB0eXBlIG9mIHRoZSBjYWxsYmFjaywgYnV0IHR5cGVzY3JpcHQgY2FuJ3QgZGVhbCB3aXRoIGl0XG5cdFx0XHRjYiAmJiBjYih2YWx1ZSk7XG5cdFx0fSk7XG5cdFx0aWYgKCFhY3RpdmUpIHJldHVybjtcblx0XHRmb3IgKGNvbnN0IHJlZiBvZiBPYmplY3QudmFsdWVzKHJlZnMpLmZpbHRlcih1bmlxdWUoKSkpIHtcblx0XHRcdGlmIChpcy50aHJlZTxUSFJFRS5JbnN0YW5jZWRNZXNoPihyZWYsICdpc0luc3RhbmNlZE1lc2gnKSkge1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlZi5jb3VudDsgaSsrKSB7XG5cdFx0XHRcdFx0Y29uc3QgdXVpZCA9IGAke3JlZi51dWlkfS8ke2l9YDtcblx0XHRcdFx0XHRjb25zdCBpbmRleCA9IGJvZGllc1t1dWlkXTtcblx0XHRcdFx0XHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0cmVmLnNldE1hdHJpeEF0KGksIGFwcGx5KGluZGV4LCBwb3NpdGlvbnMsIHF1YXRlcm5pb25zLCBzY2FsZU92ZXJyaWRlc1t1dWlkXSkpO1xuXHRcdFx0XHRcdFx0cmVmLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHNjYWxlID0gc2NhbGVPdmVycmlkZXNbcmVmLnV1aWRdIHx8IHJlZi5zY2FsZTtcblx0XHRcdFx0YXBwbHkoYm9kaWVzW3JlZi51dWlkXSwgcG9zaXRpb25zLCBxdWF0ZXJuaW9ucywgc2NhbGUsIHJlZik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChzaG91bGRJbnZhbGlkYXRlKSBpbnZhbGlkYXRlKCk7XG5cdH1cblxuXHRwcml2YXRlIHJheWhpdEhhbmRsZXIoeyBib2R5LCByYXk6IHsgdXVpZCwgLi4ucmF5UmVzdCB9LCAuLi5yZXN0IH06IFdvcmtlclJheWhpdEV2ZW50WydkYXRhJ10pIHtcblx0XHRjb25zdCB7IGV2ZW50cywgcmVmcyB9ID0gdGhpcztcblx0XHRjb25zdCBjYiA9IGV2ZW50c1t1dWlkXT8ucmF5aGl0O1xuXHRcdGlmIChjYikgY2IoeyBib2R5OiBib2R5ID8gcmVmc1tib2R5XSA6IG51bGwsIHJheTogeyB1dWlkLCAuLi5yYXlSZXN0IH0sIC4uLnJlc3QgfSk7XG5cdH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-three-cannon.mjs","sources":["../tmp-esm2022/lib/physics.js","../tmp-esm2022/angular-three-cannon.js"],"sourcesContent":["import { Directive, Injector, afterNextRender, effect, inject, input, signal, untracked } from '@angular/core';\nimport { CannonWorkerAPI, } from '@pmndrs/cannon-worker-api';\nimport { beforeRender, injectStore, is, pick } from 'angular-three';\nimport { mergeInputs } from 'ngxtension/inject-inputs';\nimport * as THREE from 'three';\nimport * as i0 from \"@angular/core\";\nconst v = new THREE.Vector3();\nconst s = new THREE.Vector3(1, 1, 1);\nconst q = new THREE.Quaternion();\nconst m = new THREE.Matrix4();\nfunction apply(index, positions, quaternions, scale = s, object) {\n if (index !== undefined) {\n m.compose(v.fromArray(positions, index * 3), q.fromArray(quaternions, index * 4), scale);\n if (object) {\n object.matrixAutoUpdate = false;\n object.matrix.copy(m);\n }\n return m;\n }\n return m.identity();\n}\nfunction unique() {\n const values = [];\n return (value) => (values.includes(value) ? false : !!values.push(value));\n}\nconst defaultOptions = {\n allowSleep: false,\n axisIndex: 0,\n broadphase: 'Naive',\n defaultContactMaterial: { contactEquationStiffness: 1e6 },\n frictionGravity: null,\n gravity: [0, -9.81, 0],\n isPaused: false,\n iterations: 5,\n maxSubSteps: 10,\n quatNormalizeFast: false,\n quatNormalizeSkip: 0,\n shouldInvalidate: true,\n size: 1000,\n solver: 'GS',\n stepSize: 1 / 60,\n tolerance: 0.001,\n};\nexport class NgtcPhysics {\n constructor() {\n this.store = injectStore();\n this.options = input(defaultOptions, ...(ngDevMode ? [{ debugName: \"options\", transform: mergeInputs(defaultOptions) }] : [{ transform: mergeInputs(defaultOptions) }]));\n this.axisIndex = pick(this.options, 'axisIndex');\n this.broadphase = pick(this.options, 'broadphase');\n this.gravity = pick(this.options, 'gravity');\n this.iterations = pick(this.options, 'iterations');\n this.tolerance = pick(this.options, 'tolerance');\n this.invalidate = this.store.invalidate;\n // @ts-expect-error - worker is not nullable, and we don't want to use ! operator.\n this.cannonWorker = signal(null, ...(ngDevMode ? [{ debugName: \"cannonWorker\" }] : []));\n this.bodies = {};\n this.events = {};\n this.refs = {};\n this.scaleOverrides = {};\n this.subscriptions = {};\n this.worker = this.cannonWorker.asReadonly();\n const injector = inject(Injector);\n // NOTE: set new cannonworker in afterNextRender\n // - so inputs are resolved\n // - so the worker is instantiated only once\n // - effects are started after worker is instantiated\n afterNextRender(() => {\n this.cannonWorker.set(new CannonWorkerAPI(this.options()));\n effect((onCleanup) => {\n const cleanup = this.connectWorkerEffect();\n onCleanup(() => cleanup?.());\n }, { injector });\n effect(() => {\n this.updateWorkerStateEffect('axisIndex', this.axisIndex);\n this.updateWorkerStateEffect('broadphase', this.broadphase);\n this.updateWorkerStateEffect('gravity', this.gravity);\n this.updateWorkerStateEffect('iterations', this.iterations);\n this.updateWorkerStateEffect('tolerance', this.tolerance);\n }, { injector });\n });\n let timeSinceLastCalled = 0;\n beforeRender(({ delta }) => {\n const [{ isPaused, maxSubSteps, stepSize }, worker] = [this.options(), this.cannonWorker()];\n if (isPaused || !worker || stepSize == null)\n return;\n timeSinceLastCalled += delta;\n worker.step({ maxSubSteps, stepSize, timeSinceLastCalled });\n timeSinceLastCalled = 0;\n });\n }\n connectWorkerEffect() {\n const worker = this.cannonWorker();\n if (!worker)\n return;\n worker.connect();\n worker.init();\n worker.on('collide', this.collideHandler.bind(this));\n worker.on('collideBegin', this.collideBeginHandler.bind(this));\n worker.on('collideEnd', this.collideEndHandler.bind(this));\n worker.on('frame', this.frameHandler.bind(this));\n worker.on('rayhit', this.rayhitHandler.bind(this));\n return () => {\n worker.terminate();\n worker.removeAllListeners();\n };\n }\n updateWorkerStateEffect(key, option) {\n const worker = this.cannonWorker();\n if (!worker)\n return;\n Object.assign(worker, { [key]: option() });\n }\n collideHandler({ body, contact: { bi, bj, ...contactRest }, target, ...rest }) {\n const { events, refs } = this;\n const cb = events[target]?.collide;\n if (cb) {\n cb({\n body: refs[body],\n contact: { bi: refs[bi], bj: refs[bj], ...contactRest },\n target: refs[target],\n ...rest,\n });\n }\n }\n collideBeginHandler({ bodyA, bodyB }) {\n const { events, refs } = this;\n const cbA = events[bodyA]?.collideBegin;\n if (cbA)\n cbA({ body: refs[bodyB], op: 'event', target: refs[bodyA], type: 'collideBegin' });\n const cbB = events[bodyB]?.collideBegin;\n if (cbB)\n cbB({ body: refs[bodyA], op: 'event', target: refs[bodyB], type: 'collideBegin' });\n }\n collideEndHandler({ bodyA, bodyB }) {\n const { events, refs } = this;\n const cbA = events[bodyA]?.collideEnd;\n if (cbA)\n cbA({ body: refs[bodyB], op: 'event', target: refs[bodyA], type: 'collideEnd' });\n const cbB = events[bodyB]?.collideEnd;\n if (cbB)\n cbB({ body: refs[bodyA], op: 'event', target: refs[bodyB], type: 'collideEnd' });\n }\n frameHandler({ active, bodies: uuids = [], observations, positions, quaternions, }) {\n const [{ shouldInvalidate }, { bodies, subscriptions, refs, scaleOverrides }, invalidate] = [\n untracked(this.options),\n this,\n this.invalidate(),\n ];\n for (let i = 0; i < uuids.length; i++) {\n bodies[uuids[i]] = i;\n }\n observations.forEach(([id, value, type]) => {\n const subscription = subscriptions[id] || {};\n const cb = subscription[type];\n // @ts-expect-error - We clearly know the type of the callback, but typescript can't deal with it\n cb && cb(value);\n });\n if (!active)\n return;\n for (const ref of Object.values(refs).filter(unique())) {\n if (is.three(ref, 'isInstancedMesh')) {\n for (let i = 0; i < ref.count; i++) {\n const uuid = `${ref.uuid}/${i}`;\n const index = bodies[uuid];\n if (index !== undefined) {\n ref.setMatrixAt(i, apply(index, positions, quaternions, scaleOverrides[uuid]));\n ref.instanceMatrix.needsUpdate = true;\n }\n }\n }\n else {\n const scale = scaleOverrides[ref.uuid] || ref.scale;\n apply(bodies[ref.uuid], positions, quaternions, scale, ref);\n }\n }\n if (shouldInvalidate)\n invalidate();\n }\n rayhitHandler({ body, ray: { uuid, ...rayRest }, ...rest }) {\n const { events, refs } = this;\n const cb = events[uuid]?.rayhit;\n if (cb)\n cb({ body: body ? refs[body] : null, ray: { uuid, ...rayRest }, ...rest });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NgtcPhysics, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.7\", type: NgtcPhysics, isStandalone: true, selector: \"ngtc-physics\", inputs: { options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NgtcPhysics, decorators: [{\n type: Directive,\n args: [{ selector: 'ngtc-physics' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5c2ljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL3NyYy9saWIvcGh5c2ljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQ04sZUFBZSxHQWFmLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7O0FBa0IvQixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNyQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUU5QixTQUFTLEtBQUssQ0FDYixLQUFhLEVBQ2IsU0FBNEIsRUFDNUIsV0FBOEIsRUFDOUIsS0FBSyxHQUFHLENBQUMsRUFDVCxNQUF1QjtJQUV2QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsT0FBTyxDQUNSLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDakMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFvQyxFQUFF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SUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQW5LVyxXQUFXO2tHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgYWZ0ZXJOZXh0UmVuZGVyLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRDYW5ub25Xb3JrZXJBUEksXG5cdENhbm5vbldvcmtlclByb3BzLFxuXHRDb2xsaWRlQmVnaW5FdmVudCxcblx0Q29sbGlkZUVuZEV2ZW50LFxuXHRDb2xsaWRlRXZlbnQsXG5cdFJheWhpdEV2ZW50LFxuXHRSZWZzLFxuXHRTdWJzY3JpcHRpb25zLFxuXHRXb3JrZXJDb2xsaWRlQmVnaW5FdmVudCxcblx0V29ya2VyQ29sbGlkZUVuZEV2ZW50LFxuXHRXb3JrZXJDb2xsaWRlRXZlbnQsXG5cdFdvcmtlckZyYW1lTWVzc2FnZSxcblx0V29ya2VyUmF5aGl0RXZlbnQsXG59IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgYmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSwgaXMsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjQ2Fubm9uV29ya2VyRXZlbnRzIHtcblx0Y29sbGlkZTogV29ya2VyQ29sbGlkZUV2ZW50O1xuXHRjb2xsaWRlQmVnaW46IFdvcmtlckNvbGxpZGVCZWdpbkV2ZW50O1xuXHRjb2xsaWRlRW5kOiBXb3JrZXJDb2xsaWRlRW5kRXZlbnQ7XG5cdGZyYW1lOiBXb3JrZXJGcmFtZU1lc3NhZ2U7XG5cdHJheWhpdDogV29ya2VyUmF5aGl0RXZlbnQ7XG59XG5cbmV4cG9ydCB0eXBlIE5ndGNDYW5ub25Xb3JrZXIgPSBDYW5ub25Xb3JrZXJBUEkgJiB7XG5cdG9uOiA8SyBleHRlbmRzIGtleW9mIE5ndGNDYW5ub25Xb3JrZXJFdmVudHM+KFxuXHRcdGV2ZW50OiBLLFxuXHRcdGNiOiAoZGF0YTogTmd0Y0Nhbm5vbldvcmtlckV2ZW50c1tLXVsnZGF0YSddKSA9PiB2b2lkLFxuXHQpID0+IHZvaWQ7XG5cdHJlbW92ZUFsbExpc3RlbmVyczogKCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IHYgPSBuZXcgVEhSRUUuVmVjdG9yMygpO1xuY29uc3QgcyA9IG5ldyBUSFJFRS5WZWN0b3IzKDEsIDEsIDEpO1xuY29uc3QgcSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5jb25zdCBtID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcblxuZnVuY3Rpb24gYXBwbHkoXG5cdGluZGV4OiBudW1iZXIsXG5cdHBvc2l0aW9uczogQXJyYXlMaWtlPG51bWJlcj4sXG5cdHF1YXRlcm5pb25zOiBBcnJheUxpa2U8bnVtYmVyPixcblx0c2NhbGUgPSBzLFxuXHRvYmplY3Q/OiBUSFJFRS5PYmplY3QzRCxcbikge1xuXHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdG0uY29tcG9zZShcblx0XHRcdHYuZnJvbUFycmF5KHBvc2l0aW9ucywgaW5kZXggKiAzKSxcblx0XHRcdHEuZnJvbUFycmF5KHF1YXRlcm5pb25zIGFzIFRIUkVFLlF1YXRlcm5pb25UdXBsZSwgaW5kZXggKiA0KSxcblx0XHRcdHNjYWxlLFxuXHRcdCk7XG5cdFx0aWYgKG9iamVjdCkge1xuXHRcdFx0b2JqZWN0Lm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcblx0XHRcdG9iamVjdC5tYXRyaXguY29weShtKTtcblx0XHR9XG5cdFx0cmV0dXJuIG07XG5cdH1cblx0cmV0dXJuIG0uaWRlbnRpdHkoKTtcbn1cblxuZnVuY3Rpb24gdW5pcXVlKCkge1xuXHRjb25zdCB2YWx1ZXM6IHVua25vd25bXSA9IFtdO1xuXHRyZXR1cm4gKHZhbHVlOiB1bmtub3duKSA9PiAodmFsdWVzLmluY2x1ZGVzKHZhbHVlKSA/IGZhbHNlIDogISF2YWx1ZXMucHVzaCh2YWx1ZSkpO1xufVxuXG50eXBlIE5ndGNDYW5ub25FdmVudCA9IENvbGxpZGVCZWdpbkV2ZW50IHwgQ29sbGlkZUVuZEV2ZW50IHwgQ29sbGlkZUV2ZW50IHwgUmF5aGl0RXZlbnQ7XG50eXBlIE5ndGNDYWxsYmFja0J5VHlwZTxUIGV4dGVuZHMgeyB0eXBlOiBzdHJpbmcgfT4gPSB7XG5cdFtLIGluIFRbJ3R5cGUnXV0/OiBUIGV4dGVuZHMgeyB0eXBlOiBLIH0gPyAoZTogVCkgPT4gdm9pZCA6IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0Y0Nhbm5vbkV2ZW50cyA9IFJlY29yZDxzdHJpbmcsIFBhcnRpYWw8Tmd0Y0NhbGxiYWNrQnlUeXBlPE5ndGNDYW5ub25FdmVudD4+PjtcblxuZXhwb3J0IHR5cGUgU2NhbGVPdmVycmlkZXMgPSBSZWNvcmQ8c3RyaW5nLCBUSFJFRS5WZWN0b3IzPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjUGh5c2ljc09wdGlvbnMgZXh0ZW5kcyBDYW5ub25Xb3JrZXJQcm9wcyB7XG5cdGlzUGF1c2VkPzogYm9vbGVhbjtcblx0bWF4U3ViU3RlcHM/OiBudW1iZXI7XG5cdHNob3VsZEludmFsaWRhdGU/OiBib29sZWFuO1xuXHRzdGVwU2l6ZT86IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndGNQaHlzaWNzT3B0aW9ucyA9IHtcblx0YWxsb3dTbGVlcDogZmFsc2UsXG5cdGF4aXNJbmRleDogMCxcblx0YnJvYWRwaGFzZTogJ05haXZlJyxcblx0ZGVmYXVsdENvbnRhY3RNYXRlcmlhbDogeyBjb250YWN0RXF1YXRpb25TdGlmZm5lc3M6IDFlNiB9LFxuXHRmcmljdGlvbkdyYXZpdHk6IG51bGwsXG5cdGdyYXZpdHk6IFswLCAtOS44MSwgMF0sXG5cdGlzUGF1c2VkOiBmYWxzZSxcblx0aXRlcmF0aW9uczogNSxcblx0bWF4U3ViU3RlcHM6IDEwLFxuXHRxdWF0Tm9ybWFsaXplRmFzdDogZmFsc2UsXG5cdHF1YXROb3JtYWxpemVTa2lwOiAwLFxuXHRzaG91bGRJbnZhbGlkYXRlOiB0cnVlLFxuXHRzaXplOiAxMDAwLFxuXHRzb2x2ZXI6ICdHUycsXG5cdHN0ZXBTaXplOiAxIC8gNjAsXG5cdHRvbGVyYW5jZTogMC4wMDEsXG59O1xuXG50eXBlIE5ndHNQaHlzaWNzVXBkYXRhYmxlT3B0aW9ucyA9IEV4dHJhY3Q8XG5cdGtleW9mIE5ndGNQaHlzaWNzT3B0aW9ucyxcblx0J2dyYXZpdHknIHwgJ2l0ZXJhdGlvbnMnIHwgJ3RvbGVyYW5jZScgfCAnYnJvYWRwaGFzZScgfCAnYXhpc0luZGV4J1xuPjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd0Yy1waHlzaWNzJyB9KVxuZXhwb3J0IGNsYXNzIE5ndGNQaHlzaWNzIHtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXG5cdHByaXZhdGUgYXhpc0luZGV4ID0gcGljayh0aGlzLm9wdGlvbnMsICdheGlzSW5kZXgnKTtcblx0cHJpdmF0ZSBicm9hZHBoYXNlID0gcGljayh0aGlzLm9wdGlvbnMsICdicm9hZHBoYXNlJyk7XG5cdHByaXZhdGUgZ3Jhdml0eSA9IHBpY2sodGhpcy5vcHRpb25zLCAnZ3Jhdml0eScpO1xuXHRwcml2YXRlIGl0ZXJhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2l0ZXJhdGlvbnMnKTtcblx0cHJpdmF0ZSB0b2xlcmFuY2UgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RvbGVyYW5jZScpO1xuXG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuaW52YWxpZGF0ZTtcblx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHdvcmtlciBpcyBub3QgbnVsbGFibGUsIGFuZCB3ZSBkb24ndCB3YW50IHRvIHVzZSAhIG9wZXJhdG9yLlxuXHRwcml2YXRlIGNhbm5vbldvcmtlciA9IHNpZ25hbDxDYW5ub25Xb3JrZXJBUEk+KG51bGwpO1xuXG5cdGJvZGllczogeyBbdXVpZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblx0ZXZlbnRzOiBOZ3RjQ2Fubm9uRXZlbnRzID0ge307XG5cdHJlZnM6IFJlZnMgPSB7fTtcblx0c2NhbGVPdmVycmlkZXM6IFNjYWxlT3ZlcnJpZGVzID0ge307XG5cdHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbnMgPSB7fTtcblx0d29ya2VyID0gdGhpcy5jYW5ub25Xb3JrZXIuYXNSZWFkb25seSgpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHRcdC8vIE5PVEU6IHNldCBuZXcgY2Fubm9ud29ya2VyIGluIGFmdGVyTmV4dFJlbmRlclxuXHRcdC8vIC0gc28gaW5wdXRzIGFyZSByZXNvbHZlZFxuXHRcdC8vIC0gc28gdGhlIHdvcmtlciBpcyBpbnN0YW50aWF0ZWQgb25seSBvbmNlXG5cdFx0Ly8gLSBlZmZlY3RzIGFyZSBzdGFydGVkIGFmdGVyIHdvcmtlciBpcyBpbnN0YW50aWF0ZWRcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5jYW5ub25Xb3JrZXIuc2V0KG5ldyBDYW5ub25Xb3JrZXJBUEkodGhpcy5vcHRpb25zKCkpKTtcblxuXHRcdFx0ZWZmZWN0KFxuXHRcdFx0XHQob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY2xlYW51cCA9IHRoaXMuY29ubmVjdFdvcmtlckVmZmVjdCgpO1xuXHRcdFx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjbGVhbnVwPy4oKSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3IgfSxcblx0XHRcdCk7XG5cblx0XHRcdGVmZmVjdChcblx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMudXBkYXRlV29ya2VyU3RhdGVFZmZlY3QoJ2F4aXNJbmRleCcsIHRoaXMuYXhpc0luZGV4KTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdicm9hZHBoYXNlJywgdGhpcy5icm9hZHBoYXNlKTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdncmF2aXR5JywgdGhpcy5ncmF2aXR5KTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCdpdGVyYXRpb25zJywgdGhpcy5pdGVyYXRpb25zKTtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0KCd0b2xlcmFuY2UnLCB0aGlzLnRvbGVyYW5jZSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3IgfSxcblx0XHRcdCk7XG5cdFx0fSk7XG5cblx0XHRsZXQgdGltZVNpbmNlTGFzdENhbGxlZCA9IDA7XG5cdFx0YmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdGNvbnN0IFt7IGlzUGF1c2VkLCBtYXhTdWJTdGVwcywgc3RlcFNpemUgfSwgd29ya2VyXSA9IFt0aGlzLm9wdGlvbnMoKSwgdGhpcy5jYW5ub25Xb3JrZXIoKV07XG5cdFx0XHRpZiAoaXNQYXVzZWQgfHwgIXdvcmtlciB8fCBzdGVwU2l6ZSA9PSBudWxsKSByZXR1cm47XG5cdFx0XHR0aW1lU2luY2VMYXN0Q2FsbGVkICs9IGRlbHRhO1xuXHRcdFx0d29ya2VyLnN0ZXAoeyBtYXhTdWJTdGVwcywgc3RlcFNpemUsIHRpbWVTaW5jZUxhc3RDYWxsZWQgfSk7XG5cdFx0XHR0aW1lU2luY2VMYXN0Q2FsbGVkID0gMDtcblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgY29ubmVjdFdvcmtlckVmZmVjdCgpIHtcblx0XHRjb25zdCB3b3JrZXIgPSB0aGlzLmNhbm5vbldvcmtlcigpIGFzIE5ndGNDYW5ub25Xb3JrZXI7XG5cdFx0aWYgKCF3b3JrZXIpIHJldHVybjtcblxuXHRcdHdvcmtlci5jb25uZWN0KCk7XG5cdFx0d29ya2VyLmluaXQoKTtcblxuXHRcdHdvcmtlci5vbignY29sbGlkZScsIHRoaXMuY29sbGlkZUhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdjb2xsaWRlQmVnaW4nLCB0aGlzLmNvbGxpZGVCZWdpbkhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdjb2xsaWRlRW5kJywgdGhpcy5jb2xsaWRlRW5kSGFuZGxlci5iaW5kKHRoaXMpKTtcblx0XHR3b3JrZXIub24oJ2ZyYW1lJywgdGhpcy5mcmFtZUhhbmRsZXIuYmluZCh0aGlzKSk7XG5cdFx0d29ya2VyLm9uKCdyYXloaXQnLCB0aGlzLnJheWhpdEhhbmRsZXIuYmluZCh0aGlzKSk7XG5cblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0d29ya2VyLnRlcm1pbmF0ZSgpO1xuXHRcdFx0d29ya2VyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZVdvcmtlclN0YXRlRWZmZWN0PFRVcGRhdGFibGVLZXkgZXh0ZW5kcyBOZ3RzUGh5c2ljc1VwZGF0YWJsZU9wdGlvbnM+KFxuXHRcdGtleTogVFVwZGF0YWJsZUtleSxcblx0XHRvcHRpb246ICgpID0+IE5ndGNQaHlzaWNzT3B0aW9uc1tUVXBkYXRhYmxlS2V5XSxcblx0KSB7XG5cdFx0Y29uc3Qgd29ya2VyID0gdGhpcy5jYW5ub25Xb3JrZXIoKTtcblx0XHRpZiAoIXdvcmtlcikgcmV0dXJuO1xuXHRcdE9iamVjdC5hc3NpZ24od29ya2VyLCB7IFtrZXldOiBvcHRpb24oKSB9KTtcblx0fVxuXG5cdHByaXZhdGUgY29sbGlkZUhhbmRsZXIoeyBib2R5LCBjb250YWN0OiB7IGJpLCBiaiwgLi4uY29udGFjdFJlc3QgfSwgdGFyZ2V0LCAuLi5yZXN0IH06IFdvcmtlckNvbGxpZGVFdmVudFsnZGF0YSddKSB7XG5cdFx0Y29uc3QgeyBldmVudHMsIHJlZnMgfSA9IHRoaXM7XG5cdFx0Y29uc3QgY2IgPSBldmVudHNbdGFyZ2V0XT8uY29sbGlkZTtcblx0XHRpZiAoY2IpIHtcblx0XHRcdGNiKHtcblx0XHRcdFx0Ym9keTogcmVmc1tib2R5XSxcblx0XHRcdFx0Y29udGFjdDogeyBiaTogcmVmc1tiaV0sIGJqOiByZWZzW2JqXSwgLi4uY29udGFjdFJlc3QgfSxcblx0XHRcdFx0dGFyZ2V0OiByZWZzW3RhcmdldF0sXG5cdFx0XHRcdC4uLnJlc3QsXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbGxpZGVCZWdpbkhhbmRsZXIoeyBib2R5QSwgYm9keUIgfTogV29ya2VyQ29sbGlkZUJlZ2luRXZlbnRbJ2RhdGEnXSkge1xuXHRcdGNvbnN0IHsgZXZlbnRzLCByZWZzIH0gPSB0aGlzO1xuXHRcdGNvbnN0IGNiQSA9IGV2ZW50c1tib2R5QV0/LmNvbGxpZGVCZWdpbjtcblx0XHRpZiAoY2JBKSBjYkEoeyBib2R5OiByZWZzW2JvZHlCXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5QV0sIHR5cGU6ICdjb2xsaWRlQmVnaW4nIH0pO1xuXHRcdGNvbnN0IGNiQiA9IGV2ZW50c1tib2R5Ql0/LmNvbGxpZGVCZWdpbjtcblx0XHRpZiAoY2JCKSBjYkIoeyBib2R5OiByZWZzW2JvZHlBXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5Ql0sIHR5cGU6ICdjb2xsaWRlQmVnaW4nIH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBjb2xsaWRlRW5kSGFuZGxlcih7IGJvZHlBLCBib2R5QiB9OiBXb3JrZXJDb2xsaWRlRW5kRXZlbnRbJ2RhdGEnXSkge1xuXHRcdGNvbnN0IHsgZXZlbnRzLCByZWZzIH0gPSB0aGlzO1xuXHRcdGNvbnN0IGNiQSA9IGV2ZW50c1tib2R5QV0/LmNvbGxpZGVFbmQ7XG5cdFx0aWYgKGNiQSkgY2JBKHsgYm9keTogcmVmc1tib2R5Ql0sIG9wOiAnZXZlbnQnLCB0YXJnZXQ6IHJlZnNbYm9keUFdLCB0eXBlOiAnY29sbGlkZUVuZCcgfSk7XG5cdFx0Y29uc3QgY2JCID0gZXZlbnRzW2JvZHlCXT8uY29sbGlkZUVuZDtcblx0XHRpZiAoY2JCKSBjYkIoeyBib2R5OiByZWZzW2JvZHlBXSwgb3A6ICdldmVudCcsIHRhcmdldDogcmVmc1tib2R5Ql0sIHR5cGU6ICdjb2xsaWRlRW5kJyB9KTtcblx0fVxuXG5cdHByaXZhdGUgZnJhbWVIYW5kbGVyKHtcblx0XHRhY3RpdmUsXG5cdFx0Ym9kaWVzOiB1dWlkcyA9IFtdLFxuXHRcdG9ic2VydmF0aW9ucyxcblx0XHRwb3NpdGlvbnMsXG5cdFx0cXVhdGVybmlvbnMsXG5cdH06IFdvcmtlckZyYW1lTWVzc2FnZVsnZGF0YSddKSB7XG5cdFx0Y29uc3QgW3sgc2hvdWxkSW52YWxpZGF0ZSB9LCB7IGJvZGllcywgc3Vic2NyaXB0aW9ucywgcmVmcywgc2NhbGVPdmVycmlkZXMgfSwgaW52YWxpZGF0ZV0gPSBbXG5cdFx0XHR1bnRyYWNrZWQodGhpcy5vcHRpb25zKSxcblx0XHRcdHRoaXMsXG5cdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdXVpZHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGJvZGllc1t1dWlkc1tpXV0gPSBpO1xuXHRcdH1cblx0XHRvYnNlcnZhdGlvbnMuZm9yRWFjaCgoW2lkLCB2YWx1ZSwgdHlwZV0pID0+IHtcblx0XHRcdGNvbnN0IHN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbnNbaWRdIHx8IHt9O1xuXHRcdFx0Y29uc3QgY2IgPSBzdWJzY3JpcHRpb25bdHlwZV07XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gV2UgY2xlYXJseSBrbm93IHRoZSB0eXBlIG9mIHRoZSBjYWxsYmFjaywgYnV0IHR5cGVzY3JpcHQgY2FuJ3QgZGVhbCB3aXRoIGl0XG5cdFx0XHRjYiAmJiBjYih2YWx1ZSk7XG5cdFx0fSk7XG5cdFx0aWYgKCFhY3RpdmUpIHJldHVybjtcblx0XHRmb3IgKGNvbnN0IHJlZiBvZiBPYmplY3QudmFsdWVzKHJlZnMpLmZpbHRlcih1bmlxdWUoKSkpIHtcblx0XHRcdGlmIChpcy50aHJlZTxUSFJFRS5JbnN0YW5jZWRNZXNoPihyZWYsICdpc0luc3RhbmNlZE1lc2gnKSkge1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlZi5jb3VudDsgaSsrKSB7XG5cdFx0XHRcdFx0Y29uc3QgdXVpZCA9IGAke3JlZi51dWlkfS8ke2l9YDtcblx0XHRcdFx0XHRjb25zdCBpbmRleCA9IGJvZGllc1t1dWlkXTtcblx0XHRcdFx0XHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0cmVmLnNldE1hdHJpeEF0KGksIGFwcGx5KGluZGV4LCBwb3NpdGlvbnMsIHF1YXRlcm5pb25zLCBzY2FsZU92ZXJyaWRlc1t1dWlkXSkpO1xuXHRcdFx0XHRcdFx0cmVmLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHNjYWxlID0gc2NhbGVPdmVycmlkZXNbcmVmLnV1aWRdIHx8IHJlZi5zY2FsZTtcblx0XHRcdFx0YXBwbHkoYm9kaWVzW3JlZi51dWlkXSwgcG9zaXRpb25zLCBxdWF0ZXJuaW9ucywgc2NhbGUsIHJlZik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChzaG91bGRJbnZhbGlkYXRlKSBpbnZhbGlkYXRlKCk7XG5cdH1cblxuXHRwcml2YXRlIHJheWhpdEhhbmRsZXIoeyBib2R5LCByYXk6IHsgdXVpZCwgLi4ucmF5UmVzdCB9LCAuLi5yZXN0IH06IFdvcmtlclJheWhpdEV2ZW50WydkYXRhJ10pIHtcblx0XHRjb25zdCB7IGV2ZW50cywgcmVmcyB9ID0gdGhpcztcblx0XHRjb25zdCBjYiA9IGV2ZW50c1t1dWlkXT8ucmF5aGl0O1xuXHRcdGlmIChjYikgY2IoeyBib2R5OiBib2R5ID8gcmVmc1tib2R5XSA6IG51bGwsIHJheTogeyB1dWlkLCAuLi5yYXlSZXN0IH0sIC4uLnJlc3QgfSk7XG5cdH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10aHJlZS1jYW5ub24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9zcmMvYW5ndWxhci10aHJlZS1jYW5ub24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "angular-three-cannon",
|
|
3
|
-
"version": "4.0.0-next.
|
|
3
|
+
"version": "4.0.0-next.112",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
],
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@angular/common": ">=
|
|
27
|
-
"@angular/core": ">=
|
|
26
|
+
"@angular/common": ">=20.0.0 <21.0.0",
|
|
27
|
+
"@angular/core": ">=20.0.0 <21.0.0",
|
|
28
28
|
"@pmndrs/cannon-worker-api": "^2.0.0",
|
|
29
29
|
"cannon-es": ">=0.20.0 <0.21.0",
|
|
30
30
|
"cannon-es-debugger": "^1.0.0",
|
|
31
|
-
"three": ">=0.157.0 <0.
|
|
31
|
+
"three": ">=0.157.0 <0.180.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependenciesMeta": {
|
|
34
34
|
"cannon-es-debugger": {
|
|
@@ -49,14 +49,14 @@
|
|
|
49
49
|
"types": "./index.d.ts",
|
|
50
50
|
"default": "./fesm2022/angular-three-cannon.mjs"
|
|
51
51
|
},
|
|
52
|
-
"./constraint": {
|
|
53
|
-
"types": "./constraint/index.d.ts",
|
|
54
|
-
"default": "./fesm2022/angular-three-cannon-constraint.mjs"
|
|
55
|
-
},
|
|
56
52
|
"./body": {
|
|
57
53
|
"types": "./body/index.d.ts",
|
|
58
54
|
"default": "./fesm2022/angular-three-cannon-body.mjs"
|
|
59
55
|
},
|
|
56
|
+
"./constraint": {
|
|
57
|
+
"types": "./constraint/index.d.ts",
|
|
58
|
+
"default": "./fesm2022/angular-three-cannon-constraint.mjs"
|
|
59
|
+
},
|
|
60
60
|
"./debug": {
|
|
61
61
|
"types": "./debug/index.d.ts",
|
|
62
62
|
"default": "./fesm2022/angular-three-cannon-debug.mjs"
|