Skip to content

Improve documentation image builds#56

Open
yawkat wants to merge 23 commits into
mainfrom
issue-45-documentation-build
Open

Improve documentation image builds#56
yawkat wants to merge 23 commits into
mainfrom
issue-45-documentation-build

Conversation

@yawkat

@yawkat yawkat commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Closes #45

Summary

  • canonicalize OpenSCAD PNG output so identical pixels produce identical files
  • normalize the existing documentation images without changing their pixels
  • verify just docs output in GitHub Actions using a checksum-pinned OpenSCAD development AppImage

Validation

  • all 97 rewritten images are pixel-identical to their committed inputs
  • differently compressed identical images canonicalize to identical bytes
  • canonicalization is idempotent
  • uv sync --frozen --offline
  • just test
  • headless PNG export with OpenSCAD AppImage 2026.07.16

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

🚀 Preview deployed to https://cbbaa93a.gridflock-yawk-at.pages.dev

yawkat and others added 2 commits July 18, 2026 09:44
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves reproducibility of documentation image generation by adding a PNG canonicalization step and a CI workflow that verifies just docs leaves committed docs images unchanged.

Changes:

  • Add a Pillow-based canonicalize_png.py utility and run it during just docs image generation.
  • Add a GitHub Actions workflow to run just docs with a checksum-pinned OpenSCAD AppImage and verify docs/images has no diffs.
  • Add the pillow dependency to the Python project and lockfile.

Reviewed changes

Copilot reviewed 4 out of 102 changed files in this pull request and generated no comments.

Show a summary per file
File Description
uv.lock Adds the locked Pillow dependency required for PNG canonicalization.
pyproject.toml Declares pillow as a runtime dependency.
justfile Runs canonicalization on generated docs images during just docs.
canonicalize_png.py Introduces a deterministic PNG rewrite utility using Pillow.
.github/workflows/docs.yml Adds CI verification that just docs output matches committed docs/images using a pinned OpenSCAD AppImage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

yawkat and others added 20 commits July 18, 2026 09:47
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.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.

Improve documentation build

2 participants