@jetta/cargo-stabilizer 0.1.0-14 → 0.1.0-3
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.
- package/CHANGELOG.md +1 -26
- package/README.md +12 -53
- package/build/core/adapters/axle_adapter.d.ts +4 -4
- package/build/core/adapters/axle_adapter.d.ts.map +1 -1
- package/build/core/adapters/axle_adapter.js +11 -13
- package/build/core/adapters/coordinate_mapper.d.ts +5 -5
- package/build/core/adapters/coordinate_mapper.d.ts.map +1 -1
- package/build/core/adapters/coordinate_mapper.js +13 -13
- package/build/core/adapters/stability_adapter.d.ts +1 -1
- package/build/core/adapters/stability_adapter.d.ts.map +1 -1
- package/build/core/adapters/stability_adapter.js +1 -1
- package/build/core/candidates/build_candidate_context.d.ts +1 -1
- package/build/core/candidates/build_candidate_context.d.ts.map +1 -1
- package/build/core/candidates/build_candidate_context.js +1 -3
- package/build/core/candidates/candidate_context.d.ts +1 -4
- package/build/core/candidates/candidate_context.d.ts.map +1 -1
- package/build/core/candidates/candidate_generator.d.ts +1 -1
- package/build/core/candidates/candidate_generator.d.ts.map +1 -1
- package/build/core/candidates/candidate_generator.js +16 -33
- package/build/core/candidates/candidate_validation.d.ts +12 -0
- package/build/core/candidates/candidate_validation.d.ts.map +1 -1
- package/build/core/candidates/candidate_validation.js +26 -36
- package/build/core/candidates/rank_candidates.d.ts.map +1 -1
- package/build/core/candidates/rank_candidates.js +0 -3
- package/build/core/evaluation/evaluation_context.d.ts +1 -3
- package/build/core/evaluation/evaluation_context.d.ts.map +1 -1
- package/build/core/evaluation/state_evaluator.d.ts +1 -12
- package/build/core/evaluation/state_evaluator.d.ts.map +1 -1
- package/build/core/evaluation/state_evaluator.js +7 -31
- package/build/core/factory/read_stabilizer_config.d.ts +2 -4
- package/build/core/factory/read_stabilizer_config.d.ts.map +1 -1
- package/build/core/factory/read_stabilizer_config.js +25 -6
- package/build/core/filters/loose_item_filter.d.ts +2 -2
- package/build/core/filters/loose_item_filter.d.ts.map +1 -1
- package/build/core/filters/loose_item_filter.js +3 -3
- package/build/core/geometry/box_geometry.d.ts +1 -17
- package/build/core/geometry/box_geometry.d.ts.map +1 -1
- package/build/core/geometry/box_geometry.js +2 -67
- package/build/core/move/apply_move.d.ts +1 -3
- package/build/core/move/apply_move.d.ts.map +1 -1
- package/build/core/move/apply_move.js +1 -1
- package/build/core/orchestration/StabilizerFlow.d.ts +1 -2
- package/build/core/orchestration/StabilizerFlow.d.ts.map +1 -1
- package/build/core/orchestration/StabilizerFlow.js +2 -2
- package/build/core/orchestration/build_reorder_context.d.ts +1 -1
- package/build/core/orchestration/build_reorder_context.d.ts.map +1 -1
- package/build/core/orchestration/build_reorder_context.js +12 -10
- package/build/core/strategies/reorder/BeamSearchReorder.d.ts +1 -1
- package/build/core/strategies/reorder/BeamSearchReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/BeamSearchReorder.js +6 -7
- package/build/core/strategies/reorder/GeneticReorder.d.ts +1 -1
- package/build/core/strategies/reorder/GeneticReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/GravityCompaction.d.ts +1 -1
- package/build/core/strategies/reorder/GravityCompaction.d.ts.map +1 -1
- package/build/core/strategies/reorder/GravityCompaction.js +2 -2
- package/build/core/strategies/reorder/GreedyReorder.d.ts +1 -1
- package/build/core/strategies/reorder/GreedyReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/ReorderStrategy.d.ts +1 -3
- package/build/core/strategies/reorder/ReorderStrategy.d.ts.map +1 -1
- package/build/core/strategies/reorder/SimulatedAnnealingReorder.d.ts +1 -1
- package/build/core/strategies/reorder/SimulatedAnnealingReorder.d.ts.map +1 -1
- package/build/core/strategies/reorder/anneal_helpers.d.ts +1 -1
- package/build/core/strategies/reorder/anneal_helpers.d.ts.map +1 -1
- package/build/core/strategies/reorder/anneal_helpers.js +1 -1
- package/build/core/strategies/reorder/apply_if_gates_pass.d.ts +1 -1
- package/build/core/strategies/reorder/apply_if_gates_pass.d.ts.map +1 -1
- package/build/core/strategies/reorder/beam_context.d.ts +1 -1
- package/build/core/strategies/reorder/beam_context.d.ts.map +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.d.ts +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.d.ts.map +1 -1
- package/build/core/strategies/reorder/genetic/Chromosome.js +2 -2
- package/build/core/strategies/reorder/greedy_improvement.d.ts +1 -1
- package/build/core/strategies/reorder/greedy_improvement.d.ts.map +1 -1
- package/build/core/strategies/reorder/greedy_improvement.js +2 -2
- package/build/core/validation/parse_stabilizer_input.d.ts +8 -0
- package/build/core/validation/parse_stabilizer_input.d.ts.map +1 -0
- package/build/core/validation/parse_stabilizer_input.js +20 -0
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts +1 -5
- package/build/core/validation/schemas/stabilizer_config_schema.d.ts.map +1 -1
- package/build/core/validation/schemas/stabilizer_config_schema.js +1 -5
- package/build/core/validation/schemas/stabilizer_input_schema.d.ts +110 -0
- package/build/core/validation/schemas/stabilizer_input_schema.d.ts.map +1 -0
- package/build/core/validation/schemas/stabilizer_input_schema.js +34 -0
- package/build/core/validation/schemas/stabilizer_output_schema.d.ts +13 -0
- package/build/core/validation/schemas/stabilizer_output_schema.d.ts.map +1 -0
- package/build/core/validation/schemas/stabilizer_output_schema.js +6 -0
- package/build/core/waypoint/build_waypoint_zones.d.ts +1 -1
- package/build/core/waypoint/build_waypoint_zones.d.ts.map +1 -1
- package/build/core/waypoint/build_waypoint_zones.js +2 -2
- package/build/core/waypoint/preserves_waypoint_order.d.ts +1 -1
- package/build/core/waypoint/preserves_waypoint_order.d.ts.map +1 -1
- package/build/core/waypoint/validate_waypoint_ids.d.ts +1 -1
- package/build/core/waypoint/validate_waypoint_ids.d.ts.map +1 -1
- package/build/index.d.ts +6 -15
- package/build/index.d.ts.map +1 -1
- package/build/index.js +7 -30
- package/package.json +1 -1
- package/build/core/adapters/build_axle_request.d.ts +0 -15
- package/build/core/adapters/build_axle_request.d.ts.map +0 -1
- package/build/core/adapters/build_axle_request.js +0 -39
- package/build/core/adapters/empty_space_adapter.d.ts +0 -10
- package/build/core/adapters/empty_space_adapter.d.ts.map +0 -1
- package/build/core/adapters/empty_space_adapter.js +0 -24
- package/build/core/adapters/map_item_to_positioned_cube.d.ts +0 -9
- package/build/core/adapters/map_item_to_positioned_cube.d.ts.map +0 -1
- package/build/core/adapters/map_item_to_positioned_cube.js +0 -16
- package/build/core/adapters/run_axle_calculator.d.ts +0 -16
- package/build/core/adapters/run_axle_calculator.d.ts.map +0 -1
- package/build/core/adapters/run_axle_calculator.js +0 -32
- package/build/core/candidates/collect_container_slots.d.ts +0 -16
- package/build/core/candidates/collect_container_slots.d.ts.map +0 -1
- package/build/core/candidates/collect_container_slots.js +0 -20
- package/build/core/candidates/enumerate_empty_space_slots.d.ts +0 -15
- package/build/core/candidates/enumerate_empty_space_slots.d.ts.map +0 -1
- package/build/core/candidates/enumerate_empty_space_slots.js +0 -44
- package/build/core/candidates/enumerate_supporter_top_slots.d.ts +0 -11
- package/build/core/candidates/enumerate_supporter_top_slots.d.ts.map +0 -1
- package/build/core/candidates/enumerate_supporter_top_slots.js +0 -36
- package/build/core/candidates/is_elevated_on_supporter_origin.d.ts +0 -14
- package/build/core/candidates/is_elevated_on_supporter_origin.d.ts.map +0 -1
- package/build/core/candidates/is_elevated_on_supporter_origin.js +0 -28
- package/build/core/constants/TieRatioOrientation.d.ts +0 -6
- package/build/core/constants/TieRatioOrientation.d.ts.map +0 -1
- package/build/core/constants/TieRatioOrientation.js +0 -5
- package/build/core/evaluation/compute_reorder_objective.d.ts +0 -13
- package/build/core/evaluation/compute_reorder_objective.d.ts.map +0 -1
- package/build/core/evaluation/compute_reorder_objective.js +0 -13
- package/build/core/exceptions/AxleCalculationError.d.ts +0 -4
- package/build/core/exceptions/AxleCalculationError.d.ts.map +0 -1
- package/build/core/exceptions/AxleCalculationError.js +0 -6
- package/build/core/exceptions/InvalidStabilizerOutputError.d.ts +0 -4
- package/build/core/exceptions/InvalidStabilizerOutputError.d.ts.map +0 -1
- package/build/core/exceptions/InvalidStabilizerOutputError.js +0 -6
- package/build/core/factory/read_stabilizer_config_helpers.d.ts +0 -29
- package/build/core/factory/read_stabilizer_config_helpers.d.ts.map +0 -1
- package/build/core/factory/read_stabilizer_config_helpers.js +0 -73
- package/build/core/filters/collect_movable_items.d.ts +0 -18
- package/build/core/filters/collect_movable_items.d.ts.map +0 -1
- package/build/core/filters/collect_movable_items.js +0 -53
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts +0 -8
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.d.ts.map +0 -1
- package/build/core/filters/collect_pinned_floor_tie_ratio_group_ids.js +0 -41
- package/build/core/filters/is_item_on_cm_floor.d.ts +0 -8
- package/build/core/filters/is_item_on_cm_floor.d.ts.map +0 -1
- package/build/core/filters/is_item_on_cm_floor.js +0 -9
- package/build/core/geometry/has_penetrating_overlap.d.ts +0 -9
- package/build/core/geometry/has_penetrating_overlap.d.ts.map +0 -1
- package/build/core/geometry/has_penetrating_overlap.js +0 -27
- package/build/core/orchestration/build_milkrun_bands_from_config.d.ts +0 -13
- package/build/core/orchestration/build_milkrun_bands_from_config.d.ts.map +0 -1
- package/build/core/orchestration/build_milkrun_bands_from_config.js +0 -14
- package/build/core/orchestration/read_primary_env.d.ts +0 -9
- package/build/core/orchestration/read_primary_env.d.ts.map +0 -1
- package/build/core/orchestration/read_primary_env.js +0 -13
- package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts +0 -9
- package/build/core/strategies/reorder/select_beam_expansion_candidates.d.ts.map +0 -1
- package/build/core/strategies/reorder/select_beam_expansion_candidates.js +0 -28
- package/build/core/strategies/reorder/select_surviving_beam.d.ts +0 -10
- package/build/core/strategies/reorder/select_surviving_beam.d.ts.map +0 -1
- package/build/core/strategies/reorder/select_surviving_beam.js +0 -12
- package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts +0 -37
- package/build/core/validation/contract/cargo_movement_wire_field_map.d.ts.map +0 -1
- package/build/core/validation/contract/cargo_movement_wire_field_map.js +0 -43
- package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts +0 -14
- package/build/core/validation/contract/cargo_movement_wire_mapper.d.ts.map +0 -1
- package/build/core/validation/contract/cargo_movement_wire_mapper.js +0 -34
- package/build/core/validation/contract/format_zod_error.d.ts +0 -8
- package/build/core/validation/contract/format_zod_error.d.ts.map +0 -1
- package/build/core/validation/contract/format_zod_error.js +0 -11
- package/build/core/validation/contract/index.d.ts +0 -9
- package/build/core/validation/contract/index.d.ts.map +0 -1
- package/build/core/validation/contract/index.js +0 -8
- package/build/core/validation/contract/map_contract_to_wire_shape.d.ts +0 -3
- package/build/core/validation/contract/map_contract_to_wire_shape.d.ts.map +0 -1
- package/build/core/validation/contract/map_contract_to_wire_shape.js +0 -45
- package/build/core/validation/contract/map_wire_input_to_contract_shape.d.ts +0 -2
- package/build/core/validation/contract/map_wire_input_to_contract_shape.d.ts.map +0 -1
- package/build/core/validation/contract/map_wire_input_to_contract_shape.js +0 -61
- package/build/core/validation/contract/map_wire_item_to_contract.d.ts +0 -12
- package/build/core/validation/contract/map_wire_item_to_contract.d.ts.map +0 -1
- package/build/core/validation/contract/map_wire_item_to_contract.js +0 -57
- package/build/core/validation/contract/parse_stabilizer_input.d.ts +0 -48
- package/build/core/validation/contract/parse_stabilizer_input.d.ts.map +0 -1
- package/build/core/validation/contract/parse_stabilizer_input.js +0 -26
- package/build/core/validation/contract/parse_stabilizer_output.d.ts +0 -50
- package/build/core/validation/contract/parse_stabilizer_output.d.ts.map +0 -1
- package/build/core/validation/contract/parse_stabilizer_output.js +0 -24
- package/build/core/validation/contract/stabilizer_domain_schema.d.ts +0 -101
- package/build/core/validation/contract/stabilizer_domain_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_domain_schema.js +0 -64
- package/build/core/validation/contract/stabilizer_input_schema.d.ts +0 -36
- package/build/core/validation/contract/stabilizer_input_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_input_schema.js +0 -11
- package/build/core/validation/contract/stabilizer_output_schema.d.ts +0 -76
- package/build/core/validation/contract/stabilizer_output_schema.d.ts.map +0 -1
- package/build/core/validation/contract/stabilizer_output_schema.js +0 -16
- package/build/core/validation/contract/uniquify_contract_item_ids.d.ts +0 -8
- package/build/core/validation/contract/uniquify_contract_item_ids.d.ts.map +0 -1
- package/build/core/validation/contract/uniquify_contract_item_ids.js +0 -38
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts +0 -34
- package/build/core/validation/contract/wire_mapper_record_utils.d.ts.map +0 -1
- package/build/core/validation/contract/wire_mapper_record_utils.js +0 -66
- package/build/core/waypoint/milkrun_wall_reservation.d.ts +0 -24
- package/build/core/waypoint/milkrun_wall_reservation.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation.js +0 -57
- package/build/core/waypoint/milkrun_wall_reservation_helpers.d.ts +0 -15
- package/build/core/waypoint/milkrun_wall_reservation_helpers.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation_helpers.js +0 -48
- package/build/core/waypoint/milkrun_wall_reservation_types.d.ts +0 -16
- package/build/core/waypoint/milkrun_wall_reservation_types.d.ts.map +0 -1
- package/build/core/waypoint/milkrun_wall_reservation_types.js +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { StabilizerContainer } from '../validation/contract/stabilizer_domain_schema.js';
|
|
2
|
-
import type { WaypointMode } from './WaypointMode.js';
|
|
3
|
-
import type { MilkrunPositionCheck, MilkrunReservedBand } from './milkrun_wall_reservation_types.js';
|
|
4
|
-
export type { MilkrunPositionCheck, MilkrunReservedBand } from './milkrun_wall_reservation_types.js';
|
|
5
|
-
/**
|
|
6
|
-
* Builds reserved Z bands for the last N waypoints' compound walls per container.
|
|
7
|
-
* @param containers - Baseline container layout.
|
|
8
|
-
* @param mode - Waypoint mode.
|
|
9
|
-
* @param wall_count - Number of trailing waypoints to reserve.
|
|
10
|
-
* @returns Reserved Z bands (empty when wall_count is zero or single-waypoint mode).
|
|
11
|
-
*/
|
|
12
|
-
export declare function build_milkrun_reserved_z_bands(containers: StabilizerContainer[], mode: WaypointMode, wall_count: number): MilkrunReservedBand[];
|
|
13
|
-
/**
|
|
14
|
-
* @param request - Reserved bands and candidate placement.
|
|
15
|
-
* @returns True when candidate overlaps a reserved band.
|
|
16
|
-
*/
|
|
17
|
-
export declare function is_position_in_milkrun_reserved_band(request: MilkrunPositionCheck): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* @param containers - Layout to validate.
|
|
20
|
-
* @param bands - Reserved milkrun Z bands.
|
|
21
|
-
* @returns True when no loose item overlaps a reserved band.
|
|
22
|
-
*/
|
|
23
|
-
export declare function is_layout_milkrun_valid(containers: StabilizerContainer[], bands: MilkrunReservedBand[]): boolean;
|
|
24
|
-
//# sourceMappingURL=milkrun_wall_reservation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"milkrun_wall_reservation.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/milkrun_wall_reservation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,oDAAoD,CAAA;AAC7G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEpG,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAEpG;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,UAAU,EAAE,mBAAmB,EAAE,EACjC,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACnB,mBAAmB,EAAE,CAiBvB;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAS3F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,mBAAmB,EAAE,EACjC,KAAK,EAAE,mBAAmB,EAAE,GAC7B,OAAO,CAUT"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { is_loose_item } from '../filters/loose_item_filter.js';
|
|
2
|
-
import { build_container_milkrun_band } from './milkrun_wall_reservation_helpers.js';
|
|
3
|
-
/**
|
|
4
|
-
* Builds reserved Z bands for the last N waypoints' compound walls per container.
|
|
5
|
-
* @param containers - Baseline container layout.
|
|
6
|
-
* @param mode - Waypoint mode.
|
|
7
|
-
* @param wall_count - Number of trailing waypoints to reserve.
|
|
8
|
-
* @returns Reserved Z bands (empty when wall_count is zero or single-waypoint mode).
|
|
9
|
-
*/
|
|
10
|
-
export function build_milkrun_reserved_z_bands(containers, mode, wall_count) {
|
|
11
|
-
if (wall_count <= 0 || mode.kind === 'SINGLE_WAYPOINT') {
|
|
12
|
-
return [];
|
|
13
|
-
}
|
|
14
|
-
return containers.flatMap((container, container_index) => {
|
|
15
|
-
const band = build_container_milkrun_band({
|
|
16
|
-
container,
|
|
17
|
-
mode,
|
|
18
|
-
wall_count,
|
|
19
|
-
container_index
|
|
20
|
-
});
|
|
21
|
-
return band ? [band] : [];
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @param request - Reserved bands and candidate placement.
|
|
26
|
-
* @returns True when candidate overlaps a reserved band.
|
|
27
|
-
*/
|
|
28
|
-
export function is_position_in_milkrun_reserved_band(request) {
|
|
29
|
-
const item_z_min = request.position.z;
|
|
30
|
-
const item_z_max = request.position.z + request.item.depth;
|
|
31
|
-
return request.bands.some(band => band.container_index === request.container_index &&
|
|
32
|
-
item_z_min < band.z_max &&
|
|
33
|
-
item_z_max > band.z_min);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @param containers - Layout to validate.
|
|
37
|
-
* @param bands - Reserved milkrun Z bands.
|
|
38
|
-
* @returns True when no loose item overlaps a reserved band.
|
|
39
|
-
*/
|
|
40
|
-
export function is_layout_milkrun_valid(containers, bands) {
|
|
41
|
-
if (bands.length === 0) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
return containers.every((container, container_index) => container.items.every(item => is_loose_item_position_valid(item, bands, container_index)));
|
|
45
|
-
}
|
|
46
|
-
function is_loose_item_position_valid(item, bands, container_index) {
|
|
47
|
-
if (!is_loose_item(item)) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
const overlaps = is_position_in_milkrun_reserved_band({
|
|
51
|
-
bands,
|
|
52
|
-
container_index,
|
|
53
|
-
item,
|
|
54
|
-
position: { z: item.z }
|
|
55
|
-
});
|
|
56
|
-
return !overlaps;
|
|
57
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { StabilizerContainer } from '../validation/contract/stabilizer_domain_schema.js';
|
|
2
|
-
import type { WaypointMode } from './WaypointMode.js';
|
|
3
|
-
import type { MilkrunReservedBand } from './milkrun_wall_reservation_types.js';
|
|
4
|
-
export interface ContainerMilkrunBandRequest {
|
|
5
|
-
container: StabilizerContainer;
|
|
6
|
-
mode: WaypointMode;
|
|
7
|
-
wall_count: number;
|
|
8
|
-
container_index: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* @param request - Container milkrun band request.
|
|
12
|
-
* @returns Reserved Z band for one container.
|
|
13
|
-
*/
|
|
14
|
-
export declare function build_container_milkrun_band(request: ContainerMilkrunBandRequest): MilkrunReservedBand | undefined;
|
|
15
|
-
//# sourceMappingURL=milkrun_wall_reservation_helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"milkrun_wall_reservation_helpers.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/milkrun_wall_reservation_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAE9E,MAAM,WAAW,2BAA2B;IAExC,SAAS,EAAE,mBAAmB,CAAA;IAC9B,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,2BAA2B,GACrC,mBAAmB,GAAG,SAAS,CAwBjC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { is_loose_item } from '../filters/loose_item_filter.js';
|
|
2
|
-
import { resolve_item_waypoint_id } from './validate_waypoint_ids.js';
|
|
3
|
-
/**
|
|
4
|
-
* @param request - Container milkrun band request.
|
|
5
|
-
* @returns Reserved Z band for one container.
|
|
6
|
-
*/
|
|
7
|
-
export function build_container_milkrun_band(request) {
|
|
8
|
-
const order = build_compound_waypoint_order(request.container.items, request.mode);
|
|
9
|
-
const reserved_waypoints = order.slice(-request.wall_count);
|
|
10
|
-
if (reserved_waypoints.length === 0) {
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
const z_values = collect_compound_z_extents(request.container.items, request.mode, reserved_waypoints);
|
|
14
|
-
if (z_values.length === 0) {
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
return {
|
|
18
|
-
container_index: request.container_index,
|
|
19
|
-
z_min: Math.min(...z_values),
|
|
20
|
-
z_max: Math.max(...z_values)
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
function build_compound_waypoint_order(items, mode) {
|
|
24
|
-
const compound_items = items.filter(item => !is_loose_item(item));
|
|
25
|
-
const sorted = [...compound_items].sort((left, right) => left.z - right.z);
|
|
26
|
-
const vector = [];
|
|
27
|
-
for (const item of sorted) {
|
|
28
|
-
const waypoint_id = resolve_item_waypoint_id(item, mode);
|
|
29
|
-
if (vector.length === 0 || vector[vector.length - 1] !== waypoint_id) {
|
|
30
|
-
vector.push(waypoint_id);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return vector;
|
|
34
|
-
}
|
|
35
|
-
function collect_compound_z_extents(items, mode, reserved_waypoints) {
|
|
36
|
-
const z_values = [];
|
|
37
|
-
for (const item of items) {
|
|
38
|
-
if (is_loose_item(item)) {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
const waypoint_id = resolve_item_waypoint_id(item, mode);
|
|
42
|
-
if (!reserved_waypoints.includes(waypoint_id)) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
z_values.push(item.z, item.z + item.depth);
|
|
46
|
-
}
|
|
47
|
-
return z_values;
|
|
48
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface MilkrunReservedBand {
|
|
2
|
-
container_index: number;
|
|
3
|
-
z_min: number;
|
|
4
|
-
z_max: number;
|
|
5
|
-
}
|
|
6
|
-
export interface MilkrunPositionCheck {
|
|
7
|
-
bands: MilkrunReservedBand[];
|
|
8
|
-
container_index: number;
|
|
9
|
-
item: {
|
|
10
|
-
depth: number;
|
|
11
|
-
};
|
|
12
|
-
position: {
|
|
13
|
-
z: number;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=milkrun_wall_reservation_types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"milkrun_wall_reservation_types.d.ts","sourceRoot":"","sources":["../../../src/core/waypoint/milkrun_wall_reservation_types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAEhC,eAAe,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IAEjC,KAAK,EAAE,mBAAmB,EAAE,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACvB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|