@tomorrowevening/hermes 0.1.2 → 0.1.3
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/README.md +31 -14
- package/dist/hermes.cjs.js +600 -600
- package/dist/hermes.es.js +44384 -44435
- package/package.json +1 -1
- package/types/core/remote/BaseRemote.d.ts +15 -15
- package/types/core/remote/RemoteThree.d.ts +78 -74
- package/types/core/types.d.ts +40 -40
- package/types/index.d.ts +32 -33
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.1.
|
|
10
|
+
"version": "0.1.3",
|
|
11
11
|
"homepage": "https://github.com/tomorrowevening/hermes#readme",
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/tomorrowevening/hermes/issues"
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type { BroadcastData } from '../types';
|
|
2
|
-
export default class BaseRemote {
|
|
3
|
-
name: string;
|
|
4
|
-
protected _debug: boolean;
|
|
5
|
-
protected _editor: boolean;
|
|
6
|
-
protected broadcastChannel?: BroadcastChannel;
|
|
7
|
-
constructor(name: string, debug?: boolean, editor?: boolean);
|
|
8
|
-
dispose(): void;
|
|
9
|
-
get debug(): boolean;
|
|
10
|
-
get editor(): boolean;
|
|
11
|
-
protected send(data: BroadcastData): void;
|
|
12
|
-
protected messageHandler
|
|
13
|
-
protected handleApp(msg: BroadcastData): void;
|
|
14
|
-
protected handleEditor(msg: BroadcastData): void;
|
|
15
|
-
}
|
|
1
|
+
import type { BroadcastData } from '../types';
|
|
2
|
+
export default class BaseRemote {
|
|
3
|
+
name: string;
|
|
4
|
+
protected _debug: boolean;
|
|
5
|
+
protected _editor: boolean;
|
|
6
|
+
protected broadcastChannel?: BroadcastChannel;
|
|
7
|
+
constructor(name: string, debug?: boolean, editor?: boolean);
|
|
8
|
+
dispose(): void;
|
|
9
|
+
get debug(): boolean;
|
|
10
|
+
get editor(): boolean;
|
|
11
|
+
protected send(data: BroadcastData): void;
|
|
12
|
+
protected messageHandler(evt: MessageEvent): void;
|
|
13
|
+
protected handleApp(msg: BroadcastData): void;
|
|
14
|
+
protected handleEditor(msg: BroadcastData): void;
|
|
15
|
+
}
|
|
@@ -1,74 +1,78 @@
|
|
|
1
|
-
import { Camera, Curve, EventDispatcher, EventListener, RenderTargetOptions, Scene, WebGLRenderTarget } from 'three';
|
|
2
|
-
import BaseRemote from './BaseRemote';
|
|
3
|
-
import { BroadcastData, GroupData } from '../types';
|
|
4
|
-
export declare enum ToolEvents {
|
|
5
|
-
CUSTOM = "ToolEvents::custom",
|
|
6
|
-
SELECT_DROPDOWN = "ToolEvents::selectDropdown",
|
|
7
|
-
DRAG_UPDATE = "ToolEvents::dragUpdate",
|
|
8
|
-
ADD_SCENE = "ToolEvents::addScene",
|
|
9
|
-
REFRESH_SCENE = "ToolEvents::refreshScene",
|
|
10
|
-
REMOVE_SCENE = "ToolEvents::removeScene",
|
|
11
|
-
SET_SCENE = "ToolEvents::setScene",
|
|
12
|
-
SET_OBJECT = "ToolEvents::setObject",
|
|
13
|
-
CLEAR_OBJECT = "ToolEvents::clearObject",
|
|
14
|
-
ADD_CAMERA = "ToolEvents::addCamera",
|
|
15
|
-
REMOVE_CAMERA = "ToolEvents::removeCamera",
|
|
16
|
-
ADD_GROUP = "ToolEvents::addGroup",
|
|
17
|
-
REMOVE_GROUP = "ToolEvents::removeGroup",
|
|
18
|
-
ADD_SPLINE = "ToolEvents::addSpline",
|
|
19
|
-
ADD_RENDERER = "ToolEvents::addRenderer",
|
|
20
|
-
UPDATE_RENDERER = "ToolEvents::updateRenderer"
|
|
21
|
-
}
|
|
22
|
-
export type ToolEvent = {
|
|
23
|
-
[key in ToolEvents]: {
|
|
24
|
-
value?: unknown;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export default class RemoteThree extends BaseRemote implements EventDispatcher<ToolEvent> {
|
|
28
|
-
name: string;
|
|
29
|
-
canvas: HTMLCanvasElement | null;
|
|
30
|
-
inputElement: any;
|
|
31
|
-
scene?: Scene;
|
|
32
|
-
scenes: Map<string, Scene>;
|
|
33
|
-
renderer?: any;
|
|
34
|
-
renderTargets: Map<string, WebGLRenderTarget>;
|
|
35
|
-
private renderTargetsResize;
|
|
36
|
-
private groups;
|
|
37
|
-
private _listeners;
|
|
38
|
-
constructor(name: string, debug?: boolean, editor?: boolean);
|
|
39
|
-
dispose(): void;
|
|
40
|
-
addEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): void;
|
|
41
|
-
hasEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): boolean;
|
|
42
|
-
removeEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): void;
|
|
43
|
-
dispatchEvent<T extends ToolEvents>(event: ToolEvent[T] & {
|
|
44
|
-
type: T;
|
|
45
|
-
}): void;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
1
|
+
import { Camera, Curve, EventDispatcher, EventListener, Object3D, RenderTargetOptions, Scene, WebGLRenderTarget } from 'three';
|
|
2
|
+
import BaseRemote from './BaseRemote';
|
|
3
|
+
import { BroadcastData, GroupData } from '../types';
|
|
4
|
+
export declare enum ToolEvents {
|
|
5
|
+
CUSTOM = "ToolEvents::custom",
|
|
6
|
+
SELECT_DROPDOWN = "ToolEvents::selectDropdown",
|
|
7
|
+
DRAG_UPDATE = "ToolEvents::dragUpdate",
|
|
8
|
+
ADD_SCENE = "ToolEvents::addScene",
|
|
9
|
+
REFRESH_SCENE = "ToolEvents::refreshScene",
|
|
10
|
+
REMOVE_SCENE = "ToolEvents::removeScene",
|
|
11
|
+
SET_SCENE = "ToolEvents::setScene",
|
|
12
|
+
SET_OBJECT = "ToolEvents::setObject",
|
|
13
|
+
CLEAR_OBJECT = "ToolEvents::clearObject",
|
|
14
|
+
ADD_CAMERA = "ToolEvents::addCamera",
|
|
15
|
+
REMOVE_CAMERA = "ToolEvents::removeCamera",
|
|
16
|
+
ADD_GROUP = "ToolEvents::addGroup",
|
|
17
|
+
REMOVE_GROUP = "ToolEvents::removeGroup",
|
|
18
|
+
ADD_SPLINE = "ToolEvents::addSpline",
|
|
19
|
+
ADD_RENDERER = "ToolEvents::addRenderer",
|
|
20
|
+
UPDATE_RENDERER = "ToolEvents::updateRenderer"
|
|
21
|
+
}
|
|
22
|
+
export type ToolEvent = {
|
|
23
|
+
[key in ToolEvents]: {
|
|
24
|
+
value?: unknown;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export default class RemoteThree extends BaseRemote implements EventDispatcher<ToolEvent> {
|
|
28
|
+
name: string;
|
|
29
|
+
canvas: HTMLCanvasElement | null;
|
|
30
|
+
inputElement: any;
|
|
31
|
+
scene?: Scene;
|
|
32
|
+
scenes: Map<string, Scene>;
|
|
33
|
+
renderer?: any;
|
|
34
|
+
renderTargets: Map<string, WebGLRenderTarget>;
|
|
35
|
+
private renderTargetsResize;
|
|
36
|
+
private groups;
|
|
37
|
+
private _listeners;
|
|
38
|
+
constructor(name: string, debug?: boolean, editor?: boolean);
|
|
39
|
+
dispose(): void;
|
|
40
|
+
addEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): void;
|
|
41
|
+
hasEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): boolean;
|
|
42
|
+
removeEventListener<T extends ToolEvents>(type: T, listener: EventListener<ToolEvent[T], T, this>): void;
|
|
43
|
+
dispatchEvent<T extends ToolEvents>(event: ToolEvent[T] & {
|
|
44
|
+
type: T;
|
|
45
|
+
}): void;
|
|
46
|
+
getObjectByUUID(uuid: string): Object3D | undefined;
|
|
47
|
+
getObject(uuid: string): void;
|
|
48
|
+
setObject(value: any): void;
|
|
49
|
+
requestMethod(uuid: string, key: string, value?: any, subitem?: string): void;
|
|
50
|
+
updateObject(uuid: string, key: string, value: any): void;
|
|
51
|
+
createTexture(uuid: string, key: string, value: any): void;
|
|
52
|
+
private onUpdateObject;
|
|
53
|
+
private onCreateTexture;
|
|
54
|
+
addGroup(data: GroupData): void;
|
|
55
|
+
removeGroup(name: string): void;
|
|
56
|
+
updateGroup(group: string, prop: string, value: any): void;
|
|
57
|
+
addSpline(spline: Curve<any>): void;
|
|
58
|
+
setRenderer(value: any, inputElement?: any): void;
|
|
59
|
+
updateRenderer(data: any): void;
|
|
60
|
+
addScene(value: Scene): void;
|
|
61
|
+
refreshScene(value: string): void;
|
|
62
|
+
removeScene(value: Scene): void;
|
|
63
|
+
removeAllScenes(): void;
|
|
64
|
+
getScene(uuid: string): Scene | null;
|
|
65
|
+
setScene(value: Scene): void;
|
|
66
|
+
addCamera(camera: Camera): void;
|
|
67
|
+
removeCamera(camera: Camera): void;
|
|
68
|
+
handleApp(msg: BroadcastData): void;
|
|
69
|
+
handleEditor(msg: BroadcastData): void;
|
|
70
|
+
protected messageHandler(evt: MessageEvent): void;
|
|
71
|
+
addRT(name: string, resize?: boolean, params?: RenderTargetOptions): void;
|
|
72
|
+
removeRT(name: string): void;
|
|
73
|
+
resize(width: number, height: number): void;
|
|
74
|
+
set dpr(value: number);
|
|
75
|
+
get dpr(): number;
|
|
76
|
+
get width(): number;
|
|
77
|
+
get height(): number;
|
|
78
|
+
}
|
package/types/core/types.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
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
|
-
expanded?: boolean;
|
|
25
|
-
items: GroupItemData[];
|
|
26
|
-
onUpdate: (prop: string, value: any) => void;
|
|
27
|
-
}
|
|
28
|
-
export interface GroupCallback {
|
|
29
|
-
title: string;
|
|
30
|
-
onUpdate: (prop: string, value: any) => void;
|
|
31
|
-
}
|
|
32
|
-
export type ApplicationMode = 'app' | 'editor';
|
|
33
|
-
export type VoidCallback = () => void;
|
|
34
|
-
export type DataUpdateCallback = (data: any) => void;
|
|
35
|
-
export type EditorEvent = 'custom' | 'setSheet' | 'setSheetObject' | 'updateSheetObject' | 'updateTimeline' | 'playSheet' | 'pauseSheet' | '
|
|
36
|
-
export type VoidFunc = () => void;
|
|
37
|
-
export type BroadcastCallback = (data: BroadcastData) => void;
|
|
38
|
-
export type TheatreUpdateCallback = (data: any) => void;
|
|
39
|
-
export declare const noop: () => void;
|
|
40
|
-
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
|
+
expanded?: boolean;
|
|
25
|
+
items: GroupItemData[];
|
|
26
|
+
onUpdate: (prop: string, value: any) => void;
|
|
27
|
+
}
|
|
28
|
+
export interface GroupCallback {
|
|
29
|
+
title: string;
|
|
30
|
+
onUpdate: (prop: string, value: any) => void;
|
|
31
|
+
}
|
|
32
|
+
export type ApplicationMode = 'app' | 'editor';
|
|
33
|
+
export type VoidCallback = () => void;
|
|
34
|
+
export type DataUpdateCallback = (data: any) => void;
|
|
35
|
+
export type EditorEvent = 'custom' | 'setSheet' | 'setSheetObject' | 'updateSheetObject' | 'updateTimeline' | 'playSheet' | 'pauseSheet' | 'updateObject' | 'addScene' | 'refreshScene' | 'removeScene' | 'setScene' | 'createTexture' | 'addCamera' | 'removeCamera' | 'addSpline' | 'addRenderer' | 'updateRenderer' | 'addFolder' | 'bindObject' | 'updateBind' | 'addButton' | 'clickButton' | 'addGroup' | 'removeGroup' | 'updateGroup';
|
|
36
|
+
export type VoidFunc = () => void;
|
|
37
|
+
export type BroadcastCallback = (data: BroadcastData) => void;
|
|
38
|
+
export type TheatreUpdateCallback = (data: any) => void;
|
|
39
|
+
export declare const noop: () => void;
|
|
40
|
+
export declare const defaultTheatreCallback: TheatreUpdateCallback;
|
package/types/index.d.ts
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
export * from './core/types';
|
|
2
|
-
export * from './editor/utils';
|
|
3
|
-
export * from './utils/detectSettings';
|
|
4
|
-
export * from './utils/math';
|
|
5
|
-
export * from './utils/three';
|
|
6
|
-
export * from './utils/post';
|
|
7
|
-
export * from './webworkers/types';
|
|
8
|
-
export * from './webworkers/EventHandling';
|
|
9
|
-
export * from './webworkers/ProxyManager';
|
|
10
|
-
export * from './core/Application';
|
|
11
|
-
export { default as AppRunner } from './core/AppRunner';
|
|
12
|
-
export { default as BaseScene } from './core/BaseScene';
|
|
13
|
-
export { default as BaseRemote } from './core/remote/BaseRemote';
|
|
14
|
-
export * from './editor/theatreUtils';
|
|
15
|
-
export { default as RemoteTheatre } from './core/remote/RemoteTheatre';
|
|
16
|
-
export { default as RemoteThree } from './core/remote/RemoteThree';
|
|
17
|
-
export { default as NavButton } from './editor/components/NavButton';
|
|
18
|
-
export { default as DraggableItem } from './editor/components/DraggableItem';
|
|
19
|
-
export { default as Draggable } from './editor/components/Draggable';
|
|
20
|
-
export { default as DropdownItem } from './editor/components/DropdownItem';
|
|
21
|
-
export { default as Dropdown } from './editor/components/Dropdown';
|
|
22
|
-
export { default as SidePanel } from './editor/sidePanel/SidePanel';
|
|
23
|
-
export { default as Accordion } from './editor/sidePanel/Accordion';
|
|
24
|
-
export { default as ChildObject } from './editor/sidePanel/ChildObject';
|
|
25
|
-
export { default as ContainerObject } from './editor/sidePanel/ContainerObject';
|
|
26
|
-
export { default as Inspector } from './editor/sidePanel/inspector/Inspector';
|
|
27
|
-
export { default as
|
|
28
|
-
export { default as
|
|
29
|
-
export { default as
|
|
30
|
-
export { default as
|
|
31
|
-
export { default as
|
|
32
|
-
export { default as
|
|
33
|
-
export { default as SplineEditor } from './editor/tools/splineEditor';
|
|
1
|
+
export * from './core/types';
|
|
2
|
+
export * from './editor/utils';
|
|
3
|
+
export * from './utils/detectSettings';
|
|
4
|
+
export * from './utils/math';
|
|
5
|
+
export * from './utils/three';
|
|
6
|
+
export * from './utils/post';
|
|
7
|
+
export * from './webworkers/types';
|
|
8
|
+
export * from './webworkers/EventHandling';
|
|
9
|
+
export * from './webworkers/ProxyManager';
|
|
10
|
+
export * from './core/Application';
|
|
11
|
+
export { default as AppRunner } from './core/AppRunner';
|
|
12
|
+
export { default as BaseScene } from './core/BaseScene';
|
|
13
|
+
export { default as BaseRemote } from './core/remote/BaseRemote';
|
|
14
|
+
export * from './editor/theatreUtils';
|
|
15
|
+
export { default as RemoteTheatre } from './core/remote/RemoteTheatre';
|
|
16
|
+
export { default as RemoteThree } from './core/remote/RemoteThree';
|
|
17
|
+
export { default as NavButton } from './editor/components/NavButton';
|
|
18
|
+
export { default as DraggableItem } from './editor/components/DraggableItem';
|
|
19
|
+
export { default as Draggable } from './editor/components/Draggable';
|
|
20
|
+
export { default as DropdownItem } from './editor/components/DropdownItem';
|
|
21
|
+
export { default as Dropdown } from './editor/components/Dropdown';
|
|
22
|
+
export { default as SidePanel } from './editor/sidePanel/SidePanel';
|
|
23
|
+
export { default as Accordion } from './editor/sidePanel/Accordion';
|
|
24
|
+
export { default as ChildObject } from './editor/sidePanel/ChildObject';
|
|
25
|
+
export { default as ContainerObject } from './editor/sidePanel/ContainerObject';
|
|
26
|
+
export { default as Inspector } from './editor/sidePanel/inspector/Inspector';
|
|
27
|
+
export { default as MultiView } from './editor/multiView/MultiView';
|
|
28
|
+
export { default as Editor } from './editor/Editor';
|
|
29
|
+
export { default as ThreeEditor } from './editor/ThreeEditor';
|
|
30
|
+
export { default as Transform } from './editor/tools/Transform';
|
|
31
|
+
export { default as Spline } from './editor/tools/splineEditor/Spline';
|
|
32
|
+
export { default as SplineEditor } from './editor/tools/splineEditor';
|