Normalize inputs
Item, carton, unit, constraint and objective data enter the shared domain model.
Packing algorithm & verification
Packmetry is built around a separation of responsibilities: the solver proposes arrangements, an independent verifier checks them, objective logic ranks only verified candidates, and the canonical plan becomes the source of truth for metrics and 3D presentation.
Item, carton, unit, constraint and objective data enter the shared domain model.
The deterministic baseline solver creates a small bounded set of heuristic packing candidates.
Every candidate is checked by a separate verification boundary before it is eligible for recommendation.
Packing coverage is protected first, then the selected objective ranks comparable verified candidates.
One selected verified candidate is converted into the canonical PackingPlan and canonical metrics.
Result summaries and the 3D view consume the canonical verified plan instead of rebuilding placement logic.
What 3D bin packing means here
In Packmetry, a 3D packing problem asks whether item instances with length, width and height can be placed inside one or more carton interiors without crossing carton boundaries or overlapping one another.
Placements are axis-aligned. An item may use only the orientations allowed by its rotation policy. The physical packing problem can also be limited by known carton inventory and known gross weight constraints.
A successful geometric arrangement is therefore more than a volume check: every placed item needs explicit coordinates, dimensions and an allowed orientation that survive independent verification.
Why multiple valid arrangements exist
Different valid plans can result from choices such as which carton type is opened first, which available orientation is accepted, or where a valid placement is chosen inside an already-open carton.
Packmetry does not attempt to enumerate every mathematically possible arrangement. The current baseline uses a small deterministic search policy so repeated runs remain reproducible and browser cost stays bounded.
The production baseline varies carton-type order only. Item order and rotation-order diversity are not currently explored as separate candidate strategies.
Candidate generation
Packmetry's current production solver is the deterministicpackmetry-baselinesolver. It processes item instances in input order, tries already-open carton instances before opening new ones, and uses deterministic axis-aligned candidate points and allowed rotation order.
For the same normalized input, the solver evaluates carton types using up to three order strategies:
Exact duplicate candidate plans are removed while preserving the first occurrence. The resulting candidate set therefore contains between one and three candidates.
This is a bounded heuristic search, not exhaustive 3D bin-packing enumeration. Packmetry describes the result as a recommended or best plan found, not a guaranteed global mathematical optimum.
Independent verification
A candidate does not become trusted merely because Packmetry generated it. Each candidate passes through a separate verifier before ranking or canonical-plan construction.
The current verifier checks, among other invariants:
Verification failures remain observable. The planning pipeline does not silently repair an invalid candidate and present the repaired version as if the solver had produced a valid result.
Recommendation logic
Only independently verified candidates are eligible for ranking. Before an optimization objective is applied, Packmetry first maximizes placed item instances and then minimizes unplaced item instances.
This prevents an objective such as fewer cartons from winning simply because an incomplete candidate used fewer boxes. Only candidates tied at the best packing-coverage level move on to objective-specific comparison.
Current product objectives can then compare verified candidates using deterministic lexicographic metrics such as carton count, wasted internal volume, utilization, known carton cost, known gross-weight data or dimensional weight where the required data is available.
Packmetry does not collapse different units such as cartons, cubic millimetres, currency and grams into one arbitrary weighted score in the current baseline selection policy.
Utilization
For each used carton, Packmetry sums the volume of its verified placements:item volume = Σ(length × width × height).Carton volume is calculated from the carton's internal length, width and height.
Empty volume is:carton volume - item volume.Carton utilization is:item volume / carton volume.
At plan level, the same quantities are summed across all used cartons before overall utilization is calculated. If a plan uses zero cartons, overall utilization is defined as zero.
A favorable volume ratio cannot prove that items geometrically fit. Utilization is a metric derived after verified placement; it is not a replacement for 3D geometry.
Canonical result
Canonical plan construction derives final carton contents, placements, status and metrics from the selected verified candidate. Canonical status is derived from verified item accounting rather than blindly copied from a solver status field.
Utilization and empty-volume metrics use carton internal dimensions, because those dimensions describe the usable packing cavity. Known physical weight metrics remain separate and unknown values are not silently treated as zero.
3D presentation
Packmetry's 3D view is a comprehension layer, not another packing engine. It receives canonical verified placements and renders those coordinates. It does not independently invent a more attractive arrangement.
This keeps the textual result, metrics and 3D arrangement attached to the same source of truth.
Dimensional weight
When dimensional-weight analysis is enabled for a carton, Packmetry uses external package dimensions rather than the internal packing cavity. Length, width and height are converted into the divisor's length unit, multiplied into package volume, and divided by the explicit divisor.
The result is interpreted in the divisor's mass unit and converted to canonical grams. The core DIM calculation does not apply carrier-billing rounding.
When both actual gross weight and DIM weight are known, the base estimated chargeable weight is the greater of the two. Missing actual weight or missing DIM data remains unknown rather than being replaced with zero.
DIM settings can participate in verified-candidate ranking and canonical metrics, but the baseline solver does not move items differently because a DIM divisor was supplied. Packmetry also does not turn that DIM result into live carrier pricing, service-specific billing rules, zones or shipping-rate quotes.
Assumptions & current limits
Rotation policy, boundaries, overlap, known gross-weight limits and inventory bounds are enforced by the current solver/verifier path. Fragile handling, padding, spacing and stackability remain outside the currently enforced semantics where Packmetry cannot yet guarantee those behaviors.
Put the methodology to work
Personal keeps the workflow simple. Business exposes more operational data such as carton inventory, costs, weights and DIM settings while using the same core planning architecture.