Preserve diagram geometry and PDF-native form appearance - #7
Merged
Conversation
Recover staggered labeled outline panels as one provenance-rich SVG while vetoing forms and tables. Strengthen PR visual assertions, repair outline anchors, and keep documentary form output readable.
sayantandey
marked this pull request as ready for review
July 28, 2026 22:08
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
#Noneanchors./DA,/MK,/AP,/Q, and/Rect, with the normal appearance stream authoritative over declarations.main, and untrusted fork HTML is not one-click rendered.Why the earlier tests passed
The old scope gate proved only that the five outlined panels were not hallucinated as form controls. It did not positively require their strokes, spatial grouping, labels, asset reference, accessibility text, or provenance to survive. The full conversion had only a generic non-empty/schema-valid contract, so dropping the rectangles and flattening their labels still passed.
The blue-gray
Betafield had a different issue: the earlier micro-PDF encoded a widget rectangle and value but no deterministic appearance. Chrome synthesized viewer UI that CocoaPDF correctly could not treat as PDF content. The fixture now contains an explicit standards-based normal appearance plus matching appearance declarations, and CocoaPDF preserves that evidence. Appearance-less widgets remain deliberately plain.The new checks are two-sided but not pixel-locked: they require one native vector figure with all five labels and strokes, no flattened false prose, correct references and provenance, a valid finance table, valid outline anchors, one evidenced
SecondFieldpresentation, no style on the appearance-less field, and no OCR or active form controls.Visual review
The generated HTML was rendered locally in a real browser.
Betais visibly large, dark blue-gray, and placed on the encoded pale blue-gray field background;FirstFieldremains plain.Fixture architecture
The corpus remains one review experience but three diagnostic PDFs.
StructTreeRoot/ParentTree, AcroForm, and Outlines are document-catalog object graphs, not page-local decorations. Concatenating ordinary pages would either discard those semantics or create a misleading partially tagged hybrid and couple unrelated failures. The rationale is now visible in the README, review page, and machine-readable manifest.A repository README also cannot dynamically infer the GitHub ref from which an external URL was clicked. Therefore stable public preview links are explicitly labeled
main, while CI injects an immutable SHA-pinned preview into each same-repository PR. Fork PRs retain the generated artifact but intentionally do not receive a direct rendering of contributor-controlled HTML.Verification
python -m unittest discover -s tests -v— 250 passedpython scripts/refresh_examples.py --check— 37 committed files across 3 first-party cases verifiedpython scripts/check_repository_invariants.py— passedpython -m compileall -q src tests tools scripts validation— passed6151fe1ef224f90b65c349242bd76ec27385375agit diff --check— cleanPR visual-validation artifact
The temporary review artifact was deleted automatically after this PR was merged; no stale download link is retained.
6151fe1ef224f90b65c349242bd76ec27385375aReopening the PR generates a fresh artifact and restores a live download link.