@cristiancosano/pallet-builder 0.1.4 → 0.1.5

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.
@@ -0,0 +1,17 @@
1
+ import type { Box } from "../entities/Box";
2
+ import type { Pallet } from "../entities/Pallet";
3
+ import type { StackedPallet } from "../entities/StackedPallet";
4
+ import type { PackingStrategy } from "./PackingStrategy";
5
+ export interface MultiPalletPackOptions {
6
+ boxes: Box[];
7
+ palletBase: Pallet;
8
+ strategy: PackingStrategy;
9
+ maxFloorsPerPallet?: number;
10
+ namePrefix?: string;
11
+ }
12
+ export declare class MultiPalletBuilder {
13
+ static packMultiple(options: MultiPalletPackOptions): {
14
+ pallets: StackedPallet[];
15
+ unplacedBoxes: Box[];
16
+ };
17
+ }
@@ -1,6 +1,6 @@
1
- export type { PackingStrategy, PackingResult } from './PackingStrategy';
2
- export { ColumnStrategy } from './ColumnStrategy';
3
- export { BinPacking3DStrategy } from './BinPacking3D';
4
- export { TypeGroupStrategy } from './TypeGroupStrategy';
5
- export { MaterialGroupingStrategy } from './MaterialGroupingStrategy';
6
- export { PackingRegistry, defaultRegistry } from './registry';
1
+ export type { PackingStrategy, PackingResult } from "./PackingStrategy";
2
+ export { ColumnStrategy } from "./ColumnStrategy";
3
+ export { BinPacking3DStrategy } from "./BinPacking3D";
4
+ export { MaterialGroupingStrategy } from "./MaterialGroupingStrategy";
5
+ export { MultiPalletBuilder } from "./MultiPalletBuilder";
6
+ export { PackingRegistry, defaultRegistry } from "./registry";
package/dist/lib.d.ts CHANGED
@@ -1,56 +1,59 @@
1
- export type { Dimensions3D, Position3D, Point2D, BoundingBox, DiscreteRotation, ValidationResult, Violation, PackingMetrics, PalletPreset, TruckPreset, } from '@/core/types';
2
- export { PalletMaterial, SeparatorMaterial, TruckType } from '@/core/types';
3
- export { STANDARD_PALLETS, TRUCK_PRESETS, SEPARATOR_DEFAULTS, UNITS, COLLISION_TOLERANCE, MIN_SUPPORT_PERCENTAGE, WEIGHT_WARNING_THRESHOLD, } from '@/core/constants';
4
- export type { ScenePreset, BoxStyle, PalletStyle, SeparatorStyle, SelectionStyle, WarehouseStyle, TruckStyle, } from '@/core/presets';
5
- export { PRESET_UNSTYLED, PRESET_INDUSTRIAL, SCENE_PRESETS, DEFAULT_PRESET, } from '@/core/presets';
6
- export { PresetProvider, usePreset } from '@/context/PresetContext';
7
- export type { Box } from '@/core/entities/Box';
8
- export type { PlacedBox } from '@/core/entities/PlacedBox';
9
- export type { Pallet } from '@/core/entities/Pallet';
10
- export type { Separator } from '@/core/entities/Separator';
11
- export type { PalletFloor } from '@/core/entities/PalletFloor';
12
- export type { StackedPallet } from '@/core/entities/StackedPallet';
13
- export { getStackedPalletTotalHeight, getStackedPalletTotalWeight, ensureUniqueBoxIds } from '@/core/entities/StackedPallet';
14
- export type { PlacedPallet } from '@/core/entities/PlacedPallet';
15
- export type { Room } from '@/core/entities/Room';
16
- export type { Warehouse } from '@/core/entities/Warehouse';
17
- export type { Truck } from '@/core/entities/Truck';
18
- export { getBoxBoundingBox, getPalletBoundingBox, aabbIntersects, validateNoBoxCollisions, validateNoPalletCollisions, validateBoxInPalletBounds, validateAllBoxesInPalletBounds, validatePalletInTruck, validatePalletHeight, validatePalletWeight, validateTruckWeight, validateFragileLoad, validateWeightDistribution, validateBoxStackability, validateInvertedPyramid, validateStackDimensions, validateSeparators, validateStackHeight, validateStackWeight, validateSupport, calculateCenterOfGravity, calculateStabilityScore, validateCogInsideSupport, validateStability, pointInPolygon, validatePalletInRoom, } from '@/core/validation';
19
- export type { PackingStrategy, PackingResult } from '@/core/packing/PackingStrategy';
20
- export { ColumnStrategy } from '@/core/packing/ColumnStrategy';
21
- export { BinPacking3DStrategy } from '@/core/packing/BinPacking3D';
22
- export { TypeGroupStrategy } from '@/core/packing/TypeGroupStrategy';
23
- export { PackingRegistry, defaultRegistry } from '@/core/packing/registry';
24
- export { PalletFactory } from '@/core/factories/PalletFactory';
25
- export { TruckFactory } from '@/core/factories/TruckFactory';
26
- export { BoxFactory } from '@/core/factories/BoxFactory';
27
- export { usePhysicsValidation } from '@/hooks/usePhysicsValidation';
28
- export type { PhysicsValidationResult } from '@/hooks/usePhysicsValidation';
29
- export { usePalletMetrics } from '@/hooks/usePalletMetrics';
30
- export type { PalletMetricsResult } from '@/hooks/usePalletMetrics';
31
- export { usePackingStrategy } from '@/hooks/usePackingStrategy';
32
- export type { UsePackingStrategyReturn } from '@/hooks/usePackingStrategy';
33
- export { useWarehouseValidation } from '@/hooks/useWarehouseValidation';
34
- export type { WarehouseValidationResult } from '@/hooks/useWarehouseValidation';
35
- export { BoxComponent } from '@/components/primitives/Box';
36
- export type { BoxProps } from '@/components/primitives/Box';
37
- export { PalletComponent } from '@/components/primitives/Pallet';
38
- export type { PalletComponentProps } from '@/components/primitives/Pallet';
39
- export { SeparatorComponent } from '@/components/primitives/Separator';
40
- export type { SeparatorComponentProps } from '@/components/primitives/Separator';
41
- export { StackedPalletComponent } from '@/components/primitives/StackedPallet';
42
- export type { StackedPalletComponentProps } from '@/components/primitives/StackedPallet';
43
- export { Label } from '@/components/primitives/Label';
44
- export type { LabelProps } from '@/components/primitives/Label';
45
- export { WarehouseEnvironment } from '@/components/environments/WarehouseEnvironment';
46
- export type { WarehouseEnvironmentProps } from '@/components/environments/WarehouseEnvironment';
47
- export { TruckEnvironment } from '@/components/environments/TruckEnvironment';
48
- export type { TruckEnvironmentProps } from '@/components/environments/TruckEnvironment';
49
- export { CameraControlsComponent } from '@/components/controls/CameraControls';
50
- export type { CameraControlsProps, CameraPreset } from '@/components/controls/CameraControls';
51
- export { PalletScene } from '@/components/scenes/PalletScene';
52
- export type { PalletSceneProps } from '@/components/scenes/PalletScene';
53
- export { TruckScene } from '@/components/scenes/TruckScene';
54
- export type { TruckSceneProps } from '@/components/scenes/TruckScene';
55
- export { WarehouseScene } from '@/components/scenes/WarehouseScene';
56
- export type { WarehouseSceneProps } from '@/components/scenes/WarehouseScene';
1
+ export type { Dimensions3D, Position3D, Point2D, BoundingBox, DiscreteRotation, ValidationResult, Violation, PackingMetrics, PalletPreset, TruckPreset, } from "@/core/types";
2
+ export { PalletMaterial, SeparatorMaterial, TruckType } from "@/core/types";
3
+ export { STANDARD_PALLETS, TRUCK_PRESETS, SEPARATOR_DEFAULTS, UNITS, COLLISION_TOLERANCE, MIN_SUPPORT_PERCENTAGE, WEIGHT_WARNING_THRESHOLD, } from "@/core/constants";
4
+ export type { ScenePreset, BoxStyle, PalletStyle, SeparatorStyle, SelectionStyle, WarehouseStyle, TruckStyle, } from "@/core/presets";
5
+ export { PRESET_UNSTYLED, PRESET_INDUSTRIAL, SCENE_PRESETS, DEFAULT_PRESET, } from "@/core/presets";
6
+ export { PresetProvider, usePreset } from "@/context/PresetContext";
7
+ export type { Box } from "@/core/entities/Box";
8
+ export type { PlacedBox } from "@/core/entities/PlacedBox";
9
+ export type { Pallet } from "@/core/entities/Pallet";
10
+ export type { Separator } from "@/core/entities/Separator";
11
+ export type { PalletFloor } from "@/core/entities/PalletFloor";
12
+ export type { StackedPallet } from "@/core/entities/StackedPallet";
13
+ export { getStackedPalletTotalHeight, getStackedPalletTotalWeight, ensureUniqueBoxIds, } from "@/core/entities/StackedPallet";
14
+ export type { PlacedPallet } from "@/core/entities/PlacedPallet";
15
+ export type { Room } from "@/core/entities/Room";
16
+ export type { Warehouse } from "@/core/entities/Warehouse";
17
+ export type { Truck } from "@/core/entities/Truck";
18
+ export { getBoxBoundingBox, getPalletBoundingBox, aabbIntersects, validateNoBoxCollisions, validateNoPalletCollisions, validateBoxInPalletBounds, validateAllBoxesInPalletBounds, validatePalletInTruck, validatePalletHeight, validatePalletWeight, validateTruckWeight, validateFragileLoad, validateWeightDistribution, validateBoxStackability, validateInvertedPyramid, validateStackDimensions, validateSeparators, validateStackHeight, validateStackWeight, validateSupport, calculateCenterOfGravity, calculateStabilityScore, validateCogInsideSupport, validateStability, pointInPolygon, validatePalletInRoom, } from "@/core/validation";
19
+ export type { PackingStrategy, PackingResult, } from "@/core/packing/PackingStrategy";
20
+ export { ColumnStrategy } from "@/core/packing/ColumnStrategy";
21
+ export { BinPacking3DStrategy } from "@/core/packing/BinPacking3D";
22
+ export { TypeGroupStrategy } from "@/core/packing/TypeGroupStrategy";
23
+ export { MaterialGroupingStrategy } from "@/core/packing/MaterialGroupingStrategy";
24
+ export { MultiPalletBuilder } from "@/core/packing/MultiPalletBuilder";
25
+ export type { MultiPalletPackOptions } from "@/core/packing/MultiPalletBuilder";
26
+ export { PackingRegistry, defaultRegistry } from "@/core/packing/registry";
27
+ export { PalletFactory } from "@/core/factories/PalletFactory";
28
+ export { TruckFactory } from "@/core/factories/TruckFactory";
29
+ export { BoxFactory } from "@/core/factories/BoxFactory";
30
+ export { usePhysicsValidation } from "@/hooks/usePhysicsValidation";
31
+ export type { PhysicsValidationResult } from "@/hooks/usePhysicsValidation";
32
+ export { usePalletMetrics } from "@/hooks/usePalletMetrics";
33
+ export type { PalletMetricsResult } from "@/hooks/usePalletMetrics";
34
+ export { usePackingStrategy } from "@/hooks/usePackingStrategy";
35
+ export type { UsePackingStrategyReturn } from "@/hooks/usePackingStrategy";
36
+ export { useWarehouseValidation } from "@/hooks/useWarehouseValidation";
37
+ export type { WarehouseValidationResult } from "@/hooks/useWarehouseValidation";
38
+ export { BoxComponent } from "@/components/primitives/Box";
39
+ export type { BoxProps } from "@/components/primitives/Box";
40
+ export { PalletComponent } from "@/components/primitives/Pallet";
41
+ export type { PalletComponentProps } from "@/components/primitives/Pallet";
42
+ export { SeparatorComponent } from "@/components/primitives/Separator";
43
+ export type { SeparatorComponentProps } from "@/components/primitives/Separator";
44
+ export { StackedPalletComponent } from "@/components/primitives/StackedPallet";
45
+ export type { StackedPalletComponentProps } from "@/components/primitives/StackedPallet";
46
+ export { Label } from "@/components/primitives/Label";
47
+ export type { LabelProps } from "@/components/primitives/Label";
48
+ export { WarehouseEnvironment } from "@/components/environments/WarehouseEnvironment";
49
+ export type { WarehouseEnvironmentProps } from "@/components/environments/WarehouseEnvironment";
50
+ export { TruckEnvironment } from "@/components/environments/TruckEnvironment";
51
+ export type { TruckEnvironmentProps } from "@/components/environments/TruckEnvironment";
52
+ export { CameraControlsComponent } from "@/components/controls/CameraControls";
53
+ export type { CameraControlsProps, CameraPreset, } from "@/components/controls/CameraControls";
54
+ export { PalletScene } from "@/components/scenes/PalletScene";
55
+ export type { PalletSceneProps } from "@/components/scenes/PalletScene";
56
+ export { TruckScene } from "@/components/scenes/TruckScene";
57
+ export type { TruckSceneProps } from "@/components/scenes/TruckScene";
58
+ export { WarehouseScene } from "@/components/scenes/WarehouseScene";
59
+ export type { WarehouseSceneProps } from "@/components/scenes/WarehouseScene";