# V2 Binary Diff Visualization

This guide covers `TODOS.phase-72.72.20.1.10`: side-by-side binary asset
comparison for texture and mesh review.

## Source Of Truth

- Manifest: `V2/ue/Build/AssetPipeline/v2-binary-diff-visualization.json`
- Tool: `V2/ue/Tools/v2_binary_diff_visualization.py`
- Validator: `V2/ue/Tools/check-v2-binary-diff-visualization.py`
- Output root: `V2/ue/Saved/CI/BinaryDiffVisualization`

## Texture Image Diff

Generate a side-by-side image report for texture review:

```bash
python3 V2/ue/Tools/v2_binary_diff_visualization.py compare \
  --kind image \
  --left old-texture.png \
  --right new-texture.png \
  --out-dir V2/ue/Saved/CI/BinaryDiffVisualization/image
```

For 8-bit PNG sources, the tool writes `diff.png` and reports changed pixel
counts. Other texture formats still produce side-by-side previews and metadata
so artists can route the pair to the DCC-specific decoder when needed.

## Mesh Wireframe Diff

Generate a mesh wireframe report for OBJ model review:

```bash
python3 V2/ue/Tools/v2_binary_diff_visualization.py compare \
  --kind mesh \
  --left old-mesh.obj \
  --right new-mesh.obj \
  --out-dir V2/ue/Saved/CI/BinaryDiffVisualization/mesh
```

OBJ inputs produce `left-wireframe.svg`, `right-wireframe.svg`, and
`wireframe-overlay.svg`. FBX, GLB, glTF, Blender, and USD inputs are shown as
metadata-only fallbacks unless a studio extractor pre-converts them to OBJ for
review.

## Report Review

Open `report.html` from the output directory. The report shows the left and
right asset previews first, then the generated image diff or mesh wireframe
overlay, followed by compact metrics such as dimensions, changed pixels,
vertices, faces, edges, and byte size.

## Validation Commands

```bash
python3 V2/ue/Tools/v2_binary_diff_visualization.py self-test
python3 V2/ue/Tools/check-v2-binary-diff-visualization.py
python3 -m json.tool V2/ue/Build/AssetPipeline/v2-binary-diff-visualization.json
python3 V2/ue/Tools/check-v2-ci-workflow.py
```
