@@ -65,25 +65,22 @@ export class ColorPicker {
65
65
(click)="$event.stopPropagation(); state.update({ current: $any($event.object).material.name })"
66
66
>
67
67
@if (gltf(); as gltf) {
68
- <ng-template #mesh let-node="node" let-material="material">
69
- <ngt-mesh
70
- receiveShadow
71
- castShadow
72
- [geometry]="gltf.meshes[node].geometry"
73
- [material]="gltf.materials[material]"
74
- >
75
- <ngt-value [rawValue]="$any(state.items)[material]()" attach="material.color" />
68
+ <ng-template #m let-ctx="ctx">
69
+ @let geometry = gltf.meshes[ctx[0]].geometry;
70
+ @let material = gltf.materials[ctx[1]];
71
+ <ngt-mesh receiveShadow castShadow [geometry]="geometry" [material]="material">
72
+ <ngt-value [rawValue]="$any(state.items)[ctx[1]]()" attach="material.color" />
76
73
</ngt-mesh>
77
74
</ng-template>
78
75
79
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe', material: 'laces' }" />
80
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_1', material: 'mesh' }" />
81
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_2', material: 'caps' }" />
82
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_3', material: 'inner' }" />
83
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_4', material: 'sole' }" />
84
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_5', material: 'stripes' }" />
85
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_6', material: 'band' }" />
86
- <ng-container * ngTemplateOutlet="mesh; context: { node: 'shoe_7', material: 'patch' }" />
76
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe', 'laces'] }" />
77
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_1', 'mesh'] }" />
78
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_2', 'caps'] }" />
79
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_3', 'inner'] }" />
80
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_4', 'sole'] }" />
81
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_5', 'stripes'] }" />
82
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_6', 'band'] }" />
83
+ <ng-container [ ngTemplateOutlet]="m" [ngTemplateOutletContext]="{ ctx: [ 'shoe_7', 'patch'] }" />
87
84
}
88
85
</ngt-group>
89
86
</ngts-float>
0 commit comments