abstract-3d 0.9.2 → 0.9.4

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,5 +1,5 @@
1
1
  export * from "./react.js";
2
- export type { ReactPopover } from "./react-scene.js";
2
+ export type { ReactPopover, SceneMouseEvent } from "./react-scene.js";
3
3
  export type { HotSpotInfo } from "./react-hotspot.js";
4
4
  export type { CameraType, Camera, ControlsHelper } from "./react-camera.js";
5
5
  export type { MaterialState } from "./react-material.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -2,12 +2,12 @@ import React from "react";
2
2
  import { ThreeEvent } from "@react-three/fiber";
3
3
  import { Group as Group_1 } from "../../abstract-3d.js";
4
4
  import { MaterialState } from "./react-material.js";
5
- export declare function ReactGroup({ g, materialStateImages, hoveredId, hoveredIdExternal, selectedId, hotSpotsActive, activeComponents, id, rootData, onClickGroup, onHoverGroup, onContextMenuGroup, createGroupKey, }: {
5
+ export declare function ReactGroup({ g, materialStateImages, hoveredId, hoveredIdExternal, selectedIds, hotSpotsActive, activeComponents, id, rootData, onClickGroup, onHoverGroup, onContextMenuGroup, createGroupKey, }: {
6
6
  readonly g: Group_1;
7
7
  readonly materialStateImages?: Record<string, string>;
8
8
  readonly hoveredId: string | undefined;
9
9
  readonly hoveredIdExternal: string | undefined;
10
- readonly selectedId: string | undefined;
10
+ readonly selectedIds: Record<string, boolean> | undefined;
11
11
  readonly hotSpotsActive: boolean;
12
12
  readonly activeComponents: Record<string, MaterialState> | undefined;
13
13
  readonly id: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"react-group.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,UAAU,EAAY,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,wBAAgB,UAAU,CAAC,EACzB,CAAC,EACD,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,EAAE,EACF,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,EAAE;IACD,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,YAAY,EAAE,CACrB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,CAAC,EAAE,OAAO,EACV,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,EAAE,EAAE,MAAM,KACP,MAAM,CAAC;CACb,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmFpB"}
1
+ {"version":3,"file":"react-group.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAU,UAAU,EAAY,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,wBAAgB,UAAU,CAAC,EACzB,CAAC,EACD,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,EAAE,EACF,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,EAAE;IACD,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,YAAY,EAAE,CACrB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,CAAC,EAAE,OAAO,EACV,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,EAAE,EAAE,MAAM,KACP,MAAM,CAAC;CACb,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmFpB"}
@@ -4,7 +4,7 @@ import { Group } from "three";
4
4
  import { ReactMaterial } from "./react-material.js";
5
5
  import { ReactMesh } from "./react-mesh.js";
6
6
  extend({ Group });
7
- export function ReactGroup({ g, materialStateImages, hoveredId, hoveredIdExternal, selectedId, hotSpotsActive, activeComponents, id, rootData, onClickGroup, onHoverGroup, onContextMenuGroup, createGroupKey, }) {
7
+ export function ReactGroup({ g, materialStateImages, hoveredId, hoveredIdExternal, selectedIds, hotSpotsActive, activeComponents, id, rootData, onClickGroup, onHoverGroup, onContextMenuGroup, createGroupKey, }) {
8
8
  const ref = React.useRef(undefined);
9
9
  useFrame(({ invalidate }, delta) => {
10
10
  if (g.animation) {
@@ -48,8 +48,8 @@ export function ReactGroup({ g, materialStateImages, hoveredId, hoveredIdExterna
48
48
  }
49
49
  },
50
50
  }) },
51
- g.groups?.map((g, i) => (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g, i, rootData, id ?? "") : i, g: g, selectedId: selectedId, hotSpotsActive: hotSpotsActive, activeComponents: activeComponents, materialStateImages: materialStateImages, hoveredId: hoveredId, hoveredIdExternal: hoveredIdExternal, onClickGroup: onClickGroup, onHoverGroup: onHoverGroup, onContextMenuGroup: onContextMenuGroup, id: id, rootData: rootData, createGroupKey: createGroupKey }))),
51
+ g.groups?.map((g, i) => (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g, i, rootData, id ?? "") : i, g: g, selectedIds: selectedIds, hotSpotsActive: hotSpotsActive, activeComponents: activeComponents, materialStateImages: materialStateImages, hoveredId: hoveredId, hoveredIdExternal: hoveredIdExternal, onClickGroup: onClickGroup, onHoverGroup: onHoverGroup, onContextMenuGroup: onContextMenuGroup, id: id, rootData: rootData, createGroupKey: createGroupKey }))),
52
52
  g.meshes?.map((m, i) => (React.createElement(ReactMesh, { key: `mesh_${i}`, mesh: m },
53
- React.createElement(ReactMaterial, { material: m.material, id: id, selectedId: selectedId, isText: m.geometry.type === "Text", hoveredId: hoveredId || hoveredIdExternal, materialStateImages: materialStateImages, disabled: disabled, state: materialState }))))));
53
+ React.createElement(ReactMaterial, { material: m.material, id: id, selectedIds: selectedIds, isText: m.geometry.type === "Text", hoveredId: hoveredId || hoveredIdExternal, materialStateImages: materialStateImages, disabled: disabled, state: materialState }))))));
54
54
  }
