@planara/core 2.6.1 → 2.7.1

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.
@@ -1,6 +1,7 @@
1
1
  import { IEditorStore } from '../interfaces/store/editor-store';
2
- import { DisplayMode, SelectMode, ToolType } from '@planara/types';
2
+ import { DisplayMode, FigureTransform, SelectMode, ToolType } from '@planara/types';
3
3
  import { SelectedListener } from '../types/listener/selected-listener';
4
+ import { TransformListener } from '../types/listener/transform-listener';
4
5
  import * as THREE from 'three';
5
6
  /** Store для всего редактора. */
6
7
  export declare class EditorStore implements IEditorStore {
@@ -14,6 +15,8 @@ export declare class EditorStore implements IEditorStore {
14
15
  private _selectedObject;
15
16
  /** Слушатели событий по изменению выбранного объекта. */
16
17
  private _selectedListeners;
18
+ /** Слушатели событий трансформации выбранного объекта. */
19
+ private _transformListeners;
17
20
  constructor();
18
21
  /** @inheritdoc */
19
22
  getSelectMode(): SelectMode;
@@ -30,8 +33,14 @@ export declare class EditorStore implements IEditorStore {
30
33
  /** @inheritdoc */
31
34
  getSelectedObject(): THREE.Object3D | null;
32
35
  /** @inheritdoc */
36
+ getSelectionStats(): FigureTransform | null;
37
+ /** @inheritdoc */
33
38
  setSelectedObject(object: THREE.Object3D | null): void;
34
39
  /** @inheritdoc */
35
40
  onSelectedObjectChange(cb: SelectedListener): () => void;
41
+ /** @inheritdoc */
42
+ onSelectedTransformChange(cb: TransformListener): () => void;
43
+ /** @inheritdoc */
44
+ notifySelectedTransformChange(): void;
36
45
  }
37
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,iCAAiC;AACjC,qBACa,WAAY,YAAW,YAAY;IAC9C,6BAA6B;IAC7B,OAAO,CAAC,WAAW,CAA+B;IAElD,oCAAoC;IACpC,OAAO,CAAC,SAAS,CAAgC;IAEjD,mCAAmC;IACnC,OAAO,CAAC,YAAY,CAAkC;IAEtD,iCAAiC;IACjC,OAAO,CAAC,eAAe,CAA+B;IAEtD,yDAAyD;IACzD,OAAO,CAAC,kBAAkB,CAA+B;;IAMzD,kBAAkB;IACX,aAAa,IAAI,UAAU;IAIlC,kBAAkB;IACX,WAAW,IAAI,QAAQ;IAI9B,kBAAkB;IACX,cAAc,IAAI,WAAW;IAIpC,kBAAkB;IACX,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI5C,kBAAkB;IACX,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C,kBAAkB;IACX,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAI9C,kBAAkB;IACX,iBAAiB,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI;IAIjD,kBAAkB;IAClB,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI;IAQtD,kBAAkB;IAClB,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,IAAI;CAIzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAI9E,iCAAiC;AACjC,qBACa,WAAY,YAAW,YAAY;IAC9C,6BAA6B;IAC7B,OAAO,CAAC,WAAW,CAA+B;IAElD,oCAAoC;IACpC,OAAO,CAAC,SAAS,CAAgC;IAEjD,mCAAmC;IACnC,OAAO,CAAC,YAAY,CAAkC;IAEtD,iCAAiC;IACjC,OAAO,CAAC,eAAe,CAA+B;IAEtD,yDAAyD;IACzD,OAAO,CAAC,kBAAkB,CAA+B;IAEzD,0DAA0D;IAC1D,OAAO,CAAC,mBAAmB,CAAgC;;IAM3D,kBAAkB;IACX,aAAa,IAAI,UAAU;IAIlC,kBAAkB;IACX,WAAW,IAAI,QAAQ;IAI9B,kBAAkB;IACX,cAAc,IAAI,WAAW;IAIpC,kBAAkB;IACX,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI5C,kBAAkB;IACX,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C,kBAAkB;IACX,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAI9C,kBAAkB;IACX,iBAAiB,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI;IAIjD,kBAAkB;IACX,iBAAiB,IAAI,eAAe,GAAG,IAAI;IAOlD,kBAAkB;IACX,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI;IAQ7D,kBAAkB;IACX,sBAAsB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,IAAI;IAK/D,kBAAkB;IACX,yBAAyB,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAKnE,kBAAkB;IACX,6BAA6B,IAAI,IAAI;CAG7C"}
@@ -1,3 +1,4 @@
1
1
  import * as THREE from 'three';
2
+ /** @public */
2
3
  export type SelectedListener = (obj: THREE.Object3D | null) => void;
3
4
  //# sourceMappingURL=selected-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selected-listener.d.ts","sourceRoot":"","sources":["../../../src/types/listener/selected-listener.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"selected-listener.d.ts","sourceRoot":"","sources":["../../../src/types/listener/selected-listener.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** @public */
2
+ export type TransformListener = () => void;
3
+ //# sourceMappingURL=transform-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-listener.d.ts","sourceRoot":"","sources":["../../../src/types/listener/transform-listener.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { FigureTransform } from '@planara/types';
1
2
  import * as THREE from 'three';
2
3
  /** Является ли `THREE.Object3D` `THREE.Mesh` */
3
4
  export declare const isMesh: (o: THREE.Object3D | null) => o is THREE.Mesh;
@@ -7,4 +8,6 @@ export declare const findParentMesh: (obj: THREE.Object3D | null) => THREE.Mesh
7
8
  export declare const makeVertexPoints: (geom: THREE.BufferGeometry) => THREE.Points<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.PointsMaterial, THREE.Object3DEventMap>;
8
9
  /** Создание внешних граней */
9
10
  export declare const makeLineSegments: (geometry: THREE.BufferGeometry) => THREE.LineSegments<THREE.EdgesGeometry<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>>, THREE.LineBasicMaterial, THREE.Object3DEventMap>;
11
+ /** Сбор статистики объекта */
12
+ export declare const toFigureTransform: (obj: THREE.Object3D) => FigureTransform;
10
13
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,gDAAgD;AAChD,eAAO,MAAM,MAAM,GAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAG,CAAC,IAAI,KAAK,CAAC,IAE5D,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,cAAc,GAAI,KAAK,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAG,KAAK,CAAC,IAAI,GAAG,IAOxE,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,gBAAgB,GAAI,MAAM,KAAK,CAAC,cAAc,iJAwB1D,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,gBAAgB,GAAI,UAAU,KAAK,CAAC,cAAc,+KAU9D,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,eAAe,EAAQ,MAAM,gBAAgB,CAAC;AAE5D,gDAAgD;AAChD,eAAO,MAAM,MAAM,GAAI,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAG,CAAC,IAAI,KAAK,CAAC,IAE5D,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,cAAc,GAAI,KAAK,KAAK,CAAC,QAAQ,GAAG,IAAI,KAAG,KAAK,CAAC,IAAI,GAAG,IAOxE,CAAC;AAEF,sBAAsB;AACtB,eAAO,MAAM,gBAAgB,GAAI,MAAM,KAAK,CAAC,cAAc,iJAwB1D,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,gBAAgB,GAAI,UAAU,KAAK,CAAC,cAAc,+KAU9D,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,iBAAiB,GAAI,KAAK,KAAK,CAAC,QAAQ,KAAG,eAcvD,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { IMeshApi } from '../interfaces/api/mesh-api';
2
2
  import { ITransformHelpersApi } from '../interfaces/api/transform-helpers-api';
3
3
  import { IRaycastAPI } from '../interfaces/api/raycast-api';
4
+ import { ISceneApi } from '../interfaces/api/scene-api';
4
5
  import { EditorRenderer } from '../core/editor-renderer';
5
6
  import { SelectMode, ToolType } from '@planara/types';
6
- import { ISceneApi } from '../interfaces/api/scene-api';
7
+ import { TransformListener } from '../types/listener/transform-listener';
7
8
  import * as THREE from 'three';
8
9
  /**
9
10
  * API для EditorRenderer
@@ -36,5 +37,7 @@ export declare class RendererApi implements IMeshApi, ITransformHelpersApi, IRay
36
37
  removeObject(obj: THREE.Object3D): void;
37
38
  /** @inheritdoc */
38
39
  enableCameraLayer(layer: number): void;
40
+ /** @inheritdoc */
41
+ onTransformChange(cb: TransformListener): () => void;
39
42
  }
40
43
  //# sourceMappingURL=renderer-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-api.d.ts","sourceRoot":"","sources":["../../src/utils/renderer-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,qBACa,WAAY,YAAW,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS;IAC3C,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,cAAc;IAE9E,kBAAkB;IACX,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAItC,kBAAkB;IACX,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM5C,kBAAkB;IACX,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAIzC,kBAAkB;IACX,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM/C,kBAAkB;IACX,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;IAIhC,kBAAkB;IACX,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC,kBAAkB;IACX,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAIxC,kBAAkB;IACX,MAAM,IAAI,IAAI;IAIrB,kBAAkB;IACX,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI7C,kBAAkB;IACX,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3D,kBAAkB;IACX,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAI9C,kBAAkB;IACX,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG9C"}
1
+ {"version":3,"file":"renderer-api.d.ts","sourceRoot":"","sources":["../../src/utils/renderer-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E;;;GAGG;AACH,qBACa,WAAY,YAAW,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS;IAC3C,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,cAAc;IAE9E,kBAAkB;IACX,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAItC,kBAAkB;IACX,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM5C,kBAAkB;IACX,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI;IAIzC,kBAAkB;IACX,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI;IAM/C,kBAAkB;IACX,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE;IAIhC,kBAAkB;IACX,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIpC,kBAAkB;IACX,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAIxC,kBAAkB;IACX,MAAM,IAAI,IAAI;IAIrB,kBAAkB;IACX,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI7C,kBAAkB;IACX,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3D,kBAAkB;IACX,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;IAI9C,kBAAkB;IACX,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7C,kBAAkB;IACX,iBAAiB,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM,IAAI;CAG5D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planara/core",
3
- "version": "2.6.1",
3
+ "version": "2.7.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -60,7 +60,7 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@planara/three": "^1.3.0",
63
- "@planara/types": "^1.8.0",
63
+ "@planara/types": "^1.9.0",
64
64
  "events": "^3.3.0",
65
65
  "mobx": "^6.15.0",
66
66
  "reflect-metadata": "^0.2.2",