@processandtools/rp-article-designer 1.0.37 → 1.0.39

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 (67) hide show
  1. package/dist/components/article_designer/ArticleGroupDesigner.d.ts +1 -1
  2. package/dist/components/article_designer/ArticleGroupLayout.d.ts +3 -1
  3. package/dist/components/article_designer/helpers/DoorAnimator.d.ts +11 -0
  4. package/dist/components/article_designer/helpers/DoorSensor.d.ts +12 -0
  5. package/dist/components/article_designer/helpers/DrawerAnimator.d.ts +14 -0
  6. package/dist/components/article_designer/helpers/DrawerSensor.d.ts +10 -0
  7. package/dist/components/article_designer/helpers/ScanNeighbors.d.ts +22 -0
  8. package/dist/components/article_designer/helpers/ScanNeighbors.old.d.ts +19 -0
  9. package/dist/components/article_designer/helpers/calculateHitOversize.d.ts +3 -0
  10. package/dist/components/article_designer/zoneElems/Bottom.d.ts +4 -1
  11. package/dist/components/article_designer/zoneElems/Drawer.d.ts +10 -0
  12. package/dist/components/article_designer/zoneElems/DrawerItem.d.ts +15 -0
  13. package/dist/components/article_designer/zoneElems/Top.d.ts +4 -1
  14. package/dist/components/article_designer/zoneElems/drawerElems/DrBack.d.ts +2 -0
  15. package/dist/components/article_designer/zoneElems/drawerElems/DrBottom.d.ts +2 -0
  16. package/dist/components/article_designer/zoneElems/drawerElems/DrFront.d.ts +2 -0
  17. package/dist/components/article_designer/zoneElems/drawerElems/DrLeft.d.ts +2 -0
  18. package/dist/components/article_designer/zoneElems/drawerElems/DrRight.d.ts +2 -0
  19. package/dist/components/article_designer/zoneElems/drawerElems/DrZone.d.ts +2 -0
  20. package/dist/components/article_designer/zoneElems/drawerElems/types/drawer-elem.types.d.ts +10 -0
  21. package/dist/components/elements_manager/PD_3D.d.ts +7 -0
  22. package/dist/components/ui/Canvas2D.d.ts +1 -1
  23. package/dist/components/ui/Canvas3D.d.ts +1 -1
  24. package/dist/components/ui/CanvasManager.d.ts +1 -1
  25. package/dist/construction_principle/cabBack/CabBackHelper.d.ts +3 -2
  26. package/dist/construction_principle/cabBack/cabback.types.d.ts +1 -1
  27. package/dist/construction_principle/cabin/CabinHelper.d.ts +2 -1
  28. package/dist/construction_principle/door/DoorHelper.d.ts +5 -4
  29. package/dist/construction_principle/door/door.types.d.ts +5 -4
  30. package/dist/construction_principle/drawer/DrawerHelper.d.ts +16 -0
  31. package/dist/construction_principle/drawer/dto/drawer.types.d.ts +3 -0
  32. package/dist/construction_principle/dto/angl-type-config.d.ts +7 -5
  33. package/dist/construction_principle/dto/cp-dispatcher.types.d.ts +19 -4
  34. package/dist/construction_principle/kms/KmsHelper.d.ts +2 -1
  35. package/dist/construction_principle/material/MatHelper.d.ts +2 -1
  36. package/dist/construction_principle/side_panel/CSideHelper.d.ts +2 -1
  37. package/dist/construction_principle/surface/SurfHelper.d.ts +2 -1
  38. package/dist/contexts/article-hover/ArticleHoverContext.d.ts +5 -0
  39. package/dist/contexts/article-hover/ArticleHoverProvider.d.ts +6 -0
  40. package/dist/contexts/article-hover/useArticleHover.d.ts +2 -0
  41. package/dist/contexts/dimension/DimensionProvider.d.ts +2 -1
  42. package/dist/data/articles.d.ts +17 -2
  43. package/dist/helpers/GroupWrapper.d.ts +3 -0
  44. package/dist/helpers/LinDivValidation.d.ts +8 -0
  45. package/dist/helpers/ZoneCalculations.d.ts +47 -63
  46. package/dist/helpers/row_data/UseDrawerZoneHelper.d.ts +2 -0
  47. package/dist/helpers/row_data/UseElemHelper.d.ts +26 -0
  48. package/dist/helpers/row_data/UseZoneHelper.d.ts +86 -0
  49. package/dist/helpers/tools/computeTrimTool.d.ts +5 -0
  50. package/dist/helpers/useCpDispatcher.d.ts +9 -0
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.ts +3 -0
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/types/Elem.types.d.ts +6 -0
  57. package/dist/types/canvas.types.d.ts +3 -1
  58. package/dist/types/data.types.d.ts +46 -5
  59. package/dist/types/helper.types.d.ts +2 -2
  60. package/dist/types/zone.types.d.ts +3 -2
  61. package/package.json +3 -3
  62. package/dist/helpers/CpDispatcher.d.ts +0 -6
  63. package/dist/helpers/angls/UseElemHelper.d.ts +0 -22
  64. package/dist/helpers/angls/UseZoneHelper.d.ts +0 -10
  65. /package/dist/helpers/{angls → row_data}/UseClieHelper.d.ts +0 -0
  66. /package/dist/helpers/{angls → row_data}/UseGrtxHelper.d.ts +0 -0
  67. /package/dist/helpers/{angls → row_data}/UsePrimHelper.d.ts +0 -0