55
55
  //# sourceMappingURL=react-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-group.js","sourceRoot":"","sources":["../../../src/renderers/react/react-group.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-group.js","sourceRoot":"","sources":["../../../src/renderers/react/react-group.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import React from "react";
2
2
  import { Material } from "../../abstract-3d.js";
3
3
  export type MaterialState = "Accept" | "Error" | "Warning";
4
4
  export declare const ERROR_IMG_KEY = "error";
5
- export declare function ReactMaterial({ material, id, selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }: {
5
+ export declare function ReactMaterial({ material, id, selectedIds, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }: {
6
6
  readonly material: Material;
7
7
  readonly id?: string;
8
8
  readonly hoveredId?: string | undefined;
9
- readonly selectedId?: string | undefined;
9
+ readonly selectedIds?: Record<string, boolean> | undefined;
10
10
  readonly disabled?: boolean;
11
11
  readonly materialStateImages?: Record<string, string>;
12
12
  readonly state?: MaterialState | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2DpB"}
1
+ {"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyDpB"}
@@ -4,7 +4,7 @@ import { DoubleSide, SRGBColorSpace, TextureLoader } from "three";
4
4
  import { shade } from "../shared.js";
5
5
  const decreasedOpacity = 0.2;
6
6
  export const ERROR_IMG_KEY = "error";
7
- export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }) {
7
+ export function ReactMaterial({ material, id = "", selectedIds, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }) {
8
8
  const mat = !state || material.imageUrl === "UrlImage"
9
9
  ? material
10
10
  : state === "Accept"
@@ -12,14 +12,14 @@ export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabl
12
12
  : state === "Error"
13
13
  ? errorMar
14
14
  : warningMat;
15
- const color = selectedId === id
15
+ const color = selectedIds?.[id]
16
16
  ? hoveredId === id
17
17
  ? shade(-0.4, selectMat.normal)
18
18
  : selectMat.normal
19
19
  : hoveredId === id
20
20
  ? shade(-0.4, mat.normal)
21
21
  : mat.normal;
22
- const colorText = selectedId === id
22
+ const colorText = selectedIds?.[id]
23
23
  ? hoveredId === id
24
24
  ? shade(-0.4, textSelectMat.normal)
25
25
  : textSelectMat.normal
@@ -1 +1 @@
1
- {"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"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"}
@@ -9,9 +9,9 @@ export interface ReactPopover {
9
9
  readonly content: React.ReactNode;
10
10
  }
11
11
  export type SceneMouseEvent = ThreeEvent<MouseEvent>;
12
- export declare function ReactScene({ scene, selectedId, hoveredIdExternal, activeHotSpots, activeComponents, hotSpotTexts, showHotSpotTexts, showDimensions, materialStateImages, reactPopovers, onClickGroup, onHoverGroup, onContextMenuGroup, onClickHotSpot, createGroupKey, createGroupId, }: {
12
+ export declare function ReactScene({ scene, selectedIds, hoveredIdExternal, activeHotSpots, activeComponents, hotSpotTexts, showHotSpotTexts, showDimensions, materialStateImages, reactPopovers, onClickGroup, onHoverGroup, onContextMenuGroup, onClickHotSpot, createGroupKey, createGroupId, }: {
13
13
  readonly scene: Scene;
14
- readonly selectedId: string | undefined;
14
+ readonly selectedIds: Record<string, boolean> | undefined;
15
15
  readonly hoveredIdExternal: string | undefined;
16
16
  readonly activeHotSpots: Record<string, HotSpotInfo> | undefined;
17
17
  readonly activeComponents: Record<string, MaterialState> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"react-scene.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-scene.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { ReactHotSpots } from "./react-hotspot.js";
3
3
  import { ReactDimensions } from "./react-dimension.js";
4
4
  import { ReactGroup } from "./react-group.js";
5
5
  import { Html } from "@react-three/drei";
6
- export function ReactScene({ scene, selectedId, hoveredIdExternal, activeHotSpots, activeComponents, hotSpotTexts, showHotSpotTexts, showDimensions, materialStateImages, reactPopovers, onClickGroup, onHoverGroup, onContextMenuGroup, onClickHotSpot, createGroupKey, createGroupId, }) {
6
+ export function ReactScene({ scene, selectedIds, hoveredIdExternal, activeHotSpots, activeComponents, hotSpotTexts, showHotSpotTexts, showDimensions, materialStateImages, reactPopovers, onClickGroup, onHoverGroup, onContextMenuGroup, onClickHotSpot, createGroupKey, createGroupId, }) {
7
7
  const [hoveredId, setHoveredId] = React.useState(undefined);
8
8
  return (React.createElement("group", { rotation: [
9
9
  scene.rotation_deprecated?.x ?? 0,
@@ -16,7 +16,7 @@ export function ReactScene({ scene, selectedId, hoveredIdExternal, activeHotSpot
16
16
  ] },
17
17
  scene.groups.map((g, i) => {
18
18
  const id = createGroupId ? createGroupId(g) : "";
19
- return (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g, 0, g.data, id) : i, g: g, selectedId: selectedId, hotSpotsActive: activeHotSpots !== undefined, activeComponents: activeComponents, materialStateImages: materialStateImages, hoveredId: hoveredId, hoveredIdExternal: hoveredIdExternal, onClickGroup: onClickGroup, onHoverGroup: (id, rootData, data, e) => {
19
+ return (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g, 0, g.data, id) : i, g: g, selectedIds: selectedIds, hotSpotsActive: activeHotSpots !== undefined, activeComponents: activeComponents, materialStateImages: materialStateImages, hoveredId: hoveredId, hoveredIdExternal: hoveredIdExternal, onClickGroup: onClickGroup, onHoverGroup: (id, rootData, data, e) => {
20
20
  setHoveredId(id);
21
21
  if (onHoverGroup) {
22
22
  onHoverGroup(id, rootData, data, e);
@@ -1 +1 @@
1
- {"version":3,"file":"react-scene.js","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-scene.js","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"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"}
@@ -32,6 +32,6 @@ export const toReact = memo(({ scene, selectedId, activeHotSpots, activeComponen
32
32
  -(scene.center_deprecated?.z ?? 0),
33
33
  ], intensity: 0.4 }),
34
34
  React.createElement(React.Suspense, { fallback: React.createElement(React.Fragment, null) },
35
- React.createElement(ReactScene, { scene: scene, selectedId: selectedId, activeHotSpots: activeHotSpots, activeComponents: activeComponents, showDimensions: showDimensions, showHotSpotTexts: showHotSpotTexts, hoveredIdExternal: hoveredIdExternal, hotSpotTexts: hotSpotTexts, reactPopovers: reactPopovers, materialStateImages: materialStateImages, onClickGroup: onClickGroup, onHoverGroup: onHoverGroup, onContextMenuGroup: onContextMenuGroup, onClickHotSpot: onClickHotSpot, createGroupKey: createGroupKey, createGroupId: createGroupId }))));
35
+ React.createElement(ReactScene, { scene: scene, selectedIds: selectedId ? { [selectedId]: true } : undefined, activeHotSpots: activeHotSpots, activeComponents: activeComponents, showDimensions: showDimensions, showHotSpotTexts: showHotSpotTexts, hoveredIdExternal: hoveredIdExternal, hotSpotTexts: hotSpotTexts, reactPopovers: reactPopovers, materialStateImages: materialStateImages, onClickGroup: onClickGroup, onHoverGroup: onHoverGroup, onContextMenuGroup: onContextMenuGroup, onClickHotSpot: onClickHotSpot, createGroupKey: createGroupKey, createGroupId: createGroupId }))));
36
36
  });
37
37
  //# sourceMappingURL=react.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/renderers/react/react.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/renderers/react/react.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-3d",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "Abstract 3D",
5
5
  "author": "Divid AB <info@divid.se>",
6
6
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
@@ -33,5 +33,5 @@
33
33
  "@types/three": "^0.174.0",
34
34
  "react": "^19.0.0"
35
35
  },
36
- "gitHead": "f9b3196bf3c739a34f254763cf7021c2dfadc3bc"
36
+ "gitHead": "801a5ddced092ff50c1698aa1cbc155dfe1f897c"
37
37
  }
@@ -1,5 +1,5 @@
1
1
  export * from "./react.js";
2
- export type { ReactPopover } from "./react-scene.js";
2
+ export type { ReactPopover, SceneMouseEvent } from "./react-scene.js";
3
3
  export type { HotSpotInfo } from "./react-hotspot.js";
4
4
  export type { CameraType, Camera, ControlsHelper } from "./react-camera.js";
5
5
  export type { MaterialState } from "./react-material.js";
@@ -12,7 +12,7 @@ export function ReactGroup({
12
12
  materialStateImages,
13
13
  hoveredId,
14
14
  hoveredIdExternal,
15
- selectedId,
15
+ selectedIds,
16
16
  hotSpotsActive,
17
17
  activeComponents,
18
18
  id,
@@ -26,7 +26,7 @@ export function ReactGroup({
26
26
  readonly materialStateImages?: Record<string, string>;
27
27
  readonly hoveredId: string | undefined;
28
28
  readonly hoveredIdExternal: string | undefined;
29
- readonly selectedId: string | undefined;
29
+ readonly selectedIds: Record<string, boolean> | undefined;
30
30
  readonly hotSpotsActive: boolean;
31
31
  readonly activeComponents: Record<string, MaterialState> | undefined;
32
32
  readonly id: string | undefined;
@@ -110,7 +110,7 @@ export function ReactGroup({
110
110
  <ReactGroup
111
111
  key={createGroupKey ? createGroupKey(g, i, rootData, id ?? "") : i}
112
112
  g={g}
113
- selectedId={selectedId}
113
+ selectedIds={selectedIds}
114
114
  hotSpotsActive={hotSpotsActive}
115
115
  activeComponents={activeComponents}
116
116
  materialStateImages={materialStateImages}
@@ -129,7 +129,7 @@ export function ReactGroup({
129
129
  <ReactMaterial
130
130
  material={m.material}
131
131
  id={id}
132
- selectedId={selectedId}
132
+ selectedIds={selectedIds}
133
133
  isText={m.geometry.type === "Text"}
134
134
  hoveredId={hoveredId || hoveredIdExternal}
135
135
  materialStateImages={materialStateImages}
@@ -12,7 +12,7 @@ export const ERROR_IMG_KEY = "error";
12
12
  export function ReactMaterial({
13
13
  material,
14
14
  id = "",
15
- selectedId,
15
+ selectedIds,
16
16
  hoveredId,
17
17
  disabled,
18
18
  materialStateImages,
@@ -23,7 +23,7 @@ export function ReactMaterial({
23
23
  readonly material: Material;
24
24
  readonly id?: string;
25
25
  readonly hoveredId?: string | undefined;
26
- readonly selectedId?: string | undefined;
26
+ readonly selectedIds?: Record<string, boolean> | undefined;
27
27
  readonly disabled?: boolean;
28
28
  readonly materialStateImages?: Record<string, string>;
29
29
  readonly state?: MaterialState | undefined;
@@ -38,22 +38,20 @@ export function ReactMaterial({
38
38
  : state === "Error"
39
39
  ? errorMar
40
40
  : warningMat;
41
- const color =
42
- selectedId === id
43
- ? hoveredId === id
44
- ? shade(-0.4, selectMat.normal)
45
- : selectMat.normal
46
- : hoveredId === id
47
- ? shade(-0.4, mat.normal)
48
- : mat.normal;
49
- const colorText =
50
- selectedId === id
51
- ? hoveredId === id
52
- ? shade(-0.4, textSelectMat.normal)
53
- : textSelectMat.normal
54
- : hoveredId === id
55
- ? shade(-0.4, mat.normal)
56
- : mat.normal;
41
+ const color = selectedIds?.[id]
42
+ ? hoveredId === id
43
+ ? shade(-0.4, selectMat.normal)
44
+ : selectMat.normal
45
+ : hoveredId === id
46
+ ? shade(-0.4, mat.normal)
47
+ : mat.normal;
48
+ const colorText = selectedIds?.[id]
49
+ ? hoveredId === id
50
+ ? shade(-0.4, textSelectMat.normal)
51
+ : textSelectMat.normal
52
+ : hoveredId === id
53
+ ? shade(-0.4, mat.normal)
54
+ : mat.normal;
57
55
  const opacity = material.opacity !== undefined ? material.opacity : materialDefaults.opacity!;
58
56
  if (material.imageUrl) {
59
57
  return (
@@ -16,7 +16,7 @@ export type SceneMouseEvent = ThreeEvent<MouseEvent>;
16
16
 
17
17
  export function ReactScene({
18
18
  scene,
19
- selectedId,
19
+ selectedIds,
20
20
  hoveredIdExternal,
21
21
  activeHotSpots,
22
22
  activeComponents,
@@ -33,7 +33,7 @@ export function ReactScene({
33
33
  createGroupId,
34
34
  }: {
35
35
  readonly scene: Scene;
36
- readonly selectedId: string | undefined;
36
+ readonly selectedIds: Record<string, boolean> | undefined;
37
37
  readonly hoveredIdExternal: string | undefined;
38
38
  readonly activeHotSpots: Record<string, HotSpotInfo> | undefined;
39
39
  readonly activeComponents: Record<string, MaterialState> | undefined;
@@ -86,7 +86,7 @@ export function ReactScene({
86
86
  <ReactGroup
87
87
  key={createGroupKey ? createGroupKey(g, 0, g.data, id) : i}
88
88
  g={g}
89
- selectedId={selectedId}
89
+ selectedIds={selectedIds}
90
90
  hotSpotsActive={activeHotSpots !== undefined}
91
91
  activeComponents={activeComponents}
92
92
  materialStateImages={materialStateImages}
@@ -129,7 +129,7 @@ export const toReact = memo(
129
129
  <React.Suspense fallback={<></>}>
130
130
  <ReactScene
131
131
  scene={scene}
132
- selectedId={selectedId}
132
+ selectedIds={selectedId ? { [selectedId]: true } : undefined}
133
133
  activeHotSpots={activeHotSpots}
134
134
  activeComponents={activeComponents}
135
135
  showDimensions={showDimensions}