@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.
Files changed (283) hide show
  1. package/README.md +5 -0
  2. package/dist/api/modules/controls-state-api.d.ts +23 -0
  3. package/dist/api/modules/controls-state-api.d.ts.map +1 -0
  4. package/dist/api/modules/index.d.ts +5 -0
  5. package/dist/api/modules/index.d.ts.map +1 -0
  6. package/dist/api/modules/mesh-api.d.ts +30 -0
  7. package/dist/api/modules/mesh-api.d.ts.map +1 -0
  8. package/dist/api/modules/raycast-api.d.ts +28 -0
  9. package/dist/api/modules/raycast-api.d.ts.map +1 -0
  10. package/dist/api/modules/transform-api.d.ts +33 -0
  11. package/dist/api/modules/transform-api.d.ts.map +1 -0
  12. package/dist/api/renderer/camera-api.d.ts +26 -0
  13. package/dist/api/renderer/camera-api.d.ts.map +1 -0
  14. package/dist/api/renderer/dom-api.d.ts +24 -0
  15. package/dist/api/renderer/dom-api.d.ts.map +1 -0
  16. package/dist/api/renderer/index.d.ts +4 -0
  17. package/dist/api/renderer/index.d.ts.map +1 -0
  18. package/dist/api/renderer/scene-api.d.ts +26 -0
  19. package/dist/api/renderer/scene-api.d.ts.map +1 -0
  20. package/dist/constants/colors.d.ts +12 -0
  21. package/dist/constants/colors.d.ts.map +1 -1
  22. package/dist/constants/figure-geometries.d.ts +55 -4
  23. package/dist/constants/figure-geometries.d.ts.map +1 -1
  24. package/dist/constants/index.d.ts +6 -0
  25. package/dist/constants/index.d.ts.map +1 -0
  26. package/dist/constants/layers.d.ts +12 -0
  27. package/dist/constants/layers.d.ts.map +1 -1
  28. package/dist/constants/messages.d.ts +18 -0
  29. package/dist/constants/messages.d.ts.map +1 -0
  30. package/dist/constants/threshold.d.ts +42 -2
  31. package/dist/constants/threshold.d.ts.map +1 -1
  32. package/dist/controllers/index.d.ts +2 -0
  33. package/dist/controllers/index.d.ts.map +1 -0
  34. package/dist/controllers/renderer-controller.d.ts +72 -0
  35. package/dist/controllers/renderer-controller.d.ts.map +1 -0
  36. package/dist/core/index.d.ts +2 -0
  37. package/dist/core/index.d.ts.map +1 -0
  38. package/dist/core/renderer.d.ts +105 -78
  39. package/dist/core/renderer.d.ts.map +1 -1
  40. package/dist/decorators/index.d.ts +3 -0
  41. package/dist/decorators/index.d.ts.map +1 -0
  42. package/dist/decorators/use-policy.d.ts +5 -0
  43. package/dist/decorators/use-policy.d.ts.map +1 -0
  44. package/dist/decorators/use-validator.d.ts +5 -0
  45. package/dist/decorators/use-validator.d.ts.map +1 -0
  46. package/dist/errors/index.d.ts +3 -0
  47. package/dist/errors/index.d.ts.map +1 -0
  48. package/dist/errors/policy-error.d.ts +9 -0
  49. package/dist/errors/policy-error.d.ts.map +1 -0
  50. package/dist/errors/validation-error.d.ts +9 -0
  51. package/dist/errors/validation-error.d.ts.map +1 -0
  52. package/dist/events/editor-events.d.ts +3 -7
  53. package/dist/events/editor-events.d.ts.map +1 -1
  54. package/dist/events/event-bus.d.ts +103 -6
  55. package/dist/events/event-bus.d.ts.map +1 -1
  56. package/dist/events/event-topics.d.ts +3 -3
  57. package/dist/events/event-topics.d.ts.map +1 -1
  58. package/dist/events/index.d.ts +4 -0
  59. package/dist/events/index.d.ts.map +1 -0
  60. package/dist/handlers/display/index.d.ts +2 -0
  61. package/dist/handlers/display/index.d.ts.map +1 -0
  62. package/dist/handlers/display/wireframe-handler.d.ts +4 -2
  63. package/dist/handlers/display/wireframe-handler.d.ts.map +1 -1
  64. package/dist/handlers/scene/add-figure-scene-handler.d.ts +4 -2
  65. package/dist/handlers/scene/add-figure-scene-handler.d.ts.map +1 -1
  66. package/dist/handlers/scene/delete-figure-scene-handler.d.ts +4 -4
  67. package/dist/handlers/scene/delete-figure-scene-handler.d.ts.map +1 -1
  68. package/dist/handlers/scene/export-scene-handler.d.ts +23 -0
  69. package/dist/handlers/scene/export-scene-handler.d.ts.map +1 -0
  70. package/dist/handlers/scene/index.d.ts +6 -0
  71. package/dist/handlers/scene/index.d.ts.map +1 -0
  72. package/dist/handlers/scene/load-figure-scene-handler.d.ts +23 -0
  73. package/dist/handlers/scene/load-figure-scene-handler.d.ts.map +1 -0
  74. package/dist/handlers/scene/load-scene-handler.d.ts +23 -0
  75. package/dist/handlers/scene/load-scene-handler.d.ts.map +1 -0
  76. package/dist/handlers/select/edge-select-handler.d.ts +11 -8
  77. package/dist/handlers/select/edge-select-handler.d.ts.map +1 -1
  78. package/dist/handlers/select/face-select-handler.d.ts +11 -8
  79. package/dist/handlers/select/face-select-handler.d.ts.map +1 -1
  80. package/dist/handlers/select/index.d.ts +5 -0
  81. package/dist/handlers/select/index.d.ts.map +1 -0
  82. package/dist/handlers/select/mesh-select-handler.d.ts +8 -7
  83. package/dist/handlers/select/mesh-select-handler.d.ts.map +1 -1
  84. package/dist/handlers/select/vertex-select-handler.d.ts +11 -8
  85. package/dist/handlers/select/vertex-select-handler.d.ts.map +1 -1
  86. package/dist/handlers/tool/base-tool-handler.d.ts +10 -7
  87. package/dist/handlers/tool/base-tool-handler.d.ts.map +1 -1
  88. package/dist/handlers/tool/index.d.ts +4 -0
  89. package/dist/handlers/tool/index.d.ts.map +1 -0
  90. package/dist/handlers/tool/rotate-tool-handler.d.ts +4 -3
  91. package/dist/handlers/tool/rotate-tool-handler.d.ts.map +1 -1
  92. package/dist/handlers/tool/scale-tool-handler.d.ts +4 -3
  93. package/dist/handlers/tool/scale-tool-handler.d.ts.map +1 -1
  94. package/dist/handlers/tool/translate-tool-handler.d.ts +4 -3
  95. package/dist/handlers/tool/translate-tool-handler.d.ts.map +1 -1
  96. package/dist/hub/editor-hub.d.ts +26 -18
  97. package/dist/hub/editor-hub.d.ts.map +1 -1
  98. package/dist/hub/index.d.ts +26 -0
  99. package/dist/hub/index.d.ts.map +1 -0
  100. package/dist/hub/viewer-hub.d.ts +30 -0
  101. package/dist/hub/viewer-hub.d.ts.map +1 -0
  102. package/dist/index.cjs.js +20 -2
  103. package/dist/index.d.ts +16 -9
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.es.js +2615 -1627
  106. package/dist/index.full.d.ts +650 -245
  107. package/dist/index.public.d.ts +665 -160
  108. package/dist/index.umd.js +20 -2
  109. package/dist/interfaces/api/camera-api.d.ts +64 -0
  110. package/dist/interfaces/api/camera-api.d.ts.map +1 -0
  111. package/dist/interfaces/api/controls-state-api.d.ts +63 -0
  112. package/dist/interfaces/api/controls-state-api.d.ts.map +1 -0
  113. package/dist/interfaces/api/dom-api.d.ts +49 -0
  114. package/dist/interfaces/api/dom-api.d.ts.map +1 -0
  115. package/dist/interfaces/api/index.d.ts +9 -0
  116. package/dist/interfaces/api/index.d.ts.map +1 -0
  117. package/dist/interfaces/api/mesh-api.d.ts +93 -12
  118. package/dist/interfaces/api/mesh-api.d.ts.map +1 -1
  119. package/dist/interfaces/api/raycast-api.d.ts +6 -1
  120. package/dist/interfaces/api/raycast-api.d.ts.map +1 -1
  121. package/dist/interfaces/api/renderer/index.d.ts +6 -0
  122. package/dist/interfaces/api/renderer/index.d.ts.map +1 -0
  123. package/dist/interfaces/api/renderer/renderable.d.ts +45 -0
  124. package/dist/interfaces/api/renderer/renderable.d.ts.map +1 -0
  125. package/dist/interfaces/api/renderer/renderer-access.d.ts +34 -0
  126. package/dist/interfaces/api/renderer/renderer-access.d.ts.map +1 -0
  127. package/dist/interfaces/api/renderer/renderer-camera-access.d.ts +37 -0
  128. package/dist/interfaces/api/renderer/renderer-camera-access.d.ts.map +1 -0
  129. package/dist/interfaces/api/renderer/renderer-dom-access.d.ts +51 -0
  130. package/dist/interfaces/api/renderer/renderer-dom-access.d.ts.map +1 -0
  131. package/dist/interfaces/api/renderer/renderer-scene-access.d.ts +45 -0
  132. package/dist/interfaces/api/renderer/renderer-scene-access.d.ts.map +1 -0
  133. package/dist/interfaces/api/renderer-api.d.ts +35 -0
  134. package/dist/interfaces/api/renderer-api.d.ts.map +1 -0
  135. package/dist/interfaces/api/scene-api.d.ts +66 -26
  136. package/dist/interfaces/api/scene-api.d.ts.map +1 -1
  137. package/dist/interfaces/api/transform-api.d.ts +120 -0
  138. package/dist/interfaces/api/transform-api.d.ts.map +1 -0
  139. package/dist/interfaces/command/index.d.ts +9 -0
  140. package/dist/interfaces/command/index.d.ts.map +1 -0
  141. package/dist/interfaces/controller/index.d.ts +38 -0
  142. package/dist/interfaces/controller/index.d.ts.map +1 -0
  143. package/dist/interfaces/handler/display-handler.d.ts +9 -1
  144. package/dist/interfaces/handler/display-handler.d.ts.map +1 -1
  145. package/dist/interfaces/handler/handler.d.ts +2 -0
  146. package/dist/interfaces/handler/handler.d.ts.map +1 -1
  147. package/dist/interfaces/handler/index.d.ts +6 -0
  148. package/dist/interfaces/handler/index.d.ts.map +1 -0
  149. package/dist/interfaces/handler/scene-handler.d.ts +1 -0
  150. package/dist/interfaces/handler/scene-handler.d.ts.map +1 -1
  151. package/dist/interfaces/handler/select-handler.d.ts +1 -0
  152. package/dist/interfaces/handler/select-handler.d.ts.map +1 -1
  153. package/dist/interfaces/handler/tool-handler.d.ts +1 -0
  154. package/dist/interfaces/handler/tool-handler.d.ts.map +1 -1
  155. package/dist/interfaces/manager/display-manager.d.ts +3 -1
  156. package/dist/interfaces/manager/display-manager.d.ts.map +1 -1
  157. package/dist/interfaces/manager/index.d.ts +6 -0
  158. package/dist/interfaces/manager/index.d.ts.map +1 -0
  159. package/dist/interfaces/manager/manager.d.ts +12 -1
  160. package/dist/interfaces/manager/manager.d.ts.map +1 -1
  161. package/dist/interfaces/manager/scene-manager.d.ts +3 -1
  162. package/dist/interfaces/manager/scene-manager.d.ts.map +1 -1
  163. package/dist/interfaces/manager/select-manager.d.ts +3 -1
  164. package/dist/interfaces/manager/select-manager.d.ts.map +1 -1
  165. package/dist/interfaces/manager/tool-manager.d.ts +3 -1
  166. package/dist/interfaces/manager/tool-manager.d.ts.map +1 -1
  167. package/dist/interfaces/mediator/index.d.ts +51 -0
  168. package/dist/interfaces/mediator/index.d.ts.map +1 -0
  169. package/dist/interfaces/middleware/index.d.ts +50 -0
  170. package/dist/interfaces/middleware/index.d.ts.map +1 -0
  171. package/dist/interfaces/module/index.d.ts +4 -0
  172. package/dist/interfaces/module/index.d.ts.map +1 -0
  173. package/dist/interfaces/module/renderable-module.d.ts +27 -0
  174. package/dist/interfaces/module/renderable-module.d.ts.map +1 -0
  175. package/dist/interfaces/module/runtime-module.d.ts +54 -0
  176. package/dist/interfaces/module/runtime-module.d.ts.map +1 -0
  177. package/dist/interfaces/module/updatable-module.d.ts +48 -0
  178. package/dist/interfaces/module/updatable-module.d.ts.map +1 -0
  179. package/dist/interfaces/policy/index.d.ts +21 -0
  180. package/dist/interfaces/policy/index.d.ts.map +1 -0
  181. package/dist/interfaces/store/display-store.d.ts +21 -0
  182. package/dist/interfaces/store/display-store.d.ts.map +1 -0
  183. package/dist/interfaces/store/export-store.d.ts +8 -0
  184. package/dist/interfaces/store/export-store.d.ts.map +1 -0
  185. package/dist/interfaces/store/index.d.ts +6 -0
  186. package/dist/interfaces/store/index.d.ts.map +1 -0
  187. package/dist/interfaces/store/select-store.d.ts +44 -0
  188. package/dist/interfaces/store/select-store.d.ts.map +1 -0
  189. package/dist/interfaces/store/tool-store.d.ts +27 -0
  190. package/dist/interfaces/store/tool-store.d.ts.map +1 -0
  191. package/dist/interfaces/store/transform-store.d.ts +11 -0
  192. package/dist/interfaces/store/transform-store.d.ts.map +1 -0
  193. package/dist/interfaces/validator/index.d.ts +21 -0
  194. package/dist/interfaces/validator/index.d.ts.map +1 -0
  195. package/dist/ioc/container.d.ts +3 -1
  196. package/dist/ioc/container.d.ts.map +1 -1
  197. package/dist/managers/display/display-manager.d.ts +7 -4
  198. package/dist/managers/display/display-manager.d.ts.map +1 -1
  199. package/dist/managers/display/index.d.ts +2 -0
  200. package/dist/managers/display/index.d.ts.map +1 -0
  201. package/dist/managers/index.d.ts +5 -0
  202. package/dist/managers/index.d.ts.map +1 -0
  203. package/dist/managers/scene/index.d.ts +2 -0
  204. package/dist/managers/scene/index.d.ts.map +1 -0
  205. package/dist/managers/scene/scene-manager.d.ts +7 -4
  206. package/dist/managers/scene/scene-manager.d.ts.map +1 -1
  207. package/dist/managers/select/index.d.ts +2 -0
  208. package/dist/managers/select/index.d.ts.map +1 -0
  209. package/dist/managers/select/select-manager.d.ts +8 -5
  210. package/dist/managers/select/select-manager.d.ts.map +1 -1
  211. package/dist/managers/tool/index.d.ts +2 -0
  212. package/dist/managers/tool/index.d.ts.map +1 -0
  213. package/dist/managers/tool/tool-manager.d.ts +9 -6
  214. package/dist/managers/tool/tool-manager.d.ts.map +1 -1
  215. package/dist/mediator/index.d.ts +14 -0
  216. package/dist/mediator/index.d.ts.map +1 -0
  217. package/dist/middlewares/exception-middleware.d.ts +12 -0
  218. package/dist/middlewares/exception-middleware.d.ts.map +1 -0
  219. package/dist/middlewares/index.d.ts +2 -0
  220. package/dist/middlewares/index.d.ts.map +1 -0
  221. package/dist/modules/controls-module.d.ts +60 -0
  222. package/dist/modules/controls-module.d.ts.map +1 -0
  223. package/dist/modules/gizmo-module.d.ts +32 -0
  224. package/dist/modules/gizmo-module.d.ts.map +1 -0
  225. package/dist/modules/index.d.ts +6 -0
  226. package/dist/modules/index.d.ts.map +1 -0
  227. package/dist/modules/raycast-module.d.ts +87 -0
  228. package/dist/modules/raycast-module.d.ts.map +1 -0
  229. package/dist/modules/scene-module.d.ts +31 -0
  230. package/dist/modules/scene-module.d.ts.map +1 -0
  231. package/dist/modules/scene-preview-module.d.ts +26 -0
  232. package/dist/modules/scene-preview-module.d.ts.map +1 -0
  233. package/dist/policy/index.d.ts +2 -0
  234. package/dist/policy/index.d.ts.map +1 -0
  235. package/dist/policy/tool-policy.d.ts +18 -0
  236. package/dist/policy/tool-policy.d.ts.map +1 -0
  237. package/dist/store/editor-store.d.ts +33 -0
  238. package/dist/store/editor-store.d.ts.map +1 -0
  239. package/dist/store/export-store.d.ts +12 -0
  240. package/dist/store/export-store.d.ts.map +1 -0
  241. package/dist/store/index.d.ts +2 -45
  242. package/dist/store/index.d.ts.map +1 -1
  243. package/dist/types/camera/index.d.ts +2 -0
  244. package/dist/types/camera/index.d.ts.map +1 -0
  245. package/dist/types/event/index.d.ts +2 -0
  246. package/dist/types/event/index.d.ts.map +1 -0
  247. package/dist/types/feature/feature-type.d.ts +16 -0
  248. package/dist/types/feature/feature-type.d.ts.map +1 -0
  249. package/dist/types/feature/index.d.ts +2 -0
  250. package/dist/types/feature/index.d.ts.map +1 -0
  251. package/dist/types/listener/index.d.ts +3 -0
  252. package/dist/types/listener/index.d.ts.map +1 -0
  253. package/dist/types/select/index.d.ts +2 -0
  254. package/dist/types/select/index.d.ts.map +1 -0
  255. package/dist/utils/default-renderer-config.d.ts +9 -0
  256. package/dist/utils/default-renderer-config.d.ts.map +1 -0
  257. package/dist/utils/helpers.d.ts +14 -1
  258. package/dist/utils/helpers.d.ts.map +1 -1
  259. package/dist/utils/index.d.ts +3 -0
  260. package/dist/utils/index.d.ts.map +1 -0
  261. package/dist/validators/index.d.ts +2 -0
  262. package/dist/validators/index.d.ts.map +1 -0
  263. package/dist/validators/obj-validator.d.ts +12 -0
  264. package/dist/validators/obj-validator.d.ts.map +1 -0
  265. package/package.json +2 -2
  266. package/dist/core/editor-renderer.d.ts +0 -89
  267. package/dist/core/editor-renderer.d.ts.map +0 -1
  268. package/dist/core/preview-renderer.d.ts +0 -16
  269. package/dist/core/preview-renderer.d.ts.map +0 -1
  270. package/dist/hub/app-hub.d.ts +0 -13
  271. package/dist/hub/app-hub.d.ts.map +0 -1
  272. package/dist/interfaces/api/transform-helpers-api.d.ts +0 -26
  273. package/dist/interfaces/api/transform-helpers-api.d.ts.map +0 -1
  274. package/dist/interfaces/policy/tool-availability-policy.d.ts +0 -12
  275. package/dist/interfaces/policy/tool-availability-policy.d.ts.map +0 -1
  276. package/dist/interfaces/store/editor-store.d.ts +0 -52
  277. package/dist/interfaces/store/editor-store.d.ts.map +0 -1
  278. package/dist/policy/tool-availability-policy.d.ts +0 -13
  279. package/dist/policy/tool-availability-policy.d.ts.map +0 -1
  280. package/dist/types/api/editor-api.d.ts +0 -4
  281. package/dist/types/api/editor-api.d.ts.map +0 -1
  282. package/dist/utils/renderer-api.d.ts +0 -43
  283. package/dist/utils/renderer-api.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ![build](https://github.com/planara/planara-core/actions/workflows/build.yml/badge.svg)
2
2
  ![deploy](https://github.com/planara/planara-core/actions/workflows/deploy.yml/badge.svg)
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
4
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
5
+
6
+ [![npm downloads](https://img.shields.io/npm/dm/@planara/core.svg)](https://www.npmjs.com/package/@planara/core)
7
+ [![npm total downloads](https://img.shields.io/npm/dt/@planara/core.svg)](https://www.npmjs.com/package/@planara/core)
3
8
 
4
9
  ## Planara Core
5
10
 
@@ -0,0 +1,23 @@
1
+ import { IControlsStateApi } from '../../interfaces/api';
2
+ /**
3
+ * API для получения состояния элементов управления сценой.
4
+ *
5
+ * **Назначение:**
6
+ * - Предоставляет хендлерам и менеджерам унифицированный интерфейс для получения состояния контролов
7
+ * - Скрывает конкретную реализацию {@link ControlsModule}
8
+ *
9
+ * **Используется:**
10
+ * - `RaycasterModule` для проверки, нужно ли обрабатывать события ввода
11
+ * - Другими модулями, которым важно знать состояние контролов
12
+ *
13
+ * @internal
14
+ * @class
15
+ */
16
+ export declare class ControlsStateApi implements IControlsStateApi {
17
+ private readonly _controlsModule;
18
+ /** @constructor */
19
+ constructor(_controlsModule: IControlsStateApi);
20
+ isOrbitInteracting(): boolean;
21
+ isTransformDragging(): boolean;
22
+ }
23
+ //# sourceMappingURL=controls-state-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls-state-api.d.ts","sourceRoot":"","sources":["../../../src/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,5 @@
1
+ export * from './controls-state-api';
2
+ export * from './mesh-api';
3
+ export * from './raycast-api';
4
+ export * from './transform-api';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { IMeshApi } from '../../interfaces/api';
2
+ import * as THREE from 'three';
3
+ /**
4
+ * API для управления мешами (фигурами) на сцене.
5
+ *
6
+ * **Назначение:**
7
+ * - Предоставляет хендлерам и менеджерам унифицированный интерфейс для работы с мешами
8
+ * - Скрывает конкретную реализацию {@link `SceneModule`}
9
+ *
10
+ * **Используется:**
11
+ * - Хендлерами инструментов ({@link `TranslateToolHandler`}, {@link `RotateToolHandler`} и др.)
12
+ * - Хэндлерами сцены при необходимости получить список мешей
13
+ *
14
+ * @see {@link IMeshApi} - интерфейс, который реализует этот класс
15
+ * @see {@link SceneModule} - реальная реализация операций с мешами
16
+ *
17
+ * @internal
18
+ * @class
19
+ */
20
+ export declare class MeshApi implements IMeshApi {
21
+ private readonly _sceneModule;
22
+ /** @constructor */
23
+ constructor(_sceneModule: IMeshApi);
24
+ addMesh(mesh: THREE.Mesh): void;
25
+ addMeshes(meshes: THREE.Mesh[]): void;
26
+ removeMesh(mesh: THREE.Mesh): void;
27
+ removeMeshes(meshes: THREE.Mesh[]): void;
28
+ getMeshes(): THREE.Mesh[];
29
+ }
30
+ //# sourceMappingURL=mesh-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-api.d.ts","sourceRoot":"","sources":["../../../src/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,28 @@
1
+ import { SelectMode } from '@planara/types';
2
+ import { IRaycastApi } from '../../interfaces/api';
3
+ /**
4
+ * API для управления raycast (выделением геометрии).
5
+ *
6
+ * **Назначение:**
7
+ * - Предоставляет менеджерам и хендлерам унифицированный интерфейс для настройки raycast
8
+ * - Скрывает конкретную реализацию ({@link `RaycastModule`})
9
+ * - Позволяет легко подменить реализацию (например, для тестирования)
10
+ *
11
+ * **Используется:**
12
+ * - {@link `SelectManager`} — для переключения режима выделения при смене инструмента
13
+ * - {@link `MeshSelectHandler`}, {@link `EdgeSelectHandler`}, {@link `VertexSelectHandler`} — для установки режима перед обработкой
14
+ *
15
+ * @see {@link IRaycastApi} - интерфейс, который реализует этот класс
16
+ * @see {@link RaycastModule} - реальная реализация raycast
17
+ * @see {@link SelectManager} - менеджер, использующий этот API
18
+ *
19
+ * @internal
20
+ * @class
21
+ */
22
+ export declare class RaycastApi implements IRaycastApi {
23
+ private readonly _raycastModule;
24
+ /** @constructor */
25
+ constructor(_raycastModule: IRaycastApi);
26
+ setRaycastMode(mode: SelectMode): void;
27
+ }
28
+ //# sourceMappingURL=raycast-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raycast-api.d.ts","sourceRoot":"","sources":["../../../src/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"}
@@ -0,0 +1,33 @@
1
+ import { ToolType } from '@planara/types';
2
+ import { TransformListener } from '../../types/listener';
3
+ import { ITransformApi } from '../../interfaces/api';
4
+ import * as THREE from 'three';
5
+ /**
6
+ * API для управления трансформацией объектов (гизмо).
7
+ *
8
+ * **Назначение:**
9
+ * - Предоставляет хендлерам инструментов унифицированный интерфейс для работы с гизмо
10
+ * - Скрывает конкретную реализацию {@link `ControlsModule`}
11
+ *
12
+ * **Используется:**
13
+ * - Хендлерами инструментов:
14
+ * - {@link `TranslateToolHandler`} — перемещение
15
+ * - {@link `RotateToolHandler`} — вращение
16
+ * - {@link `ScaleToolHandler`} — масштабирование
17
+ *
18
+ * @see {@link ITransformApi} - интерфейс, который реализует этот класс
19
+ * @see {@link ControlsModule} - реальная реализация операций трансформации
20
+ *
21
+ * @internal
22
+ * @class
23
+ */
24
+ export declare class TransformApi implements ITransformApi {
25
+ private readonly _controlsModule;
26
+ /** @constructor */
27
+ constructor(_controlsModule: ITransformApi);
28
+ attachTransform(object: THREE.Object3D): void;
29
+ detachTransform(): void;
30
+ setTransformMode(mode: ToolType): void;
31
+ onTransformChange(callback: TransformListener): () => void;
32
+ }
33
+ //# sourceMappingURL=transform-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-api.d.ts","sourceRoot":"","sources":["../../../src/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"}
@@ -0,0 +1,26 @@
1
+ import { ICameraApi } from '../../interfaces/api';
2
+ import { IRendererCameraAccess } from '../../interfaces/api/renderer';
3
+ import * as THREE from 'three';
4
+ /**
5
+ * Реализация API для управления камерой.
6
+ *
7
+ * @remarks
8
+ * Предоставляет высокоуровневые методы для работы с камерой:
9
+ * - получение экземпляра камеры
10
+ * - включение/выключение слоёв отображения
11
+ *
12
+ * @see {@link ICameraApi} - интерфейс, который реализует этот класс
13
+ * @see {@link IRendererCameraAccess} - низкоуровневый доступ к камере
14
+ * @see {@link Renderer} - рендерер, предоставляющий доступ к камере
15
+ *
16
+ * @internal
17
+ * @class
18
+ */
19
+ export declare class CameraApi implements ICameraApi {
20
+ private _cameraAccessApi;
21
+ constructor(_cameraAccessApi: IRendererCameraAccess);
22
+ getCamera(): THREE.Camera;
23
+ enableCameraLayer(layer: number): void;
24
+ disableCameraLayer(layer: number): void;
25
+ }
26
+ //# sourceMappingURL=camera-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera-api.d.ts","sourceRoot":"","sources":["../../../src/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"}
@@ -0,0 +1,24 @@
1
+ import { IDomApi } from '../../interfaces/api';
2
+ import { IRendererDomAccess } from '../../interfaces/api/renderer';
3
+ /**
4
+ * Реализация API для доступа к DOM-элементам рендерера.
5
+ *
6
+ * @remarks
7
+ * Предоставляет доступ к canvas и DOM-элементу рендерера.
8
+ * Используется модулями, которым нужно взаимодействовать с DOM
9
+ * (например, для подписки на события мыши).
10
+ *
11
+ * @see {@link IDomApi} - интерфейс, который реализует этот класс
12
+ * @see {@link IRendererDomAccess} - низкоуровневый доступ к DOM
13
+ * @see {@link Renderer} - рендерер, предоставляющий доступ
14
+ *
15
+ * @internal
16
+ * @class
17
+ */
18
+ export declare class DomApi implements IDomApi {
19
+ private _domAccessApi;
20
+ constructor(_domAccessApi: IRendererDomAccess);
21
+ getCanvas(): HTMLCanvasElement;
22
+ getDomElement(): HTMLElement;
23
+ }
24
+ //# sourceMappingURL=dom-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-api.d.ts","sourceRoot":"","sources":["../../../src/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,4 @@
1
+ export * from './camera-api';
2
+ export * from './dom-api';
3
+ export * from './scene-api';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/renderer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { ISceneApi } from '../../interfaces/api';
2
+ import { IRendererSceneAccess } from '../../interfaces/api/renderer';
3
+ import * as THREE from 'three';
4
+ /**
5
+ * Реализация API для управления сценой.
6
+ *
7
+ * @remarks
8
+ * Делегирует вызовы к {@link IRendererSceneAccess},
9
+ * что позволяет изолировать логику управления сценой от конкретной реализации рендерера.
10
+ *
11
+ * @see {@link ISceneApi} - интерфейс, который реализует этот класс
12
+ * @see {@link IRendererSceneAccess} - низкоуровневый доступ к сцене
13
+ * @see {@link Renderer} - рендерер, предоставляющий доступ к сцене
14
+ *
15
+ * @internal
16
+ * @class
17
+ */
18
+ export declare class SceneApi implements ISceneApi {
19
+ private _sceneAccessApi;
20
+ constructor(_sceneAccessApi: IRendererSceneAccess);
21
+ getScene(): THREE.Scene;
22
+ addToScene(object: THREE.Object3D): void;
23
+ removeFromScene(object: THREE.Object3D): void;
24
+ addObject(object: THREE.Object3D, layer?: number): void;
25
+ }
26
+ //# sourceMappingURL=scene-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-api.d.ts","sourceRoot":"","sources":["../../../src/api/renderer/scene-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,qBACa,QAAS,YAAW,SAAS;IAEN,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,oBAAoB;IAGxE,QAAQ,IAAI,KAAK,CAAC,KAAK;IAIvB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAIxC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAI7C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM;CAWxD"}
@@ -8,6 +8,9 @@
8
8
  *
9
9
  * @example
10
10
  * (line.material as THREE.LineBasicMaterial).color.setHex(HOVER_COLOR);
11
+ *
12
+ * @internal
13
+ * @const
11
14
  */
12
15
  export declare const HOVER_COLOR = 16776960;
13
16
  /**
@@ -19,6 +22,9 @@ export declare const HOVER_COLOR = 16776960;
19
22
  *
20
23
  * @example
21
24
  * (line.material as THREE.LineBasicMaterial).color.setHex(SELECT_COLOR);
25
+ *
26
+ * @internal
27
+ * @const
22
28
  */
23
29
  export declare const SELECT_COLOR = 16755200;
24
30
  /**
@@ -30,6 +36,9 @@ export declare const SELECT_COLOR = 16755200;
30
36
  *
31
37
  * @example
32
38
  * (line.material as THREE.LineBasicMaterial).color.setHex(EDGES_DEFAULT_COLOR);
39
+ *
40
+ * @internal
41
+ * @const
33
42
  */
34
43
  export declare const EDGES_DEFAULT_COLOR = 2236962;
35
44
  /**
@@ -38,6 +47,9 @@ export declare const EDGES_DEFAULT_COLOR = 2236962;
38
47
  * @remarks
39
48
  * Применяется при выключении постоянной подсветки выбранной вершины.
40
49
  * Должен визуально отличаться от {@link HOVER_COLOR} и {@link SELECT_COLOR}, чтобы не путать состояния.
50
+ *
51
+ * @internal
52
+ * @const
41
53
  */
42
54
  export declare const VERTEX_DEFAULT_COLOR = 2236962;
43
55
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/constants/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,UAAW,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,UAAW,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/constants/colors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,UAAW,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,UAAW,CAAC"}
@@ -1,12 +1,63 @@
1
1
  import { FigureType } from '@planara/types';
2
2
  import * as THREE from 'three';
3
3
  /**
4
- * Базовые фабрики геометрий по типу фигуры.
5
- * Всегда создают новый экземпляр — безопасно для редактирования вершин.
4
+ * Фабрики геометрий для стандартных типов фигур.
5
+ *
6
+ * @remarks
7
+ * Каждая фабрика создаёт **новый экземпляр** геометрии при вызове.
8
+ * Это важно для редактирования вершин — изменения в одной геометрии
9
+ * не влияют на другие экземпляры того же типа.
10
+ *
11
+ * Все геометрии создаются с единичными размерами (ширина/высота/глубина = 1
12
+ * или радиус = 0.5).
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Создание куба
17
+ * const geometry = BASE_GEOMETRIES[FigureType.Cube]();
18
+ * const mesh = new THREE.Mesh(geometry, BASE_MATERIAL);
19
+ * ```
20
+ *
21
+ * @see {@link FigureType} - типы доступных фигур
22
+ *
23
+ * @internal
24
+ * @const
6
25
  */
7
26
  export declare const BASE_GEOMETRIES: Record<FigureType, () => THREE.BufferGeometry>;
8
- /** Базовый материал для фигур */
27
+ /**
28
+ * Базовый материал для фигур.
29
+ *
30
+ * @remarks
31
+ * Используется для всех стандартных фигур, создаваемых через `addFigure`.
32
+ * Материал переиспользуется между фигурами, так как геометрия и так
33
+ * создаётся заново для каждой фигуры.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Использование с кастомной геометрией
38
+ * const geometry = new THREE.BoxGeometry(2, 2, 2);
39
+ * const mesh = new THREE.Mesh(geometry, BASE_MATERIAL);
40
+ * ```
41
+ *
42
+ * @internal
43
+ * @const
44
+ */
9
45
  export declare const BASE_MATERIAL: THREE.MeshStandardMaterial;
10
- /** Базовый размер вершины. */
46
+ /**
47
+ * Базовый размер точек для вершин.
48
+ *
49
+ * @remarks
50
+ * Используется при создании точек вершин для визуализации.
51
+ * Размер задаётся в пикселях.
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const points = makeVertexPoints(geometry);
56
+ * points.material.size = BASE_POINT_SIZE;
57
+ * ```
58
+ *
59
+ * @internal
60
+ * @const
61
+ */
11
62
  export declare const BASE_POINT_SIZE = 8;
12
63
  //# sourceMappingURL=figure-geometries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"figure-geometries.d.ts","sourceRoot":"","sources":["../../src/constants/figure-geometries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,cAAc,CAa1E,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,aAAa,4BAIxB,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"figure-geometries.d.ts","sourceRoot":"","sources":["../../src/constants/figure-geometries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,cAAc,CAwG1E,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,4BAIxB,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './colors';
2
+ export * from './figure-geometries';
3
+ export * from './layers';
4
+ export * from './messages';
5
+ export * from './threshold';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -8,6 +8,9 @@
8
8
  * @example
9
9
  * camera.layers.enable(MESH_LAYER);
10
10
  * raycaster.layers.set(MESH_LAYER);
11
+ *
12
+ * @internal
13
+ * @const
11
14
  */
12
15
  export declare const MESH_LAYER = 0;
13
16
  /**
@@ -21,6 +24,9 @@ export declare const MESH_LAYER = 0;
21
24
  * camera.layers.enable(LINE_LAYER);
22
25
  * raycaster.layers.set(LINE_LAYER);
23
26
  * raycaster.params.Line.threshold = 0.03;
27
+ *
28
+ * @internal
29
+ * @const
24
30
  */
25
31
  export declare const LINE_LAYER = 1;
26
32
  /**
@@ -34,6 +40,9 @@ export declare const LINE_LAYER = 1;
34
40
  * camera.layers.enable(POINT_LAYER);
35
41
  * raycaster.layers.set(POINT_LAYER);
36
42
  * raycaster.params.Points.threshold = 0.03;
43
+ *
44
+ * @internal
45
+ * @const
37
46
  */
38
47
  export declare const POINT_LAYER = 2;
39
48
  /**
@@ -47,6 +56,9 @@ export declare const POINT_LAYER = 2;
47
56
  * camera.layers.enable(OVERLAY_LAYER); // камера видит подсветку
48
57
  * // Raycaster НЕ видит подсветку:
49
58
  * // raycaster.layers.set(...) — без OVERLAY_LAYER
59
+ *
60
+ * @internal
61
+ * @const
50
62
  */
51
63
  export declare const OVERLAY_LAYER = 31;
52
64
  //# sourceMappingURL=layers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/constants/layers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC"}
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/constants/layers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Константы сообщений для политик инструментов.
3
+ *
4
+ * @remarks
5
+ * Используются в `ToolPolicy` и `ToolManager` для унификации сообщений.
6
+ *
7
+ * @public
8
+ * @constant
9
+ */
10
+ export declare const TOOL_MESSAGES: {
11
+ /** Сообщение, когда инструмент недоступен в текущем режиме выбора */
12
+ readonly ToolNotAllowed: "This tool cannot be used with current select mode";
13
+ /** Сообщение об успешном выполнении действия */
14
+ readonly Success: "Action executed successfully";
15
+ /** Сообщение, когда инструмент уже выбран */
16
+ readonly NoChange: "Tool already selected";
17
+ };
18
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/constants/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;IACxB,qEAAqE;;IAGrE,gDAAgD;;IAGhD,6CAA6C;;CAErC,CAAC"}
@@ -1,5 +1,45 @@
1
- /** мировые координаты */
1
+ /**
2
+ * Порог выделения рёбер (линий) в мировых координатах.
3
+ *
4
+ * @remarks
5
+ * Определяет, на каком расстоянии (в единицах Three.js) луч может пройти мимо ребра,
6
+ * чтобы оно всё равно считалось выделенным.
7
+ *
8
+ * Значение `0.03` означает, что луч может пройти в 3 сантиметрах от ребра
9
+ * (при единичном масштабе модели) и ребро всё равно будет выделено.
10
+ *
11
+ * Чем больше значение, тем легче выделить ребро, но выше вероятность ложных срабатываний.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // Установка порога для raycast
16
+ * raycaster.params.Line.threshold = LINE_THRESHOLD;
17
+ * ```
18
+ *
19
+ * @internal
20
+ * @const
21
+ */
2
22
  export declare const LINE_THRESHOLD = 0.03;
3
- /** пиксели */
23
+ /**
24
+ * Порог выделения вершин (точек) в пикселях.
25
+ *
26
+ * @remarks
27
+ * Определяет, на каком расстоянии (в пикселях) курсор мыши может находиться от точки,
28
+ * чтобы она считалась выделенной.
29
+ *
30
+ * Значение `0.05` означает, что курсор может отстоять от точки на 0.05 пикселя.
31
+ * Фактически это минимальный порог — выделение происходит только при точном попадании.
32
+ *
33
+ * Чем больше значение, тем легче выделить вершину, но выше риск ложных срабатываний.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Установка порога для raycast
38
+ * raycaster.params.Points.threshold = POINTS_THRESHOLD;
39
+ * ```
40
+ *
41
+ * @internal
42
+ * @const
43
+ */
4
44
  export declare const POINTS_THRESHOLD = 0.05;
5
45
  //# sourceMappingURL=threshold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/constants/threshold.ts"],"names":[],"mappings":"AACA,yBAAyB;AACzB,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,cAAc;AACd,eAAO,MAAM,gBAAgB,OAAO,CAAC"}
1
+ {"version":3,"file":"threshold.d.ts","sourceRoot":"","sources":["../../src/constants/threshold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './renderer-controller';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { IController } from '../interfaces/controller';
2
+ import { IRenderable } from '../interfaces/api/renderer';
3
+ import { IRuntimeModule, IRenderableModule, IUpdatableModule } from '../interfaces/module';
4
+ /**
5
+ * Контроллер для оркестрации жизненного цикла модулей и цикла рендеринга.
6
+ *
7
+ * @remarks
8
+ * Отвечает за:
9
+ * - инициализацию всех модулей ({@link `IRuntimeModule`}, {@link `IUpdatableModule`}, {@link `IRenderableModule`})
10
+ * - запуск анимационного цикла (`requestAnimationFrame`)
11
+ * - вызов `update()` у модулей перед рендерингом
12
+ * - вызов `render()` у рендерера
13
+ * - вызов `render()` у модулей после рендеринга
14
+ * - остановку цикла и очистку ресурсов
15
+ *
16
+ * @see {@link IController} - интерфейс контроллера
17
+ * @see {@link IRuntimeModule} - модули с инициализацией
18
+ * @see {@link IUpdatableModule} - модули с обновлением каждый кадр
19
+ * @see {@link IRenderableModule} - модули с кастомным рендерингом
20
+ * @see {@link IRenderable} - рендерер
21
+ *
22
+ * @internal
23
+ * @class
24
+ */
25
+ export declare class RendererController implements IController {
26
+ private readonly _updatable;
27
+ private readonly _renderable;
28
+ private readonly _runtime;
29
+ private readonly _renderer;
30
+ /**
31
+ * ID анимационного цикла (для остановки)
32
+ *
33
+ * @private
34
+ * @member
35
+ */
36
+ private _animationId;
37
+ /**
38
+ * Конструктор контроллера.
39
+ *
40
+ * @param _updatable - модули, требующие обновления каждый кадр
41
+ * @param _renderable - модули, требующие кастомного рендеринга
42
+ * @param _runtime - модули, требующие инициализации
43
+ * @param _renderer - рендерер (должен реализовывать `IRenderable`)
44
+ *
45
+ * @internal
46
+ * @constructor
47
+ */
48
+ constructor(_updatable: IUpdatableModule[], _renderable: IRenderableModule[], _runtime: IRuntimeModule[], _renderer: IRenderable);
49
+ start(): void;
50
+ /**
51
+ * Внутренний анимационный цикл.
52
+ *
53
+ * @remarks
54
+ * Каждый кадр:
55
+ * 1. Обновляет модули (`update()`)
56
+ * 2. Рендерит сцену
57
+ * 3. Рендерит дополнительные модули (`render()`)
58
+ *
59
+ * @private
60
+ * @method
61
+ */
62
+ private _loop;
63
+ stop(): void;
64
+ /**
65
+ * Освобождает ресурсы контроллера.
66
+ *
67
+ * @public
68
+ * @method
69
+ */
70
+ dispose(): Promise<void> | void;
71
+ }
72
+ //# sourceMappingURL=renderer-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-controller.d.ts","sourceRoot":"","sources":["../../src/controllers/renderer-controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,kBAAmB,YAAW,WAAW;IAsBlD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAG5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS;IA7BnD;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAuB;IAE3C;;;;;;;;;;OAUG;gBAGgB,UAAU,EAAE,gBAAgB,EAAE,EAG9B,WAAW,EAAE,iBAAiB,EAAE,EAGhC,QAAQ,EAAE,cAAc,EAAE,EAEH,SAAS,EAAE,WAAW;IAGzD,KAAK,IAAI,IAAI;IAOpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,KAAK;IAON,IAAI,IAAI,IAAI;IAOnB;;;;;OAKG;IACI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAGvC"}
@@ -0,0 +1,2 @@
1
+ export * from './renderer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}