@@ -1,2 +1,2 @@
1
1
  import { CanvasProps } from '../../types/canvas.types';
2
- export default function ArticleGroupDesigner({ view, data, articleList, debugMode, isZCentered }: CanvasProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function ArticleGroupDesigner({ view, data, articleList, debugMode, isZCentered, selectedIndex, onArticleSelect }: CanvasProps): import("react/jsx-runtime").JSX.Element;
@@ -6,5 +6,7 @@ export interface ArticleGroupLayoutProps {
6
6
  view: VIEW;
7
7
  debugMode: boolean;
8
8
  isZCentered: boolean;
9
+ selectedIndex?: number | null;
10
+ onArticleSelect?: (index: number) => void;
9
11
  }
10
- export declare function ArticleGroupLayout({ articleList: initialArticleList, validNames, view, debugMode, isZCentered }: ArticleGroupLayoutProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ArticleGroupLayout({ articleList, validNames, view, debugMode, isZCentered, selectedIndex, onArticleSelect }: ArticleGroupLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { DoorResult } from '../../../construction_principle/door/DoorHelper';
2
+ interface DoorAnimatorProps {
3
+ panelWidth: number;
4
+ panelHeight: number;
5
+ panelThk: number;
6
+ renderMat?: string;
7
+ treeId: string;
8
+ doorCp: DoorResult;
9
+ }
10
+ export default function DoorAnimator({ panelWidth, panelHeight, panelThk, renderMat, treeId, doorCp }: DoorAnimatorProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import { DoorResult } from '../../../construction_principle/door/DoorHelper';
2
+ interface DoorSensorProps {
3
+ panelWidth: number;
4
+ panelHeight: number;
5
+ panelThk: number;
6
+ renderMat?: string;
7
+ treeId: string;
8
+ doorCp?: DoorResult;
9
+ ddHingePosition?: 'left' | 'right';
10
+ }
11
+ export default function DoorSensor({ panelWidth, panelHeight, panelThk, renderMat, treeId, doorCp, ddHingePosition }: DoorSensorProps): import("react/jsx-runtime").JSX.Element | undefined;
12
+ export {};
@@ -0,0 +1,14 @@
1
+ import { DimensionProps } from '../../../types/zone.types';
2
+ import { DrawerHelperResult } from '../../../construction_principle/drawer/DrawerHelper';
3
+ import { VIEW } from '../../../types/view.types';
4
+ interface DrawerAnimatorProps {
5
+ dimension: DimensionProps;
6
+ drElems: DrawerHelperResult;
7
+ onset: boolean;
8
+ view: VIEW;
9
+ treeId: string;
10
+ drawerIndex: number;
11
+ slideDistance?: number;
12
+ }
13
+ export default function DrawerAnimator({ dimension, drElems, onset, view, treeId, drawerIndex, slideDistance }: DrawerAnimatorProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,10 @@
1
+ interface DrawerSensorProps {
2
+ panelWidth: number;
3
+ panelHeight: number;
4
+ panelThk: number;
5
+ renderMat?: string;
6
+ treeId: string;
7
+ onset: boolean;
8
+ }
9
+ export default function DrawerSensor({ panelWidth, panelHeight, panelThk, renderMat, treeId, onset, }: DrawerSensorProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Object3D, Scene } from 'three';
2
+ import { ElemPartType } from '../../../types/Elem.types';
3
+ import { DividerType } from '../../../types/divider.types';
4
+ export interface NeighborHit {
5
+ source: ElemPartType | DividerType;
6
+ elemType: ElemPartType | DividerType;
7
+ thk: number;
8
+ treeId: string;
9
+ }
10
+ export interface ScanResult {
11
+ left: NeighborHit | null;
12
+ right: NeighborHit | null;
13
+ top: NeighborHit | null;
14
+ bottom: NeighborHit | null;
15
+ debugHelpers?: Object3D[];
16
+ }
17
+ /**
18
+ * Scan for neighbors using Box3 intersection.
19
+ * Works for doors in ANY position (Front, Back, Left, Right).
20
+ * Rotation-agnostic — operates in world space.
21
+ */
22
+ export declare function scanNeighbors(panelMesh: Object3D, scene: Scene): ScanResult;
@@ -0,0 +1,19 @@
1
+ import { Object3D, Scene } from 'three';
2
+ export interface NeighborHit {
3
+ elemType: string;
4
+ thk: number;
5
+ treeId: string;
6
+ }
7
+ export interface ScanResult {
8
+ left: NeighborHit | null;
9
+ right: NeighborHit | null;
10
+ top: NeighborHit | null;
11
+ bottom: NeighborHit | null;
12
+ debugHelpers?: Object3D[];
13
+ }
14
+ /**
15
+ * Scan for neighbors using Box3 intersection.
16
+ * Works for doors in ANY position (Front, Back, Left, Right).
17
+ * Rotation-agnostic — operates in world space.
18
+ */
19
+ export declare function scanNeighbors(panelMesh: Object3D, scene: Scene): ScanResult;
@@ -0,0 +1,3 @@
1
+ import { ElemPartType } from '../../../types/Elem.types';
2
+ import { DividerType } from '../../../types/divider.types';
3
+ export declare function calculateHitOversize(joinedPartType: ElemPartType | DividerType, thk: number): number;
@@ -1,2 +1,5 @@
1
1
  import { ElemProps } from '../../../types/Elem.types';
2
- export default function Bottom({ articleName, TREEID, dimension, view, helper }: ElemProps): import("react/jsx-runtime").JSX.Element | undefined;
2
+ import { CpDispatcherResult } from '../../../construction_principle/dto/cp-dispatcher.types';
3
+ export default function Bottom({ TREEID, dimension, view, helper, bottomShelfCP }: ElemProps & {
4
+ bottomShelfCP?: CpDispatcherResult;
5
+ }): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,10 @@
1
+ import { DimensionProps } from '../../../types/zone.types';
2
+ import { VIEW } from '../../../types/view.types';
3
+ import { DrawerZoneDataTypes } from '../../../types/data.types';
4
+ interface DrawerProps {
5
+ drawerZoneHelper: DrawerZoneDataTypes;
6
+ dimension: DimensionProps;
7
+ view: VIEW;
8
+ }
9
+ export default function Drawer({ drawerZoneHelper, dimension, view }: DrawerProps): import("react/jsx-runtime").JSX.Element[] | null;
10
+ export {};
@@ -0,0 +1,15 @@
1
+ import { VIEW } from '../../../types/view.types';
2
+ import { DataContextType, DrawerZoneDataTypes } from '../../../types/data.types';
3
+ import { PositionedChild } from '../../../types/zone.types';
4
+ interface DrawerItemProps {
5
+ child: PositionedChild;
6
+ index: number;
7
+ drawerZoneHelper: DrawerZoneDataTypes;
8
+ articleData: DataContextType;
9
+ view: VIEW;
10
+ }
11
+ /**
12
+ * Single drawer item component - handles hooks properly per drawer instance
13
+ */
14
+ export default function DrawerItem({ child, index, drawerZoneHelper, articleData, view }: DrawerItemProps): import("react/jsx-runtime").JSX.Element | null | undefined;
15
+ export {};
@@ -1,2 +1,5 @@
1
1
  import { ElemProps } from '../../../types/Elem.types';
2
- export default function Top({ articleName, TREEID, dimension, view, helper }: ElemProps): import("react/jsx-runtime").JSX.Element | undefined;
2
+ import { CpDispatcherResult } from '../../../construction_principle/dto/cp-dispatcher.types';
3
+ export default function Top({ TREEID, dimension, view, helper, topShelfCP }: ElemProps & {
4
+ topShelfCP?: CpDispatcherResult;
5
+ }): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrBack({ dimension, drElems, view }: DrawerElem): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrBottom({ dimension, drElems, onset, view, treeId }: DrawerElem): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrFront({ dimension, drElems, onset, view, treeId }: DrawerElem): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrLeft({ dimension, drElems, onset, view, treeId }: DrawerElem): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrRight({ dimension, drElems, onset, view, treeId }: DrawerElem): import("react/jsx-runtime").JSX.Element | undefined;
@@ -0,0 +1,2 @@
1
+ import { DrawerElem } from './types/drawer-elem.types';
2
+ export default function DrZone({ dimension, drElems, onset, view, treeId }: DrawerElem): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { DimensionProps } from '../../../../../types/zone.types';
2
+ import { DrawerHelperResult } from '../../../../../construction_principle/drawer/DrawerHelper';
3
+ import { VIEW } from '../../../../../types/view.types';
4
+ export interface DrawerElem {
5
+ treeId: string;
6
+ dimension: DimensionProps;
7
+ drElems: DrawerHelperResult;
8
+ onset: boolean;
9
+ view: VIEW;
10
+ }
@@ -1,4 +1,6 @@
1
+ import { RefObject } from 'react';
1
2
  import { PDProps } from '../../types/pd.types';
3
+ import { PartTypeSource } from '../../construction_principle/dto/angl-type-config';
2
4
  interface PD3DExtendedProps extends PDProps {
3
5
  treeId?: string;
4
6
  isSelected?: boolean;
@@ -9,6 +11,11 @@ interface PD3DExtendedProps extends PDProps {
9
11
  startPanelThk?: number;
10
12
  endPanelThk?: number;
11
13
  render_mat?: string;
14
+ meshRef?: RefObject<any>;
15
+ elemInfo?: {
16
+ source: PartTypeSource;
17
+ [key: string]: unknown;
18
+ };
12
19
  }
13
20
  declare const PD_3D: import('react').NamedExoticComponent<PD3DExtendedProps>;
14
21
  export default PD_3D;
@@ -1,2 +1,2 @@
1
1
  import { CanvasProps } from '../../types/canvas.types';
2
- export default function Canvas2D({ view, data, articleList, debugMode }: CanvasProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function Canvas2D({ view, data, articleList, debugMode, selectedIndex, onArticleSelect }: CanvasProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { CanvasProps } from '../../types/canvas.types';
2
- export default function Canvas3D({ data, articleList, debugMode }: CanvasProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function Canvas3D({ data, articleList, debugMode, selectedIndex, onArticleSelect }: CanvasProps): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,2 @@
1
1
  import { CanvasProps } from '../../types/canvas.types';
2
- export default function CanvasManager({ data, view, articleList, debugMode }: CanvasProps): import("react/jsx-runtime").JSX.Element;
2
+ export default function CanvasManager({ data, articleList, debugMode, selectedIndex, onArticleSelect }: CanvasProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,8 @@
1
1
  import { KmsResult } from '../kms/KmsHelper';
2
2
  import { DataContextType } from '../../types/data.types';
3
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
3
4
  export interface BackPanelResult {
4
5
  kms: KmsResult | undefined;
5
- inset: number;
6
+ inset: string;
6
7
  }
7
- export declare function CabBackHelper(articleData: DataContextType, NAME: string): BackPanelResult | undefined;
8
+ export declare function CabBackHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): BackPanelResult | undefined;
@@ -1,5 +1,5 @@
1
1
  export interface CabbackTypes {
2
2
  NAME: string;
3
3
  KMS: string;
4
- SDISTLR: string;
4
+ INSET: number | string;
5
5
  }
@@ -1,6 +1,7 @@
1
1
  import { KmsResult } from '../kms/KmsHelper';
2
2
  import { DataContextType } from '../../types/data.types';
3
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
3
4
  export interface ShelfResult {
4
5
  kms: KmsResult | undefined;
5
6
  }
6
- export default function CabinHelper(articleData: DataContextType, NAME: string): ShelfResult | undefined;
7
+ export default function CabinHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): ShelfResult | undefined;
@@ -1,8 +1,9 @@
1
1
  import { KmsResult } from '../kms/KmsHelper';
2
2
  import { DataContextType } from '../../types/data.types';
3
3
  import { DoorTypes } from './door.types';
4
- export interface DoorResult extends DoorTypes {
5
- kmsCpLeft: KmsResult | undefined;
6
- kmsCpRight: KmsResult | undefined;
4
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
5
+ export interface DoorResult extends Omit<DoorTypes, 'kmsLeft' | 'kmsRight'> {
6
+ kmsL: KmsResult | undefined;
7
+ kmsR: KmsResult | undefined;
7
8
  }
8
- export default function DoorHelper(articleData: DataContextType, NAME: string): DoorResult | undefined;
9
+ export default function DoorHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): DoorResult | undefined;
@@ -1,9 +1,10 @@
1
1
  export interface DoorTypes {
2
2
  name: string;
3
- construction: string;
4
- doorCount: string;
5
- doorType: string;
6
- hingePosition: string;
3
+ construction: 'inset' | 'onset';
4
+ doorCount: 'single' | 'double';
5
+ doorType: 'standard' | 'flap';
6
+ hingePosition: 'left' | 'right' | 'top' | 'bottom';
7
7
  kmsLeft: string;
8
8
  kmsRight: string;
9
+ inset: string | number;
9
10
  }
@@ -0,0 +1,16 @@
1
+ import { DataContextType } from '../../types/data.types';
2
+ import { KmsResult } from '../kms/KmsHelper';
3
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
4
+ interface DrCpResult {
5
+ kms?: KmsResult;
6
+ inset: number;
7
+ }
8
+ export interface DrawerHelperResult {
9
+ bottom: DrCpResult;
10
+ front: DrCpResult;
11
+ left: DrCpResult;
12
+ back: DrCpResult;
13
+ right: DrCpResult;
14
+ }
15
+ export default function DrawerHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): DrawerHelperResult | undefined;
16
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare enum DrawerType {
2
+ Drawer = "Dr"
3
+ }
@@ -1,6 +1,7 @@
1
1
  import { DividerType } from '../../types/divider.types';
2
2
  import { ElemPartType } from '../../types/Elem.types';
3
- export type PartTypeSource = 'elem' | 'divider';
3
+ import { DrawerType } from '../drawer/dto/drawer.types';
4
+ export type PartTypeSource = 'elem' | 'divider' | 'drawer';
4
5
  export declare const ElemCabinTypes: Set<ElemPartType>;
5
6
  export declare const ElemCSideTypes: Set<ElemPartType>;
6
7
  export declare const ElemCabBackTypes: Set<ElemPartType>;
@@ -8,7 +9,8 @@ export declare const ElemDoorTypes: Set<ElemPartType>;
8
9
  export declare const DividerCabinTypes: Set<DividerType>;
9
10
  export declare const DividerCSideTypes: Set<DividerType>;
10
11
  export declare const DividerCabBackTypes: Set<DividerType>;
11
- export declare const isCabinType: (type: ElemPartType | DividerType, source: PartTypeSource) => boolean;
12
- export declare const isCSideType: (type: ElemPartType | DividerType, source: PartTypeSource) => boolean;
13
- export declare const isCabBackType: (type: ElemPartType | DividerType, source: PartTypeSource) => boolean;
14
- export declare const isDoorType: (type: ElemPartType | DividerType, source: PartTypeSource) => boolean;
12
+ export declare const isCabinType: (type: ElemPartType | DividerType | DrawerType, source: PartTypeSource) => boolean;
13
+ export declare const isCSideType: (type: ElemPartType | DividerType | DrawerType, source: PartTypeSource) => boolean;
14
+ export declare const isCabBackType: (type: ElemPartType | DividerType | DrawerType, source: PartTypeSource) => boolean;
15
+ export declare const isDoorType: (type: ElemPartType | DividerType | DrawerType, source: PartTypeSource) => boolean;
16
+ export declare const isDrawerType: (source: PartTypeSource) => boolean;
@@ -3,6 +3,8 @@ import { SidePanelResult } from '../side_panel/CSideHelper';
3
3
  import { BackPanelResult } from '../cabBack/CabBackHelper';
4
4
  import { DoorResult } from '../door/DoorHelper';
5
5
  import { ShelfResult } from '../cabin/CabinHelper';
6
+ import { DrawerHelperResult } from '../drawer/DrawerHelper';
7
+ import { DrawerType } from '../drawer/dto/drawer.types';
6
8
  export type CpDispatcherResult = {
7
9
  name: string;
8
10
  type: ElemPartType.SidePanel;
@@ -23,28 +25,41 @@ export type CpDispatcherResult = {
23
25
  type: ElemPartType.Shelf;
24
26
  props: ShelfResult | undefined;
25
27
  thk: number;
28
+ } | {
29
+ name: string;
30
+ type: DrawerType.Drawer;
31
+ props: DrawerHelperResult | undefined;
32
+ thk: number;
26
33
  };
27
- export declare function isSidePanel(cp: CpDispatcherResult): cp is {
34
+ export declare function isCpDescriptor(cpName: string): boolean;
35
+ export declare function isCpVariable(cpName: string): boolean;
36
+ export declare function isSidePanel(cp: CpDispatcherResult | undefined): cp is {
28
37
  name: string;
29
38
  type: ElemPartType.SidePanel;
30
39
  props: SidePanelResult;
31
40
  thk: number;
32
41
  };
33
- export declare function isBackPanel(cp: CpDispatcherResult): cp is {
42
+ export declare function isBackPanel(cp: CpDispatcherResult | undefined): cp is {
34
43
  name: string;
35
44
  type: ElemPartType.Back;
36
45
  props: BackPanelResult;
37
46
  thk: number;
38
47
  };
39
- export declare function isDoor(cp: CpDispatcherResult): cp is {
48
+ export declare function isDoor(cp: CpDispatcherResult | undefined): cp is {
40
49
  name: string;
41
50
  type: ElemPartType.Door;
42
51
  props: DoorResult;
43
52
  thk: number;
44
53
  };
45
- export declare function isShelf(cp: CpDispatcherResult): cp is {
54
+ export declare function isShelf(cp: CpDispatcherResult | undefined): cp is {
46
55
  name: string;
47
56
  type: ElemPartType.Shelf;
48
57
  props: ShelfResult;
49
58
  thk: number;
50
59
  };
60
+ export declare function isDrawer(cp: CpDispatcherResult | undefined): cp is {
61
+ name: string;
62
+ type: DrawerType.Drawer;
63
+ props: DrawerHelperResult;
64
+ thk: number;
65
+ };
@@ -1,6 +1,7 @@
1
1
  import { MatResult } from '../material/MatHelper';
2
2
  import { SurfResult } from '../surface/SurfHelper';
3
3
  import { DataContextType } from '../../types/data.types';
4
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
4
5
  export interface KmsResult {
5
6
  name: string;
6
7
  material: MatResult | undefined;
@@ -9,4 +10,4 @@ export interface KmsResult {
9
10
  render: string | undefined;
10
11
  thk: number;
11
12
  }
12
- export default function useKmsHelper(articleData: DataContextType, NAME: string): KmsResult | undefined;
13
+ export default function KmsHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): KmsResult | undefined;
@@ -1,6 +1,7 @@
1
1
  import { RenderResult } from '../render/RenderHelper';
2
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
2
3
  import { MaterialTypes } from './material.types';
3
4
  export interface MatResult extends MaterialTypes {
4
5
  renderInfo: RenderResult;
5
6
  }
6
- export default function MatHelper(materialName: string): MatResult | undefined;
7
+ export default function MatHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, materialName: string): MatResult | undefined;
@@ -1,6 +1,7 @@
1
1
  import { KmsResult } from '../kms/KmsHelper';
2
2
  import { DataContextType } from '../../types/data.types';
3
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
3
4
  export interface SidePanelResult {
4
5
  kms: KmsResult | undefined;
5
6
  }
6
- export default function CSideHelper(articleData: DataContextType, NAME: string): SidePanelResult | undefined;
7
+ export default function CSideHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, articleData: DataContextType, NAME: string): SidePanelResult | undefined;
@@ -1,6 +1,7 @@
1
1
  import { RenderResult } from '../render/RenderHelper';
2
+ import { MatSurfContextValue } from '../../contexts/mat-surf/MatSurfContext';
2
3
  import { SurfaceTypes } from './surface.types';
3
4
  export interface SurfResult extends SurfaceTypes {
4
5
  renderInfo: RenderResult;
5
6
  }
6
- export default function SurfHelper(surfaceName: string): SurfResult | undefined;
7
+ export default function SurfHelper(resolveVarRecursive: (str: string) => string, matSurfContext: MatSurfContextValue, surfaceName: string): SurfResult | undefined;
@@ -0,0 +1,5 @@
1
+ export interface ArticleHoverContextValue {
2
+ isHovered: boolean;
3
+ setIsHovered: (value: boolean) => void;
4
+ }
5
+ export declare const ArticleHoverContext: import('react').Context<ArticleHoverContextValue | undefined>;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ interface ArticleHoverProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare function ArticleHoverProvider({ children }: ArticleHoverProviderProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ArticleHoverContextValue } from './ArticleHoverContext';
2
+ export declare function useArticleHover(): ArticleHoverContextValue;
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DimensionProps } from '../../types/zone.types';
3
- export declare function DimensionProvider({ children, initialDimensions }: {
3
+ export declare function DimensionProvider({ children, initialDimensions, onDimensionChange }: {
4
4
  children: ReactNode;
5
5
  initialDimensions?: DimensionProps;
6
+ onDimensionChange?: (key: keyof DimensionProps, value: number) => void;
6
7
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- export declare const articleList: {
1
+ export declare const articleList: ({
2
2
  name: string;
3
3
  visibility: boolean;
4
4
  dimensions: {
@@ -10,5 +10,20 @@ export declare const articleList: {
10
10
  P_SPP_COLOR: string;
11
11
  P_WIDTH: number;
12
12
  HSP: number;
13
+ P_FAN_H?: undefined;
13
14
  };
14
- }[];
15
+ } | {
16
+ name: string;
17
+ visibility: boolean;
18
+ dimensions: {
19
+ width: number;
20
+ height: number;
21
+ depth: number;
22
+ };
23
+ variables: {
24
+ P_SPP_COLOR: string;
25
+ P_FAN_H: number;
26
+ P_WIDTH: number;
27
+ HSP: number;
28
+ };
29
+ })[];
@@ -1,11 +1,14 @@
1
1
  import { VIEW } from '../types/view.types';
2
2
  import { FC, ReactNode } from 'react';
3
+ import { ThreeEvent } from '@react-three/fiber';
3
4
  interface GroupWrapperProps {
4
5
  view: VIEW;
5
6
  position?: [number, number, number];
6
7
  rotation?: [number, number, number];
7
8
  children?: ReactNode;
8
9
  onClick?: () => void;
10
+ onPointerOver?: (e: ThreeEvent<PointerEvent>) => void;
11
+ onPointerLeave?: (e: ThreeEvent<PointerEvent>) => void;
9
12
  }
10
13
  declare const GroupWrapper: FC<GroupWrapperProps>;
11
14
  export default GroupWrapper;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Validates a linear division string.
3
+ * Should be called AFTER variables ($var) are resolved.
4
+ *
5
+ * @param lindiv - The linear division string to validate
6
+ * @returns true if valid, false otherwise
7
+ */
8
+ export declare function isValidLinearDivision(lindiv: string): boolean;