@planara/core 3.0.0 → 3.2.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/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/renderer.d.ts +15 -18
- package/dist/core/renderer.d.ts.map +1 -1
- package/dist/handlers/benchmark/base-benchmark-handler.d.ts +81 -0
- package/dist/handlers/benchmark/base-benchmark-handler.d.ts.map +1 -0
- package/dist/handlers/benchmark/heavy-benchmark-handler.d.ts +33 -0
- package/dist/handlers/benchmark/heavy-benchmark-handler.d.ts.map +1 -0
- package/dist/handlers/benchmark/index.d.ts +6 -0
- package/dist/handlers/benchmark/index.d.ts.map +1 -0
- package/dist/handlers/benchmark/light-benchmark-handler.d.ts +33 -0
- package/dist/handlers/benchmark/light-benchmark-handler.d.ts.map +1 -0
- package/dist/handlers/benchmark/medium-benchmark-handler.d.ts +33 -0
- package/dist/handlers/benchmark/medium-benchmark-handler.d.ts.map +1 -0
- package/dist/handlers/benchmark/mixed-benchmark-handler.d.ts +37 -0
- package/dist/handlers/benchmark/mixed-benchmark-handler.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/benchmark-hub.d.ts +65 -0
- package/dist/hub/benchmark-hub.d.ts.map +1 -0
- package/dist/hub/editor-hub.d.ts +12 -9
- package/dist/hub/editor-hub.d.ts.map +1 -1
- package/dist/hub/index.d.ts +38 -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 +15 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +2838 -1041
- package/dist/index.full.d.ts +275 -97
- package/dist/index.public.d.ts +275 -97
- package/dist/index.umd.js +20 -2
- package/dist/interfaces/api/index.d.ts +12 -0
- package/dist/interfaces/api/index.d.ts.map +1 -0
- package/dist/interfaces/api/interaction-api.d.ts +26 -0
- package/dist/interfaces/api/interaction-api.d.ts.map +1 -0
- package/dist/interfaces/api/metrics-api.d.ts +49 -0
- package/dist/interfaces/api/metrics-api.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/index.d.ts +7 -0
- package/dist/interfaces/api/renderer/index.d.ts.map +1 -0
- package/dist/interfaces/api/renderer/renderer-info-access.d.ts +20 -0
- package/dist/interfaces/api/renderer/renderer-info-access.d.ts.map +1 -0
- package/dist/interfaces/api/renderer-info-api.d.ts +19 -0
- package/dist/interfaces/api/renderer-info-api.d.ts.map +1 -0
- package/dist/interfaces/api/scene-api.d.ts +2 -1
- package/dist/interfaces/api/scene-api.d.ts.map +1 -1
- 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/handler/benchmark-handler.d.ts +22 -0
- package/dist/interfaces/handler/benchmark-handler.d.ts.map +1 -0
- package/dist/interfaces/handler/index.d.ts +7 -0
- package/dist/interfaces/handler/index.d.ts.map +1 -0
- package/dist/interfaces/manager/benchmark-manager.d.ts +10 -0
- package/dist/interfaces/manager/benchmark-manager.d.ts.map +1 -0
- package/dist/interfaces/manager/display-manager.d.ts.map +1 -1
- package/dist/interfaces/manager/index.d.ts +7 -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 +6 -0
- package/dist/interfaces/module/index.d.ts.map +1 -0
- package/dist/interfaces/module/interactive-module.d.ts +32 -0
- package/dist/interfaces/module/interactive-module.d.ts.map +1 -0
- package/dist/interfaces/module/observer-module.d.ts +27 -0
- package/dist/interfaces/module/observer-module.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 +7 -0
- package/dist/interfaces/store/index.d.ts.map +1 -0
- package/dist/interfaces/store/metrics-store.d.ts +60 -0
- package/dist/interfaces/store/metrics-store.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/interfaces/{controller/controller.d.ts → worker/index.d.ts} +5 -5
- package/dist/interfaces/worker/index.d.ts.map +1 -0
- package/dist/managers/benchmark/benchmark-manager.d.ts +27 -0
- package/dist/managers/benchmark/benchmark-manager.d.ts.map +1 -0
- package/dist/managers/benchmark/index.d.ts +2 -0
- package/dist/managers/benchmark/index.d.ts.map +1 -0
- 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 +6 -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 +40 -13
- package/dist/modules/controls-module.d.ts.map +1 -1
- package/dist/modules/gizmo-module.d.ts +18 -6
- package/dist/modules/gizmo-module.d.ts.map +1 -1
- package/dist/modules/index.d.ts +7 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/metrics-module.d.ts +156 -0
- package/dist/modules/metrics-module.d.ts.map +1 -0
- package/dist/modules/raycast-module.d.ts +23 -10
- 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/{api → shared/api}/modules/controls-state-api.d.ts +1 -1
- package/dist/shared/api/modules/controls-state-api.d.ts.map +1 -0
- package/dist/shared/api/modules/index.d.ts +6 -0
- package/dist/shared/api/modules/index.d.ts.map +1 -0
- package/dist/shared/api/modules/interaction-api.d.ts +21 -0
- package/dist/shared/api/modules/interaction-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/modules/mesh-api.d.ts +1 -1
- package/dist/shared/api/modules/mesh-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/modules/raycast-api.d.ts +1 -1
- package/dist/shared/api/modules/raycast-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/modules/transform-api.d.ts +2 -2
- package/dist/shared/api/modules/transform-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/renderer/camera-api.d.ts +2 -2
- package/dist/shared/api/renderer/camera-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/renderer/dom-api.d.ts +2 -2
- package/dist/shared/api/renderer/dom-api.d.ts.map +1 -0
- package/dist/shared/api/renderer/index.d.ts +5 -0
- package/dist/shared/api/renderer/index.d.ts.map +1 -0
- package/dist/shared/api/renderer/renderer-info-api.d.ts +25 -0
- package/dist/shared/api/renderer/renderer-info-api.d.ts.map +1 -0
- package/dist/{api → shared/api}/renderer/scene-api.d.ts +21 -3
- package/dist/shared/api/renderer/scene-api.d.ts.map +1 -0
- package/dist/shared/constants/benchmark.d.ts +5 -0
- package/dist/shared/constants/benchmark.d.ts.map +1 -0
- package/dist/shared/constants/colors.d.ts.map +1 -0
- package/dist/shared/constants/figure-geometries.d.ts.map +1 -0
- package/dist/shared/constants/index.d.ts +7 -0
- package/dist/shared/constants/index.d.ts.map +1 -0
- package/dist/shared/constants/layers.d.ts.map +1 -0
- package/dist/shared/constants/messages.d.ts.map +1 -0
- package/dist/shared/constants/threshold.d.ts.map +1 -0
- package/dist/shared/decorators/index.d.ts +3 -0
- package/dist/shared/decorators/index.d.ts.map +1 -0
- package/dist/{decorators → shared/decorators}/use-policy.d.ts +1 -1
- package/dist/shared/decorators/use-policy.d.ts.map +1 -0
- package/dist/shared/decorators/use-validator.d.ts +5 -0
- package/dist/shared/decorators/use-validator.d.ts.map +1 -0
- package/dist/shared/errors/index.d.ts +3 -0
- package/dist/shared/errors/index.d.ts.map +1 -0
- package/dist/{errors → shared/errors}/policy-error.d.ts +1 -1
- package/dist/shared/errors/policy-error.d.ts.map +1 -0
- package/dist/shared/errors/validation-error.d.ts +9 -0
- package/dist/shared/errors/validation-error.d.ts.map +1 -0
- package/dist/{events → shared/events}/editor-events.d.ts +1 -1
- package/dist/shared/events/editor-events.d.ts.map +1 -0
- package/dist/{events → shared/events}/event-bus.d.ts +1 -1
- package/dist/shared/events/event-bus.d.ts.map +1 -0
- package/dist/shared/events/event-topics.d.ts.map +1 -0
- package/dist/shared/events/index.d.ts +4 -0
- package/dist/shared/events/index.d.ts.map +1 -0
- package/dist/shared/ioc/container.d.ts +10 -0
- package/dist/shared/ioc/container.d.ts.map +1 -0
- package/dist/shared/loaders/obj-loader.d.ts.map +1 -0
- package/dist/shared/policy/index.d.ts +2 -0
- package/dist/shared/policy/index.d.ts.map +1 -0
- package/dist/{policy → shared/policy}/tool-policy.d.ts +2 -2
- package/dist/shared/policy/tool-policy.d.ts.map +1 -0
- package/dist/shared/utils/default-renderer-config.d.ts +9 -0
- package/dist/shared/utils/default-renderer-config.d.ts.map +1 -0
- package/dist/shared/utils/helpers.d.ts +26 -0
- package/dist/shared/utils/helpers.d.ts.map +1 -0
- package/dist/shared/utils/index.d.ts +3 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/validators/index.d.ts +2 -0
- package/dist/shared/validators/index.d.ts.map +1 -0
- package/dist/shared/validators/obj-validator.d.ts +12 -0
- package/dist/shared/validators/obj-validator.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 +3 -35
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/metrics-store.d.ts +32 -0
- package/dist/store/metrics-store.d.ts.map +1 -0
- 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 +3 -1
- package/dist/types/feature/feature-type.d.ts.map +1 -1
- 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 +4 -0
- package/dist/types/listener/index.d.ts.map +1 -0
- package/dist/types/listener/metrics-listener.d.ts +4 -0
- package/dist/types/listener/metrics-listener.d.ts.map +1 -0
- package/dist/types/renderer/index.d.ts +2 -0
- package/dist/types/renderer/index.d.ts.map +1 -0
- package/dist/types/renderer/renderer-info-metrics.d.ts +8 -0
- package/dist/types/renderer/renderer-info-metrics.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/workers/index.d.ts +2 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/{controllers/renderer-controller.d.ts → workers/renderer-worker.d.ts} +15 -14
- package/dist/workers/renderer-worker.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/api/modules/controls-state-api.d.ts.map +0 -1
- package/dist/api/modules/mesh-api.d.ts.map +0 -1
- package/dist/api/modules/raycast-api.d.ts.map +0 -1
- package/dist/api/modules/transform-api.d.ts.map +0 -1
- package/dist/api/renderer/camera-api.d.ts.map +0 -1
- package/dist/api/renderer/dom-api.d.ts.map +0 -1
- package/dist/api/renderer/scene-api.d.ts.map +0 -1
- package/dist/constants/colors.d.ts.map +0 -1
- package/dist/constants/figure-geometries.d.ts.map +0 -1
- package/dist/constants/layers.d.ts.map +0 -1
- package/dist/constants/messages.d.ts.map +0 -1
- package/dist/constants/threshold.d.ts.map +0 -1
- package/dist/controllers/renderer-controller.d.ts.map +0 -1
- package/dist/decorators/use-policy.d.ts.map +0 -1
- package/dist/errors/policy-error.d.ts.map +0 -1
- package/dist/events/editor-events.d.ts.map +0 -1
- package/dist/events/event-bus.d.ts.map +0 -1
- package/dist/events/event-topics.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/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/ioc/container.d.ts +0 -5
- package/dist/ioc/container.d.ts.map +0 -1
- package/dist/loaders/obj-loader.d.ts.map +0 -1
- package/dist/policy/tool-policy.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/utils/helpers.d.ts +0 -13
- package/dist/utils/helpers.d.ts.map +0 -1
- /package/dist/{constants → shared/constants}/colors.d.ts +0 -0
- /package/dist/{constants → shared/constants}/figure-geometries.d.ts +0 -0
- /package/dist/{constants → shared/constants}/layers.d.ts +0 -0
- /package/dist/{constants → shared/constants}/messages.d.ts +0 -0
- /package/dist/{constants → shared/constants}/threshold.d.ts +0 -0
- /package/dist/{events → shared/events}/event-topics.d.ts +0 -0
- /package/dist/{loaders → shared/loaders}/obj-loader.d.ts +0 -0
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { ITransformApi } from '../interfaces/api
|
|
2
|
-
import {
|
|
3
|
-
import { ISceneApi } from '../interfaces/api/scene-api';
|
|
4
|
-
import { IDomApi } from '../interfaces/api/dom-api';
|
|
5
|
-
import { ICameraApi } from '../interfaces/api/camera-api';
|
|
6
|
-
import { IUpdatableModule } from '../interfaces/module/updatable-module';
|
|
1
|
+
import { ITransformApi, IControlsStateApi, ISceneApi, IDomApi, ICameraApi } from '../interfaces/api';
|
|
2
|
+
import { IUpdatableModule, IInteractiveModule } from '../interfaces/module';
|
|
7
3
|
import { ToolType } from '@planara/types';
|
|
8
|
-
import { TransformListener } from '../types/listener
|
|
4
|
+
import { TransformListener } from '../types/listener';
|
|
9
5
|
import * as THREE from 'three';
|
|
10
6
|
/**
|
|
11
7
|
* Модуль управления камерой и трансформацией объектов.
|
|
@@ -17,6 +13,7 @@ import * as THREE from 'three';
|
|
|
17
13
|
*
|
|
18
14
|
* Модуль реализует:
|
|
19
15
|
* - `IRuntimeModule` — жизненный цикл (init/dispose)
|
|
16
|
+
* - `IInteractiveModule` — управление пользовательским вводом
|
|
20
17
|
* - `IUpdatableModule` — обновление состояния каждый кадр (update)
|
|
21
18
|
* - `IControlsApi` — публичное API для управления контролами
|
|
22
19
|
* - `IControlsStateApi` — публичное API для получения состояния контролов
|
|
@@ -29,18 +26,40 @@ import * as THREE from 'three';
|
|
|
29
26
|
* @internal
|
|
30
27
|
* @class
|
|
31
28
|
*/
|
|
32
|
-
export declare class ControlsModule implements IUpdatableModule, ITransformApi, IControlsStateApi {
|
|
29
|
+
export declare class ControlsModule implements IUpdatableModule, IInteractiveModule, ITransformApi, IControlsStateApi {
|
|
33
30
|
private _cameraApi;
|
|
34
31
|
private _domApi;
|
|
35
32
|
private _sceneApi;
|
|
36
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Orbit-контроллер для управления камерой
|
|
35
|
+
*
|
|
36
|
+
* @private
|
|
37
|
+
* @member
|
|
38
|
+
*/
|
|
37
39
|
private _orbit;
|
|
38
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Transform-контроллер для редактирования
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
* @member
|
|
45
|
+
*/
|
|
39
46
|
private _transform;
|
|
40
47
|
private _transformHelper;
|
|
41
48
|
private _transformListeners;
|
|
42
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Были ли инициализированы обработчики событий (hover/click)
|
|
51
|
+
*
|
|
52
|
+
* @private
|
|
53
|
+
* @member
|
|
54
|
+
*/
|
|
43
55
|
private _isEventListenersAdded;
|
|
56
|
+
/**
|
|
57
|
+
* Доступно ли пользовательское взаимодействие с контроллерами
|
|
58
|
+
*
|
|
59
|
+
* @private
|
|
60
|
+
* @member
|
|
61
|
+
*/
|
|
62
|
+
private _isInteractionEnabled;
|
|
44
63
|
constructor(_cameraApi: ICameraApi, _domApi: IDomApi, _sceneApi: ISceneApi);
|
|
45
64
|
init(): void;
|
|
46
65
|
attachTransform(object: THREE.Object3D): void;
|
|
@@ -50,9 +69,17 @@ export declare class ControlsModule implements IUpdatableModule, ITransformApi,
|
|
|
50
69
|
onTransformChange(callback: TransformListener): () => void;
|
|
51
70
|
isOrbitInteracting(): boolean;
|
|
52
71
|
isTransformDragging(): boolean;
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
setInteractionEnabled(enabled: boolean): void;
|
|
73
|
+
isInteractionEnabled(): boolean;
|
|
74
|
+
private readonly _handlePointerDown;
|
|
75
|
+
private readonly _handlePointerMove;
|
|
76
|
+
private readonly _handlePointerUp;
|
|
77
|
+
private readonly _handlePointerLeave;
|
|
78
|
+
private readonly _handleDraggingChanged;
|
|
79
|
+
private readonly _handleObjectChange;
|
|
55
80
|
/** Инициализация обработчиков событий на hover/click */
|
|
56
81
|
private _initMouseListeners;
|
|
82
|
+
/** Освобождает ресурсы модуля */
|
|
83
|
+
dispose(): Promise<void> | void;
|
|
57
84
|
}
|
|
58
85
|
//# sourceMappingURL=controls-module.d.ts.map
|
|
@@ -1 +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,
|
|
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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,cACX,YAAW,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB;IAqCzD,OAAO,CAAC,UAAU;IACrB,OAAO,CAAC,OAAO;IACb,OAAO,CAAC,SAAS;IArCxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAA+B;IAE7C;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,mBAAmB,CAAgC;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAS;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB,CAAQ;gBAGL,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;IAI9B,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB7C,oBAAoB,IAAI,OAAO;IAItC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAI/B;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAIlC;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;CAiCvC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { IRenderableModule } from '../interfaces/module
|
|
2
|
-
import { ICameraApi } from '../interfaces/api
|
|
3
|
-
import { IDomApi } from '../interfaces/api/dom-api';
|
|
4
|
-
import { IRendererApi } from '../interfaces/api/renderer-api';
|
|
1
|
+
import { IInteractiveModule, IRenderableModule } from '../interfaces/module';
|
|
2
|
+
import { ICameraApi, IDomApi, IRendererApi } from '../interfaces/api';
|
|
5
3
|
/**
|
|
6
4
|
* Модуль для отображения вспомогательных гизмо (осей, ориентации камеры и т.д.).
|
|
7
5
|
*
|
|
@@ -19,13 +17,27 @@ import { IRendererApi } from '../interfaces/api/renderer-api';
|
|
|
19
17
|
* @internal
|
|
20
18
|
* @class
|
|
21
19
|
*/
|
|
22
|
-
export declare class GizmoModule implements IRenderableModule {
|
|
20
|
+
export declare class GizmoModule implements IRenderableModule, IInteractiveModule {
|
|
23
21
|
private _cameraApi;
|
|
24
22
|
private _domApi;
|
|
25
23
|
private _rendererApi;
|
|
26
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Gizmo для управления отображением perspective camera
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
* @member
|
|
29
|
+
*/
|
|
27
30
|
private _cameraGizmo;
|
|
31
|
+
/**
|
|
32
|
+
* Доступно ли пользовательское взаимодействие с контроллерами
|
|
33
|
+
*
|
|
34
|
+
* @private
|
|
35
|
+
* @member
|
|
36
|
+
*/
|
|
37
|
+
private _isInteractionEnabled;
|
|
28
38
|
constructor(_cameraApi: ICameraApi, _domApi: IDomApi, _rendererApi: IRendererApi);
|
|
39
|
+
setInteractionEnabled(enabled: boolean): void;
|
|
40
|
+
isInteractionEnabled(): boolean;
|
|
29
41
|
init(): void;
|
|
30
42
|
render(): void;
|
|
31
43
|
/** Освобождение ресурсов модуля */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gizmo-module.d.ts","sourceRoot":"","sources":["../../src/modules/gizmo-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"gizmo-module.d.ts","sourceRoot":"","sources":["../../src/modules/gizmo-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAI1E;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,WAAY,YAAW,iBAAiB,EAAE,kBAAkB;IAkB/C,OAAO,CAAC,UAAU;IACrB,OAAO,CAAC,OAAO;IACP,OAAO,CAAC,YAAY;IAnBjD;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAgC;IAEpD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB,CAAQ;gBAGL,UAAU,EAAE,UAAU,EACzB,OAAO,EAAE,OAAO,EACR,YAAY,EAAE,YAAY;IAGxD,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAK7C,oBAAoB,IAAI,OAAO;IAI/B,IAAI,IAAI,IAAI;IAaZ,MAAM,IAAI,IAAI;IASrB,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;AACvC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { BenchmarkMetrics } from '@planara/types';
|
|
2
|
+
import { MetricsListener } from '../types/listener';
|
|
3
|
+
import { IObserverModule } from '../interfaces/module';
|
|
4
|
+
import { IMetricsApi, IRendererInfoApi } from '../interfaces/api';
|
|
5
|
+
/**
|
|
6
|
+
* Модуль сбора метрик производительности runtime.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Модуль вызывается в фазе наблюдения основного цикла приложения.
|
|
10
|
+
* Он не изменяет сцену и не выполняет рендеринг, а только собирает
|
|
11
|
+
* показатели производительности текущего прогона.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
* @class
|
|
15
|
+
*/
|
|
16
|
+
export declare class MetricsModule implements IObserverModule, IMetricsApi {
|
|
17
|
+
private readonly _rendererInfoApi;
|
|
18
|
+
/** Выполняется ли сбор метрик */
|
|
19
|
+
private _isRunning;
|
|
20
|
+
/** Время запуска сбора метрик */
|
|
21
|
+
private _startedAt;
|
|
22
|
+
/** Время остановки сбора метрик */
|
|
23
|
+
private _stoppedAt;
|
|
24
|
+
/** Время предыдущего кадра */
|
|
25
|
+
private _lastFrameAt;
|
|
26
|
+
/** Количество обработанных кадров */
|
|
27
|
+
private _frames;
|
|
28
|
+
/** Суммарное время кадров */
|
|
29
|
+
private _frameTimeSum;
|
|
30
|
+
/** Максимальное время кадра */
|
|
31
|
+
private _maxFrameTime;
|
|
32
|
+
/** Количество объектов в тестовой сцене */
|
|
33
|
+
private _objectsCount;
|
|
34
|
+
/** Максимальное количество draw calls за время измерения */
|
|
35
|
+
private _drawCalls;
|
|
36
|
+
/** Максимальное количество треугольников за время измерения */
|
|
37
|
+
private _triangles;
|
|
38
|
+
/** Максимальное количество геометрий в памяти рендерера */
|
|
39
|
+
private _geometries;
|
|
40
|
+
/** Максимальное количество текстур в памяти рендерера */
|
|
41
|
+
private _textures;
|
|
42
|
+
/** Используемый объем памяти в мегабайтах */
|
|
43
|
+
private _memoryUsedMb;
|
|
44
|
+
/** Слушатели обновления метрик */
|
|
45
|
+
private readonly _listeners;
|
|
46
|
+
/** Время последнего уведомления слушателей */
|
|
47
|
+
private _lastNotifyAt;
|
|
48
|
+
/** Минимальный интервал уведомлений слушателей */
|
|
49
|
+
private readonly _notifyIntervalMs;
|
|
50
|
+
/**
|
|
51
|
+
* Конструктор модуля метрик.
|
|
52
|
+
*
|
|
53
|
+
* @param _rendererInfoApi - доступ к информации рендерера за кадр
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
* @constructor
|
|
57
|
+
*/
|
|
58
|
+
constructor(_rendererInfoApi: IRendererInfoApi);
|
|
59
|
+
/**
|
|
60
|
+
* Инициализирует модуль.
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
63
|
+
* @method
|
|
64
|
+
*/
|
|
65
|
+
init(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Запускает сбор метрик.
|
|
68
|
+
*
|
|
69
|
+
* @param objectsCount - количество объектов, участвующих в текущем тесте
|
|
70
|
+
*
|
|
71
|
+
* @internal
|
|
72
|
+
* @method
|
|
73
|
+
*/
|
|
74
|
+
start(objectsCount?: number): void;
|
|
75
|
+
/**
|
|
76
|
+
* Останавливает сбор метрик.
|
|
77
|
+
*
|
|
78
|
+
* @internal
|
|
79
|
+
* @method
|
|
80
|
+
*/
|
|
81
|
+
stop(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Сбрасывает накопленные метрики.
|
|
84
|
+
*
|
|
85
|
+
* @internal
|
|
86
|
+
* @method
|
|
87
|
+
*/
|
|
88
|
+
reset(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Выполняет наблюдение за текущим состоянием runtime.
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* Метод вызывается каждый кадр в отдельной фазе render loop.
|
|
94
|
+
*
|
|
95
|
+
* @internal
|
|
96
|
+
* @method
|
|
97
|
+
*/
|
|
98
|
+
observe(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Возвращает текущие или последние собранные метрики.
|
|
101
|
+
*
|
|
102
|
+
* @returns Метрики производительности
|
|
103
|
+
*
|
|
104
|
+
* @internal
|
|
105
|
+
* @method
|
|
106
|
+
*/
|
|
107
|
+
getMetrics(): BenchmarkMetrics;
|
|
108
|
+
/**
|
|
109
|
+
* Регистрирует слушатель изменения метрик.
|
|
110
|
+
*
|
|
111
|
+
* @param listener - обработчик обновления метрик
|
|
112
|
+
*
|
|
113
|
+
* @returns Функция отписки
|
|
114
|
+
*
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
subscribe(listener: MetricsListener): () => void;
|
|
118
|
+
/**
|
|
119
|
+
* Освобождает ресурсы модуля.
|
|
120
|
+
*
|
|
121
|
+
* @internal
|
|
122
|
+
* @method
|
|
123
|
+
*/
|
|
124
|
+
dispose(): Promise<void> | void;
|
|
125
|
+
/**
|
|
126
|
+
* Возвращает фактическую длительность сбора метрик.
|
|
127
|
+
*
|
|
128
|
+
* @returns Длительность измерения в миллисекундах
|
|
129
|
+
*
|
|
130
|
+
* @private
|
|
131
|
+
* @method
|
|
132
|
+
*/
|
|
133
|
+
private _getDurationMs;
|
|
134
|
+
/**
|
|
135
|
+
* Сохраняет статистику WebGL-рендерера.
|
|
136
|
+
*
|
|
137
|
+
* @private
|
|
138
|
+
* @method
|
|
139
|
+
*/
|
|
140
|
+
private _captureRendererInfo;
|
|
141
|
+
/**
|
|
142
|
+
* Сохраняет информацию об используемой памяти, если она доступна.
|
|
143
|
+
*
|
|
144
|
+
* @private
|
|
145
|
+
* @method
|
|
146
|
+
*/
|
|
147
|
+
private _captureMemoryInfo;
|
|
148
|
+
/**
|
|
149
|
+
* Уведомляет слушателей об обновлении метрик.
|
|
150
|
+
*
|
|
151
|
+
* @private
|
|
152
|
+
* @method
|
|
153
|
+
*/
|
|
154
|
+
private _notify;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=metrics-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-module.d.ts","sourceRoot":"","sources":["../../src/modules/metrics-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,qBACa,aAAc,YAAW,eAAe,EAAE,WAAW;IA0DlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAzD/D,iCAAiC;IACjC,OAAO,CAAC,UAAU,CAAS;IAE3B,iCAAiC;IACjC,OAAO,CAAC,UAAU,CAAK;IAEvB,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAK;IAEvB,8BAA8B;IAC9B,OAAO,CAAC,YAAY,CAAK;IAEzB,qCAAqC;IACrC,OAAO,CAAC,OAAO,CAAK;IAEpB,6BAA6B;IAC7B,OAAO,CAAC,aAAa,CAAK;IAE1B,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAAK;IAE1B,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAAK;IAE1B,4DAA4D;IAC5D,OAAO,CAAC,UAAU,CAAK;IAEvB,+DAA+D;IAC/D,OAAO,CAAC,UAAU,CAAK;IAEvB,2DAA2D;IAC3D,OAAO,CAAC,WAAW,CAAK;IAExB,yDAAyD;IACzD,OAAO,CAAC,SAAS,CAAK;IAEtB,6CAA6C;IAC7C,OAAO,CAAC,aAAa,CAAiC;IAEtD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IAEzD,8CAA8C;IAC9C,OAAO,CAAC,aAAa,CAAK;IAE1B,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAO;IAEzC;;;;;;;OAOG;gBAE4C,gBAAgB,EAAE,gBAAgB;IAGjF;;;;;OAKG;IACI,IAAI,IAAI,IAAI;IAInB;;;;;;;OAOG;IACI,KAAK,CAAC,YAAY,SAAI,GAAG,IAAI;IAWpC;;;;;OAKG;IACI,IAAI,IAAI,IAAI;IAUnB;;;;;OAKG;IACI,KAAK,IAAI,IAAI;IAoBpB;;;;;;;;OAQG;IACI,OAAO,IAAI,IAAI;IAmBtB;;;;;;;OAOG;IACI,UAAU,IAAI,gBAAgB;IA4BrC;;;;;;;;OAQG;IACI,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAQvD;;;;;OAKG;IACI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAItC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAQtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;OAKG;IACH,OAAO,CAAC,OAAO;CAahB"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { EventBus } from '../events
|
|
1
|
+
import { EventBus } from '../shared/events';
|
|
2
2
|
import { SelectMode } from '@planara/types';
|
|
3
|
-
import { IRuntimeModule } from '../interfaces/module
|
|
4
|
-
import { IRaycastApi } from '../interfaces/api
|
|
5
|
-
import { IDomApi } from '../interfaces/api/dom-api';
|
|
6
|
-
import { ICameraApi } from '../interfaces/api/camera-api';
|
|
7
|
-
import { IMeshApi } from '../interfaces/api/mesh-api';
|
|
8
|
-
import { IControlsStateApi } from '../interfaces/api/controls-state-api';
|
|
3
|
+
import { IRuntimeModule, IInteractiveModule } from '../interfaces/module';
|
|
4
|
+
import { IRaycastApi, IDomApi, ICameraApi, IMeshApi, IControlsStateApi } from '../interfaces/api';
|
|
9
5
|
/**
|
|
10
6
|
* Runtime-модуль raycast-взаимодействия.
|
|
11
7
|
*
|
|
@@ -18,7 +14,7 @@ import { IControlsStateApi } from '../interfaces/api/controls-state-api';
|
|
|
18
14
|
* @internal
|
|
19
15
|
* @class
|
|
20
16
|
*/
|
|
21
|
-
export declare class RaycastModule implements IRuntimeModule, IRaycastApi {
|
|
17
|
+
export declare class RaycastModule implements IRuntimeModule, IInteractiveModule, IRaycastApi {
|
|
22
18
|
private _domApi;
|
|
23
19
|
private _cameraApi;
|
|
24
20
|
private _meshApi;
|
|
@@ -47,7 +43,7 @@ export declare class RaycastModule implements IRuntimeModule, IRaycastApi {
|
|
|
47
43
|
*/
|
|
48
44
|
private _lastHoverKey;
|
|
49
45
|
/**
|
|
50
|
-
*
|
|
46
|
+
* Текущий режим для raycaster
|
|
51
47
|
*
|
|
52
48
|
* @private
|
|
53
49
|
* @member
|
|
@@ -60,16 +56,33 @@ export declare class RaycastModule implements IRuntimeModule, IRaycastApi {
|
|
|
60
56
|
* @member
|
|
61
57
|
*/
|
|
62
58
|
private _isEventListenersAdded;
|
|
59
|
+
/**
|
|
60
|
+
* Доступно ли пользовательское взаимодействие через raycast.
|
|
61
|
+
*
|
|
62
|
+
* @private
|
|
63
|
+
* @member
|
|
64
|
+
*/
|
|
65
|
+
private _isInteractionEnabled;
|
|
63
66
|
constructor(_domApi: IDomApi, _cameraApi: ICameraApi, _meshApi: IMeshApi, _controlsState: IControlsStateApi, _bus: EventBus);
|
|
64
67
|
init(): void;
|
|
65
68
|
setRaycastMode(mode: SelectMode): void;
|
|
69
|
+
setInteractionEnabled(enabled: boolean): void;
|
|
70
|
+
isInteractionEnabled(): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Сбрасывает текущее состояние
|
|
73
|
+
*
|
|
74
|
+
* @private
|
|
75
|
+
* @method
|
|
76
|
+
*/
|
|
77
|
+
private _clearState;
|
|
66
78
|
/** Применяет параметры raycaster в зависимости от текущего режима */
|
|
67
79
|
private _applyRaycastParamsByMode;
|
|
68
80
|
/** Возвращает ближайшее пересечение по текущему положению курсора */
|
|
69
81
|
private _getHitIntersection;
|
|
70
82
|
/** Вспомогательный метод для получения модели, которую выбрали и отправки события в event bus */
|
|
71
83
|
private _processRaycastEvent;
|
|
72
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* Поиск видимой части меша
|
|
73
86
|
* необходимо это для того, чтобы отправлять только видимые элементы модели, а не все попадания
|
|
74
87
|
*/
|
|
75
88
|
private _getVisibleHit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raycast-module.d.ts","sourceRoot":"","sources":["../../src/modules/raycast-module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"raycast-module.d.ts","sourceRoot":"","sources":["../../src/modules/raycast-module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,iBAAiB,CAAC;AAI7D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAU1B;;;;;;;;;;;GAWG;AACH,qBACa,aAAc,YAAW,cAAc,EAAE,kBAAkB,EAAE,WAAW;IAmD9D,OAAO,CAAC,OAAO;IACZ,OAAO,CAAC,UAAU;IACpB,OAAO,CAAC,QAAQ;IACP,OAAO,CAAC,cAAc;IAC/B,OAAO,CAAC,IAAI;IAtDlC;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAAmB;IAErC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAuB;IAE5C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAA+B;IAE1D;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAAS;IAEvC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB,CAAQ;gBAGR,OAAO,EAAE,OAAO,EACb,UAAU,EAAE,UAAU,EACxB,QAAQ,EAAE,QAAQ,EACT,cAAc,EAAE,iBAAiB,EAC1C,IAAI,EAAE,QAAQ;IAGrC,IAAI,IAAI,IAAI;IAYZ,cAAc,CAAC,IAAI,EAAE,UAAU;IAa/B,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQ7C,oBAAoB,IAAI,OAAO;IAItC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB,qEAAqE;IACrE,OAAO,CAAC,yBAAyB;IAwBjC,qEAAqE;IACrE,OAAO,CAAC,mBAAmB;IA4C3B,iGAAiG;IACjG,OAAO,CAAC,oBAAoB;IA0C5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAWtB,qEAAqE;IACrE,OAAO,CAAC,aAAa;IAqBrB,mCAAmC;IACnC,OAAO,CAAC,gBAAgB,CAItB;IAEF,kCAAkC;IAClC,OAAO,CAAC,iBAAiB,CAIvB;IAEF,gCAAgC;IAChC,OAAO,CAAC,kBAAkB,CAUxB;IAEF,wCAAwC;IACxC,OAAO,CAAC,iBAAiB,CAKvB;IAEF,wDAAwD;IACxD,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAStB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAMvC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IRuntimeModule } from '../interfaces/module
|
|
2
|
-
import { ISceneApi } from '../interfaces/api
|
|
3
|
-
import { IMeshApi } from '../interfaces/api/mesh-api';
|
|
1
|
+
import { IRuntimeModule } from '../interfaces/module';
|
|
2
|
+
import { ISceneApi, IMeshApi } from '../interfaces/api';
|
|
4
3
|
import * as THREE from 'three';
|
|
5
4
|
/**
|
|
6
5
|
* Модуль управления сценой, используется для добавления/удаления фигур,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-module.d.ts","sourceRoot":"","sources":["../../src/modules/scene-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scene-module.d.ts","sourceRoot":"","sources":["../../src/modules/scene-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;;GAMG;AACH,qBACa,WAAY,YAAW,cAAc,EAAE,QAAQ;IAalB,OAAO,CAAC,IAAI;IAZpD,gEAAgE;IAChE,OAAO,CAAC,OAAO,CAAoB;IAEnC,kBAAkB;IAClB,OAAO,CAAC,KAAK,CAAiC;IAE9C,gBAAgB;IAChB,OAAO,CAAC,KAAK,CAA+B;IAE5C,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAsC;gBAEJ,IAAI,EAAE,SAAS;IAExD,IAAI,IAAI,IAAI;IAeZ,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;IAIzB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAQ/B,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAUlC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAMrC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM/C,iCAAiC;IAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CA2BvC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IRuntimeModule } from '../interfaces/module';
|
|
2
|
+
import { ISceneApi, IMeshApi } from '../interfaces/api';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Модуль управления сценой, используется для добавления/удаления фигур
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
* @class
|
|
9
|
+
*/
|
|
10
|
+
export declare class ScenePreviewModule implements IRuntimeModule, IMeshApi {
|
|
11
|
+
private _api;
|
|
12
|
+
/** Объекты вьювера */
|
|
13
|
+
private _meshes;
|
|
14
|
+
/** Базовый свет сцены */
|
|
15
|
+
private _light;
|
|
16
|
+
constructor(_api: ISceneApi);
|
|
17
|
+
init(): void;
|
|
18
|
+
getMeshes(): THREE.Mesh[];
|
|
19
|
+
addMesh(mesh: THREE.Mesh): void;
|
|
20
|
+
removeMesh(mesh: THREE.Mesh): void;
|
|
21
|
+
addMeshes(meshes: THREE.Mesh[]): void;
|
|
22
|
+
removeMeshes(meshes: THREE.Mesh[]): void;
|
|
23
|
+
/** Освобождает ресурсы модуля */
|
|
24
|
+
dispose(): Promise<void> | void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=scene-preview-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-preview-module.d.ts","sourceRoot":"","sources":["../../src/modules/scene-preview-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;GAKG;AACH,qBACa,kBAAmB,YAAW,cAAc,EAAE,QAAQ;IAOzB,OAAO,CAAC,IAAI;IANpD,sBAAsB;IACtB,OAAO,CAAC,OAAO,CAAoB;IAEnC,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAsC;gBAEJ,IAAI,EAAE,SAAS;IAExD,IAAI,IAAI,IAAI;IAMZ,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;IAIzB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAQ/B,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAUlC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAMrC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM/C,iCAAiC;IAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAavC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls-state-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/controls-state-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,qBACa,gBAAiB,YAAW,iBAAiB;IAG5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAF5D,mBAAmB;gBAE0B,eAAe,EAAE,iBAAiB;IAGxE,kBAAkB,IAAI,OAAO;IAI7B,mBAAmB,IAAI,OAAO;CAGtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IInteractiveModule } from '../../../interfaces/module';
|
|
2
|
+
import { IInteractionApi } from '../../../interfaces/api';
|
|
3
|
+
/**
|
|
4
|
+
* API управления пользовательским взаимодействием.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Позволяет включать или отключать интерактивную логику всех модулей,
|
|
8
|
+
* поддерживающих {@link IInteractiveModule}. API не освобождает ресурсы
|
|
9
|
+
* модулей и не удаляет обработчики событий, а только управляет доступностью
|
|
10
|
+
* пользовательского ввода.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
export declare class InteractionApi implements IInteractionApi {
|
|
16
|
+
private readonly _interactive;
|
|
17
|
+
constructor(_interactive: IInteractiveModule[]);
|
|
18
|
+
isInteractionEnabled(): boolean;
|
|
19
|
+
setInteractionEnabled(enabled: boolean): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=interaction-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/interaction-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,qBACa,cAAe,YAAW,eAAe;IAGlD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,kBAAkB,EAAE;IAG9C,oBAAoB,IAAI,OAAO;IAI/B,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/mesh-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,OAAQ,YAAW,QAAQ;IAEI,OAAO,CAAC,QAAQ,CAAC,YAAY;IADvE,mBAAmB;gBACwC,YAAY,EAAE,QAAQ;IAE1E,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAI/B,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAIrC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAIlC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAIxC,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;CAGjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raycast-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/raycast-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,UAAW,YAAW,WAAW;IAEA,OAAO,CAAC,QAAQ,CAAC,cAAc;IAD3E,mBAAmB;gBAC0C,cAAc,EAAE,WAAW;IAEjF,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;CAG9C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolType } from '@planara/types';
|
|
2
|
-
import { TransformListener } from '
|
|
3
|
-
import { ITransformApi } from '
|
|
2
|
+
import { TransformListener } from '../../../types/listener';
|
|
3
|
+
import { ITransformApi } from '../../../interfaces/api';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
/**
|
|
6
6
|
* API для управления трансформацией объектов (гизмо).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/modules/transform-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,YAAa,YAAW,aAAa;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe;IAD7E,mBAAmB;gBAC2C,eAAe,EAAE,aAAa;IAErF,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAI7C,eAAe,IAAI,IAAI;IAIvB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAItC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;CAGlE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ICameraApi } from '
|
|
2
|
-
import { IRendererCameraAccess } from '
|
|
1
|
+
import { ICameraApi } from '../../../interfaces/api';
|
|
2
|
+
import { IRendererCameraAccess } from '../../../interfaces/api/renderer';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
/**
|
|
5
5
|
* Реализация API для управления камерой.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/renderer/camera-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,qBACa,SAAU,YAAW,UAAU;IAEP,OAAO,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,qBAAqB;IAG3E,SAAS,IAAI,KAAK,CAAC,MAAM;IAIzB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IDomApi } from '
|
|
2
|
-
import { IRendererDomAccess } from '
|
|
1
|
+
import { IDomApi } from '../../../interfaces/api';
|
|
2
|
+
import { IRendererDomAccess } from '../../../interfaces/api/renderer';
|
|
3
3
|
/**
|
|
4
4
|
* Реализация API для доступа к DOM-элементам рендерера.
|
|
5
5
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/renderer/dom-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;;;;;;;GAcG;AACH,qBACa,MAAO,YAAW,OAAO;IACa,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,kBAAkB;IAEnF,SAAS,IAAI,iBAAiB;IAI9B,aAAa,IAAI,WAAW;CAGpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/renderer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RendererInfoMetrics } from '../../../types/renderer';
|
|
2
|
+
import { IRendererInfoAccess } from '../../../interfaces/api/renderer';
|
|
3
|
+
import { IRendererInfoApi } from '../../../interfaces/api';
|
|
4
|
+
/**
|
|
5
|
+
* API доступа к статистике WebGL-рендерера.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
* @class
|
|
9
|
+
*/
|
|
10
|
+
export declare class RendererInfoApi implements IRendererInfoApi {
|
|
11
|
+
private readonly _rendererInfoAccess;
|
|
12
|
+
/**
|
|
13
|
+
* Конструктор API статистики рендерера.
|
|
14
|
+
*
|
|
15
|
+
* @param _rendererInfoAccess - внутренний доступ к информации о рендерере
|
|
16
|
+
*/
|
|
17
|
+
constructor(_rendererInfoAccess: IRendererInfoAccess);
|
|
18
|
+
/**
|
|
19
|
+
* Возвращает текущую статистику рендерера.
|
|
20
|
+
*
|
|
21
|
+
* @returns Метрики WebGL-рендера за текущий кадр
|
|
22
|
+
*/
|
|
23
|
+
getRendererInfo(): RendererInfoMetrics;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=renderer-info-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-info-api.d.ts","sourceRoot":"","sources":["../../../../src/shared/api/renderer/renderer-info-api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;GAKG;AACH,qBACa,eAAgB,YAAW,gBAAgB;IAOrB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IANrE;;;;OAIG;gBAE+C,mBAAmB,EAAE,mBAAmB;IAG1F;;;;OAIG;IACI,eAAe,IAAI,mBAAmB;CAG9C"}
|