@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
@@ -1,38 +1,119 @@
1
1
  import * as THREE from 'three';
2
2
  /**
3
- * Интерфейс для управления фигурами внутри рендерера.
4
- * Предоставляет базовый CRUD-набор операций для добавления, удаления и получения фигур из сцены.
3
+ * API для управления мешами (фигурами) в сцене.
4
+ *
5
+ * @remarks
6
+ * Предоставляет базовые CRUD-операции для работы с мешами:
7
+ * - добавление одного или нескольких мешей
8
+ * - удаление одного или нескольких мешей
9
+ * - получение списка всех мешей
10
+ *
11
+ * Используется модулями и менеджерами, которым нужно управлять
12
+ * 3D-объектами на сцене (например, `SceneModule`).
13
+ *
14
+ * @see {@link SceneModule} - реализация этого интерфейса
15
+ * @see {@link Renderer} - рендерер, предоставляющий доступ к сцене
16
+ *
5
17
  * @internal
18
+ * @interface
6
19
  */
7
20
  export interface IMeshApi {
8
21
  /**
9
- * Добавляет фигуру в сцену.
22
+ * Добавляет один меш на сцену.
10
23
  *
11
- * @param mesh - Фигура, которую необходимо добавить.
24
+ * @param mesh - меш для добавления
25
+ *
26
+ * @remarks
27
+ * Меш становится видимым на сцене после вызова этого метода.
28
+ * Если меш уже добавлен, он не будет продублирован.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const geometry = new THREE.BoxGeometry(1, 1, 1);
33
+ * const material = new THREE.MeshStandardMaterial({ color: 0xff0000 });
34
+ * const mesh = new THREE.Mesh(geometry, material);
35
+ * meshApi.addMesh(mesh);
36
+ * ```
37
+ *
38
+ * @internal
39
+ * @method
12
40
  */
13
41
  addMesh(mesh: THREE.Mesh): void;
14
42
  /**
15
- * Добавляет несколько фигур в сцену за один вызов.
43
+ * Добавляет несколько мешей на сцену за один вызов.
44
+ *
45
+ * @param meshes - массив мешей для добавления
16
46
  *
17
- * @param meshes - Массив фигур для добавления.
47
+ * @remarks
48
+ * Полезно для массового добавления объектов, например,
49
+ * при загрузке сцены из файла.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const meshes = [mesh1, mesh2, mesh3];
54
+ * meshApi.addMeshes(meshes);
55
+ * ```
56
+ *
57
+ * @internal
58
+ * @method
18
59
  */
19
60
  addMeshes(meshes: THREE.Mesh[]): void;
20
61
  /**
21
- * Удаляет фигуру из сцены.
62
+ * Удаляет один меш со сцены.
63
+ *
64
+ * @param mesh - меш для удаления
65
+ *
66
+ * @remarks
67
+ * Меш перестаёт отображаться, но его геометрия и материал
68
+ * остаются в памяти. Для полного освобождения памяти нужно
69
+ * вызвать `dispose()` у геометрии и материала.
22
70
  *
23
- * @param mesh - Фигура, которую необходимо удалить.
71
+ * @example
72
+ * ```typescript
73
+ * meshApi.removeMesh(mesh);
74
+ * mesh.geometry.dispose();
75
+ * mesh.material.dispose();
76
+ * ```
77
+ *
78
+ * @internal
79
+ * @method
24
80
  */
25
81
  removeMesh(mesh: THREE.Mesh): void;
26
82
  /**
27
- * Удаляет несколько фигур из сцены за один вызов.
83
+ * Удаляет несколько мешей со сцены за один вызов.
84
+ *
85
+ * @param meshes - массив мешей для удаления
86
+ *
87
+ * @remarks
88
+ * Полезно для массового удаления объектов, например,
89
+ * при очистке сцены.
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const meshes = meshApi.getMeshes();
94
+ * meshApi.removeMeshes(meshes);
95
+ * ```
28
96
  *
29
- * @param meshes - Массив фигур для удаления.
97
+ * @internal
98
+ * @method
30
99
  */
31
100
  removeMeshes(meshes: THREE.Mesh[]): void;
32
101
  /**
33
- * Возвращает список всех фигур, находящихся в сцене.
102
+ * Возвращает список всех мешей, находящихся на сцене.
103
+ *
104
+ * @returns массив мешей
105
+ *
106
+ * @remarks
107
+ * Возвращает только меши, добавленные через `addMesh` или `addMeshes`.
108
+ * Вспомогательные объекты (сетка, оси, свет) не включаются в список.
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const allMeshes = meshApi.getMeshes();
113
+ * ```
34
114
  *
35
- * @returns Массив текущих фигур.
115
+ * @internal
116
+ * @method
36
117
  */
37
118
  getMeshes(): THREE.Mesh[];
38
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/mesh-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEhC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"mesh-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/mesh-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzC;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;CAC3B"}
@@ -6,9 +6,11 @@ import { SelectMode } from '@planara/types';
6
6
  * определяет, какие объекты участвуют в пиккинге и какие пороги
