Skip to content

Add docs API diagrams and site updates#159

Merged
chloecrozier merged 2 commits into
mainfrom
docs/api-diagrams
Jul 6, 2026
Merged

Add docs API diagrams and site updates#159
chloecrozier merged 2 commits into
mainfrom
docs/api-diagrams

Conversation

@chloecrozier

@chloecrozier chloecrozier commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

  • Add Pillow GIF animations for HDS, flow steering, and packet reorder
  • Share RX wire rendering via incoming_wire.py (wavy lines, labeled in-flight packets)
  • Broader docs/site work on this branch: API reference reorg, benchmarks, tutorials, metrics, and examples
  • Made sure to create both light/dark versions

Examples

HDS

image

Flow Steering

image

Packet Reordering

image

Packet Reordering (Quantized)

image

Test plan

  • Open GIFs under docs/images/packet_diagrams/{hds,flow_steering,reorder}/
  • Regenerate: python3 docs/images/packet_diagrams/*_animation.py
  • mkdocs serve and spot-check docs pages

@chloecrozier chloecrozier requested a review from dleshchev June 12, 2026 07:09
@greptile-apps

greptile-apps Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds animated WebP diagrams for three DAQIRI concepts (header-data split, flow steering, and packet reorder) alongside a shared RX wire renderer and a Makefile-driven reproducibility check. No C++ library code is touched — all changes are Python generation scripts, generated image assets, and a minor mkdocs.yml exclusion.

  • New anim_common.py and incoming_wire.py modules share font loading, WebP export, and wire rendering across the three animation scripts.
  • hds_animation.py, flow_steering_animation.py, and reorder_animation.py each produce dark and light WebP animations plus PNG poster frames into their own output directories.
  • docs/images/packet_diagrams/Makefile adds make all and make check targets; the check target uses git status --porcelain to verify outputs are reproducible before committing.

Confidence Score: 5/5

Safe to merge — changes are entirely documentation tooling with no impact on the library build or runtime behaviour.

All changes are Python scripts and generated image assets used only for docs. The core C++ library, build system, and public API are untouched. The animation code is well-structured and the Makefile reproducibility check is a nice safeguard against stale committed assets.

No files require special attention from a correctness standpoint.

Important Files Changed

Filename Overview
docs/images/packet_diagrams/anim_common.py New shared utility module providing font loading with multi-platform fallbacks, a unified font scheme, and atomic animated WebP export via a temp-file rename pattern.
docs/images/packet_diagrams/incoming_wire.py New shared RX wire rendering module; draws three parallel wire traces and optional in-flight packet markers. Wave animation is implemented but disabled by default (wave=False) in all current callers.
docs/images/packet_diagrams/flow_steering_animation.py New animated WebP generator for flow steering concept; draws packets routed from NIC to per-flow GPU queues or the kernel fallback path across multiple themes.
docs/images/packet_diagrams/hds_animation.py New animated WebP generator for header-data split; renders split header/payload paths to host and GPU memory with Bezier and rectangular path interpolation.
docs/images/packet_diagrams/Makefile New build target wiring up the three animation generators plus a reproducibility check via git-status diff of generated directories.
mkdocs.yml Excludes docs/images/packet_diagrams/README.md from the docs site build so the developer-facing regeneration instructions don't appear as a public page.
.gitignore Adds a duplicate pycache/ entry; the pattern already exists on line 12 of the file.
docs/images/packet_diagrams/README.md New developer README documenting requirements (Pillow 11.1.x with webp_anim), regeneration commands, and notes on WebP frame coalescing behavior.

Reviews (6): Last reviewed commit: "#159 - Replace packet-diagram GIFs with ..." | Re-trigger Greptile

Comment thread docs/images/packet_diagrams/reorder_animation.py
Comment thread docs/images/packet_diagrams/flow_steering_animation.py
@chloecrozier chloecrozier force-pushed the docs/api-diagrams branch 2 times, most recently from 02cfa96 to 7e6940f Compare June 12, 2026 07:19
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 15, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 16, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 16, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 16, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
dleshchev added a commit that referenced this pull request Jun 16, 2026
Signed-off-by: dleshchev <dleshchev@nvidia.com>
Add Pillow GIF generators for header-data split, flow steering, and GPU
reorder. Share RX wire rendering via incoming_wire.py (wavy lines,
labeled in-flight packets, dark/light themes).

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
chloecrozier added a commit that referenced this pull request Jul 6, 2026
…antize

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
…antize

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
@chloecrozier chloecrozier merged commit 5f1445f into main Jul 6, 2026
3 checks passed
chloecrozier added a commit that referenced this pull request Jul 9, 2026
Transparent canvas, unified dark-blue panels, darker route lines, flow-steering
three-path layout, and GIF export alongside WebP.

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
chloecrozier added a commit that referenced this pull request Jul 9, 2026
Match staging/slot column widths and drop overlapping convert label.

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
chloecrozier added a commit that referenced this pull request Jul 9, 2026
Single-theme transparent diagrams for slides, shared incoming-wire
rendering, gitignored WebP/GIF with CI generation, and updated docs
embeds.

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
chloecrozier added a commit that referenced this pull request Jul 9, 2026
Single-theme transparent diagrams for slides, shared incoming-wire
rendering, gitignored WebP/GIF with CI generation, and updated docs
embeds.

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
RamyaGuru pushed a commit that referenced this pull request Jul 9, 2026
Single-theme transparent diagrams for slides, shared incoming-wire
rendering, gitignored WebP/GIF with CI generation, and updated docs
embeds.

Signed-off-by: Chloe Crozier <chloecrozier@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant