Auto-recompile stale Asymptote figures in handout builds#97
Merged
Conversation
BuildCommand now walks each handout's referenced images and recompiles any .asy whose .pdf/.svg is missing or older than its source (plus transitive include/import deps). Compile invocation is shared with the TeX path via the new MathComps.Shared.ProcessRunner. _common.asy is intentionally excluded from the dep graph (edits are almost always additive helpers); a new --force-asy flag triggers a full rebuild for semantic changes. --skip-asy bypasses the check entirely and is what CI uses since asy/Inkscape aren't on the runner. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
BuildCommandwalks each handout's referenced images before TeX compile and recompiles any.asywhose.pdf/.svgis missing or older than its source (plus transitiveinclude/importdeps)._Export-Asy.ps1invocation per handout, and deduplicated across handouts so language variants of the same handout don't re-do the same figures._common.asyis intentionally excluded from the dep graph since most edits there are additive helpers that can't affect existing figures. New--force-asyflag triggers a full rebuild for semantic changes (palette tweak, modified helper). New--skip-asybypasses the check entirely; CI uses it becauseasy/Inkscape aren't on the runner.--skip-compilegate (no point if we're not compiling), and PDF uploads are gated on having actually compiled (so--skip-compiledoesn't publish stale binaries — image uploads still happen).MathComps.Shared.ProcessRunner, shared between the TeX compile and the new Asymptote path.🤖 Generated with Claude Code