7
7
  * используются:
8
8
  * Настройка режима может меняться на лету, перед любым вызовом `raycaster.intersectObjects`.
9
+ *
9
10
  * @internal
11
+ * @interface
10
12
  */
11
- export interface IRaycastAPI {
13
+ export interface IRaycastApi {
12
14
  /**
13
15
  * Устанавливает режим работы Raycaster и связанные с ним таргеты/пороговые параметры.
14
16
  *
@@ -17,6 +19,9 @@ export interface IRaycastAPI {
17
19
  * - `Edge`
18
20
  * - `Vertex`
19
21
  * @param mode Текущий режим выбора (`Mesh | Face | Edge | Vertex`).
22
+ *
23
+ * @internal
24
+ * @method
20
25
  */
21
26
  setRaycastMode(mode: SelectMode): void;
22
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"raycast-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/raycast-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"raycast-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/raycast-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACxC"}
@@ -0,0 +1,6 @@
1
+ export * from './renderable';
2
+ export * from './renderer-access';
3
+ export * from './renderer-camera-access';
4
+ export * from './renderer-dom-access';
5
+ export * from './renderer-scene-access';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Интерфейс для объектов, которые могут быть отрисованы.
3
+ *
4
+ * @remarks
5
+ * Предназначен для модулей, которым требуется кастомный рендеринг
6
+ * поверх основной сцены (например, `GizmoModule`).
7
+ *
8
+ * **Отличие от `IUpdatableModule`:**
9
+ * - `render()` вызывается **после** основного рендера сцены
10
+ * - `render()` предназначен для отрисовки дополнительных элементов
11
+ * (осей координат, отладочной информации, оверлеев)
12
+ *
13
+ * **Жизненный цикл:**
14
+ * 1. `init()` (из `IRuntimeModule`) — создание ресурсов
15
+ * 2. `render()` — отрисовка (вызывается каждый кадр)
16
+ * 3. `dispose()` (из `IRuntimeModule`) — освобождение ресурсов
17
+ *
18
+ * @public
19
+ * @interface
20
+ */
21
+ export interface IRenderable {
22
+ /**
23
+ * Выполняет кастомный рендеринг объекта.
24
+ *
25
+ * @remarks
26
+ * Вызывается каждый кадр **после** основного рендера сцены.
27
+ *
28
+ * **Важно:** метод не должен выполнять тяжёлые операции,
29
+ * чтобы не снижать производительность.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * public render(): void {
34
+ * const canvas = this._domApi.getCanvas();
35
+ * this._gizmo?.render(canvas.width, canvas.height);
36
+ * this._drawFPS();
37
+ * }
38
+ * ```
39
+ *
40
+ * @public
41
+ * @method
42
+ */
43
+ render(): void;
44
+ }
45
+ //# sourceMappingURL=renderable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/renderable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB"}
@@ -0,0 +1,34 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * Низкоуровневый доступ к WebGLRenderer.
4
+ *
5
+ * @remarks
6
+ * Этот интерфейс **реализуется самим рендерером** (`Renderer`).
7
+ * Предоставляет прямой доступ к WebGLRenderer Three.js.
8
+ *
9
+ * Используется **только внутренними API-слоями** (например, `RendererApi`),
10
+ * но не модулями напрямую.
11
+ *
12
+ * @see {@link Renderer} - класс, реализующий этот интерфейс
13
+ *
14
+ * @public
15
+ * @interface
16
+ */
17
+ export interface IRendererAccess {
18
+ /**
19
+ * Возвращает WebGLRenderer.
20
+ *
21
+ * @returns THREE.WebGLRenderer - рендерер Three.js
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Использование в RendererApi
26
+ * const renderer = this._rendererAccess.getRenderer();
27
+ * ```
28
+ *
29
+ * @public
30
+ * @method
31
+ */
32
+ getRenderer(): THREE.WebGLRenderer;
33
+ }
34
+ //# sourceMappingURL=renderer-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-access.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/renderer-access.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;OAaG;IACH,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;CACpC"}
@@ -0,0 +1,37 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * Предоставляет низкоуровневый доступ к камере рендерера.
4
+ *
5
+ * Этот интерфейс используется внутренними модулями (например, `CameraApi`) для
6
+ * получения прямого доступа к камере `Three.js`. Он не содержит логики управления
7
+ * камерой — только доступ к объекту.
8
+ *
9
+ * @remarks
10
+ * В отличие от `ICameraApi`, который предоставляет высокоуровневые операции
11
+ * (включение слоёв, настройка параметров), этот интерфейс нужен только для
12
+ * чтения камеры.
13
+ *
14
+ * @see {@link Renderer} - класс, который реализует этот интерфейс
15
+ *
16
+ * @public
17
+ * @interface
18
+ */
19
+ export interface IRendererCameraAccess {
20
+ /**
21
+ * Возвращает камеру рендерера.
22
+ *
23
+ * @returns Камера Three.js.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const camera = cameraAccess.getCamera();
28
+ * camera.position.set(5, 5, 5);
29
+ * camera.lookAt(0, 0, 0);
30
+ * ```
31
+ *
32
+ * @public
33
+ * @method
34
+ */
35
+ getCamera(): THREE.Camera;
36
+ }
37
+ //# sourceMappingURL=renderer-camera-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-camera-access.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/renderer-camera-access.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;OAcG;IACH,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Низкоуровневый доступ к DOM-элементам рендерера.
3
+ *
4
+ * @remarks
5
+ * Этот интерфейс предоставляет доступ к canvas и DOM-элементу рендерера.
6
+ * Используется внутренними API-слоями (например, `DomApi`)
7
+ * для получения доступа к DOM без необходимости знать конкретную реализацию рендерера.
8
+ *
9
+ * @see {@link Renderer} - класс, реализующий этот интерфейс
10
+ *
11
+ * @public
12
+ * @interface
13
+ */
14
+ export interface IRendererDomAccess {
15
+ /**
16
+ * Возвращает canvas-элемент редактора.
17
+ *
18
+ * @remarks
19
+ * Canvas используется для рендеринга 3D-сцены.
20
+ *
21
+ * @returns HTMLCanvasElement - canvas элемент
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const canvas = domAccess.getCanvas();
26
+ * ```
27
+ *
28
+ * @public
29
+ */
30
+ getCanvas(): HTMLCanvasElement;
31
+ /**
32
+ * Возвращает DOM-элемент рендерера.
33
+ *
34
+ * @remarks
35
+ * Обычно это тот же canvas, но в некоторых случаях может быть
36
+ * другим элементом (например, div-обёрткой). Используется для
37
+ * подписки на события ввода (mousemove, click, dblclick и т.д.).
38
+ *
39
+ * @returns HTMLElement - DOM-элемент для подписки на события
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const domElement = domAccess.getDomElement();
44
+ * ```
45
+ *
46
+ * @public
47
+ * @method
48
+ */
49
+ getDomElement(): HTMLElement;
50
+ }
51
+ //# sourceMappingURL=renderer-dom-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-dom-access.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/renderer-dom-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;;;OAcG;IACH,SAAS,IAAI,iBAAiB,CAAC;IAE/B;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,IAAI,WAAW,CAAC;CAC9B"}
@@ -0,0 +1,45 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * Низкоуровневый доступ к сцене рендерера.
4
+ *
5
+ * @remarks
6
+ * Этот интерфейс предоставляет доступ к сцене Three.js.
7
+ * Используется внутренними API-слоями (например, `SceneApi`)
8
+ * для получения доступа к сцене без необходимости знать конкретную
9
+ * реализацию рендерера.
10
+ *
11
+ * @see {@link Renderer} - класс, реализующий этот интерфейс
12
+ *
13
+ * @public
14
+ * @interface
15
+ */
16
+ export interface IRendererSceneAccess {
17
+ /**
18
+ * Возвращает сцену рендерера.
19
+ *
20
+ * @returns THREE.Scene - сцена Three.js
21
+ *
22
+ * @remarks
23
+ * Сцена содержит все объекты, которые рендерятся на экране.
24
+ * Через неё можно добавлять, удалять и модифицировать объекты.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const scene = sceneAccess.getScene();
29
+ *
30
+ * // Добавление объекта
31
+ * scene.add(myMesh);
32
+ *
33
+ * // Поиск объекта по имени
34
+ * const obj = scene.getObjectByName('myObject');
35
+ *
36
+ * // Удаление объекта
37
+ * scene.remove(obj);
38
+ * ```
39
+ *
40
+ * @public
41
+ * @method
42
+ */
43
+ getScene(): THREE.Scene;
44
+ }
45
+ //# sourceMappingURL=renderer-scene-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-scene-access.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/api/renderer/renderer-scene-access.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;CACzB"}
@@ -0,0 +1,35 @@
1
+ import * as THREE from 'three';
2
+ /**
3
+ * API для доступа к WebGLRenderer.
4
+ *
5
+ * @remarks
6
+ * Этот интерфейс **реализуется прослойкой** (`RendererApi`), а не самим рендерером.
7
+ * Предоставляет тот же функционал, но через верхнеуровневый API.
8
+ *
9
+ * Используется **модулями** (например, `GizmoModule`), которым нужен доступ
10
+ * к WebGLRenderer, но которые не должны знать о конкретной реализации рендерера.
11
+ *
12
+ * @see {@link RendererApi} - реализация этого интерфейса
13
+ * @see {@link IRendererAccess} - нижнеуровневый доступ (реализуется рендерером)
14
+ *
15
+ * @internal
16
+ * @interface
17
+ */
18
+ export interface IRendererApi {
19
+ /**
20
+ * Возвращает WebGLRenderer.
21
+ *
22
+ * @returns THREE.WebGLRenderer - рендерер Three.js
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const renderer = rendererApi.getRenderer();
27
+ * renderer.setSize(width, height);
28
+ * ```
29
+ *
30
+ * @internal
31
+ * @method
32
+ */
33
+ getRenderer(): THREE.WebGLRenderer;
34
+ }
35
+ //# sourceMappingURL=renderer-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/renderer-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;OAaG;IACH,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC;CACpC"}
@@ -1,50 +1,90 @@
1
1
  import * as THREE from 'three';
2
2
  /**
3
- * Мини-API для взаимодействия со сценой и слоями камеры.
3
+ * Высокоуровневое API для управления сценой.
4
4
  *
5
5
  * @remarks
6
- * Абстрагирует прямой доступ к `THREE.Scene`/`THREE.Camera`, позволяя
7
- * хендлерам добавлять/удалять объекты и управлять видимостью слоёв.
8
- * Рекомендуется использовать совместно с константами слоёв
9
- * (например, `MESH_LAYER`, `LINE_LAYER`, `OVERLAY_LAYER`).
6
+ * Предоставляет базовые операции для работы со сценой Three.js:
7
+ * - получение сцены
8
+ * - добавление объектов на сцену
9
+ * - удаление объектов со сцены
10
10
  *
11
- * @example
12
- * // Добавить оверлей на слой подсветок и убедиться, что камера его видит:
13
- * sceneApi.add(overlayLine, OVERLAY_LAYER);
14
- * sceneApi.enableCameraLayer(OVERLAY_LAYER);
11
+ * Используется модулями и хендлерами, которым нужно управлять
12
+ * объектами на сцене (например, добавление мешей, света, вспомогательных элементов).
13
+ *
14
+ * @see {@link SceneApi} - реализация этого интерфейса
15
+ * @see {@link IRendererSceneAccess} - низкоуровневый доступ к сцене (internal)
16
+ *
17
+ * @internal
18
+ * @interface
15
19
  */
16
20
  export interface ISceneApi {
17
21
  /**
18
- * Добавляет объект в сцену.
22
+ * Возвращает сцену рендерера.
19
23
  *
20
- * @param obj - Объект для добавления (`THREE.Object3D`).
21
- * @param layer - (Опц.) Слой, который следует выставить объекту перед добавлением.
24
+ * @returns THREE.Scene - сцена Three.js
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const scene = sceneApi.getScene();
29
+ * ```
30
+ *
31
+ * @internal
32
+ * @method
33
+ */
34
+ getScene(): THREE.Scene;
35
+ /**
36
+ * Добавляет объект на сцену.
37
+ *
38
+ * @param object - объект Three.js для добавления (Mesh, Light, Group и т.д.)
22
39
  *
23
40
  * @remarks
24
- * Если `layer` указан, реализация должна вызвать `obj.layers.set(layer)` или
25
- * эквивалентную логику, прежде чем поместить объект в сцену.
41
+ * Объект будет виден на сцене после вызова этого метода.
42
+ * Если объект уже добавлен, он не будет продублирован.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const mesh = new THREE.Mesh(geometry, material);
47
+ * sceneApi.addToScene(mesh);
48
+ * ```
49
+ *
50
+ * @internal
51
+ * @method
26
52
  */
27
- addObject(obj: THREE.Object3D, layer?: number): void;
53
+ addToScene(object: THREE.Object3D): void;
28
54
  /**
29
- * Удаляет объект из сцены.
55
+ * Удаляет объект со сцены.
30
56
  *
31
- * @param obj - Объект для удаления.
57
+ * @param object - объект Three.js для удаления
32
58
  *
33
59
  * @remarks
34
- * Реализация может дополнительно освобождать ресурсы (материалы, геометрию)
35
- * по соглашению, но это не обязательно для интерфейса.
60
+ * Объект перестаёт отображаться на сцене.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * sceneApi.removeFromScene(mesh);
65
+ * ```
66
+ *
67
+ * @internal
68
+ * @method
36
69
  */
37
- removeObject(obj: THREE.Object3D): void;
70
+ removeFromScene(object: THREE.Object3D): void;
38
71
  /**
39
- * Включает указанный слой для активной камеры,
40
- * чтобы объекты на этом слое были видимы.
72
+ * Добавляет объект в сцену и (опционально) выставляет ему слой.
73
+ *
74
+ * @param object - Объект, который нужно добавить в сцену.
75
+ * @param layer - (Опц.) Номер слоя, который следует установить объекту перед добавлением.
41
76
  *
42
- * @param layer - Номер слоя, который требуется включить.
77
+ * @remarks
78
+ * Если рендерер уже диспоузнут (scene отсутствует), метод тихо завершится.
79
+ * Слой задаётся через `obj.layers.set(layer)`, после чего объект добавляется в `this.scene`.
43
80
  *
44
81
  * @example
45
- * // Показать оверлеи подсветки:
46
- * sceneApi.enableCameraLayer(OVERLAY_LAYER);
82
+ * // Добавить оверлей на слой подсветок:
83
+ * add(overlayLine, OVERLAY_LAYER);
84
+ *
85
+ * @internal
86
+ * @method
47
87
  */
48
- enableCameraLayer(layer: number): void;
88
+ addObject(object: THREE.Object3D, layer?: number): void;
49
89
  }
50
90
  //# sourceMappingURL=scene-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/scene-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;OASG;IACH,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErD;;;;;;;;OAQG;IACH,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAExC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"scene-api.d.ts","sourceRoot":"","sources":["../../../src/interfaces/api/scene-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;;OAYG;IACH,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEzC;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzD"}