# Iconography Smoke Test

Purpose:
- Smoke-check `fullbleed init` vendoring behavior in one place:
- Bootstrap CSS (`vendor/css/bootstrap.min.css`)
- Inter font (`vendor/fonts/Inter-Variable.ttf`)
- Bootstrap Icons sprite (`vendor/icons/bootstrap-icons.svg`)
- Verify icon usage paths with a technical (not visual-parity) render.

Reference image:
- `examples/iconography_test/src.png`

## Run

From repo root:

```powershell
.\.venv\Scripts\python.exe examples\iconography_test\report.py
```

Primary outputs:
- `examples/iconography_test/output/iconography_smoke.pdf`
- `examples/iconography_test/output/iconography_smoke_summary.json`
- `examples/iconography_test/output/iconography_smoke.jit.jsonl`
- `examples/iconography_test/output/iconography_smoke.perf.jsonl`
- `examples/iconography_test/output/iconography_smoke_page1.png` (if PyMuPDF is installed)

## What This Evaluates

- Vendored assets exist and are loadable through `AssetBundle`.
- Bootstrap classes affect layout and components in the rendered PDF.
- Inter is used as the default text face.
- Bootstrap Icons work via:
  - Inline symbol extraction from the vendored sprite (`<use href="#icon-id">`).
  - External sprite fragment href probe (`<use href="vendor/icons/bootstrap-icons.svg#icon-id">`).
  - Expanded symbol fallback (`<svg>...paths from symbol...</svg>`).

## Current Findings (This Environment)

- Vendoring checks pass for Bootstrap, Inter, and Bootstrap Icons.
- Bootstrap component styling is applied.
- Icon rendering outcome is mode-dependent:
  - `inline_symbol_ref`: not visible in this run.
  - `external_sprite_ref`: not visible in this run.
  - `expanded_symbol_svg`: visible and reliable in this run.
- The current fixture paginates to multiple pages (`pdf_page_count > 1`), and this is intentionally treated as a failing smoke check in `iconography_smoke_summary.json` for easier CI gating.

## Notes

- This fixture is intentionally a technical probe, not a parity benchmark.
- Use `iconography_smoke_summary.json` as the machine-readable pass/fail source.
