Skip to content

Commit 681c8d9

Browse files
Chau TranChau Tran
Chau Tran
authored and
Chau Tran
committed
fix(soba): adjust typings
1 parent ea65873 commit 681c8d9

File tree

10 files changed

+134
-123
lines changed

10 files changed

+134
-123
lines changed

libs/soba/abstractions/src/catmull-rom-line/catmull-rom-line.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@ declare module '../line/line-input' {
2121
<ngts-line
2222
[lineRef]="lineRef"
2323
[points]="segmentedPoints()"
24-
[vertexColors]="interpolatedVertexColors()!"
24+
[vertexColors]="interpolatedVertexColors()"
2525
[color]="lineParameters().color"
26-
[resolution]="lineParameters().resolution!"
27-
[lineWidth]="lineParameters().linewidth!"
28-
[alphaToCoverage]="lineParameters().alphaToCoverage!"
29-
[dashed]="lineParameters().dashed!"
30-
[dashScale]="lineParameters().dashScale!"
31-
[dashSize]="lineParameters().dashSize!"
32-
[dashOffset]="lineParameters().dashOffset!"
33-
[gapSize]="lineParameters().gapSize!"
34-
[wireframe]="lineParameters().wireframe!"
35-
[worldUnits]="lineParameters().worldUnits!"
26+
[resolution]="lineParameters().resolution"
27+
[lineWidth]="lineParameters().linewidth"
28+
[alphaToCoverage]="lineParameters().alphaToCoverage"
29+
[dashed]="lineParameters().dashed"
30+
[dashScale]="lineParameters().dashScale"
31+
[dashSize]="lineParameters().dashSize"
32+
[dashOffset]="lineParameters().dashOffset"
33+
[gapSize]="lineParameters().gapSize"
34+
[wireframe]="lineParameters().wireframe"
35+
[worldUnits]="lineParameters().worldUnits"
3636
/>
3737
`,
3838
imports: [NgtsLine],
@@ -67,6 +67,7 @@ export class NgtsCatmullRomLine extends NgtsLineInputs {
6767
readonly #closed = this.select('closed');
6868
readonly #curveType = this.select('curveType');
6969
readonly #tension = this.select('tension');
70+
readonly #vertexColors = this.select('vertexColors');
7071

7172
readonly #curve = computed(() => {
7273
const mappedPoints = this.#points().map((p) =>
@@ -82,7 +83,7 @@ export class NgtsCatmullRomLine extends NgtsLineInputs {
8283
});
8384

8485
readonly interpolatedVertexColors = computed(() => {
85-
const vertexColors = this.select('vertexColors')();
86+
const vertexColors = this.#vertexColors();
8687
const segments = this.#segments() as number;
8788

8889
if (!vertexColors || vertexColors.length < 2) return undefined;

libs/soba/abstractions/src/cubic-bezier-line/cubic-bezier-line.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@ declare module '../line/line-input' {
2121
<ngts-line
2222
[lineRef]="lineRef"
2323
[points]="points()"
24-
[color]="lineParameters().color!"
25-
[vertexColors]="lineParameters().vertexColors!"
26-
[resolution]="lineParameters().resolution!"
27-
[lineWidth]="lineParameters().linewidth!"
28-
[alphaToCoverage]="lineParameters().alphaToCoverage!"
29-
[dashed]="lineParameters().dashed!"
30-
[dashScale]="lineParameters().dashScale!"
31-
[dashSize]="lineParameters().dashSize!"
32-
[dashOffset]="lineParameters().dashOffset!"
33-
[gapSize]="lineParameters().gapSize!"
34-
[wireframe]="lineParameters().wireframe!"
35-
[worldUnits]="lineParameters().worldUnits!"
24+
[color]="lineParameters().color"
25+
[vertexColors]="lineParameters().vertexColors"
26+
[resolution]="lineParameters().resolution"
27+
[lineWidth]="lineParameters().linewidth"
28+
[alphaToCoverage]="lineParameters().alphaToCoverage"
29+
[dashed]="lineParameters().dashed"
30+
[dashScale]="lineParameters().dashScale"
31+
[dashSize]="lineParameters().dashSize"
32+
[dashOffset]="lineParameters().dashOffset"
33+
[gapSize]="lineParameters().gapSize"
34+
[wireframe]="lineParameters().wireframe"
35+
[worldUnits]="lineParameters().worldUnits"
3636
/>
3737
`,
3838
imports: [NgtsLine],
@@ -60,12 +60,18 @@ export class NgtsCubicBezierLine extends NgtsLineInputs {
6060
this.set({ segments });
6161
}
6262

63+
readonly #start = this.select('start');
64+
readonly #end = this.select('end');
65+
readonly #midA = this.select('midA');
66+
readonly #midB = this.select('midB');
67+
readonly #segments = this.select('segments');
68+
6369
readonly points = computed(() => {
64-
const start = this.select('start')();
65-
const end = this.select('end')();
66-
const midA = this.select('midA')();
67-
const midB = this.select('midB')();
68-
const segments = this.select('segments')() as number;
70+
const start = this.#start();
71+
const end = this.#end();
72+
const midA = this.#midA();
73+
const midB = this.#midB();
74+
const segments = this.#segments() as number;
6975

7076
const startV = start instanceof THREE.Vector3 ? start : new THREE.Vector3(...start);
7177
const endV = end instanceof THREE.Vector3 ? end : new THREE.Vector3(...end);

libs/soba/abstractions/src/line/line-input.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,51 +12,51 @@ export interface NgtsLineState extends Omit<LineMaterialParameters, 'vertexColor
1212

1313
@Directive()
1414
export abstract class NgtsLineInputs extends NgtSignalStore<NgtsLineState> {
15-
@Input() set vertexColors(vertexColors: Array<THREE.Color | [number, number, number]>) {
15+
@Input() set vertexColors(vertexColors: NgtsLineState['vertexColors']) {
1616
this.set({ vertexColors });
1717
}
1818

19-
@Input() set lineWidth(lineWidth: number) {
19+
@Input() set lineWidth(lineWidth: NgtsLineState['lineWidth']) {
2020
this.set({ lineWidth });
2121
}
2222

23-
@Input() set alphaToCoverage(alphaToCoverage: boolean) {
23+
@Input() set alphaToCoverage(alphaToCoverage: NgtsLineState['alphaToCoverage']) {
2424
this.set({ alphaToCoverage });
2525
}
2626

27-
@Input() set color(color: THREE.ColorRepresentation) {
27+
@Input() set color(color: NgtsLineState['color']) {
2828
this.set({ color });
2929
}
3030

31-
@Input() set dashed(dashed: boolean) {
31+
@Input() set dashed(dashed: NgtsLineState['dashed']) {
3232
this.set({ dashed });
3333
}
3434

35-
@Input() set dashScale(dashScale: number) {
35+
@Input() set dashScale(dashScale: NgtsLineState['dashScale']) {
3636
this.set({ dashScale });
3737
}
3838

39-
@Input() set dashSize(dashSize: number) {
39+
@Input() set dashSize(dashSize: NgtsLineState['dashSize']) {
4040
this.set({ dashSize });
4141
}
4242

43-
@Input() set dashOffset(dashOffset: number) {
43+
@Input() set dashOffset(dashOffset: NgtsLineState['dashOffset']) {
4444
this.set({ dashOffset });
4545
}
4646

47-
@Input() set gapSize(gapSize: number) {
47+
@Input() set gapSize(gapSize: NgtsLineState['gapSize']) {
4848
this.set({ gapSize });
4949
}
5050

51-
@Input() set resolution(resolution: THREE.Vector2) {
51+
@Input() set resolution(resolution: NgtsLineState['resolution']) {
5252
this.set({ resolution });
5353
}
5454

55-
@Input() set wireframe(wireframe: boolean) {
55+
@Input() set wireframe(wireframe: NgtsLineState['wireframe']) {
5656
this.set({ wireframe });
5757
}
5858

59-
@Input() set worldUnits(worldUnits: boolean) {
59+
@Input() set worldUnits(worldUnits: NgtsLineState['worldUnits']) {
6060
this.set({ worldUnits });
6161
}
6262

libs/soba/abstractions/src/quadratic-bezier-line/quadratic-bezier-line.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,23 @@ const v = new THREE.Vector3();
2222
<ngts-line
2323
[lineRef]="lineRef"
2424
[points]="points()"
25-
[color]="lineParameters().color!"
26-
[vertexColors]="lineParameters().vertexColors!"
27-
[resolution]="lineParameters().resolution!"
28-
[lineWidth]="lineParameters().linewidth!"
29-
[alphaToCoverage]="lineParameters().alphaToCoverage!"
30-
[dashed]="lineParameters().dashed!"
31-
[dashScale]="lineParameters().dashScale!"
32-
[dashSize]="lineParameters().dashSize!"
33-
[dashOffset]="lineParameters().dashOffset!"
34-
[gapSize]="lineParameters().gapSize!"
35-
[wireframe]="lineParameters().wireframe!"
36-
[worldUnits]="lineParameters().worldUnits!"
25+
[color]="lineParameters().color"
26+
[vertexColors]="lineParameters().vertexColors"
27+
[resolution]="lineParameters().resolution"
28+
[lineWidth]="lineParameters().linewidth"
29+
[alphaToCoverage]="lineParameters().alphaToCoverage"
30+
[dashed]="lineParameters().dashed"
31+
[dashScale]="lineParameters().dashScale"
32+
[dashSize]="lineParameters().dashSize"
33+
[dashOffset]="lineParameters().dashOffset"
34+
[gapSize]="lineParameters().gapSize"
35+
[wireframe]="lineParameters().wireframe"
36+
[worldUnits]="lineParameters().worldUnits"
3737
/>
3838
`,
3939
imports: [NgtsLine],
4040
})
4141
export class NgtsQuadraticBezierLine extends NgtsLineInputs {
42-
readonly curve = new THREE.QuadraticBezierCurve3(undefined!, undefined!, undefined!);
43-
4442
@Input() lineRef = injectNgtRef<Line2>();
4543

4644
@Input() set start(start: THREE.Vector3 | [number, number, number]) {
@@ -59,6 +57,8 @@ export class NgtsQuadraticBezierLine extends NgtsLineInputs {
5957
this.set({ segments });
6058
}
6159

60+
readonly #curve = new THREE.QuadraticBezierCurve3(undefined!, undefined!, undefined!);
61+
6262
readonly #start = this.select('start');
6363
readonly #end = this.select('end');
6464
readonly #mid = this.select('mid');
@@ -100,20 +100,20 @@ export class NgtsQuadraticBezierLine extends NgtsLineInputs {
100100
mid?: THREE.Vector3 | [number, number, number],
101101
segments = 20
102102
) {
103-
if (start instanceof THREE.Vector3) this.curve.v0.copy(start);
104-
else this.curve.v0.set(...(start as [number, number, number]));
105-
if (end instanceof THREE.Vector3) this.curve.v2.copy(end);
106-
else this.curve.v2.set(...(end as [number, number, number]));
103+
if (start instanceof THREE.Vector3) this.#curve.v0.copy(start);
104+
else this.#curve.v0.set(...(start as [number, number, number]));
105+
if (end instanceof THREE.Vector3) this.#curve.v2.copy(end);
106+
else this.#curve.v2.set(...(end as [number, number, number]));
107107
if (mid instanceof THREE.Vector3) {
108-
this.curve.v1.copy(mid);
108+
this.#curve.v1.copy(mid);
109109
} else {
110-
this.curve.v1.copy(
111-
this.curve.v0
110+
this.#curve.v1.copy(
111+
this.#curve.v0
112112
.clone()
113-
.add(this.curve.v2.clone().sub(this.curve.v0))
114-
.add(v.set(0, this.curve.v0.y - this.curve.v2.y, 0))
113+
.add(this.#curve.v2.clone().sub(this.#curve.v0))
114+
.add(v.set(0, this.#curve.v0.y - this.#curve.v2.y, 0))
115115
);
116116
}
117-
return this.curve.getPoints(segments);
117+
return this.#curve.getPoints(segments);
118118
}
119119
}

libs/soba/staging/src/environment/environment-cube.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export class NgtsEnvironmentCube {
3636
effect((onCleanup) => {
3737
const { background, defaultScene, scene, blur, texture } = trigger();
3838
if (!texture) return;
39-
onCleanup(setEnvProps(background, scene, defaultScene, texture, blur));
39+
onCleanup(setEnvProps(background!, scene, defaultScene, texture, blur));
4040
});
4141
}
4242
}

libs/soba/staging/src/environment/environment-input.ts

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,77 +4,77 @@ import { Loader, Scene, Texture, TextureEncoding } from 'three';
44
import { NgtsEnvironmentPresetsType } from './assets';
55

66
export interface NgtsEnvironmentInputState {
7-
frames: number;
8-
near: number;
9-
far: number;
10-
resolution: number;
11-
background: boolean | 'only';
12-
blur: number;
13-
map: Texture;
14-
files: string | string[];
15-
path: string;
16-
preset: NgtsEnvironmentPresetsType;
17-
scene: Scene | ElementRef<Scene>;
18-
extensions: (loader: Loader) => void;
19-
ground: boolean | { radius?: number; height?: number; scale?: number };
20-
encoding: TextureEncoding;
7+
frames?: number;
8+
near?: number;
9+
far?: number;
10+
resolution?: number;
11+
background?: boolean | 'only';
12+
blur?: number;
13+
map?: Texture;
14+
files?: string | string[];
15+
path?: string;
16+
preset?: NgtsEnvironmentPresetsType;
17+
scene?: Scene | ElementRef<Scene>;
18+
extensions?: (loader: Loader) => void;
19+
ground?: boolean | { radius?: number; height?: number; scale?: number };
20+
encoding?: TextureEncoding;
2121
}
2222

2323
@Directive()
2424
export abstract class NgtsEnvironmentInput extends NgtSignalStore<NgtsEnvironmentInputState> {
25-
@Input() set frames(frames: number) {
25+
@Input() set frames(frames: NgtsEnvironmentInputState['frames']) {
2626
this.set({ frames });
2727
}
2828

29-
@Input() set near(near: number) {
29+
@Input() set near(near: NgtsEnvironmentInputState['near']) {
3030
this.set({ near });
3131
}
3232

33-
@Input() set far(far: number) {
33+
@Input() set far(far: NgtsEnvironmentInputState['far']) {
3434
this.set({ far });
3535
}
3636

37-
@Input() set resolution(resolution: number) {
37+
@Input() set resolution(resolution: NgtsEnvironmentInputState['resolution']) {
3838
this.set({ resolution });
3939
}
4040

41-
@Input() set background(background: boolean | 'only') {
41+
@Input() set background(background: NgtsEnvironmentInputState['background']) {
4242
this.set({ background });
4343
}
4444

45-
@Input() set blur(blur: number) {
45+
@Input() set blur(blur: NgtsEnvironmentInputState['blur']) {
4646
this.set({ blur });
4747
}
4848

49-
@Input() set map(map: Texture) {
49+
@Input() set map(map: NgtsEnvironmentInputState['map']) {
5050
this.set({ map });
5151
}
5252

53-
@Input() set files(files: string | string[]) {
53+
@Input() set files(files: NgtsEnvironmentInputState['files']) {
5454
this.set({ files });
5555
}
5656

57-
@Input() set path(path: string) {
57+
@Input() set path(path: NgtsEnvironmentInputState['path']) {
5858
this.set({ path });
5959
}
6060

61-
@Input() set preset(preset: NgtsEnvironmentPresetsType) {
61+
@Input() set preset(preset: NgtsEnvironmentInputState['preset']) {
6262
this.set({ preset });
6363
}
6464

65-
@Input() set scene(scene: Scene | ElementRef<Scene>) {
65+
@Input() set scene(scene: NgtsEnvironmentInputState['scene']) {
6666
this.set({ scene });
6767
}
6868

69-
@Input() set extensions(extensions: (loader: Loader) => void) {
69+
@Input() set extensions(extensions: NgtsEnvironmentInputState['extensions']) {
7070
this.set({ extensions });
7171
}
7272

73-
@Input() set ground(ground: boolean | { radius?: number; height?: number; scale?: number }) {
73+
@Input() set ground(ground: NgtsEnvironmentInputState['ground']) {
7474
this.set({ ground });
7575
}
7676

77-
@Input() set encoding(encoding: TextureEncoding) {
77+
@Input() set encoding(encoding: NgtsEnvironmentInputState['encoding']) {
7878
this.set({ encoding });
7979
}
8080

libs/soba/staging/src/environment/environment-map.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export class NgtsEnvironmentMap {
3939
effect((onCleanup) => {
4040
const { background, defaultScene, scene, blur, texture } = trigger();
4141
if (!texture) return;
42-
onCleanup(setEnvProps(background, scene, defaultScene, texture, blur));
42+
onCleanup(setEnvProps(background!, scene, defaultScene, texture, blur));
4343
});
4444
}
4545
}

0 commit comments

Comments
 (0)