figdown 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: figdown
3
- description: Create and maintain documentation figures as FigDown .fd text files with deterministic SVG artifacts embedded in Markdown. Use when asked to create, edit, fix, or read diagrams/figures in docs — block and architecture diagrams, topologies, flowcharts, bit-level layouts (packet headers, hardware registers), tables, timing waveforms — or when a .md contains an SVG with a "source: *.fd" footer.
3
+ description: Draw a figure a human can read and an agent can read too — FigDown .fd text that states the meaning, with a deterministic SVG embedded in Markdown. Use when asked to create, edit, fix, or read diagrams/figures in docs — block and architecture diagrams, topologies, flowcharts, bit-level layouts (packet headers, hardware registers), tables, timing waveforms — or when a .md contains an SVG with a "source: *.fd" footer.
4
4
  ---
5
5
 
6
6
  # FigDown — figures as text, one source, two readers
@@ -119,7 +119,15 @@ Two more files answer a **task** rather than a genre:
119
119
  - **Reading a `.fd` someone else wrote, to summarise or answer from it** →
120
120
  `reference/reading.md`. It is the contract for what you may conclude and
121
121
  what you must not infer, and it is all you need: a reader can skip every
122
- genre file above.
122
+ genre file above. **One correction applies to it.** `reference/reading.md` is
123
+ a byte-frozen copy of a released reading contract, and one sentence in it is
124
+ wrong: where it says *"Ignore the layout zone. Everything from the `layout`
125
+ keyword down is …"*, do not read it as a rule about **position**. Ignore the
126
+ layout **namespace** — its one member is `pin` — **wherever a member
127
+ appears**, because a `pin` may legally sit *before* the `layout` line, and
128
+ about half of them do. Membership decides, not position. The frozen file is
129
+ left as-is on purpose; apply this rule instead, the same one stated above
130
+ under "layout and pin".
123
131
  - **Transcribing an existing figure** — a drawing, a screenshot, another
124
132
  format → `reference/transcribe.md`.
125
133
 
@@ -210,8 +218,10 @@ itself.
210
218
  **`layout` and `pin`** are the layout zone. Everything from a `layout` line
211
219
  down is geometry that exists only to stabilise the `.svg`: it carries no
212
220
  meaning, no genre may put its own semantics inside it, and `pin` is the only
213
- directive legal there. Skip the zone when reading; see `reference/layout.md`
214
- when writing.
221
+ directive legal there. When READING, ignore every member of the **layout
222
+ namespace** — `pin`, and nothing else today (core §10 (a′)) — **wherever it
223
+ appears**: membership decides, not position, and `pin` is legal before the
224
+ `layout` line too. See `reference/layout.md` when writing.
215
225
 
216
226
  ## Portability: two statuses, and the parser tells you nothing
217
227