Skip to content

Commit 5c3aa07

Browse files
committed
✨ feat: roll back the CameraController
1 parent 6dade54 commit 5c3aa07

File tree

20 files changed

+494
-312
lines changed

20 files changed

+494
-312
lines changed

jest.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ module.exports = {
66
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
77
moduleNameMapper: {
88
threeRenderBuilder: "<rootDir>/packages/chili-three/test/threeRenderBuilder.ts",
9-
"camera-controls": "<rootDir>/packages/chili-three/test/cameraControls.ts",
109
},
1110
};

package-lock.json

Lines changed: 0 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Copyright 2022-2023 the Chili authors. All rights reserved. AGPL-3.0 license.
2+
3+
import { IDisposable, IPropertyChanged } from "../foundation";
4+
import { XYZ, XYZLike } from "../math";
5+
6+
export type CameraType = "perspective" | "orthographic";
7+
8+
export interface ICameraController extends IPropertyChanged, IDisposable {
9+
readonly cameraPosition: XYZ;
10+
cameraType: CameraType;
11+
fitContent(): void;
12+
lookAt(eye: XYZLike, target: XYZLike, up: XYZLike): void;
13+
pan(dx: number, dy: number): void;
14+
startRotate(x: number, y: number): void;
15+
rotate(dx: number, dy: number): void;
16+
zoom(x: number, y: number, delta: number): void;
17+
zoomIn(): void;
18+
zoomOut(): void;
19+
update(): void;
20+
}

packages/chili-core/src/visual/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Copyright 2022-2023 the Chili authors. All rights reserved. AGPL-3.0 license.
22

3+
export * from "./cameraController";
34
export * from "./cursorType";
45
export * from "./detectedData";
56
export * from "./eventHandler";

packages/chili-core/src/visual/view.ts

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,23 @@ import { IDisposable, IPropertyChanged } from "../foundation";
55
import { Plane, Ray, XY, XYZ } from "../math";
66
import { INodeFilter, IShapeFilter } from "../selectionFilter";
77
import { ShapeType } from "../shape";
8+
import { ICameraController } from "./cameraController";
89
import { VisualShapeData } from "./detectedData";
910
import { IVisualObject } from "./visualObject";
1011

11-
export enum CameraType {
12-
perspective,
13-
orthographic,
14-
}
15-
1612
export interface IView extends IPropertyChanged, IDisposable {
1713
readonly document: IDocument;
14+
readonly cameraController: ICameraController;
1815
get isClosed(): boolean;
1916
name: string;
2017
workplane: Plane;
21-
cameraType: CameraType;
22-
cameraTarget: XYZ;
23-
cameraPosition: XYZ;
24-
onKeyDown(e: KeyboardEvent): void;
25-
onKeyUp(e: KeyboardEvent): void;
2618
update(): void;
2719
up(): XYZ;
2820
toImage(): string;
2921
direction(): XYZ;
30-
rotate(dx: number, dy: number): Promise<void>;
31-
zoomIn(): Promise<void>;
32-
zoomOut(): Promise<void>;
3322
rayAt(mx: number, my: number): Ray;
3423
screenToWorld(mx: number, my: number): XYZ;
3524
worldToScreen(point: XYZ): XY;
36-
fitContent(): Promise<void>;
3725
resize(width: number, heigth: number): void;
3826
setDom(element: HTMLElement): void;
3927
close(): void;

packages/chili-core/src/visual/visual.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { IVisualContext } from "./visualContext";
1111
export interface IVisual extends IDisposable {
1212
readonly document: IDocument;
1313
readonly context: IVisualContext;
14+
readonly viewHandler: IEventHandler;
1415
readonly highlighter: IHighlighter;
1516
update(): void;
1617
eventHandler: IEventHandler;

packages/chili-three/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"main": "src/index.ts",
66
"devDependencies": {
77
"@types/three": "0.173.0",
8-
"camera-controls": "^2.9.0",
98
"chili-core": "*",
109
"chili-vis": "*",
1110
"three": "0.173.0",

0 commit comments

Comments
 (0)