@planara/core 2.8.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/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/index.d.ts +5 -0
- package/dist/api/modules/index.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/index.d.ts +4 -0
- package/dist/api/renderer/index.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/index.d.ts +6 -0
- package/dist/constants/index.d.ts.map +1 -0
- 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/index.d.ts +2 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/renderer-controller.d.ts +72 -0
- package/dist/controllers/renderer-controller.d.ts.map +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/renderer.d.ts +105 -78
- 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 +5 -0
- package/dist/decorators/use-policy.d.ts.map +1 -0
- 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 +9 -0
- package/dist/errors/policy-error.d.ts.map +1 -0
- 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 +3 -7
- package/dist/events/editor-events.d.ts.map +1 -1
- package/dist/events/event-bus.d.ts +103 -6
- 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/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 +4 -2
- package/dist/handlers/display/wireframe-handler.d.ts.map +1 -1
- package/dist/handlers/scene/add-figure-scene-handler.d.ts +4 -2
- package/dist/handlers/scene/add-figure-scene-handler.d.ts.map +1 -1
- package/dist/handlers/scene/delete-figure-scene-handler.d.ts +4 -4
- 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 +11 -8
- package/dist/handlers/select/edge-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/face-select-handler.d.ts +11 -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 +8 -7
- package/dist/handlers/select/mesh-select-handler.d.ts.map +1 -1
- package/dist/handlers/select/vertex-select-handler.d.ts +11 -8
- package/dist/handlers/select/vertex-select-handler.d.ts.map +1 -1
- package/dist/handlers/tool/base-tool-handler.d.ts +10 -7
- 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 +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/editor-hub.d.ts +26 -18
- 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 +16 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +2615 -1627
- package/dist/index.full.d.ts +650 -245
- package/dist/index.public.d.ts +665 -160
- package/dist/index.umd.js +20 -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/index.d.ts +9 -0
- package/dist/interfaces/api/index.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/index.d.ts +6 -0
- package/dist/interfaces/api/renderer/index.d.ts.map +1 -0
- 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/index.d.ts +38 -0
- package/dist/interfaces/controller/index.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/index.d.ts +6 -0
- package/dist/interfaces/handler/index.d.ts.map +1 -0
- 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/index.d.ts +6 -0
- package/dist/interfaces/manager/index.d.ts.map +1 -0
- 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/index.d.ts +4 -0
- package/dist/interfaces/module/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/store/display-store.d.ts +21 -0
- package/dist/interfaces/store/display-store.d.ts.map +1 -0
- 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 +44 -0
- 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/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 +7 -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 +7 -4
- 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 +8 -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 +9 -6
- 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 +12 -0
- package/dist/middlewares/exception-middleware.d.ts.map +1 -0
- package/dist/middlewares/index.d.ts +2 -0
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/modules/controls-module.d.ts +60 -0
- package/dist/modules/controls-module.d.ts.map +1 -0
- package/dist/modules/gizmo-module.d.ts +32 -0
- package/dist/modules/gizmo-module.d.ts.map +1 -0
- package/dist/modules/index.d.ts +6 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/raycast-module.d.ts +87 -0
- package/dist/modules/raycast-module.d.ts.map +1 -0
- package/dist/modules/scene-module.d.ts +31 -0
- package/dist/modules/scene-module.d.ts.map +1 -0
- 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 +18 -0
- package/dist/policy/tool-policy.d.ts.map +1 -0
- 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 -45
- 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/feature-type.d.ts +16 -0
- package/dist/types/feature/feature-type.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/core/editor-renderer.d.ts +0 -89
- 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/hub/app-hub.d.ts +0 -13
- package/dist/hub/app-hub.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 +0 -52
- 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
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { IRuntimeModule } from './runtime-module';
|
|
2
|
+
/**
|
|
3
|
+
* Интерфейс для модулей, требующих периодического обновления.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Некоторые модули должны выполнять код каждый кадр анимации:
|
|
7
|
+
* - `ControlsModule` — обновление OrbitControls (`update()`)
|
|
8
|
+
* - анимации, физика, кастомные эффекты
|
|
9
|
+
*
|
|
10
|
+
* В отличие от {@link IRuntimeModule}, который инициализируется один раз,
|
|
11
|
+
* модули с `IUpdatableModule` получают вызов `update()` каждый кадр
|
|
12
|
+
* через цикл рендеринга.
|
|
13
|
+
*
|
|
14
|
+
* Оркестрацией вызовов `update()` занимается `EditorRenderer`.
|
|
15
|
+
*
|
|
16
|
+
* @see {@link IRuntimeModule} - для одноразовой инициализации
|
|
17
|
+
* @see {@link IRenderableModule} - для модулей с кастомным рендером
|
|
18
|
+
* @see {@link ControlsModule} - пример реализации
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export interface IUpdatableModule extends IRuntimeModule {
|
|
23
|
+
/**
|
|
24
|
+
* Вызывается каждый кадр перед рендером.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* Здесь модуль должен обновлять своё состояние:
|
|
28
|
+
* - обновлять контролы (`OrbitControls.update()`)
|
|
29
|
+
* - пересчитывать анимации
|
|
30
|
+
* - проверять условия и реагировать на изменения
|
|
31
|
+
*
|
|
32
|
+
* Важно: метод не должен выполнять тяжёлые операции,
|
|
33
|
+
* чтобы не снижать производительность.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* public update(): void {
|
|
38
|
+
* this._orbit.update();
|
|
39
|
+
* this._updateAnimations();
|
|
40
|
+
* this._checkForChanges();
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
update(): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=updatable-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updatable-module.d.ts","sourceRoot":"","sources":["../../../src/interfaces/module/updatable-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Интерфейс политики.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Политика проверяет, разрешено ли действие в текущем контексте.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
* @interface
|
|
9
|
+
*/
|
|
10
|
+
export interface IPolicy {
|
|
11
|
+
/**
|
|
12
|
+
* Проверка политики.
|
|
13
|
+
*
|
|
14
|
+
* @param args - параметры, необходимые для проверки
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @method
|
|
18
|
+
*/
|
|
19
|
+
check(...args: unknown[]): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/policy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACjC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DisplayMode } from '@planara/types';
|
|
2
|
+
/**
|
|
3
|
+
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Display фичей,
|
|
4
|
+
* необходим для корректного взаимодействия между группами фичей.
|
|
5
|
+
*
|
|
6
|
+
* Можно получить:
|
|
7
|
+
* - текущий режим отображения
|
|
8
|
+
*
|
|
9
|
+
* @public
|
|
10
|
+
* @interface
|
|
11
|
+
*/
|
|
12
|
+
export interface IDisplayStore {
|
|
13
|
+
/** Возвращает текущий режим отображения. */
|
|
14
|
+
getDisplayMode(): DisplayMode;
|
|
15
|
+
/**
|
|
16
|
+
* Устанавливает режим отображения.
|
|
17
|
+
* @param mode - Режим отображения (зависит от твоего домена).
|
|
18
|
+
*/
|
|
19
|
+
setDisplayMode(mode: DisplayMode): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=display-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-store.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/display-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,cAAc,IAAI,WAAW,CAAC;IAE9B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-store.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/export-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,cAAc;AACd,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC;IACjC,WAAW,IAAI,IAAI,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FigureTransform, SelectMode } from '@planara/types';
|
|
2
|
+
import { SelectedListener } from '../../types/listener';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Select фичей,
|
|
6
|
+
* необходим для корректного взаимодействия между группами фичей.
|
|
7
|
+
*
|
|
8
|
+
* Можно получить:
|
|
9
|
+
* - режим выборки
|
|
10
|
+
* - выбранный объект
|
|
11
|
+
* - подписаться на изменение объекта
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
* @interface
|
|
15
|
+
*/
|
|
16
|
+
export interface ISelectStore {
|
|
17
|
+
/** Возвращает текущий режим выбора. */
|
|
18
|
+
getSelectMode(): SelectMode;
|
|
19
|
+
/**
|
|
20
|
+
* Устанавливает режим выбора.
|
|
21
|
+
* @param mode - Режим выбора (Mesh/Face/Edge/Vertex и т.п.).
|
|
22
|
+
*/
|
|
23
|
+
setSelectMode(mode: SelectMode): void;
|
|
24
|
+
/**
|
|
25
|
+
* Возвращает текущий выбранный объект сцены.
|
|
26
|
+
* @remarks
|
|
27
|
+
* Предполагается, что до вызова этого метода уже был
|
|
28
|
+
* вызван {@link ISelectStore.setSelectedObject}. Иначе результат не определён.
|
|
29
|
+
*/
|
|
30
|
+
getSelectedObject(): THREE.Object3D | null;
|
|
31
|
+
/** Возвращает актуальную статистику по трансформации выбранного объекта. */
|
|
32
|
+
getSelectionStats(): FigureTransform | null;
|
|
33
|
+
/**
|
|
34
|
+
* Устанавливает текущий выбранный объект сцены.
|
|
35
|
+
* @param object - Ссылка на объект `THREE.Object3D`, который считается выбранным.
|
|
36
|
+
*/
|
|
37
|
+
setSelectedObject(object: THREE.Object3D | null): void;
|
|
38
|
+
/**
|
|
39
|
+
* Регистрирует callback, вызываемый при каждом изменении выбранного 3D-объекта.
|
|
40
|
+
* @param cb - Callback, получающий текущий выбранный объект (`THREE.Object3D | null`).
|
|
41
|
+
*/
|
|
42
|
+
onSelectedObjectChange(cb: SelectedListener): () => void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=select-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-store.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/select-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,aAAa,IAAI,UAAU,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,iBAAiB,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAE3C,4EAA4E;IAC5E,iBAAiB,IAAI,eAAe,GAAG,IAAI,CAAC;IAE5C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IAEvD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;CAC1D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ToolType } from '@planara/types';
|
|
2
|
+
import { TransformListener } from '../../types/listener';
|
|
3
|
+
/**
|
|
4
|
+
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Tool фичей,
|
|
5
|
+
* необходим для корректного взаимодействия между группами фичей.
|
|
6
|
+
*
|
|
7
|
+
* Можно получить:
|
|
8
|
+
* - выбранный инструмент
|
|
9
|
+
* - подписаться на изменение трансформации объекта
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
* @interface
|
|
13
|
+
*/
|
|
14
|
+
export interface IToolStore {
|
|
15
|
+
/** Возвращает текущий активный инструмент. */
|
|
16
|
+
getToolType(): ToolType;
|
|
17
|
+
/**
|
|
18
|
+
* Устанавливает активный инструмент.
|
|
19
|
+
* @param toolType - Тип инструмента (Translate/Rotate/Scale и т.п.).
|
|
20
|
+
*/
|
|
21
|
+
setToolType(toolType: ToolType): void;
|
|
22
|
+
/** Подписывает слушателя на изменения трансформации выбранного объекта. */
|
|
23
|
+
onSelectedTransformChange(cb: TransformListener): () => void;
|
|
24
|
+
/** Уведомляет всех подписчиков о том, что трансформация выбранного объекта изменилась. */
|
|
25
|
+
notifySelectedTransformChange(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=tool-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-store.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/tool-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,WAAW,IAAI,QAAQ,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEtC,2EAA2E;IAC3E,yBAAyB,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAC;IAE7D,0FAA0F;IAC1F,6BAA6B,IAAI,IAAI,CAAC;CACvC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ISelectStore } from './select-store';
|
|
2
|
+
import { IToolStore } from './tool-store';
|
|
3
|
+
/**
|
|
4
|
+
* Обобщенный интерфейс для хендлеров инструментов (`IToolHandler`).
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
* @interface
|
|
8
|
+
*/
|
|
9
|
+
export interface ITransformStore extends ISelectStore, IToolStore {
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=transform-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-store.d.ts","sourceRoot":"","sources":["../../../src/interfaces/store/transform-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY,EAAE,UAAU;CAAG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Интерфейс валидатора.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Валидатор проверяет входные аргументы метода.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
* @interface
|
|
9
|
+
*/
|
|
10
|
+
export interface IValidator {
|
|
11
|
+
/**
|
|
12
|
+
* Проверка аргументов.
|
|
13
|
+
*
|
|
14
|
+
* @param args - параметры, необходимые для проверки
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @method
|
|
18
|
+
*/
|
|
19
|
+
validate(...args: unknown[]): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interfaces/validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACpC"}
|
package/dist/ioc/container.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { DependencyContainer } from 'tsyringe';
|
|
2
|
+
import { RendererConfigInput } from '@planara/types';
|
|
2
3
|
declare const container: DependencyContainer;
|
|
3
|
-
export declare function
|
|
4
|
+
export declare function createEditorContainer(canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput): DependencyContainer;
|
|
5
|
+
export declare function createViewerContainer(canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput): DependencyContainer;
|
|
4
6
|
export { container };
|
|
5
7
|
//# sourceMappingURL=container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/ioc/container.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAgC,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/ioc/container.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAgC,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAmElF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM1D,QAAA,MAAM,SAAS,qBAAyC,CAAC;AAEzD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,mBAAmB,GACnC,mBAAmB,CAuGrB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,mBAAmB,GACnC,mBAAmB,CAiErB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { IDisplayManager } from '../../interfaces/manager
|
|
2
|
-
import { IDisplayHandler } from '../../interfaces/handler
|
|
3
|
-
import {
|
|
1
|
+
import { IDisplayManager } from '../../interfaces/manager';
|
|
2
|
+
import { IDisplayHandler } from '../../interfaces/handler';
|
|
3
|
+
import { IDisplayStore } from '../../interfaces/store';
|
|
4
4
|
import { DisplayMode } from '@planara/types';
|
|
5
|
+
import { FeatureType } from '../../types/feature';
|
|
5
6
|
/**
|
|
6
7
|
* Менеджер для управления отображением
|
|
7
8
|
* @internal
|
|
@@ -12,7 +13,9 @@ export declare class DisplayManager implements IDisplayManager {
|
|
|
12
13
|
private _currentMode;
|
|
13
14
|
/** Хендлеры, которые управляют отображением */
|
|
14
15
|
private readonly _handlers;
|
|
15
|
-
|
|
16
|
+
/** Тип фичи, за которую отвечает менеджер. */
|
|
17
|
+
type: FeatureType;
|
|
18
|
+
constructor(handlers: IDisplayHandler[], _store: IDisplayStore);
|
|
16
19
|
/** Установка режима отображения */
|
|
17
20
|
manage(mode: DisplayMode): void;
|
|
18
21
|
/** Освобождает ресурсы менеджера. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/display/display-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"display-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/display/display-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,qBACa,cAAe,YAAW,eAAe;IAY3B,OAAO,CAAC,MAAM;IAXvC,gCAAgC;IAChC,OAAO,CAAC,YAAY,CAAkC;IAEtD,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,8CAA8C;IACvC,IAAI,EAAE,WAAW,CAAuB;gBAGf,QAAQ,EAAE,eAAe,EAAE,EAC1B,MAAM,EAAE,aAAa;IAKtD,mCAAmC;IAC5B,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAgBtC,qCAAqC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAUvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/managers/display/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/managers/scene/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { ISceneHandler } from '../../interfaces/handler';
|
|
2
|
+
import { ISceneManager } from '../../interfaces/manager';
|
|
3
|
+
import { SceneMode } from '@planara/types';
|
|
4
|
+
import { FeatureType } from '../../types/feature';
|
|
4
5
|
/**
|
|
5
6
|
* Менеджер для управления сценой
|
|
6
7
|
* @internal
|
|
@@ -10,9 +11,11 @@ export declare class SceneManager implements ISceneManager {
|
|
|
10
11
|
private _currentMode;
|
|
11
12
|
/** Хендлеры, которые управляют отображением */
|
|
12
13
|
private readonly _handlers;
|
|
14
|
+
/** Тип фичи, за которую отвечает менеджер. */
|
|
15
|
+
type: FeatureType;
|
|
13
16
|
constructor(handlers: ISceneHandler[]);
|
|
14
17
|
/** Установка режима редактирования сцены */
|
|
15
|
-
manage(mode: SceneMode,
|
|
18
|
+
manage(mode: SceneMode, payload?: unknown): void;
|
|
16
19
|
/** Освобождает ресурсы менеджера. */
|
|
17
20
|
dispose(): Promise<void> | void;
|
|
18
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/scene/scene-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scene-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/scene/scene-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,qBACa,YAAa,YAAW,aAAa;IAChD,yCAAyC;IACzC,OAAO,CAAC,YAAY,CAAkC;IAEtD,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IAErD,8CAA8C;IACvC,IAAI,EAAE,WAAW,CAAqB;gBAEE,QAAQ,EAAE,aAAa,EAAE;IAIxE,4CAA4C;IACrC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAUvD,qCAAqC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CASvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/managers/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ISelectManager } from '../../interfaces/manager/select-manager';
|
|
3
|
-
import { IEditorStore } from '../../interfaces/store/editor-store';
|
|
4
|
-
import { EventBus } from '../../events/event-bus';
|
|
1
|
+
import { EventBus } from '../../events';
|
|
5
2
|
import { SelectMode } from '@planara/types';
|
|
3
|
+
import { FeatureType } from '../../types/feature';
|
|
4
|
+
import { ISelectHandler } from '../../interfaces/handler';
|
|
5
|
+
import { ISelectManager } from '../../interfaces/manager';
|
|
6
|
+
import { ISelectStore } from '../../interfaces/store';
|
|
6
7
|
/**
|
|
7
8
|
* Менеджер, который управляет режимами выборки.
|
|
8
9
|
* Поддерживает режимы Mesh/Face/Edge/Vertex.
|
|
@@ -15,7 +16,9 @@ export declare class SelectManager implements ISelectManager {
|
|
|
15
16
|
private _currentMode;
|
|
16
17
|
/** Хендлеры, которые управляют выборкой */
|
|
17
18
|
private readonly _handlers;
|
|
18
|
-
|
|
19
|
+
/** Тип фичи, за которую отвечает менеджер. */
|
|
20
|
+
type: FeatureType;
|
|
21
|
+
constructor(_eventBus: EventBus, handlers: ISelectHandler[], _store: ISelectStore);
|
|
19
22
|
/** Переключает режим выбора */
|
|
20
23
|
manage(mode: SelectMode): void;
|
|
21
24
|
/** Обработчик события наведения на модель */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/select/select-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/select/select-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAkC,MAAM,UAAU,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,qBACa,aAAc,YAAW,cAAc;IAW5B,OAAO,CAAC,SAAS;IAEd,OAAO,CAAC,MAAM;IAZvC,4BAA4B;IAC5B,OAAO,CAAC,YAAY,CAA+B;IAEnD,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IAEtD,8CAA8C;IACvC,IAAI,EAAE,WAAW,CAAsB;gBAGhB,SAAS,EAAE,QAAQ,EAClB,QAAQ,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,YAAY;IAUrD,+BAA+B;IACxB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAYrC,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAMd;IAEF,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAMd;IAEF,qCAAqC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAWvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/managers/tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { IToolHandler } from '../../interfaces/handler
|
|
2
|
-
import { IToolManager } from '../../interfaces/manager
|
|
3
|
-
import {
|
|
1
|
+
import { IToolHandler } from '../../interfaces/handler';
|
|
2
|
+
import { IToolManager } from '../../interfaces/manager';
|
|
3
|
+
import { ITransformStore } from '../../interfaces/store';
|
|
4
|
+
import { IPolicy } from '../../interfaces/policy';
|
|
4
5
|
import { ToolType } from '@planara/types';
|
|
6
|
+
import { FeatureType } from '../../types/feature';
|
|
5
7
|
export declare class ToolManager implements IToolManager {
|
|
6
8
|
private _store;
|
|
9
|
+
private _policy;
|
|
7
10
|
/** Текущий выбранный инструмент */
|
|
8
11
|
private _currentTool;
|
|
9
12
|
/** Хендлеры, которые управляют инструментами */
|
|
10
13
|
private readonly _handlers;
|
|
11
14
|
/** Событие обновления выбора объекта */
|
|
12
15
|
private readonly _unsubSelected?;
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
constructor(handlers: IToolHandler[], _store:
|
|
16
|
+
/** Тип фичи, за которую отвечает менеджер. */
|
|
17
|
+
type: FeatureType;
|
|
18
|
+
constructor(handlers: IToolHandler[], _store: ITransformStore, _policy: IPolicy);
|
|
16
19
|
manage(tool: ToolType): void;
|
|
17
20
|
/** Освобождает ресурсы менеджера. */
|
|
18
21
|
dispose(): Promise<void> | void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/tool/tool-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-manager.d.ts","sourceRoot":"","sources":["../../../src/managers/tool/tool-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,qBACa,WAAY,YAAW,YAAY;IAerB,OAAO,CAAC,MAAM;IACf,OAAO,CAAC,OAAO;IAfvC,mCAAmC;IACnC,OAAO,CAAC,YAAY,CAAgC;IAEpD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAEpD,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAa;IAE7C,8CAA8C;IACvC,IAAI,EAAE,WAAW,CAAoB;gBAGf,QAAQ,EAAE,YAAY,EAAE,EACpB,MAAM,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO;IAYzC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAcnC,qCAAqC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAWvC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IMediator } from '../interfaces/mediator';
|
|
2
|
+
import { IManager } from '../interfaces/manager';
|
|
3
|
+
import { IMiddleware } from '../interfaces/middleware';
|
|
4
|
+
import { ICommand } from '../interfaces/command';
|
|
5
|
+
import { IResponse } from '@planara/types';
|
|
6
|
+
/** */
|
|
7
|
+
export declare class Mediator implements IMediator {
|
|
8
|
+
private readonly _middlewares;
|
|
9
|
+
private readonly _managers;
|
|
10
|
+
constructor(managers: IManager[], _middlewares: IMiddleware[]);
|
|
11
|
+
send(command: ICommand): IResponse | null;
|
|
12
|
+
dispose(): Promise<void> | void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mediator/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAE9D,MAAM;AACN,qBACa,QAAS,YAAW,SAAS;IAKZ,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAG9B,QAAQ,EAAE,QAAQ,EAAE,EACA,YAAY,EAAE,WAAW,EAAE;IAKjE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;IAwBzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAMvC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IMiddleware } from '../interfaces/middleware';
|
|
2
|
+
import { IResponse } from '@planara/types';
|
|
3
|
+
/**
|
|
4
|
+
* Middleware для перехвата ошибок.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Перехватывает ошибки и формирует IResponse с текстом ошибки и кодом.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ExceptionMiddleware implements IMiddleware {
|
|
10
|
+
handle(next: () => IResponse | null): IResponse | null;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=exception-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exception-middleware.d.ts","sourceRoot":"","sources":["../../src/middlewares/exception-middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAE9D;;;;;GAKG;AACH,qBACa,mBAAoB,YAAW,WAAW;IAC9C,MAAM,CAAC,IAAI,EAAE,MAAM,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;CAuC9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ITransformApi, IControlsStateApi, ISceneApi, IDomApi, ICameraApi } from '../interfaces/api';
|
|
2
|
+
import { IUpdatableModule } from '../interfaces/module';
|
|
3
|
+
import { ToolType } from '@planara/types';
|
|
4
|
+
import { TransformListener } from '../types/listener';
|
|
5
|
+
import * as THREE from 'three';
|
|
6
|
+
/**
|
|
7
|
+
* Модуль управления камерой и трансформацией объектов.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Отвечает за:
|
|
11
|
+
* - управление камерой (OrbitControls) — вращение, панорамирование, масштабирование
|
|
12
|
+
* - управление гизмо (TransformControls) — перемещение, вращение, масштабирование объектов
|
|
13
|
+
*
|
|
14
|
+
* Модуль реализует:
|
|
15
|
+
* - `IRuntimeModule` — жизненный цикл (init/dispose)
|
|
16
|
+
* - `IUpdatableModule` — обновление состояния каждый кадр (update)
|
|
17
|
+
* - `IControlsApi` — публичное API для управления контролами
|
|
18
|
+
* - `IControlsStateApi` — публичное API для получения состояния контролов
|
|
19
|
+
*
|
|
20
|
+
* @see {@link ITransformApi} - публичное API для управления
|
|
21
|
+
* @see {@link IControlsStateApi} - публичное API для получения состояния
|
|
22
|
+
* @see {@link OrbitWithState} - расширенный OrbitControls
|
|
23
|
+
* @see {@link ModelingTransformControls} - расширенный TransformControls
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
* @class
|
|
27
|
+
*/
|
|
28
|
+
export declare class ControlsModule implements IUpdatableModule, ITransformApi, IControlsStateApi {
|
|
29
|
+
private _cameraApi;
|
|
30
|
+
private _domApi;
|
|
31
|
+
private _sceneApi;
|
|
32
|
+
/** Orbit-контроллер для управления камерой */
|
|
33
|
+
private _orbit;
|
|
34
|
+
/** Transform-контроллер для редактирования */
|
|
35
|
+
private _transform;
|
|
36
|
+
private _transformHelper;
|
|
37
|
+
private _transformListeners;
|
|
38
|
+
/** Были ли инициализированы обработчики событий (hover/click) */
|
|
39
|
+
private _isEventListenersAdded;
|
|
40
|
+
constructor(_cameraApi: ICameraApi, _domApi: IDomApi, _sceneApi: ISceneApi);
|
|
41
|
+
init(): void;
|
|
42
|
+
attachTransform(object: THREE.Object3D): void;
|
|
43
|
+
detachTransform(): void;
|
|
44
|
+
update(): void;
|
|
45
|
+
setTransformMode(mode: ToolType): void;
|
|
46
|
+
onTransformChange(callback: TransformListener): () => void;
|
|
47
|
+
isOrbitInteracting(): boolean;
|
|
48
|
+
isTransformDragging(): boolean;
|
|
49
|
+
private readonly _handlePointerDown;
|
|
50
|
+
private readonly _handlePointerMove;
|
|
51
|
+
private readonly _handlePointerUp;
|
|
52
|
+
private readonly _handlePointerLeave;
|
|
53
|
+
private readonly _handleDraggingChanged;
|
|
54
|
+
private readonly _handleObjectChange;
|
|
55
|
+
/** Инициализация обработчиков событий на hover/click */
|
|
56
|
+
private _initMouseListeners;
|
|
57
|
+
/** Освобождает ресурсы модуля */
|
|
58
|
+
dispose(): Promise<void> | void;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=controls-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls-module.d.ts","sourceRoot":"","sources":["../../src/modules/controls-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBACa,cAAe,YAAW,gBAAgB,EAAE,aAAa,EAAE,iBAAiB;IAa/D,OAAO,CAAC,UAAU;IACrB,OAAO,CAAC,OAAO;IACb,OAAO,CAAC,SAAS;IAdxC,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAA+B;IAE7C,8CAA8C;IAC9C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,mBAAmB,CAAgC;IAE3D,iEAAiE;IACjE,OAAO,CAAC,sBAAsB,CAAS;gBAGP,UAAU,EAAE,UAAU,EACzB,OAAO,EAAE,OAAO,EACd,SAAS,EAAE,SAAS;IAG5C,IAAI,IAAI,IAAI;IAkBZ,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAI7C,eAAe,IAAI,IAAI;IAIvB,MAAM,IAAI,IAAI;IAId,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAItC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAK1D,kBAAkB,IAAI,OAAO;IAI7B,mBAAmB,IAAI,OAAO;IAIrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEjC;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;IAEF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAMrC;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAIlC;IAEF,wDAAwD;IACxD,OAAO,CAAC,mBAAmB;IAiB3B,iCAAiC;IAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAgCvC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { IRenderableModule } from '../interfaces/module';
|
|
2
|
+
import { ICameraApi, IDomApi, IRendererApi } from '../interfaces/api';
|
|
3
|
+
/**
|
|
4
|
+
* Модуль для отображения вспомогательных гизмо (осей, ориентации камеры и т.д.).
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Отвечает за отрисовку дополнительных визуальных элементов поверх сцены.
|
|
8
|
+
*
|
|
9
|
+
* Модуль реализует:
|
|
10
|
+
* - `IRuntimeModule` — для инициализации и очистки
|
|
11
|
+
* - `IRenderableModule` — для кастомного рендеринга поверх сцены
|
|
12
|
+
*
|
|
13
|
+
* @see {@link IRuntimeModule} - управление жизненным циклом
|
|
14
|
+
* @see {@link IRenderableModule} - кастомный рендеринг
|
|
15
|
+
* @see {@link CameraAxesGizmo} - конкретная реализация гизмо
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
* @class
|
|
19
|
+
*/
|
|
20
|
+
export declare class GizmoModule implements IRenderableModule {
|
|
21
|
+
private _cameraApi;
|
|
22
|
+
private _domApi;
|
|
23
|
+
private _rendererApi;
|
|
24
|
+
/** Gizmo для управления отображением perspective camera */
|
|
25
|
+
private _cameraGizmo;
|
|
26
|
+
constructor(_cameraApi: ICameraApi, _domApi: IDomApi, _rendererApi: IRendererApi);
|
|
27
|
+
init(): void;
|
|
28
|
+
render(): void;
|
|
29
|
+
/** Освобождение ресурсов модуля */
|
|
30
|
+
dispose(): Promise<void> | void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=gizmo-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gizmo-module.d.ts","sourceRoot":"","sources":["../../src/modules/gizmo-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI1E;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,WAAY,YAAW,iBAAiB;IAK3B,OAAO,CAAC,UAAU;IACrB,OAAO,CAAC,OAAO;IACP,OAAO,CAAC,YAAY;IANjD,2DAA2D;IAC3D,OAAO,CAAC,YAAY,CAAgC;gBAGpB,UAAU,EAAE,UAAU,EACzB,OAAO,EAAE,OAAO,EACR,YAAY,EAAE,YAAY;IAGxD,IAAI,IAAI,IAAI;IAaZ,MAAM,IAAI,IAAI;IAOrB,mCAAmC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAIvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
|