@planara/core 2.7.1 → 3.0.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/README.md +5 -0
- package/dist/api/modules/controls-state-api.d.ts +23 -0
- package/dist/api/modules/controls-state-api.d.ts.map +1 -0
- package/dist/api/modules/mesh-api.d.ts +30 -0
- package/dist/api/modules/mesh-api.d.ts.map +1 -0
- package/dist/api/modules/raycast-api.d.ts +28 -0
- package/dist/api/modules/raycast-api.d.ts.map +1 -0
- package/dist/api/modules/transform-api.d.ts +33 -0
- package/dist/api/modules/transform-api.d.ts.map +1 -0
- package/dist/api/renderer/camera-api.d.ts +26 -0
- package/dist/api/renderer/camera-api.d.ts.map +1 -0
- package/dist/api/renderer/dom-api.d.ts +24 -0
- package/dist/api/renderer/dom-api.d.ts.map +1 -0
- package/dist/api/renderer/scene-api.d.ts +26 -0
- package/dist/api/renderer/scene-api.d.ts.map +1 -0
- package/dist/constants/colors.d.ts +12 -0
- package/dist/constants/colors.d.ts.map +1 -1
- package/dist/constants/figure-geometries.d.ts +55 -4
- package/dist/constants/figure-geometries.d.ts.map +1 -1
- package/dist/constants/layers.d.ts +12 -0
- package/dist/constants/layers.d.ts.map +1 -1
- package/dist/constants/messages.d.ts +18 -0
- package/dist/constants/messages.d.ts.map +1 -0
- package/dist/constants/threshold.d.ts +42 -2
- package/dist/constants/threshold.d.ts.map +1 -1
- package/dist/controllers/renderer-controller.d.ts +74 -0
- package/dist/controllers/renderer-controller.d.ts.map +1 -0
- package/dist/core/renderer.d.ts +110 -78
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/decorators/use-policy.d.ts +5 -0
- package/dist/decorators/use-policy.d.ts.map +1 -0
- package/dist/errors/policy-error.d.ts +9 -0
- package/dist/errors/policy-error.d.ts.map +1 -0
- package/dist/events/editor-events.d.ts +2 -6
- package/dist/events/editor-events.d.ts.map +1 -1
- package/dist/events/event-bus.d.ts +102 -5
- package/dist/events/event-bus.d.ts.map +1 -1
- package/dist/events/event-topics.d.ts +3 -3
- package/dist/events/event-topics.d.ts.map +1 -1
- package/dist/handlers/display/wireframe-handler.d.ts +3 -1
- package/dist/handlers/display/wireframe-handler.d.ts.map +1 -1
- package/dist/handlers/scene/add-figure-scene-handler.d.ts +2 -0
- package/dist/handlers/scene/add-figure-scene-handler.d.ts.map +1 -1
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts +2 -2
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts.map +1 -1
- package/dist/handlers/select/edge-select-handler.d.ts +10 -4
- package/dist/handlers/select/edge-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/face-select-handler.d.ts +65 -6
- package/dist/handlers/select/face-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/mesh-select-handler.d.ts +5 -3
- package/dist/handlers/select/mesh-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/vertex-select-handler.d.ts +10 -4
- package/dist/handlers/select/vertex-select-handler.d.ts.map +1 -1
- package/dist/handlers/tool/base-tool-handler.d.ts +9 -6
- package/dist/handlers/tool/base-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/rotate-tool-handler.d.ts +4 -3
- package/dist/handlers/tool/rotate-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/scale-tool-handler.d.ts +4 -3
- package/dist/handlers/tool/scale-tool-handler.d.ts.map +1 -1
- package/dist/handlers/tool/translate-tool-handler.d.ts +4 -3
- package/dist/handlers/tool/translate-tool-handler.d.ts.map +1 -1
- package/dist/hub/app-hub.d.ts +1 -0
- package/dist/hub/app-hub.d.ts.map +1 -1
- package/dist/hub/editor-hub.d.ts +22 -17
- package/dist/hub/editor-hub.d.ts.map +1 -1
- package/dist/index.cjs.js +2 -2
- package/dist/index.d.ts +15 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1750 -1378
- package/dist/index.full.d.ts +635 -229
- package/dist/index.public.d.ts +653 -147
- package/dist/index.umd.js +2 -2
- package/dist/interfaces/api/camera-api.d.ts +64 -0
- package/dist/interfaces/api/camera-api.d.ts.map +1 -0
- package/dist/interfaces/api/controls-state-api.d.ts +63 -0
- package/dist/interfaces/api/controls-state-api.d.ts.map +1 -0
- package/dist/interfaces/api/dom-api.d.ts +49 -0
- package/dist/interfaces/api/dom-api.d.ts.map +1 -0
- package/dist/interfaces/api/mesh-api.d.ts +93 -12
- package/dist/interfaces/api/mesh-api.d.ts.map +1 -1
- package/dist/interfaces/api/raycast-api.d.ts +6 -1
- package/dist/interfaces/api/raycast-api.d.ts.map +1 -1
- package/dist/interfaces/api/renderer/renderable.d.ts +45 -0
- package/dist/interfaces/api/renderer/renderable.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/renderer-access.d.ts +34 -0
- package/dist/interfaces/api/renderer/renderer-access.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/renderer-camera-access.d.ts +37 -0
- package/dist/interfaces/api/renderer/renderer-camera-access.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/renderer-dom-access.d.ts +51 -0
- package/dist/interfaces/api/renderer/renderer-dom-access.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/renderer-scene-access.d.ts +45 -0
- package/dist/interfaces/api/renderer/renderer-scene-access.d.ts.map +1 -0
- package/dist/interfaces/api/renderer-api.d.ts +35 -0
- package/dist/interfaces/api/renderer-api.d.ts.map +1 -0
- package/dist/interfaces/api/scene-api.d.ts +66 -26
- package/dist/interfaces/api/scene-api.d.ts.map +1 -1
- package/dist/interfaces/api/transform-api.d.ts +120 -0
- package/dist/interfaces/api/transform-api.d.ts.map +1 -0
- package/dist/interfaces/command/index.d.ts +9 -0
- package/dist/interfaces/command/index.d.ts.map +1 -0
- package/dist/interfaces/controller/controller.d.ts +38 -0
- package/dist/interfaces/controller/controller.d.ts.map +1 -0
- package/dist/interfaces/handler/display-handler.d.ts +9 -1
- package/dist/interfaces/handler/display-handler.d.ts.map +1 -1
- package/dist/interfaces/handler/handler.d.ts +2 -0
- package/dist/interfaces/handler/handler.d.ts.map +1 -1
- package/dist/interfaces/handler/scene-handler.d.ts +1 -0
- package/dist/interfaces/handler/scene-handler.d.ts.map +1 -1
- package/dist/interfaces/handler/select-handler.d.ts +1 -0
- package/dist/interfaces/handler/select-handler.d.ts.map +1 -1
- package/dist/interfaces/handler/tool-handler.d.ts +1 -0
- package/dist/interfaces/handler/tool-handler.d.ts.map +1 -1
- package/dist/interfaces/manager/display-manager.d.ts +3 -1
- package/dist/interfaces/manager/display-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/manager.d.ts +12 -1
- package/dist/interfaces/manager/manager.d.ts.map +1 -1
- package/dist/interfaces/manager/scene-manager.d.ts +3 -1
- package/dist/interfaces/manager/scene-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/select-manager.d.ts +3 -1
- package/dist/interfaces/manager/select-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/tool-manager.d.ts +3 -1
- package/dist/interfaces/manager/tool-manager.d.ts.map +1 -1
- package/dist/interfaces/mediator/index.d.ts +51 -0
- package/dist/interfaces/mediator/index.d.ts.map +1 -0
- package/dist/interfaces/middleware/index.d.ts +50 -0
- package/dist/interfaces/middleware/index.d.ts.map +1 -0
- package/dist/interfaces/module/renderable-module.d.ts +27 -0
- package/dist/interfaces/module/renderable-module.d.ts.map +1 -0
- package/dist/interfaces/module/runtime-module.d.ts +54 -0
- package/dist/interfaces/module/runtime-module.d.ts.map +1 -0
- package/dist/interfaces/module/updatable-module.d.ts +48 -0
- package/dist/interfaces/module/updatable-module.d.ts.map +1 -0
- package/dist/interfaces/policy/index.d.ts +21 -0
- package/dist/interfaces/policy/index.d.ts.map +1 -0
- package/dist/interfaces/response/index.d.ts +22 -0
- package/dist/interfaces/response/index.d.ts.map +1 -0
- package/dist/interfaces/store/display-store.d.ts +21 -0
- package/dist/interfaces/store/display-store.d.ts.map +1 -0
- package/dist/interfaces/store/{editor-store.d.ts → select-store.d.ts} +16 -24
- package/dist/interfaces/store/select-store.d.ts.map +1 -0
- package/dist/interfaces/store/tool-store.d.ts +27 -0
- package/dist/interfaces/store/tool-store.d.ts.map +1 -0
- package/dist/interfaces/store/transform-store.d.ts +11 -0
- package/dist/interfaces/store/transform-store.d.ts.map +1 -0
- package/dist/ioc/container.d.ts.map +1 -1
- package/dist/managers/display/display-manager.d.ts +5 -2
- package/dist/managers/display/display-manager.d.ts.map +1 -1
- package/dist/managers/scene/scene-manager.d.ts +3 -0
- package/dist/managers/scene/scene-manager.d.ts.map +1 -1
- package/dist/managers/select/select-manager.d.ts +5 -2
- package/dist/managers/select/select-manager.d.ts.map +1 -1
- package/dist/managers/tool/tool-manager.d.ts +7 -4
- package/dist/managers/tool/tool-manager.d.ts.map +1 -1
- package/dist/mediator/index.d.ts +14 -0
- package/dist/mediator/index.d.ts.map +1 -0
- package/dist/middlewares/exception-middleware.d.ts +7 -0
- package/dist/middlewares/exception-middleware.d.ts.map +1 -0
- package/dist/modules/controls-module.d.ts +58 -0
- package/dist/modules/controls-module.d.ts.map +1 -0
- package/dist/modules/gizmo-module.d.ts +34 -0
- package/dist/modules/gizmo-module.d.ts.map +1 -0
- package/dist/modules/raycast-module.d.ts +91 -0
- package/dist/modules/raycast-module.d.ts.map +1 -0
- package/dist/modules/scene-module.d.ts +32 -0
- package/dist/modules/scene-module.d.ts.map +1 -0
- package/dist/policy/tool-policy.d.ts +18 -0
- package/dist/policy/tool-policy.d.ts.map +1 -0
- package/dist/store/index.d.ts +4 -14
- package/dist/store/index.d.ts.map +1 -1
- package/dist/types/feature/feature-type.d.ts +16 -0
- package/dist/types/feature/feature-type.d.ts.map +1 -0
- package/dist/types/response/response-type.d.ts +19 -0
- package/dist/types/response/response-type.d.ts.map +1 -0
- package/dist/types/select/face-group.d.ts +24 -0
- package/dist/types/select/face-group.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/core/editor-renderer.d.ts +0 -79
- package/dist/core/editor-renderer.d.ts.map +0 -1
- package/dist/core/preview-renderer.d.ts +0 -16
- package/dist/core/preview-renderer.d.ts.map +0 -1
- package/dist/interfaces/api/transform-helpers-api.d.ts +0 -26
- package/dist/interfaces/api/transform-helpers-api.d.ts.map +0 -1
- package/dist/interfaces/policy/tool-availability-policy.d.ts +0 -12
- package/dist/interfaces/policy/tool-availability-policy.d.ts.map +0 -1
- package/dist/interfaces/store/editor-store.d.ts.map +0 -1
- package/dist/policy/tool-availability-policy.d.ts +0 -13
- package/dist/policy/tool-availability-policy.d.ts.map +0 -1
- package/dist/types/api/editor-api.d.ts +0 -4
- package/dist/types/api/editor-api.d.ts.map +0 -1
- package/dist/utils/renderer-api.d.ts +0 -43
- package/dist/utils/renderer-api.d.ts.map +0 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { ISelectHandler } from '../../interfaces/handler/select-handler';
|
|
2
|
-
import {
|
|
2
|
+
import { ISelectStore } from '../../interfaces/store/select-store';
|
|
3
|
+
import { ICameraApi } from '../../interfaces/api/camera-api';
|
|
4
|
+
import { ISceneApi } from '../../interfaces/api/scene-api';
|
|
5
|
+
import { IRaycastApi } from '../../interfaces/api/raycast-api';
|
|
3
6
|
import { SelectMode } from '@planara/types';
|
|
4
7
|
import { EditorEvents } from '../../events/editor-events';
|
|
5
8
|
import { EventTopics } from '../../events/event-topics';
|
|
@@ -9,26 +12,82 @@ import { SelectEventType } from '../../types/event/select-event-type';
|
|
|
9
12
|
* Управляет сценой через payload события рендерера.
|
|
10
13
|
* Обрабатывает hover и click.
|
|
11
14
|
* Меняет цвет грани конкретной модели из payload, в случае null возвращает исходное состояние.
|
|
15
|
+
*
|
|
12
16
|
* @internal
|
|
17
|
+
* @class
|
|
13
18
|
*/
|
|
14
19
|
export declare class FaceSelectHandler implements ISelectHandler {
|
|
15
|
-
private
|
|
20
|
+
private _cameraApi;
|
|
21
|
+
private _sceneApi;
|
|
22
|
+
private _raycastApi;
|
|
23
|
+
private _store;
|
|
16
24
|
/** Режим, которым управляет хендлер, нужен только менеджеру */
|
|
17
25
|
readonly mode: SelectMode;
|
|
18
26
|
/** Текущая наведённая грань */
|
|
19
|
-
private
|
|
27
|
+
private readonly _hoverFace;
|
|
20
28
|
/** Текущая выбранная грань */
|
|
29
|
+
private readonly _selectFace;
|
|
30
|
+
/** Текущая группа треугольников для наведённой грани */
|
|
31
|
+
private _hovered;
|
|
32
|
+
/** Текущая группа треугольников для выбранной грани */
|
|
21
33
|
private _selected;
|
|
22
34
|
/** Цвет грани, на которую навелись */
|
|
23
35
|
private readonly _hoverColor;
|
|
24
36
|
/** Цвет выделенной граней */
|
|
25
37
|
private readonly _selectColor;
|
|
26
|
-
/**
|
|
27
|
-
private readonly
|
|
28
|
-
|
|
38
|
+
/** Погрешность на сравнение нормалей */
|
|
39
|
+
private readonly _normalEps;
|
|
40
|
+
/** Погрешность на принадлежность одной плоскости */
|
|
41
|
+
private readonly _planeEps;
|
|
42
|
+
constructor(_cameraApi: ICameraApi, _sceneApi: ISceneApi, _raycastApi: IRaycastApi, _store: ISelectStore);
|
|
43
|
+
/** Обработка текущего режима выборки. */
|
|
29
44
|
handle(payload: EditorEvents[EventTopics.SelectHover] | EditorEvents[EventTopics.SelectClick], type: SelectEventType): void;
|
|
45
|
+
/** Откат текущего режима выборки */
|
|
30
46
|
rollback(): void;
|
|
31
47
|
/** Освобождает ресурсы хендлера, удаляет слушатели и очищает внутренние данные. */
|
|
32
48
|
dispose(): Promise<void> | void;
|
|
49
|
+
/**
|
|
50
|
+
* Инициализация overlay mesh для режима (hover и click).
|
|
51
|
+
* На весь режим используются 2 глобальных mesh на сцене,
|
|
52
|
+
* геометрия которых переписывается под текущую грань.
|
|
53
|
+
*/
|
|
54
|
+
private _makeOverlayFace;
|
|
55
|
+
/**
|
|
56
|
+
* Сбор логической грани как связной группы компланарных треугольников.
|
|
57
|
+
* Если geometry неиндексированная — пока возвращаем только стартовый triangle.
|
|
58
|
+
*/
|
|
59
|
+
private _collectFaceGroup;
|
|
60
|
+
/** Перезаписывает overlay mesh world-space треугольниками выбранной грани */
|
|
61
|
+
private _writeWorldFaceGroup;
|
|
62
|
+
/** Сравнение двух логических граней */
|
|
63
|
+
private _same;
|
|
64
|
+
/** Подготовка метаданных выбранной грани для инструментов */
|
|
65
|
+
private _prepareFaceMetadata;
|
|
66
|
+
/**
|
|
67
|
+
* Центрирует proxy-грань, чтобы TransformControls работали с ней как с обычным объектом.
|
|
68
|
+
* После записи world-space вершин переносит геометрию в локальные координаты proxy mesh.
|
|
69
|
+
*/
|
|
70
|
+
private _centerFaceProxy;
|
|
71
|
+
/** Регистрирует ребро треугольника в edge map */
|
|
72
|
+
private _pushEdge;
|
|
73
|
+
/** Строит граф соседства треугольников по общим ребрам */
|
|
74
|
+
private _buildTriangleAdjacency;
|
|
75
|
+
/** Возвращает индексы трех вершин треугольника */
|
|
76
|
+
private _getTriangleIndices;
|
|
77
|
+
/** Читает вершину из position buffer в local space geometry */
|
|
78
|
+
private _readVertex;
|
|
79
|
+
/** Построение ключа вершины по позиции */
|
|
80
|
+
private _vertexKey;
|
|
81
|
+
/**
|
|
82
|
+
* Строит отображение исходных индексов вершин в "сваренные" ids по координате.
|
|
83
|
+
* Нужно для случаев, когда соседние треугольники визуально делят ребро,
|
|
84
|
+
* но используют разные индексы вершин (например, цилиндрические крышки, UV seams и т.п.).
|
|
85
|
+
*/
|
|
86
|
+
private _buildWeldMap;
|
|
87
|
+
/** Сбрасывает transform proxy-граням */
|
|
88
|
+
private _resetFaceProxyTransform;
|
|
89
|
+
private _buildFaceVertexGroups;
|
|
90
|
+
private _findChildLines;
|
|
91
|
+
private _buildLineVertexGroups;
|
|
33
92
|
}
|
|
34
93
|
//# sourceMappingURL=face-select-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"face-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/face-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"face-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/face-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAWtE;;;;;;;;GAQG;AACH,qBACa,iBAAkB,YAAW,cAAc;IA+B9B,OAAO,CAAC,UAAU;IACnB,OAAO,CAAC,SAAS;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAjCvC,+DAA+D;IAC/D,SAAgB,IAAI,EAAE,UAAU,CAAmB;IAEnD,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IAMzC,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,uDAAuD;IACvD,OAAO,CAAC,SAAS,CAA0B;IAG3C,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAG7C,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAGF,UAAU,EAAE,UAAU,EACvB,SAAS,EAAE,SAAS,EAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY;IAcrD,yCAAyC;IAClC,MAAM,CACX,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,EACtF,IAAI,EAAE,eAAe,GACpB,IAAI;IAyEP,oCAAoC;IAC7B,QAAQ,IAAI,IAAI;IAWvB,mFAAmF;IAC5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAatC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAuGzB,6EAA6E;IAC7E,OAAO,CAAC,oBAAoB;IA8C5B,uCAAuC;IACvC,OAAO,CAAC,KAAK;IAUb,6DAA6D;IAC7D,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8BxB,iDAAiD;IACjD,OAAO,CAAC,SAAS;IAQjB,0DAA0D;IAC1D,OAAO,CAAC,uBAAuB;IA6C/B,kDAAkD;IAClD,OAAO,CAAC,mBAAmB;IAO3B,+DAA+D;IAC/D,OAAO,CAAC,WAAW;IAInB,0CAA0C;IAC1C,OAAO,CAAC,UAAU;IAOlB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA0BrB,wCAAwC;IACxC,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,sBAAsB;IAqE9B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,sBAAsB;CAiC/B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ISelectHandler } from '../../interfaces/handler/select-handler';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ISelectStore } from '../../interfaces/store/select-store';
|
|
3
|
+
import { IRaycastApi } from '../../interfaces/api/raycast-api';
|
|
4
4
|
import { SelectMode } from '@planara/types';
|
|
5
5
|
import { EditorEvents } from '../../events/editor-events';
|
|
6
6
|
import { EventTopics } from '../../events/event-topics';
|
|
@@ -10,7 +10,9 @@ import { SelectEventType } from '../../types/event/select-event-type';
|
|
|
10
10
|
* Управляет сценой через payload события рендерера.
|
|
11
11
|
* Обрабатывает hover и click.
|
|
12
12
|
* Меняет цвет ребер конкретной модели из payload, в случае null возвращает исходное состояние.
|
|
13
|
+
*
|
|
13
14
|
* @internal
|
|
15
|
+
* @class
|
|
14
16
|
*/
|
|
15
17
|
export declare class MeshSelectHandler implements ISelectHandler {
|
|
16
18
|
private _api;
|
|
@@ -27,7 +29,7 @@ export declare class MeshSelectHandler implements ISelectHandler {
|
|
|
27
29
|
private readonly _selectColor;
|
|
28
30
|
/** Исходные цвета материалов линий для отката */
|
|
29
31
|
private readonly _origLineColors;
|
|
30
|
-
constructor(_api:
|
|
32
|
+
constructor(_api: IRaycastApi, _store: ISelectStore);
|
|
31
33
|
handle(payload: EditorEvents[EventTopics.SelectHover] | EditorEvents[EventTopics.SelectClick], type: SelectEventType): void;
|
|
32
34
|
rollback(): void;
|
|
33
35
|
/** Освобождает ресурсы хендлера, удаляет слушатели и очищает внутренние данные. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/mesh-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAItE
|
|
1
|
+
{"version":3,"file":"mesh-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/mesh-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAItE;;;;;;;;GAQG;AACH,qBACa,iBAAkB,YAAW,cAAc;IAkB7B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IAlBvC,+DAA+D;IAC/D,SAAgB,IAAI,EAAE,UAAU,CAAmB;IAEnD,kDAAkD;IAClD,OAAO,CAAC,YAAY,CAA2B;IAC/C,8CAA8C;IAC9C,OAAO,CAAC,aAAa,CAA2B;IAGhD,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkD;gBAGjD,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,YAAY;IAG9C,MAAM,CACX,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,EACtF,IAAI,EAAE,eAAe,GACpB,IAAI;IAuDA,QAAQ,IAAI,IAAI;IAUvB,mFAAmF;IAC5E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItC;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAa3B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { IEditorApi } from '../../types/api/editor-api';
|
|
2
1
|
import { ISelectHandler } from '../../interfaces/handler/select-handler';
|
|
3
|
-
import {
|
|
2
|
+
import { ISelectStore } from '../../interfaces/store/select-store';
|
|
3
|
+
import { ICameraApi } from '../../interfaces/api/camera-api';
|
|
4
|
+
import { ISceneApi } from '../../interfaces/api/scene-api';
|
|
5
|
+
import { IRaycastApi } from '../../interfaces/api/raycast-api';
|
|
4
6
|
import { SelectMode } from '@planara/types';
|
|
5
7
|
import { EditorEvents } from '../../events/editor-events';
|
|
6
8
|
import { EventTopics } from '../../events/event-topics';
|
|
@@ -10,10 +12,14 @@ import { SelectEventType } from '../../types/event/select-event-type';
|
|
|
10
12
|
* Управляет сценой через payload события рендерера.
|
|
11
13
|
* Обрабатывает hover и click.
|
|
12
14
|
* Меняет цвет вершины конкретной модели из payload, в случае null возвращает исходное состояние.
|
|
15
|
+
*
|
|
13
16
|
* @internal
|
|
17
|
+
* @class
|
|
14
18
|
*/
|
|
15
19
|
export declare class VertexSelectHandler implements ISelectHandler {
|
|
16
|
-
private
|
|
20
|
+
private _cameraApi;
|
|
21
|
+
private _sceneApi;
|
|
22
|
+
private _raycastApi;
|
|
17
23
|
private _store;
|
|
18
24
|
/** Режим, которым управляет хендлер, нужен только менеджеру */
|
|
19
25
|
readonly mode: SelectMode;
|
|
@@ -27,7 +33,7 @@ export declare class VertexSelectHandler implements ISelectHandler {
|
|
|
27
33
|
private readonly _hoverColor;
|
|
28
34
|
/** Цвет выделенного ребра */
|
|
29
35
|
private readonly _selectColor;
|
|
30
|
-
constructor(
|
|
36
|
+
constructor(_cameraApi: ICameraApi, _sceneApi: ISceneApi, _raycastApi: IRaycastApi, _store: ISelectStore);
|
|
31
37
|
handle(payload: EditorEvents[EventTopics.SelectHover] | EditorEvents[EventTopics.SelectClick], type: SelectEventType): void;
|
|
32
38
|
rollback(): void;
|
|
33
39
|
dispose(): Promise<void> | void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/vertex-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vertex-select-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/select/vertex-select-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAQtE;;;;;;;;GAQG;AACH,qBACa,mBAAoB,YAAW,cAAc;IAmBhC,OAAO,CAAC,UAAU;IACnB,OAAO,CAAC,SAAS;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IArBvC,+DAA+D;IAC/D,SAAgB,IAAI,EAAE,UAAU,CAAqB;IAErD,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,SAAS,CAAwD;IAEzE,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAG7C,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAGb,UAAU,EAAE,UAAU,EACvB,SAAS,EAAE,SAAS,EAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY;IAc9C,MAAM,CACX,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,EACtF,IAAI,EAAE,eAAe,GACpB,IAAI;IAqEA,QAAQ,IAAI,IAAI;IAUhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAetC,OAAO,CAAC,kBAAkB;IA2B1B,iFAAiF;IACjF,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,KAAK;IAOb,mFAAmF;IACnF,OAAO,CAAC,sBAAsB;IAuE9B,iDAAiD;IACjD,OAAO,CAAC,oBAAoB;CA2B7B"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { ToolType } from '@planara/types';
|
|
2
|
-
import {
|
|
2
|
+
import { ITransformApi } from '../../interfaces/api/transform-api';
|
|
3
3
|
import { IToolHandler } from '../../interfaces/handler/tool-handler';
|
|
4
|
-
import {
|
|
4
|
+
import { ITransformStore } from '../../interfaces/store/transform-store';
|
|
5
5
|
/**
|
|
6
6
|
* Базовый класс для инструментов
|
|
7
|
+
*
|
|
7
8
|
* @internal
|
|
9
|
+
* @class
|
|
10
|
+
* @abstract
|
|
8
11
|
*/
|
|
9
12
|
export declare abstract class BaseToolHandler implements IToolHandler {
|
|
10
|
-
protected api:
|
|
11
|
-
protected store:
|
|
13
|
+
protected api: ITransformApi;
|
|
14
|
+
protected store: ITransformStore;
|
|
12
15
|
abstract readonly mode: ToolType;
|
|
13
|
-
private _unsubscribeTransform;
|
|
14
|
-
protected constructor(api:
|
|
16
|
+
private readonly _unsubscribeTransform;
|
|
17
|
+
protected constructor(api: ITransformApi, store: ITransformStore);
|
|
15
18
|
/**
|
|
16
19
|
* Обновляет состояние инструмента под текущее выделение.
|
|
17
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/base-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"base-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/base-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E;;;;;;GAMG;AACH,8BAAsB,eAAgB,YAAW,YAAY;IAMzD,SAAS,CAAC,GAAG,EAAE,aAAa;IAC5B,SAAS,CAAC,KAAK,EAAE,eAAe;IANlC,kBAAyB,IAAI,EAAE,QAAQ,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IAEnD,SAAS,aACG,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,eAAe;IAUlC;;OAEG;IACI,MAAM,IAAI,IAAI;IAarB;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAIvB,sCAAsC;IAC/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAOvC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseToolHandler } from './base-tool-handler';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ITransformApi } from '../../interfaces/api/transform-api';
|
|
3
|
+
import { ITransformStore } from '../../interfaces/store/transform-store';
|
|
4
4
|
import { ToolType } from '@planara/types';
|
|
5
5
|
/**
|
|
6
6
|
* Хендлер инструмента «вращение».
|
|
@@ -10,11 +10,12 @@ import { ToolType } from '@planara/types';
|
|
|
10
10
|
* - прикрепляет к текущему объекту или отцепляет его.
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
|
+
* @class
|
|
13
14
|
* @extends BaseToolHandler
|
|
14
15
|
*/
|
|
15
16
|
export declare class RotateToolHandler extends BaseToolHandler {
|
|
16
17
|
/** Инструмент, которым управляет хендлер, нужен только менеджеру */
|
|
17
18
|
readonly mode: ToolType;
|
|
18
|
-
constructor(api:
|
|
19
|
+
constructor(api: ITransformApi, store: ITransformStore);
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=rotate-tool-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotate-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/rotate-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"rotate-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/rotate-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;;;;;;;;;GAUG;AACH,qBACa,iBAAkB,SAAQ,eAAe;IACpD,oEAAoE;IACpE,SAAgB,IAAI,EAAE,QAAQ,CAAmB;gBAGtB,GAAG,EAAE,aAAa,EACpB,KAAK,EAAE,eAAe;CAIhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseToolHandler } from './base-tool-handler';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ITransformApi } from '../../interfaces/api/transform-api';
|
|
3
|
+
import { ITransformStore } from '../../interfaces/store/transform-store';
|
|
4
4
|
import { ToolType } from '@planara/types';
|
|
5
5
|
/**
|
|
6
6
|
* Хендлер инструмента «масштабирование».
|
|
@@ -10,11 +10,12 @@ import { ToolType } from '@planara/types';
|
|
|
10
10
|
* - прикрепляет к текущему объекту или отцепляет его.
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
|
+
* @class
|
|
13
14
|
* @extends BaseToolHandler
|
|
14
15
|
*/
|
|
15
16
|
export declare class ScaleToolHandler extends BaseToolHandler {
|
|
16
17
|
/** Инструмент, которым управляет хендлер, нужен только менеджеру */
|
|
17
18
|
readonly mode: ToolType;
|
|
18
|
-
constructor(api:
|
|
19
|
+
constructor(api: ITransformApi, store: ITransformStore);
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=scale-tool-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/scale-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"scale-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/scale-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;;;;;;;;;GAUG;AACH,qBACa,gBAAiB,SAAQ,eAAe;IACnD,oEAAoE;IACpE,SAAgB,IAAI,EAAE,QAAQ,CAAkB;gBAGrB,GAAG,EAAE,aAAa,EACpB,KAAK,EAAE,eAAe;CAIhD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseToolHandler } from './base-tool-handler';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ITransformApi } from '../../interfaces/api/transform-api';
|
|
3
|
+
import { ITransformStore } from '../../interfaces/store/transform-store';
|
|
4
4
|
import { ToolType } from '@planara/types';
|
|
5
5
|
/**
|
|
6
6
|
* Хендлер инструмента «перемещение».
|
|
@@ -10,11 +10,12 @@ import { ToolType } from '@planara/types';
|
|
|
10
10
|
* - прикрепляет к текущему объекту или отцепляет его.
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
|
+
* @class
|
|
13
14
|
* @extends BaseToolHandler
|
|
14
15
|
*/
|
|
15
16
|
export declare class TranslateToolHandler extends BaseToolHandler {
|
|
16
17
|
/** Инструмент, которым управляет хендлер, нужен только менеджеру */
|
|
17
18
|
readonly mode: ToolType;
|
|
18
|
-
constructor(api:
|
|
19
|
+
constructor(api: ITransformApi, store: ITransformStore);
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=translate-tool-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/translate-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"translate-tool-handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/tool/translate-tool-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;;;;;;;;;GAUG;AACH,qBACa,oBAAqB,SAAQ,eAAe;IACvD,oEAAoE;IACpE,SAAgB,IAAI,EAAE,QAAQ,CAAsB;gBAGzB,GAAG,EAAE,aAAa,EACpB,KAAK,EAAE,eAAe;CAIhD"}
|
package/dist/hub/app-hub.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { EditorHub } from './editor-hub';
|
|
|
7
7
|
export declare const createAppHub: (canvas: HTMLCanvasElement) => EditorHub;
|
|
8
8
|
/**
|
|
9
9
|
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
10
|
+
* @public
|
|
10
11
|
*/
|
|
11
12
|
export declare const getAppHub: () => EditorHub;
|
|
12
13
|
//# sourceMappingURL=app-hub.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../../src/hub/app-hub.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,iBAAiB,KAAG,SAOxD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../../src/hub/app-hub.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,iBAAiB,KAAG,SAOxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAO,SAM5B,CAAC"}
|
package/dist/hub/editor-hub.d.ts
CHANGED
|
@@ -1,30 +1,35 @@
|
|
|
1
|
+
import { Renderer } from '../core/renderer';
|
|
1
2
|
import { Disposable } from 'tsyringe';
|
|
2
3
|
import { DisplayMode, FigureTransform, FigureType, SceneMode, SelectMode, ToolType } from '@planara/types';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { ISceneManager } from '../interfaces/manager/scene-manager';
|
|
8
|
-
import { IEditorStore } from '../interfaces/store/editor-store';
|
|
4
|
+
import { IResponse } from '../interfaces/response';
|
|
5
|
+
import { IController } from '../interfaces/controller/controller';
|
|
6
|
+
import { ITransformStore } from '../interfaces/store/transform-store';
|
|
7
|
+
import { IMediator } from '../interfaces/mediator';
|
|
9
8
|
/**
|
|
10
9
|
* Хаб для управления редактированием
|
|
11
10
|
* @public
|
|
12
11
|
*/
|
|
13
12
|
export declare class EditorHub implements Disposable {
|
|
14
|
-
private _displayManager;
|
|
15
|
-
private _selectManager;
|
|
16
|
-
private _toolManager;
|
|
17
|
-
private _sceneManager;
|
|
18
13
|
private _renderer;
|
|
14
|
+
private _mediator;
|
|
19
15
|
private _store;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
private _controller;
|
|
17
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _controller: IController);
|
|
18
|
+
setDisplayMode(mode: DisplayMode): IResponse | null;
|
|
19
|
+
setSceneMode(mode: SceneMode): IResponse | null;
|
|
20
|
+
setSelectMode(mode: SelectMode): IResponse | null;
|
|
21
|
+
setToolMode(mode: ToolType): IResponse | null;
|
|
22
|
+
addFigure(mode: SceneMode, figure: FigureType): IResponse | null;
|
|
25
23
|
resizeRenderer(): void;
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Запускает редактор.
|
|
26
|
+
* Вызывается после создания хаба.
|
|
27
|
+
*/
|
|
28
|
+
start(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Останавливает редактор.
|
|
31
|
+
*/
|
|
32
|
+
stop(): void;
|
|
28
33
|
getSelectionStats(): FigureTransform | null;
|
|
29
34
|
onSelectionStatsChange(listener: () => void): () => void;
|
|
30
35
|
dispose(): Promise<void> | void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-hub.d.ts","sourceRoot":"","sources":["../../src/hub/editor-hub.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAE/D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"editor-hub.d.ts","sourceRoot":"","sources":["../../src/hub/editor-hub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAsB,MAAM,UAAU,CAAC;AAE/D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;GAGG;AACH,qBACa,SAAU,YAAW,UAAU;IAEpB,OAAO,CAAC,SAAS;IAChB,OAAO,CAAC,SAAS;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;gBAHd,SAAS,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EAClB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,WAAW;IAMlD,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAOnD,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAO/C,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAOjD,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAO7C,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI;IAOhE,cAAc;IAIrB;;;OAGG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAIZ,iBAAiB,IAAI,eAAe,GAAG,IAAI;IAI3C,sBAAsB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAexD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAGvC"}
|