@@ -65,25 +65,22 @@ export class ColorPicker {
6565 (click)="$event.stopPropagation(); state.update({ current: $any($event.object).material.name })"
6666 >
6767 @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" />
7673 </ngt-mesh>
7774 </ng-template>
7875
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'] }" />
8784 }
8885 </ngt-group>
8986 </ngts-float>
0 commit comments