Repository navigation
Open
1 / 21 of 2 issues completedOpen
1 / 21 of 2 issues completed
Copy link
Labels
area:tablesSymbol tables and their controls (§20.4.51 to §20.4.70)Symbol tables and their controls (§20.4.51 to §20.4.70)priority:P1On the path of the current milestoneOn the path of the current milestonetype:specImplements or verifies a numbered section of ODA spec v5.4.1Implements or verifies a numbered section of ODA spec v5.4.1
Description
Spec: ODA Open Design Specification for .dwg files v5.4.1, §20.4.53, §20.4.54, §20.4.55, §20.4.56, §20.4.57, §20.4.58, §20.4.59, §20.4.60, §20.4.61, §20.4.62, §20.4.63, §20.4.64, §20.4.65, §20.4.66, §20.4.67, §20.4.68.
Sections and their state on main (2026-10-21)
| Section | State | Code | Note |
|---|---|---|---|
| §20.4.53 LAYER CONTROL (50) (p. 160) | closes |
src/objects/control.rs | |
| §20.4.54 LAYER (51) (p. 161) | partial |
src/tables/layer.rs | #34: the pre-R2007 field list is not validated past the object header. |
| §20.4.55 SHAPEFILE CONTROL (52) (p. 162) | closes |
src/objects/control.rs | |
| §20.4.56 SHAPEFILE (53) (STYLE) (p. 163) | closes |
src/tables/style.rs | |
| §20.4.57 LINETYPE CONTROL (56) (p. 164) | closes |
src/objects/control.rs | |
| §20.4.58 LTYPE (57) (p. 165) | partial |
src/tables/ltype.rs | #34: R2004 description reads garbage; complex linetypes are not checked. |
| §20.4.59 VIEW CONTROL (60) (p. 167) | closes |
src/objects/control.rs | |
| §20.4.60 VIEW (61) (p. 167) | closes |
src/tables/view.rs | |
| §20.4.61 UCS CONTROL (62) (p. 169) | closes |
src/objects/control.rs | |
| §20.4.62 UCS (63) (p. 170) | closes |
src/tables/ucs.rs | |
| §20.4.63 TABLE (VPORT) (64) (p. 172) | closes |
src/objects/control.rs | |
| §20.4.64 VPORT (65) (p. 172) | closes |
src/tables/vport.rs | |
| §20.4.65 TABLE (APPID) (66) (p. 175) | closes |
src/objects/control.rs | |
| §20.4.66 APPID (67) (p. 176) | closes |
src/tables/appid.rs | |
| §20.4.67 DIMSTYLE CONTROL (68) (p. 177) | closes |
src/objects/control.rs | |
| §20.4.68 DIMSTYLE (69) (p. 178) | partial |
src/tables/dimstyle.rs | R13/R14 block order unmeasured (#74). |
closes comes from the boundary checks on the local 19-file corpus (STATUS.md, 2026-08-30). It is re-measured on the public corpus in CI by the 0.2.0 measurement epic, and no section is complete until its values equal AutoCAD's own DXF export.
Acceptance, for every section above
- Every field of its prescription is read, with every version branch the section names
- Where the section prints an example, its bytes are a committed fixture and decode to the values printed
- The field list ends on the record's exact data-stream boundary (and string/handle-stream boundaries on R2007+) on every corpus record of the type, on every release band
- Every value equals AutoCAD's DXF export of the same drawing, matched by handle (DXF group 5), with the scorer from the oracle epic
- The corpus holds at least one record of the type on each release band, R13 to R2018; a band without one is recorded on the corpus epic, not assumed
- Its row in docs/spec-coverage.md moves to
complete, with the evidence linked
Subtasks
- §20.4.53 LAYER CONTROL (50)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.54 LAYER (51)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.55 SHAPEFILE CONTROL (52)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.56 SHAPEFILE (53) (STYLE)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.57 LINETYPE CONTROL (56)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.58 LTYPE (57)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.59 VIEW CONTROL (60)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.60 VIEW (61)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.61 UCS CONTROL (62)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.62 UCS (63)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.63 TABLE (VPORT) (64)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.64 VPORT (65)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.65 TABLE (APPID) (66)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.66 APPID (67)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.67 DIMSTYLE CONTROL (68)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
- §20.4.68 DIMSTYLE (69)
- R13
- R14
- R2000
- R2004
- R2007
- R2010
- R2013
- R2018
A subtask becomes its own issue when someone picks it up; that issue quotes the section's field list and names the corpus records it is measured on.
Parent: #138
Metadata
Metadata
Assignees
Labels
area:tablesSymbol tables and their controls (§20.4.51 to §20.4.70)Symbol tables and their controls (§20.4.51 to §20.4.70)priority:P1On the path of the current milestoneOn the path of the current milestonetype:specImplements or verifies a numbered section of ODA spec v5.4.1Implements or verifies a numbered section of ODA spec v5.4.1
Activity
DrunkOnJava commentedon Oct 27, 2026
Status (main 2bab7b2;
docs/spec-coverage.mdand CI run 40503137263). Against the 2026-10-21 table in the body:partialis nowcloses. Oracle: 150 records, 1,197 values equal, 138 equal through the default, 0 different, 315 DWG-only; the true colour is not surfaced (LAYER does not surface its true colour (R2004+) #245).closesmoved topartialat docs: publish the real-file numbers the Corpus CI job measures #237, because ACadSharp's R14, R2000 and R2004 VIEW records errored. Those read correctly now (fix(tables): read the pre-R2007 VIEW record as §20.4.60 gives it #263, fix(tables): VIEW's view mode as DXF group 71 (§20.4.60) #284: the view mode is group 71), and the oracle shows 6 records, 120 values equal, 0 different. The row still sayspartial.partialstands; 4 values still differ (LTYPE dash shape flag: the DWG sets 8 where the export writes 2 #242).num_entriesstill differ on some saves (Control objects' num_entries disagree with the exported TABLE 70 on the ACadSharp saves #241).docs(spec-coverage): move the rows the 2026-10-27 main run proves, an…
docs(criteria): re-measure the 1.0 requirements from the 2026-10-27 m…