Skip to content
This repository has been archived by the owner on Feb 10, 2023. It is now read-only.

Commit

Permalink
fix(soba): delegate all animateReady for sobaExtender
Browse files Browse the repository at this point in the history
  • Loading branch information
nartc committed Jan 8, 2022
1 parent 992f35f commit 042ba31
Showing 30 changed files with 47 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -54,7 +54,7 @@ export class NgtSobaBillboard extends NgtSobaExtender<THREE.Group> {
onGroupAnimate(group: THREE.Group, $event: NgtRender) {
if (!this.follow) return;

this.animateReady.emit($event);
this.animateReady.emit({ entity: group, state: $event });

// save previous rotation in case we're locking an axis
const prevRotation = group.rotation.clone();
Original file line number Diff line number Diff line change
@@ -24,6 +24,7 @@ import { NgtSobaGizmoHelperStore } from './gizmo-helper.store';
<ngt-group
*ngIf="gizmoProps$ | async as gizmoProps"
(ready)="onGizmoReady($event)"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[appendTo]="virtualScene"
[position]="[gizmoProps.x, gizmoProps.y, 0]"
[object3dInputsController]="gizmoProps.objectInputsController"
Original file line number Diff line number Diff line change
@@ -182,6 +182,7 @@ export const [
[appendTo]="gizmo"
[scale]="[60, 60, 60]"
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
>
<ngt-soba-gizmo-facecube
[genericController]="genericController"
@@ -246,6 +247,10 @@ export class NgtSobaGizmoViewcube extends NgtSobaExtender<THREE.Group> {
(pointerover)="$event.stopPropagation(); hover = true"
(pointerout)="$event.stopPropagation(); hover = false"
(click)="onEdgeClick($event)"
(ready)="object = $event"
(animateReady)="
animateReady.emit({ entity: object, state: $any($event).state })
"
>
<ngt-mesh-basic-material
[parameters]="{
@@ -323,6 +328,9 @@ export class NgtSobaGizmoEdgecube extends NgtSobaExtender<THREE.Mesh> {
[isMaterialArray]="true"
[raycast]="raycast$ | async"
(ready)="object = $event"
(animateReady)="
animateReady.emit({ entity: object, state: $any($event).state })
"
(click)="onFaceClick($event)"
(pointermove)="onFacePointerMove($event)"
(pointerout)="onFacePointerOut($event)"
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@ import { NgtSobaGizmoHelperStore } from './gizmo-helper.store';
<ngt-group
*ngIf="gizmo$ | async as gizmo"
(ready)="object = $event; object.scale.set(40, 40, 40)"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[appendTo]="gizmo"
[object3dInputsController]="objectInputsController"
>
@@ -168,7 +169,11 @@ export class NgtSobaGizmoViewport extends NgtSobaExtender<THREE.Group> {
@Component({
selector: 'ngt-soba-gizmo-axis[color][rotation]',
template: `
<ngt-group (ready)="object = $event" [rotation]="rotation">
<ngt-group
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[rotation]="rotation"
>
<ngt-soba-box [args]="scale" [position]="[0.4, 0, 0]">
<ngt-mesh-basic-material
[parameters]="{ color, toneMapped: false }"
@@ -209,6 +214,7 @@ export class NgtSobaGizmoAxis extends NgtSobaExtender<THREE.Group> {
></ngt-sprite-material>
<ngt-sprite
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
(pointerover)="onAxisHeadPointerOver($event)"
(pointerout)="onAxisHeadPointerOut($event)"
(pointerdown)="onAxisHeadPointerDown($event)"
1 change: 1 addition & 0 deletions packages/soba/abstractions/src/image/image.component.ts
Original file line number Diff line number Diff line change
@@ -108,6 +108,7 @@ export class NgtSobaImageShaderMaterial extends NgtMaterial<
[scale]="scale"
[object3dInputsController]="objectInputsController"
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
>
<ngt-plane-geometry
[args]="[1, 1, segments, segments]"
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ export interface NgtSobaPositionalAudioState {
<ngt-positional-audio
*ngIf="listener$ | async as listener"
(ready)="onPositionalAudioReady($event)"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[listener]="listener"
[audioController]="audioController"
></ngt-positional-audio>
1 change: 1 addition & 0 deletions packages/soba/abstractions/src/text/text.component.ts
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@ import { Text as TextMeshImpl } from 'troika-three-text';
[object]="$any(object)"
[object3dInputsController]="objectInputsController"
(ready)="onTroikaTextReady(object)"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
>
</ngt-primitive>
</ng-container>
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@ export interface NgtSobaOrthographicCameraState {
[args]="[vm.left, vm.right, vm.top, vm.bottom, vm.near, vm.far]"
[object3dInputsController]="vm.objectInputsController"
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
>
<ng-content></ng-content>
</ngt-orthographic-camera>
5 changes: 3 additions & 2 deletions packages/soba/performances/src/detailed/detailed.component.ts
Original file line number Diff line number Diff line change
@@ -109,8 +109,9 @@ export class NgtSobaDetailed
this.state.connect('children', children$);
}

onLodAnimateReady({ camera }: NgtRender, lod: THREE.LOD) {
lod.update(camera);
onLodAnimateReady(state: NgtRender, lod: THREE.LOD) {
lod.update(state.camera);
this.animateReady.emit({ entity: lod, state });
}

onLodReady(lod: THREE.LOD) {
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/box/box.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/circle/circle.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/cone/cone.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/extrude/extrude.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/lathe/lathe.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/plane/plane.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/ring/ring.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/sphere/sphere.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/torus/torus.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/shapes/src/lib/tube/tube.component.ts
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>
1 change: 1 addition & 0 deletions packages/soba/staging/src/bounds/bounds.component.ts
Original file line number Diff line number Diff line change
@@ -317,6 +317,7 @@ export class NgtSobaBoundsStore extends EnhancedRxState<
template: `
<ngt-group
(ready)="object = $event; sobaSoundsStore.set({ group: $event })"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
>
<ng-content></ng-content>
1 change: 1 addition & 0 deletions packages/soba/staging/src/center/center.component.ts
Original file line number Diff line number Diff line change
@@ -25,6 +25,7 @@ import * as THREE from 'three';
template: `
<ngt-group
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
>
<ngt-group name="outer-soba-center-group">
5 changes: 3 additions & 2 deletions packages/soba/staging/src/stars/stars.component.ts
Original file line number Diff line number Diff line change
@@ -154,9 +154,10 @@ export class NgtSobaStars extends NgtSobaExtender<THREE.Points> {
});
}

onAnimate({ clock }: NgtRender) {
onAnimate(state: NgtRender) {
if (this.starMaterial) {
this.starMaterial.uniforms.time.value = clock.getElapsedTime();
this.starMaterial.uniforms.time.value = state.clock.getElapsedTime();
this.animateReady.emit({ entity: this.object, state });
}
}
}
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import * as THREE from 'three';
template: `
<ngt-mesh
(ready)="object = $event"
(animateReady)="animateReady.emit({ entity: object, state: $event })"
[object3dInputsController]="objectInputsController"
[contentMaterialController]="contentMaterialController"
>

0 comments on commit 042ba31

Please sign in to comment.