Skip to content

Commit d7426b7

Browse files
committed
fix(soba): clean up sampler
1 parent 90545c6 commit d7426b7

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

Diff for: libs/soba/misc/src/sampler/sampler.ts

+4-14
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
Input,
66
computed,
77
effect,
8-
inject,
98
runInInjectionContext,
109
signal,
1110
untracked,
@@ -66,24 +65,18 @@ export function injectNgtsSurfaceSampler(
6665
) {
6766
injector = assertInjector(injectNgtsSurfaceSampler, injector);
6867
return runInInjectionContext(injector, () => {
69-
const state = computed(() => {
70-
const _state = surfaceSamplerState();
71-
if (!_state) return null;
72-
return { ...defaultState, ..._state };
73-
});
68+
const state = computed(() => ({ ...defaultState, ...(surfaceSamplerState() || {}) }));
7469
const _buffer = signal(
7570
(() => {
76-
const arr = Array.from({ length: state()?.count || defaultState.count }, () => [
71+
const arr = Array.from({ length: state().count }, () => [
7772
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
7873
]).flat();
7974
return new THREE.InstancedBufferAttribute(Float32Array.from(arr), 16);
8075
})(),
8176
);
8277

8378
effect(() => {
84-
const _state = state();
85-
if (!_state) return;
86-
const { mesh, count, transform, instancedMesh, weight } = _state;
79+
const { mesh, count, transform, instancedMesh, weight } = state();
8780
const meshObj = is.ref(mesh) ? mesh.nativeElement : mesh;
8881
if (!meshObj) return;
8982
const instancedMeshObj = is.ref(instancedMesh) ? instancedMesh.nativeElement : instancedMesh;
@@ -198,9 +191,6 @@ export class NgtsSampler {
198191
});
199192

200193
constructor() {
201-
const injector = inject(Injector);
202-
effect(() => {
203-
injectNgtsSurfaceSampler(this.surfaceSamplerState, { injector });
204-
});
194+
injectNgtsSurfaceSampler(this.surfaceSamplerState);
205195
}
206196
}

0 commit comments

Comments
 (0)