Skip to content

§20 family: The TABLE entity and its objects (§20.4.96 to §20.4.103) #151

Open

Description

@DrunkOnJava

Spec: ODA Open Design Specification for .dwg files v5.4.1, §20.4.96, §20.4.97, §20.4.98, §20.4.99, §20.4.100, §20.4.101, §20.4.102, §20.4.103.

Sections and their state on main (2026-10-21)

Section State Code Note
§20.4.96 TABLE (p. 221) missing - §20.4.96.1 until R21, §20.4.96.2 R24 and later.
§20.4.97 TABLECONTENT (p. 229) missing - #82.
§20.4.98 Cell content geometry (p. 232) missing -
§20.4.99 Value (p. 232) missing -
§20.4.100 Custom data collection (p. 233) missing -
§20.4.101 TABLESTYLE (p. 233) partial src/objects/ #60: block structure measured, token sequence not pinned (10 records).
§20.4.102 CELLSTYLEMAP (p. 237) missing -
§20.4.103 TABLEGEOMETRY (p. 238) missing -

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.96 TABLE (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.97 TABLECONTENT (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.98 Cell content geometry (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.99 Value (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.100 Custom data collection (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.101 TABLESTYLE
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.102 CELLSTYLEMAP (no decoder yet)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.103 TABLEGEOMETRY (no decoder yet)
    • 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

Activity

  1. added
    type:specImplements or verifies a numbered section of ODA spec v5.4.1
    area:objectsCommon object formats and non-graphical objects (§20.1 to §20.3, §20.4 objects, §28)
    priority:P2Quality and completeness
    on Oct 21, 2026
  2. DrunkOnJava commented on Oct 27, 2026

    @DrunkOnJava
    OwnerAuthor

    Status (main 2bab7b2). One row of the 2026-10-21 table is stale: §20.4.101 TABLESTYLE is no longer "block structure measured, token sequence not pinned" (#60). §20.4.101.1 (until R21) decodes on R14 to R2007 (#303): all 32 records close and the 1,896 values of the 24 R2000 to R2007 records equal the export, 0 differ (the oracle scores it, #349). §20.4.101.2 (R2010 and later) is not decoded: 20 records are skipped in the corpus run (CI run 40503137263).

    The other seven rows are unchanged on main and still missing. The queue: #313 (TABLESTYLE R2010+ and CELLSTYLEMAP §20.4.102), #316 (TABLEGEOMETRY §20.4.103), #317 (TABLECONTENT §20.4.97) and #319 (ACAD_TABLE §20.4.96). In the corpus run ACAD_TABLE, TABLECONTENT and TABLEGEOMETRY are skipped (14 records each), and CELLSTYLEMAP (32).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:objectsCommon object formats and non-graphical objects (§20.1 to §20.3, §20.4 objects, §28)priority:P2Quality and completenesstype:specImplements or verifies a numbered section of ODA spec v5.4.1

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions