Skip to content

§20 family: Leaders, multileaders, multilines and hatches (§20.4.47, §20.4.48, §20.4.50, §20.4.73, §20.4.75, §20.4.86, §20.4.87) #147

Open
0 of 1 issue completed

Description

@DrunkOnJava

Spec: ODA Open Design Specification for .dwg files v5.4.1, §20.4.47, §20.4.48, §20.4.50, §20.4.73, §20.4.75, §20.4.86, §20.4.87.

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

Section State Code Note
§20.4.47 LEADER (45) (p. 150) partial src/entities/leader.rs 1 record errors (#71): 12 bits left.
§20.4.48 MLEADER (p. 152) closes src/entities/mleader.rs All 15 MULTILEADER records close (#58).
§20.4.50 MLINE (47) (p. 156) closes src/entities/mline.rs
§20.4.73 MLINESTYLE (73) (p. 185) closes src/objects/acad_mlinestyle.rs All 10 corpus records, four release bands (ARCHITECTURE §7d.3).
§20.4.75 HATCH (p. 188) closes src/entities/hatch.rs Gradient block unconditional (ARCHITECTURE §7g).
§20.4.86 MLeaderAnnotContext (p. 206) closes src/entities/mleader.rs
§20.4.87 MLEADERSTYLE (p. 209) closes src/objects/acad_mleader_style.rs

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.47 LEADER (45)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.48 MLEADER
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.50 MLINE (47)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.73 MLINESTYLE (73)
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.75 HATCH
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.86 MLeaderAnnotContext
    • R13
    • R14
    • R2000
    • R2004
    • R2007
    • R2010
    • R2013
    • R2018
  • §20.4.87 MLEADERSTYLE
    • 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:entitiesEntity prescriptions in spec §20.4
    priority:P1On the path of the current milestone
    on Oct 21, 2026
  2. DrunkOnJava commented on Oct 27, 2026

    @DrunkOnJava
    OwnerAuthor

    Status (main 2bab7b2; docs/spec-coverage.md and CI run 40503137263). Against the 2026-10-21 table in the body:

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:entitiesEntity prescriptions in spec §20.4priority:P1On the path of the current milestonetype: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