Skip to content

Commit f6149ca

Browse files
committed
feat(rapier): make the colliders' args the colliders name themselves
This makes the colliders more streamlined to use BREAKING CHANGE: this moves the `[args]` binding to colliders name before: `cuboidCollider [args]="[...]"` after: `[cuboidCollider]="[...]"`
1 parent 95ae8fc commit f6149ca

File tree

6 files changed

+27
-29
lines changed

6 files changed

+27
-29
lines changed

Diff for: apps/examples/src/app/rapier/basic/basic.ts

+4-6
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,21 @@ import { NgtrCuboidCollider, NgtrRigidBody } from 'angular-three-rapier';
1212
</ngt-object3D>
1313
1414
@if (currentCollider() === 1) {
15-
<ngt-object3D cuboidCollider [args]="[1, 0.5, 1]" (collisionExit)="currentCollider.set(2)" />
15+
<ngt-object3D [cuboidCollider]="[1, 0.5, 1]" (collisionExit)="currentCollider.set(2)" />
1616
} @else if (currentCollider() === 2) {
1717
<ngt-object3D
18-
cuboidCollider
18+
[cuboidCollider]="[3, 0.5, 3]"
1919
[position]="[0, -1, 0]"
20-
[args]="[3, 0.5, 3]"
2120
(collisionExit)="currentCollider.set(3)"
2221
/>
2322
} @else if (currentCollider() === 3) {
2423
<ngt-object3D
25-
cuboidCollider
24+
[cuboidCollider]="[6, 0.5, 6]"
2625
[position]="[0, -3, 0]"
27-
[args]="[6, 0.5, 6]"
2826
(collisionExit)="currentCollider.set(4)"
2927
/>
3028
} @else {
31-
<ngt-object3D cuboidCollider [position]="[0, -6, 0]" [args]="[20, 0.5, 20]" />
29+
<ngt-object3D [cuboidCollider]="[20, 0.5, 20]" [position]="[0, -6, 0]" />
3230
}
3331
`,
3432
schemas: [CUSTOM_ELEMENTS_SCHEMA],

Diff for: apps/examples/src/app/rapier/rope-joint/rope-joint.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export class BoxWall {
6969
<ngt-mesh-standard-material [metalness]="1" [roughness]="0.3" />
7070
</ngt-mesh>
7171
72-
<ngt-object3D ballCollider [args]="[2]" />
72+
<ngt-object3D [ballCollider]="[2]" />
7373
</ngt-object3D>
7474
</ngt-group>
7575
`,

