@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
package/dist/index.public.d.ts
CHANGED
|
@@ -1,13 +1,81 @@
|
|
|
1
|
+
import { BenchmarkConfig } from '@planara/types';
|
|
2
|
+
import { BenchmarkMetrics } from '@planara/types';
|
|
3
|
+
import { BenchmarkReport } from '@planara/types';
|
|
4
|
+
import { BenchmarkRunResult } from '@planara/types';
|
|
5
|
+
import { BenchmarkTestType } from '@planara/types';
|
|
1
6
|
import { DisplayMode } from '@planara/types';
|
|
2
7
|
import { Disposable as Disposable_2 } from 'tsyringe';
|
|
8
|
+
import { ExportResult } from '@planara/types';
|
|
9
|
+
import { ExportSceneResult } from '@planara/types';
|
|
3
10
|
import { Figure } from '@planara/types';
|
|
4
11
|
import { FigureTransform } from '@planara/types';
|
|
5
12
|
import { FigureType } from '@planara/types';
|
|
6
|
-
import {
|
|
13
|
+
import { IResponse } from '@planara/types';
|
|
14
|
+
import { RendererConfig } from '@planara/types';
|
|
15
|
+
import { RendererConfigInput } from '@planara/types';
|
|
7
16
|
import { SelectMode } from '@planara/types';
|
|
8
17
|
import * as THREE from 'three';
|
|
9
18
|
import { ToolType } from '@planara/types';
|
|
10
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Хаб benchmark-тестирования.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* Предоставляет публичный API для запуска benchmark-тестов,
|
|
25
|
+
* получения итогового отчета и подписки на live-обновления метрик.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
* @class
|
|
29
|
+
*/
|
|
30
|
+
export declare class BenchmarkHub {
|
|
31
|
+
private _renderer;
|
|
32
|
+
private readonly _mediator;
|
|
33
|
+
private readonly _store;
|
|
34
|
+
private _worker;
|
|
35
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _store: IMetricsStore, _worker: IWorker);
|
|
36
|
+
/**
|
|
37
|
+
* Запускает benchmark-тестирование.
|
|
38
|
+
*
|
|
39
|
+
* @param config - конфигурация benchmark-тестирования
|
|
40
|
+
*
|
|
41
|
+
* @returns Краткий результат выполнения запрошенных тестов
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
44
|
+
* @method
|
|
45
|
+
*/
|
|
46
|
+
run(config: BenchmarkConfig): BenchmarkRunResult;
|
|
47
|
+
/**
|
|
48
|
+
* Возвращает отчет по успешно выполненным benchmark-тестам.
|
|
49
|
+
*
|
|
50
|
+
* @returns Отчет benchmark-тестирования
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
53
|
+
* @method
|
|
54
|
+
*/
|
|
55
|
+
getReport(): BenchmarkReport;
|
|
56
|
+
/**
|
|
57
|
+
* Регистрирует слушатель обновления live-метрик.
|
|
58
|
+
*
|
|
59
|
+
* @param listener - обработчик обновления метрик
|
|
60
|
+
*
|
|
61
|
+
* @returns Функция отписки от обновлений
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
64
|
+
* @method
|
|
65
|
+
*/
|
|
66
|
+
subscribeMetrics(listener: MetricsListener): () => void;
|
|
67
|
+
resizeRenderer(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Запускает редактор.
|
|
70
|
+
* Вызывается после создания хаба.
|
|
71
|
+
*/
|
|
72
|
+
start(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Останавливает редактор.
|
|
75
|
+
*/
|
|
76
|
+
stop(): void;
|
|
77
|
+
}
|
|
78
|
+
|
|
11
79
|
/**
|
|
12
80
|
* Тип позиции камеры в мире.
|
|
13
81
|
* @public
|
|
@@ -18,12 +86,26 @@ export declare type CameraPosition = {
|
|
|
18
86
|
z: number;
|
|
19
87
|
};
|
|
20
88
|
|
|
89
|
+
/**
|
|
90
|
+
* Инициализирует бенчмарк и возвращает хаб.
|
|
91
|
+
* Вызывать один раз при старте (когда есть canvas).
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export declare const createBenchmarkHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => BenchmarkHub;
|
|
95
|
+
|
|
21
96
|
/**
|
|
22
97
|
* Инициализирует редактор и возвращает хаб.
|
|
23
98
|
* Вызывать один раз при старте (когда есть canvas).
|
|
24
99
|
* @public
|
|
25
100
|
*/
|
|
26
|
-
export declare const
|
|
101
|
+
export declare const createEditorHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => EditorHub;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Инициализирует вьювер и возвращает хаб.
|
|
105
|
+
* Вызывать один раз при старте (когда есть canvas).
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
export declare const createViewerHub: (canvas: HTMLCanvasElement, rendererConfig?: RendererConfigInput) => ViewerHub;
|
|
27
109
|
|
|
28
110
|
/**
|
|
29
111
|
* Типы событий редактора.
|
|
@@ -51,13 +133,17 @@ export declare class EditorHub implements Disposable_2 {
|
|
|
51
133
|
private _renderer;
|
|
52
134
|
private _mediator;
|
|
53
135
|
private _store;
|
|
54
|
-
private
|
|
55
|
-
|
|
136
|
+
private _exportStore;
|
|
137
|
+
private _worker;
|
|
138
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _store: ITransformStore, _exportStore: IExportStore, _worker: IWorker);
|
|
56
139
|
setDisplayMode(mode: DisplayMode): IResponse | null;
|
|
57
|
-
setSceneMode(mode: SceneMode): IResponse | null;
|
|
58
140
|
setSelectMode(mode: SelectMode): IResponse | null;
|
|
59
141
|
setToolMode(mode: ToolType): IResponse | null;
|
|
60
|
-
addFigure(
|
|
142
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
143
|
+
deleteFigure(): IResponse | null;
|
|
144
|
+
loadFigure(content: string): IResponse | null;
|
|
145
|
+
loadScene(content: string): IResponse | null;
|
|
146
|
+
exportScene(): ExportSceneResult;
|
|
61
147
|
resizeRenderer(): void;
|
|
62
148
|
/**
|
|
63
149
|
* Запускает редактор.
|
|
@@ -213,58 +299,35 @@ export declare enum FeatureType {
|
|
|
213
299
|
/** Выборка */
|
|
214
300
|
Select = 2,
|
|
215
301
|
/** Инструменты */
|
|
216
|
-
Tool = 3
|
|
302
|
+
Tool = 3,
|
|
303
|
+
/** Бенчмарк */
|
|
304
|
+
Benchmark = 4
|
|
217
305
|
}
|
|
218
306
|
|
|
307
|
+
/**
|
|
308
|
+
* Возвращает уже созданный хаб, если бенчмарк инициализирован.
|
|
309
|
+
* @public
|
|
310
|
+
*/
|
|
311
|
+
export declare const getBenchmarkHub: () => BenchmarkHub;
|
|
312
|
+
|
|
219
313
|
/**
|
|
220
314
|
* Возвращает уже созданный хаб, если редактор инициализирован.
|
|
221
315
|
* @public
|
|
222
316
|
*/
|
|
223
|
-
export declare const
|
|
317
|
+
export declare const getEditorHub: () => EditorHub;
|
|
224
318
|
|
|
225
319
|
/**
|
|
320
|
+
* Возвращает уже созданный хаб, если вьювер инициализирован.
|
|
226
321
|
* @public
|
|
227
322
|
*/
|
|
228
|
-
export declare
|
|
229
|
-
type: FeatureType;
|
|
230
|
-
payload: unknown[];
|
|
231
|
-
}
|
|
323
|
+
export declare const getViewerHub: () => ViewerHub;
|
|
232
324
|
|
|
233
325
|
/**
|
|
234
|
-
* Интерфейс для контроллера, управляющего жизненным циклом модулей.
|
|
235
|
-
*
|
|
236
|
-
* @remarks
|
|
237
|
-
* Контроллер отвечает за:
|
|
238
|
-
* - инициализацию модулей (`IRuntimeModule`)
|
|
239
|
-
* - запуск цикла рендеринга
|
|
240
|
-
* - обновление модулей каждый кадр (`IUpdatableModule`)
|
|
241
|
-
* - рендеринг модулей (`IRenderableModule`)
|
|
242
|
-
* - остановку и очистку ресурсов
|
|
243
|
-
*
|
|
244
326
|
* @public
|
|
245
|
-
* @interface
|
|
246
327
|
*/
|
|
247
|
-
export declare interface
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
*
|
|
251
|
-
* @remarks
|
|
252
|
-
* Инициализирует все модули и запускает цикл рендеринга.
|
|
253
|
-
*
|
|
254
|
-
* @public
|
|
255
|
-
* @method
|
|
256
|
-
*/
|
|
257
|
-
start(): void;
|
|
258
|
-
/**
|
|
259
|
-
* Останавливает контроллер.
|
|
260
|
-
*
|
|
261
|
-
* @remarks
|
|
262
|
-
* Останавливает цикл рендеринга и освобождает ресурсы.
|
|
263
|
-
*
|
|
264
|
-
* @public
|
|
265
|
-
* @method
|
|
266
|
-
*/
|
|
267
|
-
stop(): void;
|
|
328
|
+
export declare interface ICommand {
|
|
329
|
+
type: FeatureType;
|
|
330
|
+
payload: unknown[];
|
|
268
331
|
}
|
|
269
332
|
|
|
270
333
|
/**
|
|
@@ -287,6 +350,13 @@ export declare interface IDisplayStore {
|
|
|
287
350
|
setDisplayMode(mode: DisplayMode): void;
|
|
288
351
|
}
|
|
289
352
|
|
|
353
|
+
/** @public */
|
|
354
|
+
export declare interface IExportStore {
|
|
355
|
+
setResult(result: ExportResult): void;
|
|
356
|
+
getResult(): ExportResult | null;
|
|
357
|
+
clearResult(): void;
|
|
358
|
+
}
|
|
359
|
+
|
|
290
360
|
/**
|
|
291
361
|
* Интерфейс медиатора команд редактора.
|
|
292
362
|
*
|
|
@@ -335,6 +405,64 @@ export declare interface IMediator extends Disposable_2 {
|
|
|
335
405
|
send(command: ICommand): IResponse | null;
|
|
336
406
|
}
|
|
337
407
|
|
|
408
|
+
/**
|
|
409
|
+
* Хранилище метрик benchmark-тестирования.
|
|
410
|
+
*
|
|
411
|
+
* @public
|
|
412
|
+
* @interface
|
|
413
|
+
*/
|
|
414
|
+
export declare interface IMetricsStore {
|
|
415
|
+
/**
|
|
416
|
+
* Очищает сохраненные метрики и текущие live-значения.
|
|
417
|
+
*
|
|
418
|
+
* @public
|
|
419
|
+
*/
|
|
420
|
+
clear(): void;
|
|
421
|
+
/**
|
|
422
|
+
* Сохраняет метрики успешно выполненного benchmark-теста.
|
|
423
|
+
*
|
|
424
|
+
* @param type - тип benchmark-теста
|
|
425
|
+
* @param metrics - собранные метрики производительности
|
|
426
|
+
*
|
|
427
|
+
* @public
|
|
428
|
+
*/
|
|
429
|
+
addMetrics(type: BenchmarkTestType, metrics: BenchmarkMetrics): void;
|
|
430
|
+
/**
|
|
431
|
+
* Обновляет текущие live-метрики.
|
|
432
|
+
*
|
|
433
|
+
* @param metrics - текущие метрики производительности
|
|
434
|
+
*
|
|
435
|
+
* @public
|
|
436
|
+
*/
|
|
437
|
+
setCurrentMetrics(metrics: BenchmarkMetrics | null): void;
|
|
438
|
+
/**
|
|
439
|
+
* Возвращает текущие live-метрики.
|
|
440
|
+
*
|
|
441
|
+
* @returns Текущие метрики или `null`, если измерение не выполняется
|
|
442
|
+
*
|
|
443
|
+
* @public
|
|
444
|
+
*/
|
|
445
|
+
getCurrentMetrics(): BenchmarkMetrics | null;
|
|
446
|
+
/**
|
|
447
|
+
* Регистрирует слушатель обновления live-метрик.
|
|
448
|
+
*
|
|
449
|
+
* @param listener - обработчик обновления метрик
|
|
450
|
+
*
|
|
451
|
+
* @returns Функция отписки
|
|
452
|
+
*
|
|
453
|
+
* @public
|
|
454
|
+
*/
|
|
455
|
+
subscribe(listener: MetricsListener): () => void;
|
|
456
|
+
/**
|
|
457
|
+
* Возвращает отчет по успешно выполненным benchmark-тестам.
|
|
458
|
+
*
|
|
459
|
+
* @returns Отчет benchmark-тестирования
|
|
460
|
+
*
|
|
461
|
+
* @public
|
|
462
|
+
*/
|
|
463
|
+
getReport(): BenchmarkReport;
|
|
464
|
+
}
|
|
465
|
+
|
|
338
466
|
/**
|
|
339
467
|
* Интерфейс для объектов, которые могут быть отрисованы.
|
|
340
468
|
*
|
|
@@ -500,6 +628,25 @@ export declare interface IRendererDomAccess {
|
|
|
500
628
|
getDomElement(): HTMLElement;
|
|
501
629
|
}
|
|
502
630
|
|
|
631
|
+
/**
|
|
632
|
+
* API доступа к метрикам WebGL-рендерера.
|
|
633
|
+
*
|
|
634
|
+
* @remarks
|
|
635
|
+
* Предоставляет только статистику рендеринга без доступа к самому renderer.
|
|
636
|
+
* Используется модулями диагностики и сбора метрик.
|
|
637
|
+
*
|
|
638
|
+
* @public
|
|
639
|
+
* @interface
|
|
640
|
+
*/
|
|
641
|
+
export declare interface IRendererInfoAccess {
|
|
642
|
+
/**
|
|
643
|
+
* Возвращает текущую статистику рендерера.
|
|
644
|
+
*
|
|
645
|
+
* @returns Метрики WebGL-рендера за текущий кадр
|
|
646
|
+
*/
|
|
647
|
+
getRendererInfo(): RendererInfoMetrics;
|
|
648
|
+
}
|
|
649
|
+
|
|
503
650
|
/**
|
|
504
651
|
* Низкоуровневый доступ к сцене рендерера.
|
|
505
652
|
*
|
|
@@ -544,27 +691,6 @@ export declare interface IRendererSceneAccess {
|
|
|
544
691
|
getScene(): THREE.Scene;
|
|
545
692
|
}
|
|
546
693
|
|
|
547
|
-
/**
|
|
548
|
-
* Тип ответа от менеджеров или политик редактора.
|
|
549
|
-
*
|
|
550
|
-
* @remarks
|
|
551
|
-
* Используется для единого API на уровне Hub.
|
|
552
|
-
* Все менеджеры возвращают `Response`, чтобы клиент знал статус вызова.
|
|
553
|
-
*
|
|
554
|
-
* @public
|
|
555
|
-
* @interface
|
|
556
|
-
*/
|
|
557
|
-
export declare interface IResponse {
|
|
558
|
-
/** Тип ответа (enum ResponseType) */
|
|
559
|
-
type: ResponseType_2;
|
|
560
|
-
/** Читаемое сообщение для отображения или логирования */
|
|
561
|
-
message: string;
|
|
562
|
-
/** Строковый код для логов или интеграций (опционально) */
|
|
563
|
-
code?: string;
|
|
564
|
-
/** Флаг блокировки действия (true, если вызов запрещён) */
|
|
565
|
-
blocked?: boolean;
|
|
566
|
-
}
|
|
567
|
-
|
|
568
694
|
/**
|
|
569
695
|
* Интерфейс store для менеджеров и хендлеров, которые позволяют работать с Select фичей,
|
|
570
696
|
* необходим для корректного взаимодействия между группами фичей.
|
|
@@ -640,6 +766,46 @@ export declare interface IToolStore {
|
|
|
640
766
|
export declare interface ITransformStore extends ISelectStore, IToolStore {
|
|
641
767
|
}
|
|
642
768
|
|
|
769
|
+
/**
|
|
770
|
+
* Интерфейс для воркера, управляющего жизненным циклом модулей.
|
|
771
|
+
*
|
|
772
|
+
* @remarks
|
|
773
|
+
* Контроллер отвечает за:
|
|
774
|
+
* - инициализацию модулей (`IRuntimeModule`)
|
|
775
|
+
* - запуск цикла рендеринга
|
|
776
|
+
* - обновление модулей каждый кадр (`IUpdatableModule`)
|
|
777
|
+
* - рендеринг модулей (`IRenderableModule`)
|
|
778
|
+
* - остановку и очистку ресурсов
|
|
779
|
+
*
|
|
780
|
+
* @public
|
|
781
|
+
* @interface
|
|
782
|
+
*/
|
|
783
|
+
export declare interface IWorker extends Disposable_2 {
|
|
784
|
+
/**
|
|
785
|
+
* Запускает воркер.
|
|
786
|
+
*
|
|
787
|
+
* @remarks
|
|
788
|
+
* Инициализирует все модули и запускает цикл рендеринга.
|
|
789
|
+
*
|
|
790
|
+
* @public
|
|
791
|
+
* @method
|
|
792
|
+
*/
|
|
793
|
+
start(): void;
|
|
794
|
+
/**
|
|
795
|
+
* Останавливает воркер.
|
|
796
|
+
*
|
|
797
|
+
* @remarks
|
|
798
|
+
* Останавливает цикл рендеринга и освобождает ресурсы.
|
|
799
|
+
*
|
|
800
|
+
* @public
|
|
801
|
+
* @method
|
|
802
|
+
*/
|
|
803
|
+
stop(): void;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/** @public */
|
|
807
|
+
export declare type MetricsListener = (metrics: BenchmarkMetrics | null) => void;
|
|
808
|
+
|
|
643
809
|
/** @public */
|
|
644
810
|
export declare class ObjLoader {
|
|
645
811
|
/** Позиции вершин */
|
|
@@ -686,7 +852,8 @@ export declare class ObjLoader {
|
|
|
686
852
|
* @public
|
|
687
853
|
* @class
|
|
688
854
|
*/
|
|
689
|
-
export declare class Renderer implements IRendererAccess, IRendererCameraAccess, IRendererDomAccess, IRendererSceneAccess, IRenderable, Disposable_2 {
|
|
855
|
+
export declare class Renderer implements IRendererAccess, IRendererCameraAccess, IRendererDomAccess, IRendererSceneAccess, IRendererInfoAccess, IRenderable, Disposable_2 {
|
|
856
|
+
private readonly _config;
|
|
690
857
|
/**
|
|
691
858
|
* Корневой объект сцены Three.js.
|
|
692
859
|
*
|
|
@@ -719,22 +886,19 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
719
886
|
* Конструктор рендерера.
|
|
720
887
|
*
|
|
721
888
|
* @param _canvas - HTMLCanvasElement для рендеринга
|
|
889
|
+
* @param _config - Конфиг для настройки рендерера
|
|
722
890
|
*
|
|
723
891
|
* @remarks
|
|
724
|
-
* Инициализирует
|
|
725
|
-
*
|
|
726
|
-
* - `AmbientLight` (0xffffff, 0.5) — общий свет
|
|
727
|
-
* - `DirectionalLight` (0xffffff, 1) — направленный свет
|
|
892
|
+
* Инициализирует сцену, камеру, WebGLRenderer и базовое освещение
|
|
893
|
+
* на основе переданного `RendererConfig`.
|
|
728
894
|
*
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
* const renderer = new Renderer(canvas);
|
|
732
|
-
* ```
|
|
895
|
+
* По умолчанию используется тёмный фон, перспективная камера
|
|
896
|
+
* и два источника света: AmbientLight и DirectionalLight.
|
|
733
897
|
*
|
|
734
898
|
* @public
|
|
735
899
|
* @constructor
|
|
736
900
|
*/
|
|
737
|
-
constructor(_canvas: HTMLCanvasElement);
|
|
901
|
+
constructor(_canvas: HTMLCanvasElement, _config: RendererConfig);
|
|
738
902
|
/**
|
|
739
903
|
* Обновляет размер рендерера и пропорции камеры.
|
|
740
904
|
*
|
|
@@ -742,11 +906,11 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
742
906
|
* Вызывается при изменении размеров canvas (например, при ресайзе окна браузера).
|
|
743
907
|
*
|
|
744
908
|
* @example
|
|
745
|
-
* ```
|
|
909
|
+
* ```ts
|
|
746
910
|
* window.addEventListener('resize', () => renderer.resize());
|
|
747
911
|
* ```
|
|
748
912
|
*
|
|
749
|
-
* @
|
|
913
|
+
* @public
|
|
750
914
|
* @method
|
|
751
915
|
*/
|
|
752
916
|
resize(): void;
|
|
@@ -781,7 +945,7 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
781
945
|
* **Важно:** вызывать метод только один раз.
|
|
782
946
|
*
|
|
783
947
|
* @example
|
|
784
|
-
* ```
|
|
948
|
+
* ```ts
|
|
785
949
|
* renderer.loop();
|
|
786
950
|
* ```
|
|
787
951
|
*
|
|
@@ -794,6 +958,7 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
794
958
|
getCanvas(): HTMLCanvasElement;
|
|
795
959
|
getDomElement(): HTMLElement;
|
|
796
960
|
getScene(): THREE.Scene;
|
|
961
|
+
getRendererInfo(): RendererInfoMetrics;
|
|
797
962
|
/**
|
|
798
963
|
* Освобождает ресурсы рендерера.
|
|
799
964
|
*
|
|
@@ -807,25 +972,13 @@ export declare class Renderer implements IRendererAccess, IRendererCameraAccess,
|
|
|
807
972
|
dispose(): Promise<void> | void;
|
|
808
973
|
}
|
|
809
974
|
|
|
810
|
-
/**
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
* @enum
|
|
818
|
-
*/
|
|
819
|
-
declare enum ResponseType_2 {
|
|
820
|
-
/** Действие заблокировано, инструмент недоступен */
|
|
821
|
-
ToolNotAllowed = "TOOL_NOT_ALLOWED",
|
|
822
|
-
/** Действие выполнено успешно */
|
|
823
|
-
Success = "SUCCESS",
|
|
824
|
-
/** Действие не выполнено, потому что нет изменений */
|
|
825
|
-
NoChange = "NO_CHANGE",
|
|
826
|
-
Error = "ERROR"
|
|
827
|
-
}
|
|
828
|
-
export { ResponseType_2 as ResponseType }
|
|
975
|
+
/** @public */
|
|
976
|
+
export declare type RendererInfoMetrics = {
|
|
977
|
+
drawCalls: number;
|
|
978
|
+
triangles: number;
|
|
979
|
+
geometries: number;
|
|
980
|
+
textures: number;
|
|
981
|
+
};
|
|
829
982
|
|
|
830
983
|
/** @public */
|
|
831
984
|
export declare type SelectedListener = (obj: THREE.Object3D | null) => void;
|
|
@@ -833,4 +986,29 @@ export declare type SelectedListener = (obj: THREE.Object3D | null) => void;
|
|
|
833
986
|
/** @public */
|
|
834
987
|
export declare type TransformListener = () => void;
|
|
835
988
|
|
|
989
|
+
/**
|
|
990
|
+
* Хаб для управления вьювером
|
|
991
|
+
* @public
|
|
992
|
+
*/
|
|
993
|
+
export declare class ViewerHub implements Disposable_2 {
|
|
994
|
+
private _renderer;
|
|
995
|
+
private _mediator;
|
|
996
|
+
private _worker;
|
|
997
|
+
constructor(_renderer: Renderer, _mediator: IMediator, _worker: IWorker);
|
|
998
|
+
addFigure(figure: FigureType): IResponse | null;
|
|
999
|
+
loadFigure(content: string): IResponse | null;
|
|
1000
|
+
loadScene(content: string): IResponse | null;
|
|
1001
|
+
resizeRenderer(): void;
|
|
1002
|
+
/**
|
|
1003
|
+
* Запускает вьювер.
|
|
1004
|
+
* Вызывается после создания хаба.
|
|
1005
|
+
*/
|
|
1006
|
+
start(): void;
|
|
1007
|
+
/**
|
|
1008
|
+
* Останавливает вьювер.
|
|
1009
|
+
*/
|
|
1010
|
+
stop(): void;
|
|
1011
|
+
dispose(): Promise<void> | void;
|
|
1012
|
+
}
|
|
1013
|
+
|
|
836
1014
|
export { }
|