@tomorrowevening/hermes 0.0.129 → 0.0.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hermes.cjs.js +88 -89
- package/dist/hermes.es.js +2052 -2026
- package/package.json +3 -1
- package/types/core/remote/RemoteTheatre.d.ts +33 -33
- package/types/core/types.d.ts +39 -39
- package/types/editor/multiView/InfiniteGridHelper.d.ts +2 -2
- package/types/editor/multiView/InfiniteGridMaterial.d.ts +1 -2
- package/types/editor/multiView/MultiView.d.ts +1 -1
- package/types/editor/sidePanel/inspector/InspectorField.d.ts +17 -17
- package/types/utils/math.d.ts +9 -9
package/package.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
"module": "./dist/hermes.esm.js",
|
8
8
|
"types": "./types/index.d.ts",
|
9
9
|
"type": "module",
|
10
|
-
"version": "0.0.
|
10
|
+
"version": "0.0.131",
|
11
11
|
"homepage": "https://github.com/tomorrowevening/hermes#readme",
|
12
12
|
"bugs": {
|
13
13
|
"url": "https://github.com/tomorrowevening/hermes/issues"
|
@@ -65,6 +65,8 @@
|
|
65
65
|
"eslint-plugin-react-hooks": "^4.6.0",
|
66
66
|
"eslint-plugin-react-refresh": "^0.4.3",
|
67
67
|
"framer-motion": "^10.16.0",
|
68
|
+
"glslify": "^7.1.1",
|
69
|
+
"glslify-loader": "^2.0.0",
|
68
70
|
"path": "^0.12.7",
|
69
71
|
"postprocessing": "^6.36.3",
|
70
72
|
"react": "^18.2.0",
|
@@ -1,33 +1,33 @@
|
|
1
|
-
import { IProject, ISheet, ISheetObject } from '@theatre/core';
|
2
|
-
import Application from '../Application';
|
3
|
-
import BaseRemote from './BaseRemote';
|
4
|
-
import { BroadcastData, DataUpdateCallback, VoidCallback } from '../types';
|
5
|
-
type KeyframeVector = {
|
6
|
-
position: number;
|
7
|
-
x: number;
|
8
|
-
y: number;
|
9
|
-
z: number;
|
10
|
-
};
|
11
|
-
export default class RemoteTheatre extends BaseRemote {
|
12
|
-
project: IProject | undefined;
|
13
|
-
sheets: Map<string, ISheet>;
|
14
|
-
sheetObjects: Map<string, ISheetObject>;
|
15
|
-
sheetObjectCBs: Map<string, DataUpdateCallback>;
|
16
|
-
sheetObjectUnsubscribe: Map<string, VoidCallback>;
|
17
|
-
activeSheet: ISheet | undefined;
|
18
|
-
studio: any;
|
19
|
-
dispose(): void;
|
20
|
-
getSheetInstance(name: string, instanceId?: string): string;
|
21
|
-
sheet(name: string, instanceId?: string): ISheet | undefined;
|
22
|
-
playSheet(name: string, params?: any, instanceId?: string): Promise<boolean>;
|
23
|
-
pauseSheet(name: string, instanceId?: string): void;
|
24
|
-
clearSheetObjects(sheetName: string): void;
|
25
|
-
sheetObject(sheetName: string, key: string, props: any, onUpdate?: DataUpdateCallback, instanceId?: string): ISheetObject | undefined;
|
26
|
-
getSheetObjectKeyframes(sheetName: string, sheetObject: string, prop: string): any[];
|
27
|
-
getSheetObjectVectors(sheetName: string, sheetObject: string): KeyframeVector[];
|
28
|
-
unsubscribe(sheetObject: ISheetObject): undefined;
|
29
|
-
handleApp(app: Application, remote: BaseRemote, msg: BroadcastData): void;
|
30
|
-
handleEditor(app: Application, remote: BaseRemote, msg: BroadcastData): void;
|
31
|
-
handleEditorApp(app: Application, theatre: RemoteTheatre): void;
|
32
|
-
}
|
33
|
-
export {};
|
1
|
+
import { IProject, ISheet, ISheetObject } from '@theatre/core';
|
2
|
+
import Application from '../Application';
|
3
|
+
import BaseRemote from './BaseRemote';
|
4
|
+
import { BroadcastData, DataUpdateCallback, VoidCallback } from '../types';
|
5
|
+
type KeyframeVector = {
|
6
|
+
position: number;
|
7
|
+
x: number;
|
8
|
+
y: number;
|
9
|
+
z: number;
|
10
|
+
};
|
11
|
+
export default class RemoteTheatre extends BaseRemote {
|
12
|
+
project: IProject | undefined;
|
13
|
+
sheets: Map<string, ISheet>;
|
14
|
+
sheetObjects: Map<string, ISheetObject>;
|
15
|
+
sheetObjectCBs: Map<string, DataUpdateCallback>;
|
16
|
+
sheetObjectUnsubscribe: Map<string, VoidCallback>;
|
17
|
+
activeSheet: ISheet | undefined;
|
18
|
+
studio: any;
|
19
|
+
dispose(): void;
|
20
|
+
getSheetInstance(name: string, instanceId?: string): string;
|
21
|
+
sheet(name: string, instanceId?: string): ISheet | undefined;
|
22
|
+
playSheet(name: string, params?: any, instanceId?: string): Promise<boolean>;
|
23
|
+
pauseSheet(name: string, instanceId?: string): void;
|
24
|
+
clearSheetObjects(sheetName: string): void;
|
25
|
+
sheetObject(sheetName: string, key: string, props: any, onUpdate?: DataUpdateCallback, instanceId?: string): ISheetObject | undefined;
|
26
|
+
getSheetObjectKeyframes(sheetName: string, sheetObject: string, prop: string): any[];
|
27
|
+
getSheetObjectVectors(sheetName: string, sheetObject: string): KeyframeVector[];
|
28
|
+
unsubscribe(sheetObject: ISheetObject): undefined;
|
29
|
+
handleApp(app: Application, remote: BaseRemote, msg: BroadcastData): void;
|
30
|
+
handleEditor(app: Application, remote: BaseRemote, msg: BroadcastData): void;
|
31
|
+
handleEditorApp(app: Application, theatre: RemoteTheatre): void;
|
32
|
+
}
|
33
|
+
export {};
|
package/types/core/types.d.ts
CHANGED
@@ -1,39 +1,39 @@
|
|
1
|
-
import { InspectorFieldType } from '@/editor/sidePanel/inspector/InspectorField';
|
2
|
-
export interface BroadcastData {
|
3
|
-
target: ApplicationMode;
|
4
|
-
event: EditorEvent;
|
5
|
-
data?: any;
|
6
|
-
}
|
7
|
-
export type OptionInfo = {
|
8
|
-
title: string;
|
9
|
-
value: any;
|
10
|
-
};
|
11
|
-
export interface GroupItemData {
|
12
|
-
type: InspectorFieldType;
|
13
|
-
prop: string;
|
14
|
-
title?: string;
|
15
|
-
value?: any;
|
16
|
-
min?: number;
|
17
|
-
max?: number;
|
18
|
-
step?: number;
|
19
|
-
disabled?: boolean;
|
20
|
-
options?: OptionInfo[];
|
21
|
-
}
|
22
|
-
export interface GroupData {
|
23
|
-
title: string;
|
24
|
-
items: GroupItemData[];
|
25
|
-
onUpdate: (prop: string, value: any) => void;
|
26
|
-
}
|
27
|
-
export interface GroupCallback {
|
28
|
-
title: string;
|
29
|
-
onUpdate: (prop: string, value: any) => void;
|
30
|
-
}
|
31
|
-
export type ApplicationMode = 'app' | 'editor';
|
32
|
-
export type VoidCallback = () => void;
|
33
|
-
export type DataUpdateCallback = (data: any) => void;
|
34
|
-
export type EditorEvent = 'custom' | 'setSheet' | 'setSheetObject' | 'updateSheetObject' | 'updateTimeline' | 'playSheet' | 'pauseSheet' | 'getObject' | 'setObject' | 'updateObject' | 'addScene' | 'refreshScene' | 'removeScene' | 'setScene' | 'createTexture' | 'requestMethod' | 'addCamera' | 'removeCamera' | 'addSpline' | 'addRenderer' | 'updateRenderer' | 'addFolder' | 'bindObject' | 'updateBind' | 'addButton' | 'clickButton' | 'selectComponent' | 'draggableListUpdate' | 'addGroup' | 'removeGroup' | 'updateGroup';
|
35
|
-
export type VoidFunc = () => void;
|
36
|
-
export type BroadcastCallback = (data: BroadcastData) => void;
|
37
|
-
export type TheatreUpdateCallback = (data: any) => void;
|
38
|
-
export declare const noop: () => void;
|
39
|
-
export declare const defaultTheatreCallback: TheatreUpdateCallback;
|
1
|
+
import { InspectorFieldType } from '@/editor/sidePanel/inspector/InspectorField';
|
2
|
+
export interface BroadcastData {
|
3
|
+
target: ApplicationMode;
|
4
|
+
event: EditorEvent;
|
5
|
+
data?: any;
|
6
|
+
}
|
7
|
+
export type OptionInfo = {
|
8
|
+
title: string;
|
9
|
+
value: any;
|
10
|
+
};
|
11
|
+
export interface GroupItemData {
|
12
|
+
type: InspectorFieldType;
|
13
|
+
prop: string;
|
14
|
+
title?: string;
|
15
|
+
value?: any;
|
16
|
+
min?: number;
|
17
|
+
max?: number;
|
18
|
+
step?: number;
|
19
|
+
disabled?: boolean;
|
20
|
+
options?: OptionInfo[];
|
21
|
+
}
|
22
|
+
export interface GroupData {
|
23
|
+
title: string;
|
24
|
+
items: GroupItemData[];
|
25
|
+
onUpdate: (prop: string, value: any) => void;
|
26
|
+
}
|
27
|
+
export interface GroupCallback {
|
28
|
+
title: string;
|
29
|
+
onUpdate: (prop: string, value: any) => void;
|
30
|
+
}
|
31
|
+
export type ApplicationMode = 'app' | 'editor';
|
32
|
+
export type VoidCallback = () => void;
|
33
|
+
export type DataUpdateCallback = (data: any) => void;
|
34
|
+
export type EditorEvent = 'custom' | 'setSheet' | 'setSheetObject' | 'updateSheetObject' | 'updateTimeline' | 'playSheet' | 'pauseSheet' | 'getObject' | 'setObject' | 'updateObject' | 'addScene' | 'refreshScene' | 'removeScene' | 'setScene' | 'createTexture' | 'requestMethod' | 'addCamera' | 'removeCamera' | 'addSpline' | 'addRenderer' | 'updateRenderer' | 'addFolder' | 'bindObject' | 'updateBind' | 'addButton' | 'clickButton' | 'selectComponent' | 'draggableListUpdate' | 'addGroup' | 'removeGroup' | 'updateGroup';
|
35
|
+
export type VoidFunc = () => void;
|
36
|
+
export type BroadcastCallback = (data: BroadcastData) => void;
|
37
|
+
export type TheatreUpdateCallback = (data: any) => void;
|
38
|
+
export declare const noop: () => void;
|
39
|
+
export declare const defaultTheatreCallback: TheatreUpdateCallback;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Mesh } from 'three';
|
2
|
-
import InfiniteGridMaterial from './InfiniteGridMaterial';
|
2
|
+
import InfiniteGridMaterial, { InfiniteGridProps } from './InfiniteGridMaterial';
|
3
3
|
export default class InfiniteGridHelper extends Mesh {
|
4
4
|
gridMaterial: InfiniteGridMaterial;
|
5
|
-
constructor();
|
5
|
+
constructor(props?: InfiniteGridProps);
|
6
6
|
update(): void;
|
7
7
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Color, ShaderMaterial } from 'three';
|
2
|
-
type InfiniteGridProps = {
|
2
|
+
export type InfiniteGridProps = {
|
3
3
|
divisions?: number;
|
4
4
|
scale?: number;
|
5
5
|
color?: Color;
|
@@ -10,4 +10,3 @@ type InfiniteGridProps = {
|
|
10
10
|
export default class InfiniteGridMaterial extends ShaderMaterial {
|
11
11
|
constructor(props?: InfiniteGridProps);
|
12
12
|
}
|
13
|
-
export {};
|
@@ -32,7 +32,6 @@ export default class MultiView extends Component<MultiViewProps, MultiViewState>
|
|
32
32
|
private lightHelpers;
|
33
33
|
private helpersContainer;
|
34
34
|
private grid;
|
35
|
-
private axisHelper;
|
36
35
|
private interactionHelper;
|
37
36
|
private currentTransform?;
|
38
37
|
private splineEditor;
|
@@ -105,6 +104,7 @@ export default class MultiView extends Component<MultiViewProps, MultiViewState>
|
|
105
104
|
private saveExpandedCameraVisibility;
|
106
105
|
private saveExpandedLightVisibility;
|
107
106
|
private getSceneOverride;
|
107
|
+
private drawTo;
|
108
108
|
private drawSingle;
|
109
109
|
private drawDouble;
|
110
110
|
private drawQuad;
|
@@ -1,17 +1,17 @@
|
|
1
|
-
import { KeyboardEvent } from 'react';
|
2
|
-
import { OptionInfo } from '@/core/types';
|
3
|
-
export type InspectorFieldType = 'string' | 'number' | 'boolean' | 'range' | 'color' | 'button' | 'image' | 'option' | 'vector2' | 'grid3' | 'grid4' | 'euler';
|
4
|
-
export interface InspectorFieldProps {
|
5
|
-
title: string;
|
6
|
-
type: InspectorFieldType;
|
7
|
-
prop?: string;
|
8
|
-
value?: any;
|
9
|
-
min?: number;
|
10
|
-
max?: number;
|
11
|
-
step?: number;
|
12
|
-
disabled?: boolean;
|
13
|
-
options?: OptionInfo[];
|
14
|
-
onChange?: (prop: string, value: any) => void;
|
15
|
-
onKeyDown?: (evt: KeyboardEvent) => void;
|
16
|
-
}
|
17
|
-
export default function InspectorField(props: InspectorFieldProps): import("react/jsx-runtime").JSX.Element;
|
1
|
+
import { KeyboardEvent } from 'react';
|
2
|
+
import { OptionInfo } from '@/core/types';
|
3
|
+
export type InspectorFieldType = 'string' | 'number' | 'boolean' | 'range' | 'color' | 'button' | 'image' | 'option' | 'vector2' | 'grid3' | 'grid4' | 'euler';
|
4
|
+
export interface InspectorFieldProps {
|
5
|
+
title: string;
|
6
|
+
type: InspectorFieldType;
|
7
|
+
prop?: string;
|
8
|
+
value?: any;
|
9
|
+
min?: number;
|
10
|
+
max?: number;
|
11
|
+
step?: number;
|
12
|
+
disabled?: boolean;
|
13
|
+
options?: OptionInfo[];
|
14
|
+
onChange?: (prop: string, value: any) => void;
|
15
|
+
onKeyDown?: (evt: KeyboardEvent) => void;
|
16
|
+
}
|
17
|
+
export default function InspectorField(props: InspectorFieldProps): import("react/jsx-runtime").JSX.Element;
|
package/types/utils/math.d.ts
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
export declare function clamp(min: number, max: number, value: number): number;
|
2
|
-
export declare function normalize(min: number, max: number, value: number): number;
|
3
|
-
export declare function mix(min: number, max: number, value: number): number;
|
4
|
-
export declare function map(min1: number, max1: number, min2: number, max2: number, value: number): number;
|
5
|
-
export declare function distance(x: number, y: number): number;
|
6
|
-
export declare function round(value: number, precision?: number): number;
|
7
|
-
export declare function damp(start: number, end: number, easing: number, dt: number): number;
|
8
|
-
export declare function roundTo(value: number, digits?: number): number;
|
9
|
-
export declare function cubicBezier(percent: number, x0: number, y0: number, x1: number, y1: number): number;
|
1
|
+
export declare function clamp(min: number, max: number, value: number): number;
|
2
|
+
export declare function normalize(min: number, max: number, value: number): number;
|
3
|
+
export declare function mix(min: number, max: number, value: number): number;
|
4
|
+
export declare function map(min1: number, max1: number, min2: number, max2: number, value: number): number;
|
5
|
+
export declare function distance(x: number, y: number): number;
|
6
|
+
export declare function round(value: number, precision?: number): number;
|
7
|
+
export declare function damp(start: number, end: number, easing: number, dt: number): number;
|
8
|
+
export declare function roundTo(value: number, digits?: number): number;
|
9
|
+
export declare function cubicBezier(percent: number, x0: number, y0: number, x1: number, y1: number): number;
|