Repository navigation
feat(objects): decode VIEWPORT ENTITY HEADER from §20.4.70 (#146) - #311
Merged
Merged
Conversation
The header the older releases keep for each viewport entity is the name and flags a symbol-table entry opens with plus one more flag. It had no decoder, so all 6 records of the corpus (R14 and R2000) were skipped; all 6 close on their data-stream boundary, and so does the spec's own R14 example (§20.4.70.1). AutoCAD's DXF exports of the corpus hold no record for the header, so the evidence is the boundary alone.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
… the list sits apart from its siblings' (rustfmt sorts the list)
…ares, so the copies merge in any order
42 tasks
Resolved by keeping both sides: the VIEWPORT ENTITY HEADER section joins ARCHITECTURE.md after main's sections as 7au; examples/support/twin.rs is main's (this branch's copy differed only in a private Twin::parse); the spec-coverage page is regenerated. tools/corpus/baseline.tsv is main's; the Corpus job measures the count change and the baseline is regenerated from its artifact.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9338d80701
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
DrunkOnJava
added a commit
that referenced
this pull request
Oct 28, 2026
…till skipped (#424) CHANGELOG gains the table objects (#313, #316, #317, #319), the nineteen classes derived from AutoCAD's output (#326 to #341), the DIMENSION scorer (#387), the BLOCK fixtures (#407), the maintainer tools (#406, #383) and the merge train's stack handling (#421 to #423). README said every skipped type had a decoder in review; only SHAPE (#310) and the VIEWPORT entity header (#311) do, and the rest are twelve custom classes in the BookViewerApp3 drawings with no DXF export yet, now named. STATUS's pending section says its counts are the 2026-08-30 snapshot.
This was referenced Oct 28, 2026
# Conflicts: # ARCHITECTURE.md # docs/spec-coverage.md # tools/corpus/baseline.tsv
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
Decode VIEWPORT ENTITY HEADER (type 0x47, §20.4.70): the name and flags a symbol-table entry opens with (
TV,B,BS,B) and one moreB. Only R14 and R2000 drawings hold one; it had no decoder, so all 6 corpus records were skipped.Spec reference
§20.4.70 VIEWPORT ENTITY HEADER (tracking #146). The field list closes as printed. The handle references (control object, extension dictionary, xref block, the viewport entity, the previous header) are in the handle stream and are not read. The spec's own R14 example (§20.4.70.1) now closes on its boundary too:
spec_examples --updatemoved that row fromunhandledtocloses(tests/fixtures/spec-examples/r14-objects.tsv,docs/data/spec-coverage.tsv,docs/spec-coverage.md).Test plan
cargo fmt --all -- --checkandcargo clippy --all-targets --all-features -- -D warningspass on this branch.cargo test,cargo docand the 1.85 MSRV check run once on a merge of this lane's open branches instead of per branch (the machine is at memory pressure red); the result goes in a comment.Shown on real files, no new unit tests:
cargo run --release --example probe_vp_ent_hdr -- <corpus>over the 52 pinned drawings.This is boundary evidence alone. AutoCAD's DXF exports of the corpus hold no record for the header (R14 is exported to R12 DXF, which has no OBJECTS section; R2000's tables have no viewport entity table), so no value can be compared. The probe prints each record's name and flags.
Corpus baseline regenerated: decoded +6, skipped -6, errored unchanged (2 rows).
Tests touched: none.
examples/probe_vp_ent_hdr.rsand the shared harnessexamples/support/twin.rsare new examples, not tests.Source-provenance declaration
By submitting this PR I certify that my contribution does not incorporate executable code from any source whose license is incompatible with Apache-2.0. Specifically:
973628f3…f504b) is explicitly allowed (seeCLEANROOM.md).My contribution is based on:
Developer Certificate of Origin
By submitting this PR, I certify that the contribution complies with the Developer Certificate of Origin 1.1.