Diff for: apps/examples/src/app/rapier/spring/spring.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export class Box {
3636
<ngt-mesh-standard-material color="#E09F3E" />
3737
</ngt-mesh>
3838
39-
<ngt-object3D ballCollider [args]="[0.5]" />
39+
<ngt-object3D [ballCollider]="[0.5]" />
4040
</ngt-object3D>
4141
`,
4242
schemas: [CUSTOM_ELEMENTS_SCHEMA],

Diff for: apps/examples/src/app/soba/bruno-simons-20k/scene.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export class Model {
124124
<app-model [position]="[1, 0, -1.5]" />
125125
<app-hats />
126126
<ngt-object3D rigidBody="fixed" [options]="{ colliders: false }" [position]="[0, -1, 0]">
127-
<ngt-object3D cuboidCollider [args]="[1000, 1, 1000]" />
127+
<ngt-object3D [cuboidCollider]="[1000, 1, 1000]" />
128128
</ngt-object3D>
129129
</ng-template>
130130
</ngtr-physics>

Diff for: apps/examples/src/app/soba/portal-shapes/scene.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ import { Letter } from './letter';
7474
</app-letter>
7575
7676
<!-- invisible walls -->
77-
<ngt-object3D cuboidCollider [args]="[100, 1, 100]" [position]="[0, -6, 0]" />
78-
<ngt-object3D cuboidCollider [args]="[30, 100, 1]" [position]="[0, 0, -30]" />
79-
<ngt-object3D cuboidCollider [args]="[30, 100, 1]" [position]="[0, 0, 10]" />
80-
<ngt-object3D cuboidCollider [args]="[1, 100, 30]" [position]="[-30, 0, 0]" />
81-
<ngt-object3D cuboidCollider [args]="[1, 100, 30]" [position]="[30, 0, 0]" />
77+
<ngt-object3D [cuboidCollider]="[100, 1, 100]" [position]="[0, -6, 0]" />
78+
<ngt-object3D [cuboidCollider]="[30, 100, 1]" [position]="[0, 0, -30]" />
79+
<ngt-object3D [cuboidCollider]="[30, 100, 1]" [position]="[0, 0, 10]" />
80+
<ngt-object3D [cuboidCollider]="[1, 100, 30]" [position]="[-30, 0, 0]" />
81+
<ngt-object3D [cuboidCollider]="[1, 100, 30]" [position]="[30, 0, 0]" />
8282
</ng-template>
8383
</ngtr-physics>
8484

Diff for: libs/rapier/src/lib/colliders.ts

+15-15
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const ANY_COLLIDER_HOST_DIRECTIVE = {
2727

2828
@Directive({ selector: 'ngt-object3D[cuboidCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
2929
export class NgtrCuboidCollider {
30-
args = input.required<NgtrCuboidArgs>();
30+
args = input.required<NgtrCuboidArgs>({ alias: 'cuboidCollider' });
3131

3232
constructor() {
3333
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -40,7 +40,7 @@ export class NgtrCuboidCollider {
4040

4141
@Directive({ selector: 'ngt-object3D[capsuleCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
4242
export class NgtrCapsuleCollider {
43-
args = input.required<NgtrCapsuleArgs>();
43+
args = input.required<NgtrCapsuleArgs>({ alias: 'capsuleCollider' });
4444

4545
constructor() {
4646
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -53,7 +53,7 @@ export class NgtrCapsuleCollider {
5353

5454
@Directive({ selector: 'ngt-object3D[ballCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
5555
export class NgtrBallCollider {
56-
args = input.required<NgtrBallArgs>();
56+
args = input.required<NgtrBallArgs>({ alias: 'ballCollider' });
5757

5858
constructor() {
5959
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -66,7 +66,7 @@ export class NgtrBallCollider {
6666

6767
@Directive({ selector: 'ngt-object3D[convexHullCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
6868
export class NgtrConvexHullCollider {
69-
args = input.required<NgtrConvexHullArgs>();
69+
args = input.required<NgtrConvexHullArgs>({ alias: 'convexHullCollider' });
7070

7171
constructor() {
7272
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -79,7 +79,7 @@ export class NgtrConvexHullCollider {
7979

8080
@Directive({ selector: 'ngt-object3D[heightfieldCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
8181
export class NgtrHeightfieldCollider {
82-
args = input.required<NgtrHeightfieldArgs>();
82+
args = input.required<NgtrHeightfieldArgs>({ alias: 'heightfieldCollider' });
8383

8484
constructor() {
8585
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -92,7 +92,7 @@ export class NgtrHeightfieldCollider {
9292

9393
@Directive({ selector: 'ngt-object3D[trimeshCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
9494
export class NgtrTrimeshCollider {
95-
args = input.required<NgtrTrimeshArgs>();
95+
args = input.required<NgtrTrimeshArgs>({ alias: 'trimeshCollider' });
9696

9797
constructor() {
9898
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -105,7 +105,7 @@ export class NgtrTrimeshCollider {
105105

106106
@Directive({ selector: 'ngt-object3D[polylineCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
107107
export class NgtrPolylineCollider {
108-
args = input.required<NgtrPolylineArgs>();
108+
args = input.required<NgtrPolylineArgs>({ alias: 'polylineCollider' });
109109

110110
constructor() {
111111
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -118,7 +118,7 @@ export class NgtrPolylineCollider {
118118

119119
@Directive({ selector: 'ngt-object3D[roundCuboidCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
120120
export class NgtrRoundCuboidCollider {
121-
args = input.required<NgtrRoundCuboidArgs>();
121+
args = input.required<NgtrRoundCuboidArgs>({ alias: 'roundCuboidCollider' });
122122

123123
constructor() {
124124
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -131,7 +131,7 @@ export class NgtrRoundCuboidCollider {
131131

132132
@Directive({ selector: 'ngt-object3D[cylinderCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
133133
export class NgtrCylinderCollider {
134-
args = input.required<NgtrCylinderArgs>();
134+
args = input.required<NgtrCylinderArgs>({ alias: 'cylinderCollider' });
135135

136136
constructor() {
137137
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -144,7 +144,7 @@ export class NgtrCylinderCollider {
144144

145145
@Directive({ selector: 'ngt-object3D[roundCylinderCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
146146
export class NgtrRoundCylinderCollider {
147-
args = input.required<NgtrRoundCylinderArgs>();
147+
args = input.required<NgtrRoundCylinderArgs>({ alias: 'roundCylinderCollider' });
148148

149149
constructor() {
150150
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -157,7 +157,7 @@ export class NgtrRoundCylinderCollider {
157157

158158
@Directive({ selector: 'ngt-object3D[coneCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
159159
export class NgtrConeCollider {
160-
args = input.required<NgtrConeArgs>();
160+
args = input.required<NgtrConeArgs>({ alias: 'coneCollider' });
161161

162162
constructor() {
163163
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -170,7 +170,7 @@ export class NgtrConeCollider {
170170

171171
@Directive({ selector: 'ngt-object3D[roundConeCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
172172
export class NgtrRoundConeCollider {
173-
args = input.required<NgtrRoundConeArgs>();
173+
args = input.required<NgtrRoundConeArgs>({ alias: 'roundConeCollider' });
174174

175175
constructor() {
176176
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -183,7 +183,7 @@ export class NgtrRoundConeCollider {
183183

184184
@Directive({ selector: 'ngt-object3D[convexMeshCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
185185
export class NgtrConvexMeshCollider {
186-
args = input.required<NgtrConvexMeshArgs>();
186+
args = input.required<NgtrConvexMeshArgs>({ alias: 'convexMeshCollider' });
187187

188188
constructor() {
189189
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -196,7 +196,7 @@ export class NgtrConvexMeshCollider {
196196

197197
@Directive({ selector: 'ngt-object3D[roundConvexHullCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
198198
export class NgtrRoundConvexHullCollider {
199-
args = input.required<NgtrRoundConvexHullArgs>();
199+
args = input.required<NgtrRoundConvexHullArgs>({ alias: 'roundConvexHullCollider' });
200200

201201
constructor() {
202202
const anyCollider = inject(NgtrAnyCollider, { host: true });
@@ -209,7 +209,7 @@ export class NgtrRoundConvexHullCollider {
209209

210210
@Directive({ selector: 'ngt-object3D[roundConvexMeshCollider]', hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE] })
211211
export class NgtrRoundConvexMeshCollider {
212-
args = input.required<NgtrRoundConvexMeshArgs>();
212+
args = input.required<NgtrRoundConvexMeshArgs>({ alias: 'roundConvexMeshCollider' });
213213

214214
constructor() {
215215
const anyCollider = inject(NgtrAnyCollider, { host: true });

0 commit comments

Comments
 (0)