# SmartPacker T1 Local CLI

This package contains the local Windows command-line verifier for the T1
single-carton loading algorithm used by SmartPacker.

The public MCP service stays on depth 2 so that online requests remain fast.
This local CLI can run depth 3 on your own PC, which is the intended way to
reproduce the stronger benchmark numbers without adding load to the public MCP
server.

## Files

- `PackCli.exe`: local T1 command-line executable.
- `container_loading_benchmark_generator.py`: reproducible 10,000-case benchmark
  generator used by the public report.
- `BUILDINFO.json`: build metadata reported by the executable.
- `samples/count_sample.txt`: count-only sample cases.
- `samples/layout_sample.txt`: placed-layout sample case.
- `run_count_sample.cmd`: runs the count-only sample.
- `run_depth3_layout_sample.cmd`: runs the placed-layout sample with
  `T1_DEPTH=3` and writes JSON output.

## Quick Check

Open a Windows command prompt in this folder:

```cmd
run_count_sample.cmd
```

Expected count-only output:

```text
720 820 876 886
144 157 166 166
14400 14550 14820 14855
```

The four columns are direct, depth 1, depth 2, and depth 3 count-only results.

## Reproduce The Benchmark

Python 3 is required for the benchmark generator.

```cmd
python container_loading_benchmark_generator.py --out-dir benchmark_out --packcli PackCli.exe
```

The generated files in `benchmark_out` can be compared with the CSV and summary
JSON published on the T1 benchmark page.

For a quick smoke test, use `--cases 10`. The case count must be divisible by the
10 benchmark strata.

## Depth 3 Layout JSON

For a placed no-overhang loading plan:

```cmd
run_depth3_layout_sample.cmd
```

The script writes `samples\layout_depth3_sample.json`. The same JSON shape is
used by the public MCP service, except the public service normally runs depth 2.
