@planara/core 3.0.0 → 3.1.0
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/api/modules/controls-state-api.d.ts +1 -1
- package/dist/api/modules/controls-state-api.d.ts.map +1 -1
- package/dist/api/modules/index.d.ts +5 -0
- package/dist/api/modules/index.d.ts.map +1 -0
- package/dist/api/modules/mesh-api.d.ts +1 -1
- package/dist/api/modules/mesh-api.d.ts.map +1 -1
- package/dist/api/modules/raycast-api.d.ts +1 -1
- package/dist/api/modules/raycast-api.d.ts.map +1 -1
- package/dist/api/modules/transform-api.d.ts +2 -2
- package/dist/api/modules/transform-api.d.ts.map +1 -1
- package/dist/api/renderer/camera-api.d.ts +2 -2
- package/dist/api/renderer/camera-api.d.ts.map +1 -1
- package/dist/api/renderer/dom-api.d.ts +2 -2
- package/dist/api/renderer/dom-api.d.ts.map +1 -1
- package/dist/api/renderer/index.d.ts +4 -0
- package/dist/api/renderer/index.d.ts.map +1 -0
- package/dist/api/renderer/scene-api.d.ts +2 -2
- package/dist/api/renderer/scene-api.d.ts.map +1 -1
- package/dist/constants/figure-geometries.d.ts.map +1 -1
- package/dist/constants/index.d.ts +6 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/controllers/index.d.ts +2 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/renderer-controller.d.ts +7 -9
- package/dist/controllers/renderer-controller.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/renderer.d.ts +10 -15
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/decorators/index.d.ts +3 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/use-policy.d.ts.map +1 -1
- package/dist/decorators/use-validator.d.ts +5 -0
- package/dist/decorators/use-validator.d.ts.map +1 -0
- package/dist/errors/index.d.ts +3 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/policy-error.d.ts +1 -1
- package/dist/errors/policy-error.d.ts.map +1 -1
- package/dist/errors/validation-error.d.ts +9 -0
- package/dist/errors/validation-error.d.ts.map +1 -0
- package/dist/events/editor-events.d.ts +1 -1
- package/dist/events/editor-events.d.ts.map +1 -1
- package/dist/events/event-bus.d.ts +1 -1
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/handlers/display/index.d.ts +2 -0
- package/dist/handlers/display/index.d.ts.map +1 -0
- package/dist/handlers/display/wireframe-handler.d.ts +2 -2
- package/dist/handlers/display/wireframe-handler.d.ts.map +1 -1
- package/dist/handlers/scene/add-figure-scene-handler.d.ts +2 -2
- package/dist/handlers/scene/add-figure-scene-handler.d.ts.map +1 -1
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts +3 -3
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts.map +1 -1
- package/dist/handlers/scene/export-scene-handler.d.ts +23 -0
- package/dist/handlers/scene/export-scene-handler.d.ts.map +1 -0
- package/dist/handlers/scene/index.d.ts +6 -0
- package/dist/handlers/scene/index.d.ts.map +1 -0
- package/dist/handlers/scene/load-figure-scene-handler.d.ts +23 -0
- package/dist/handlers/scene/load-figure-scene-handler.d.ts.map +1 -0
- package/dist/handlers/scene/load-scene-handler.d.ts +23 -0
- package/dist/handlers/scene/load-scene-handler.d.ts.map +1 -0
- package/dist/handlers/select/edge-select-handler.d.ts +5 -8
- package/dist/handlers/select/edge-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/face-select-handler.d.ts +5 -8
- package/dist/handlers/select/face-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/index.d.ts +5 -0
- package/dist/handlers/select/index.d.ts.map +1 -0
- package/dist/handlers/select/mesh-select-handler.d.ts +5 -6
- package/dist/handlers/select/mesh-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/vertex-select-handler.d.ts +5 -8
- package/dist/handlers/select/vertex-select-handler.d.ts.map +1 -1
- package/dist/handlers/tool/base-tool-handler.d.ts +3 -3
- package/dist/handlers/tool/base-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/index.d.ts +4 -0
- package/dist/handlers/tool/index.d.ts.map +1 -0
- package/dist/handlers/tool/rotate-tool-handler.d.ts +2 -2
- package/dist/handlers/tool/rotate-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/scale-tool-handler.d.ts +2 -2
- package/dist/handlers/tool/scale-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/translate-tool-handler.d.ts +2 -2
- package/dist/handlers/tool/translate-tool-handler.d.ts.map +1 -1
- package/dist/hub/editor-hub.d.ts +11 -8
- package/dist/hub/editor-hub.d.ts.map +1 -1
- package/dist/hub/index.d.ts +26 -0
- package/dist/hub/index.d.ts.map +1 -0
- package/dist/hub/viewer-hub.d.ts +30 -0
- package/dist/hub/viewer-hub.d.ts.map +1 -0
- package/dist/index.cjs.js +20 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +2063 -1147
- package/dist/index.full.d.ts +67 -57
- package/dist/index.public.d.ts +67 -57
- package/dist/index.umd.js +20 -2
- package/dist/interfaces/api/index.d.ts +9 -0
- package/dist/interfaces/api/index.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/index.d.ts +6 -0
- package/dist/interfaces/api/renderer/index.d.ts.map +1 -0
- package/dist/interfaces/api/transform-api.d.ts +1 -1
- package/dist/interfaces/api/transform-api.d.ts.map +1 -1
- package/dist/interfaces/command/index.d.ts +1 -1
- package/dist/interfaces/command/index.d.ts.map +1 -1
- package/dist/interfaces/controller/{controller.d.ts → index.d.ts} +1 -1
- package/dist/interfaces/controller/index.d.ts.map +1 -0
- package/dist/interfaces/handler/index.d.ts +6 -0
- package/dist/interfaces/handler/index.d.ts.map +1 -0
- package/dist/interfaces/manager/display-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/index.d.ts +6 -0
- package/dist/interfaces/manager/index.d.ts.map +1 -0
- package/dist/interfaces/manager/manager.d.ts +1 -1
- package/dist/interfaces/manager/manager.d.ts.map +1 -1
- package/dist/interfaces/manager/select-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/tool-manager.d.ts.map +1 -1
- package/dist/interfaces/mediator/index.d.ts +1 -1
- package/dist/interfaces/mediator/index.d.ts.map +1 -1
- package/dist/interfaces/middleware/index.d.ts +1 -1
- package/dist/interfaces/middleware/index.d.ts.map +1 -1
- package/dist/interfaces/module/index.d.ts +4 -0
- package/dist/interfaces/module/index.d.ts.map +1 -0
- package/dist/interfaces/module/renderable-module.d.ts +1 -1
- package/dist/interfaces/module/renderable-module.d.ts.map +1 -1
- package/dist/interfaces/store/export-store.d.ts +8 -0
- package/dist/interfaces/store/export-store.d.ts.map +1 -0
- package/dist/interfaces/store/index.d.ts +6 -0
- package/dist/interfaces/store/index.d.ts.map +1 -0
- package/dist/interfaces/store/select-store.d.ts +1 -1
- package/dist/interfaces/store/select-store.d.ts.map +1 -1
- package/dist/interfaces/store/tool-store.d.ts +1 -1
- package/dist/interfaces/store/tool-store.d.ts.map +1 -1
- package/dist/interfaces/validator/index.d.ts +21 -0
- package/dist/interfaces/validator/index.d.ts.map +1 -0
- package/dist/ioc/container.d.ts +3 -1
- package/dist/ioc/container.d.ts.map +1 -1
- package/dist/managers/display/display-manager.d.ts +4 -4
- package/dist/managers/display/display-manager.d.ts.map +1 -1
- package/dist/managers/display/index.d.ts +2 -0
- package/dist/managers/display/index.d.ts.map +1 -0
- package/dist/managers/index.d.ts +5 -0
- package/dist/managers/index.d.ts.map +1 -0
- package/dist/managers/scene/index.d.ts +2 -0
- package/dist/managers/scene/index.d.ts.map +1 -0
- package/dist/managers/scene/scene-manager.d.ts +5 -5
- package/dist/managers/scene/scene-manager.d.ts.map +1 -1
- package/dist/managers/select/index.d.ts +2 -0
- package/dist/managers/select/index.d.ts.map +1 -0
- package/dist/managers/select/select-manager.d.ts +5 -5
- package/dist/managers/select/select-manager.d.ts.map +1 -1
- package/dist/managers/tool/index.d.ts +2 -0
- package/dist/managers/tool/index.d.ts.map +1 -0
- package/dist/managers/tool/tool-manager.d.ts +4 -4
- package/dist/managers/tool/tool-manager.d.ts.map +1 -1
- package/dist/mediator/index.d.ts +2 -2
- package/dist/mediator/index.d.ts.map +1 -1
- package/dist/middlewares/exception-middleware.d.ts +7 -2
- package/dist/middlewares/exception-middleware.d.ts.map +1 -1
- package/dist/middlewares/index.d.ts +2 -0
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/modules/controls-module.d.ts +11 -9
- package/dist/modules/controls-module.d.ts.map +1 -1
- package/dist/modules/gizmo-module.d.ts +2 -4
- package/dist/modules/gizmo-module.d.ts.map +1 -1
- package/dist/modules/index.d.ts +6 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/raycast-module.d.ts +4 -8
- package/dist/modules/raycast-module.d.ts.map +1 -1
- package/dist/modules/scene-module.d.ts +2 -3
- package/dist/modules/scene-module.d.ts.map +1 -1
- package/dist/modules/scene-preview-module.d.ts +26 -0
- package/dist/modules/scene-preview-module.d.ts.map +1 -0
- package/dist/policy/index.d.ts +2 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/tool-policy.d.ts +1 -1
- package/dist/policy/tool-policy.d.ts.map +1 -1
- package/dist/store/editor-store.d.ts +33 -0
- package/dist/store/editor-store.d.ts.map +1 -0
- package/dist/store/export-store.d.ts +12 -0
- package/dist/store/export-store.d.ts.map +1 -0
- package/dist/store/index.d.ts +2 -35
- package/dist/store/index.d.ts.map +1 -1
- package/dist/types/camera/index.d.ts +2 -0
- package/dist/types/camera/index.d.ts.map +1 -0
- package/dist/types/event/index.d.ts +2 -0
- package/dist/types/event/index.d.ts.map +1 -0
- package/dist/types/feature/index.d.ts +2 -0
- package/dist/types/feature/index.d.ts.map +1 -0
- package/dist/types/listener/index.d.ts +3 -0
- package/dist/types/listener/index.d.ts.map +1 -0
- package/dist/types/select/index.d.ts +2 -0
- package/dist/types/select/index.d.ts.map +1 -0
- package/dist/utils/default-renderer-config.d.ts +9 -0
- package/dist/utils/default-renderer-config.d.ts.map +1 -0
- package/dist/utils/helpers.d.ts +14 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/validators/index.d.ts +2 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/obj-validator.d.ts +12 -0
- package/dist/validators/obj-validator.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/hub/app-hub.d.ts +0 -13
- package/dist/hub/app-hub.d.ts.map +0 -1
- package/dist/interfaces/controller/controller.d.ts.map +0 -1
- package/dist/interfaces/response/index.d.ts +0 -22
- package/dist/interfaces/response/index.d.ts.map +0 -1
- package/dist/types/response/response-type.d.ts +0 -19
- package/dist/types/response/response-type.d.ts.map +0 -1
package/dist/index.full.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { DisplayMode } from '@planara/types';
|
|
2
2
|
import { Disposable as Disposable_2 } from 'tsyringe';
|
|
3
|
+
import { ExportResult } from '@planara/types';
|
|
4
|
+
import { ExportSceneResult } from '@planara/types';
|
|
3
5
|
import { Figure } from '@planara/types';
|
|
4
6
|
import { FigureTransform } from '@planara/types';
|
|
5
7
|
import { FigureType } from '@planara/types';
|
|
6
|
-
import {
|
|
8
|
+
import { IResponse } from '@planara/types';
|
|
9
|
+
import { RendererConfig } from '@planara/types';
|
|
10
|
+
import { RendererConfigInput } from '@planara/types';
|
|
7
11
|
import { SelectMode } from '@planara/types';
|
|
8
12
|
import * as THREE from 'three';
|
|
9
13
|
import { ToolType } from '@planara/types';
|
|
@@ -23,7 +27,14 @@ export declare type CameraPosition = {
|
|
|
23
27
|
* Вызывать один раз при старте (когда есть canvas).
|
|
24
28
|
* @public
|
|
25
29
|
*/
|
|
26
|
-
export declare const
|
|
30
|
+
export declare const createEditorHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => EditorHub;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Инициализирует вьювер и возвращает хаб.
|
|
34
|
+
* Вызывать один раз при старте (когда есть canvas).
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare const createViewerHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => ViewerHub;
|
|
27
38
|
|
|
28
39
|
/**
|
|
29
40
|
* Типы событий редактора.
|
|
@@ -51,13 +62,17 @@ export declare class EditorHub implements Disposable_2 {
|
|
|
51
62
|
private _renderer;
|
|
52
63
|
private _mediator;
|
|
53
64
|
private _store;
|
|
65
|
+
private _exportStore;
|
|
54
66
|
private _controller;
|
|
55
|
-
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _controller: IController);
|
|
67
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _exportStore: IExportStore, _controller: IController);
|
|
56
68
|
setDisplayMode(mode: DisplayMode): IResponse | null;
|
|
57
|
-
setSceneMode(mode: SceneMode): IResponse | null;
|
|
58
69
|
setSelectMode(mode: SelectMode): IResponse | null;
|
|
59
70
|
setToolMode(mode: ToolType): IResponse | null;
|
|
60
|
-
addFigure(
|
|
71
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
72
|
+
deleteFigure(): IResponse | null;
|
|
73
|
+
loadFigure(content: string): IResponse | null;
|
|
74
|
+
loadScene(content: string): IResponse | null;
|
|
75
|
+
exportScene(): ExportSceneResult;
|
|
61
76
|
resizeRenderer(): void;
|
|
62
77
|
/**
|
|
63
78
|
* Запускает редактор.
|
|
@@ -220,7 +235,13 @@ export declare enum FeatureType {
|
|
|
220
235
|
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
221
236
|
* @public
|
|
222
237
|
*/
|
|
223
|
-
export declare const
|
|
238
|
+
export declare const getEditorHub: () => EditorHub;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
export declare const getViewerHub: () => ViewerHub;
|
|
224
245
|
|
|
225
246
|
/**
|
|
226
247
|
* @public
|
|
@@ -287,6 +308,13 @@ export declare interface IDisplayStore {
|
|
|
287
308
|
setDisplayMode(mode: DisplayMode): void;
|
|
288
309
|
}
|
|
289
310
|
|
|
311
|
+
/** @public */
|
|
312
|
+
export declare interface IExportStore {
|
|
313
|
+
setResult(result: ExportResult): void;
|
|
314
|
+
getResult(): ExportResult | null;
|
|
315
|
+
clearResult(): void;
|
|
316
|
+
}
|
|
317
|
+
|
|
290
318
|
/**
|
|
291
319
|
* Интерфейс медиатора команд редактора.
|
|
292
320
|
*
|
|
@@ -544,27 +572,6 @@ export declare interface IRendererSceneAccess {
|
|
|
544
572
|
getScene(): THREE.Scene;
|
|
545
573
|
}
|
|
546
574
|
|
|
547
|
-
/**
|
|
548
|
-
* Тип ответа от менеджеров или политик редактора.
|
|
549
|
-
*
|
|
550
|
-
* @remarks
|
|
551
|
-
* Используется для единого API на уровне Hub.
|
|
552
|
-
* Все менеджеры возвращают `Response`, чтобы клиент знал статус вызова.
|
|
553
|
-
*
|
|
554
|
-
* @public
|
|
555
|
-
* @interface
|
|
556
|
-
*/
|
|
557
|
-
export declare interface IResponse {
|
|
558
|
-
/** Тип ответа (enum ResponseType) */
|
|
559
|
-
type: ResponseType_2;
|
|
560
|
-
/** Читаемое сообщение для отображения или логирования */
|
|
561
|
-
message: string;
|
|
562
|
-
/** Строковый код для логов или интеграций (опционально) */
|
|
563
|
-
code?: string;
|
|
564
|
-
/** Флаг блокировки действия (true, если вызов запрещён) */
|
|
565
|
-
blocked?: boolean;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
575
|
/**
|
|
569
576
|
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Select фичей,
|
|
570
577
|
* необходим для корректного взаимодействия между группами фичей.
|
|
@@ -687,6 +694,7 @@ export declare class ObjLoader {
|
|
|
687
694
|
* @class
|
|
688
695
|
*/
|
|
689
696
|
export declare class Renderer implements IRendererAccess, IRendererCameraAccess, IRendererDomAccess, IRendererSceneAccess, IRenderable, Disposable_2 {
|
|
697
|
+
private readonly _config;
|
|
690
698
|
/**
|
|
691
699
|
* Корневой объект сцены Three.js.
|
|
692
700
|
*
|
|
@@ -719,22 +727,19 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
719
727
|
* Конструктор рендерера.
|
|
720
728
|
*
|
|
721
729
|
* @param _canvas - HTMLCanvasElement для рендеринга
|
|
730
|
+
* @param _config - Конфиг для настройки рендерера
|
|
722
731
|
*
|
|
723
732
|
* @remarks
|
|
724
|
-
* Инициализирует
|
|
725
|
-
*
|
|
726
|
-
* - `AmbientLight` (0xffffff, 0.5) — общий свет
|
|
727
|
-
* - `DirectionalLight` (0xffffff, 1) — направленный свет
|
|
733
|
+
* Инициализирует сцену, камеру, WebGLRenderer и базовое освещение
|
|
734
|
+
* на основе переданного `RendererConfig`.
|
|
728
735
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
* const renderer = new Renderer(canvas);
|
|
732
|
-
* ```
|
|
736
|
+
* По умолчанию используется тёмный фон, перспективная камера
|
|
737
|
+
* и два источника света: AmbientLight и DirectionalLight.
|
|
733
738
|
*
|
|
734
739
|
* @public
|
|
735
740
|
* @constructor
|
|
736
741
|
*/
|
|
737
|
-
constructor(_canvas: HTMLCanvasElement);
|
|
742
|
+
constructor(_canvas: HTMLCanvasElement, _config: RendererConfig);
|
|
738
743
|
/**
|
|
739
744
|
* Обновляет размер рендерера и пропорции камеры.
|
|
740
745
|
*
|
|
@@ -746,7 +751,7 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
746
751
|
* window.addEventListener('resize', () => renderer.resize());
|
|
747
752
|
* ```
|
|
748
753
|
*
|
|
749
|
-
* @
|
|
754
|
+
* @public
|
|
750
755
|
* @method
|
|
751
756
|
*/
|
|
752
757
|
resize(): void;
|
|
@@ -807,30 +812,35 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
807
812
|
dispose(): Promise<void> | void;
|
|
808
813
|
}
|
|
809
814
|
|
|
810
|
-
/**
|
|
811
|
-
* Enum типов ответа от менеджеров и политик.
|
|
812
|
-
*
|
|
813
|
-
* @remarks
|
|
814
|
-
* Используется в `IResponse.type`.
|
|
815
|
-
*
|
|
816
|
-
* @public
|
|
817
|
-
* @enum
|
|
818
|
-
*/
|
|
819
|
-
declare enum ResponseType_2 {
|
|
820
|
-
/** Действие заблокировано, инструмент недоступен */
|
|
821
|
-
ToolNotAllowed = "TOOL_NOT_ALLOWED",
|
|
822
|
-
/** Действие выполнено успешно */
|
|
823
|
-
Success = "SUCCESS",
|
|
824
|
-
/** Действие не выполнено, потому что нет изменений */
|
|
825
|
-
NoChange = "NO_CHANGE",
|
|
826
|
-
Error = "ERROR"
|
|
827
|
-
}
|
|
828
|
-
export { ResponseType_2 as ResponseType }
|
|
829
|
-
|
|
830
815
|
/** @public */
|
|
831
816
|
export declare type SelectedListener = (obj: THREE.Object3D | null) => void;
|
|
832
817
|
|
|
833
818
|
/** @public */
|
|
834
819
|
export declare type TransformListener = () => void;
|
|
835
820
|
|
|
821
|
+
/**
|
|
822
|
+
* Хаб для управления вьювером
|
|
823
|
+
* @public
|
|
824
|
+
*/
|
|
825
|
+
export declare class ViewerHub implements Disposable_2 {
|
|
826
|
+
private _renderer;
|
|
827
|
+
private _mediator;
|
|
828
|
+
private _controller;
|
|
829
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _controller: IController);
|
|
830
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
831
|
+
loadFigure(content: string): IResponse | null;
|
|
832
|
+
loadScene(content: string): IResponse | null;
|
|
833
|
+
resizeRenderer(): void;
|
|
834
|
+
/**
|
|
835
|
+
* Запускает вьювер.
|
|
836
|
+
* Вызывается после создания хаба.
|
|
837
|
+
*/
|
|
838
|
+
start(): void;
|
|
839
|
+
/**
|
|
840
|
+
* Останавливает вьювер.
|
|
841
|
+
*/
|
|
842
|
+
stop(): void;
|
|
843
|
+
dispose(): Promise<void> | void;
|
|
844
|
+
}
|
|
845
|
+
|
|
836
846
|
export { }
|
package/dist/index.public.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { DisplayMode } from '@planara/types';
|
|
2
2
|
import { Disposable as Disposable_2 } from 'tsyringe';
|
|
3
|
+
import { ExportResult } from '@planara/types';
|
|
4
|
+
import { ExportSceneResult } from '@planara/types';
|
|
3
5
|
import { Figure } from '@planara/types';
|
|
4
6
|
import { FigureTransform } from '@planara/types';
|
|
5
7
|
import { FigureType } from '@planara/types';
|
|
6
|
-
import {
|
|
8
|
+
import { IResponse } from '@planara/types';
|
|
9
|
+
import { RendererConfig } from '@planara/types';
|
|
10
|
+
import { RendererConfigInput } from '@planara/types';
|
|
7
11
|
import { SelectMode } from '@planara/types';
|
|
8
12
|
import * as THREE from 'three';
|
|
9
13
|
import { ToolType } from '@planara/types';
|
|
@@ -23,7 +27,14 @@ export declare type CameraPosition = {
|
|
|
23
27
|
* Вызывать один раз при старте (когда есть canvas).
|
|
24
28
|
* @public
|
|
25
29
|
*/
|
|
26
|
-
export declare const
|
|
30
|
+
export declare const createEditorHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => EditorHub;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Инициализирует вьювер и возвращает хаб.
|
|
34
|
+
* Вызывать один раз при старте (когда есть canvas).
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare const createViewerHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => ViewerHub;
|
|
27
38
|
|
|
28
39
|
/**
|
|
29
40
|
* Типы событий редактора.
|
|
@@ -51,13 +62,17 @@ export declare class EditorHub implements Disposable_2 {
|
|
|
51
62
|
private _renderer;
|
|
52
63
|
private _mediator;
|
|
53
64
|
private _store;
|
|
65
|
+
private _exportStore;
|
|
54
66
|
private _controller;
|
|
55
|
-
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _controller: IController);
|
|
67
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _exportStore: IExportStore, _controller: IController);
|
|
56
68
|
setDisplayMode(mode: DisplayMode): IResponse | null;
|
|
57
|
-
setSceneMode(mode: SceneMode): IResponse | null;
|
|
58
69
|
setSelectMode(mode: SelectMode): IResponse | null;
|
|
59
70
|
setToolMode(mode: ToolType): IResponse | null;
|
|
60
|
-
addFigure(
|
|
71
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
72
|
+
deleteFigure(): IResponse | null;
|
|
73
|
+
loadFigure(content: string): IResponse | null;
|
|
74
|
+
loadScene(content: string): IResponse | null;
|
|
75
|
+
exportScene(): ExportSceneResult;
|
|
61
76
|
resizeRenderer(): void;
|
|
62
77
|
/**
|
|
63
78
|
* Запускает редактор.
|
|
@@ -220,7 +235,13 @@ export declare enum FeatureType {
|
|
|
220
235
|
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
221
236
|
* @public
|
|
222
237
|
*/
|
|
223
|
-
export declare const
|
|
238
|
+
export declare const getEditorHub: () => EditorHub;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
export declare const getViewerHub: () => ViewerHub;
|
|
224
245
|
|
|
225
246
|
/**
|
|
226
247
|
* @public
|
|
@@ -287,6 +308,13 @@ export declare interface IDisplayStore {
|
|
|
287
308
|
setDisplayMode(mode: DisplayMode): void;
|
|
288
309
|
}
|
|
289
310
|
|
|
311
|
+
/** @public */
|
|
312
|
+
export declare interface IExportStore {
|
|
313
|
+
setResult(result: ExportResult): void;
|
|
314
|
+
getResult(): ExportResult | null;
|
|
315
|
+
clearResult(): void;
|
|
316
|
+
}
|
|
317
|
+
|
|
290
318
|
/**
|
|
291
319
|
* Интерфейс медиатора команд редактора.
|
|
292
320
|
*
|
|
@@ -544,27 +572,6 @@ export declare interface IRendererSceneAccess {
|
|
|
544
572
|
getScene(): THREE.Scene;
|
|
545
573
|
}
|
|
546
574
|
|
|
547
|
-
/**
|
|
548
|
-
* Тип ответа от менеджеров или политик редактора.
|
|
549
|
-
*
|
|
550
|
-
* @remarks
|
|
551
|
-
* Используется для единого API на уровне Hub.
|
|
552
|
-
* Все менеджеры возвращают `Response`, чтобы клиент знал статус вызова.
|
|
553
|
-
*
|
|
554
|
-
* @public
|
|
555
|
-
* @interface
|
|
556
|
-
*/
|
|
557
|
-
export declare interface IResponse {
|
|
558
|
-
/** Тип ответа (enum ResponseType) */
|
|
559
|
-
type: ResponseType_2;
|
|
560
|
-
/** Читаемое сообщение для отображения или логирования */
|
|
561
|
-
message: string;
|
|
562
|
-
/** Строковый код для логов или интеграций (опционально) */
|
|
563
|
-
code?: string;
|
|
564
|
-
/** Флаг блокировки действия (true, если вызов запрещён) */
|
|
565
|
-
blocked?: boolean;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
575
|
/**
|
|
569
576
|
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Select фичей,
|
|
570
577
|
* необходим для корректного взаимодействия между группами фичей.
|
|
@@ -687,6 +694,7 @@ export declare class ObjLoader {
|
|
|
687
694
|
* @class
|
|
688
695
|
*/
|
|
689
696
|
export declare class Renderer implements IRendererAccess, IRendererCameraAccess, IRendererDomAccess, IRendererSceneAccess, IRenderable, Disposable_2 {
|
|
697
|
+
private readonly _config;
|
|
690
698
|
/**
|
|
691
699
|
* Корневой объект сцены Three.js.
|
|
692
700
|
*
|
|
@@ -719,22 +727,19 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
719
727
|
* Конструктор рендерера.
|
|
720
728
|
*
|
|
721
729
|
* @param _canvas - HTMLCanvasElement для рендеринга
|
|
730
|
+
* @param _config - Конфиг для настройки рендерера
|
|
722
731
|
*
|
|
723
732
|
* @remarks
|
|
724
|
-
* Инициализирует
|
|
725
|
-
*
|
|
726
|
-
* - `AmbientLight` (0xffffff, 0.5) — общий свет
|
|
727
|
-
* - `DirectionalLight` (0xffffff, 1) — направленный свет
|
|
733
|
+
* Инициализирует сцену, камеру, WebGLRenderer и базовое освещение
|
|
734
|
+
* на основе переданного `RendererConfig`.
|
|
728
735
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
* const renderer = new Renderer(canvas);
|
|
732
|
-
* ```
|
|
736
|
+
* По умолчанию используется тёмный фон, перспективная камера
|
|
737
|
+
* и два источника света: AmbientLight и DirectionalLight.
|
|
733
738
|
*
|
|
734
739
|
* @public
|
|
735
740
|
* @constructor
|
|
736
741
|
*/
|
|
737
|
-
constructor(_canvas: HTMLCanvasElement);
|
|
742
|
+
constructor(_canvas: HTMLCanvasElement, _config: RendererConfig);
|
|
738
743
|
/**
|
|
739
744
|
* Обновляет размер рендерера и пропорции камеры.
|
|
740
745
|
*
|
|
@@ -746,7 +751,7 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
746
751
|
* window.addEventListener('resize', () => renderer.resize());
|
|
747
752
|
* ```
|
|
748
753
|
*
|
|
749
|
-
* @
|
|
754
|
+
* @public
|
|
750
755
|
* @method
|
|
751
756
|
*/
|
|
752
757
|
resize(): void;
|
|
@@ -807,30 +812,35 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
807
812
|
dispose(): Promise<void> | void;
|
|
808
813
|
}
|
|
809
814
|
|
|
810
|
-
/**
|
|
811
|
-
* Enum типов ответа от менеджеров и политик.
|
|
812
|
-
*
|
|
813
|
-
* @remarks
|
|
814
|
-
* Используется в `IResponse.type`.
|
|
815
|
-
*
|
|
816
|
-
* @public
|
|
817
|
-
* @enum
|
|
818
|
-
*/
|
|
819
|
-
declare enum ResponseType_2 {
|
|
820
|
-
/** Действие заблокировано, инструмент недоступен */
|
|
821
|
-
ToolNotAllowed = "TOOL_NOT_ALLOWED",
|
|
822
|
-
/** Действие выполнено успешно */
|
|
823
|
-
Success = "SUCCESS",
|
|
824
|
-
/** Действие не выполнено, потому что нет изменений */
|
|
825
|
-
NoChange = "NO_CHANGE",
|
|
826
|
-
Error = "ERROR"
|
|
827
|
-
}
|
|
828
|
-
export { ResponseType_2 as ResponseType }
|
|
829
|
-
|
|
830
815
|
/** @public */
|
|
831
816
|
export declare type SelectedListener = (obj: THREE.Object3D | null) => void;
|
|
832
817
|
|
|
833
818
|
/** @public */
|
|
834
819
|
export declare type TransformListener = () => void;
|
|
835
820
|
|
|
821
|
+
/**
|
|
822
|
+
* Хаб для управления вьювером
|
|
823
|
+
* @public
|
|
824
|
+
*/
|
|
825
|
+
export declare class ViewerHub implements Disposable_2 {
|
|
826
|
+
private _renderer;
|
|
827
|
+
private _mediator;
|
|
828
|
+
private _controller;
|
|
829
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _controller: IController);
|
|
830
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
831
|
+
loadFigure(content: string): IResponse | null;
|
|
832
|
+
loadScene(content: string): IResponse | null;
|
|
833
|
+
resizeRenderer(): void;
|
|
834
|
+
/**
|
|
835
|
+
* Запускает вьювер.
|
|
836
|
+
* Вызывается после создания хаба.
|
|
837
|
+
*/
|
|
838
|
+
start(): void;
|
|
839
|
+
/**
|
|
840
|
+
* Останавливает вьювер.
|
|
841
|
+
*/
|
|
842
|
+
stop(): void;
|
|
843
|
+
dispose(): Promise<void> | void;
|
|
844
|
+
}
|
|
845
|
+
|
|
836
846
|
export { }
|