@pptx-studio/render-dom 0.3.1 → 0.3.3

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # @pptx-studio/render-dom
2
2
 
3
+ ## 0.3.3
4
+
5
+ ### Patch Changes
6
+
7
+ - e8ba475: A table is parsed, and its grid is the one PowerPoint draws.
8
+
9
+ `Shape.table` carries the `a:tbl` of a `p:graphicFrame`: the `a:tblPr` flags and style source, every
10
+ `a:gridCol`, every `a:tr` with its cells, and each cell's spans, body and `a:tcPr` as written.
11
+ `tableGrid` resolves the merges by the rule C7 measured (`tables.json`, 76 of 76 tables PowerPoint
12
+ opened as written and 21 it authored itself): each `a:tc` takes the next column, the spans on the
13
+ anchor are the whole story, a covered position is covered whatever its own attributes say, a span
14
+ stops at the edge or at the first claimed position, and `hMerge`/`vMerge` change nothing. `a:tr/@h`
15
+ is a minimum, a column is never narrower than its cells' side margins plus 2 pt, and the frame's
16
+ `a:ext` says nothing about the drawn size. A table attribute of the wrong type throws
17
+ `MODEL_TABLE_ATTR`.
18
+
19
+ `@pptx-studio/validate` gains `V030`, a warning on a table whose rows, spans and flags disagree —
20
+ PowerPoint opens it silently and rewrites it on the next save — and `V031`, fatal on the missing or
21
+ mistyped table attributes PowerPoint repairs. The downstream packages carry the new rules and the
22
+ new field; nothing they draw changes.
23
+
24
+ - Updated dependencies [e8ba475]
25
+ - @pptx-studio/model@0.2.0
26
+ - @pptx-studio/render-svg@0.6.1
27
+
28
+ ## 0.3.2
29
+
30
+ ### Patch Changes
31
+
32
+ - 6ceb245: A rectangular picture's border is drawn as PowerPoint's export draws it.
33
+
34
+ At a named width the border is the device pen on the frame outset by half the true width, over
35
+ the picture, with no clip: crisp when the width is a whole number of device pixels and antialiased
36
+ otherwise (F3, `snap.json`: 48 of 48 borders). The path carries `data-band="out"`, and a zoom mask
37
+ may let its crispness change with the pen as it lets `stroke-width` change. A picture that is not
38
+ a rectangle keeps its double-width band clipped to the outside. `StrokePaint` gains `whole`, whether
39
+ the pen is the true width in whole device pixels.
40
+
41
+ The rule's own domain is now measured: every case fits it on the six widths that are an eighth of
42
+ a pixel per point with a whole-pixel height, 239 and 227 of 242 at the two other whole-dpi,
43
+ whole-height widths where an exact half rounds its width and its parity apart, an exact half
44
+ rounds up at every power-of-two scale — which is every zoom the page has — and an `algn="in"`
45
+ stroke, measured for the first time, sits a device pixel outside its rounded frame edge; the
46
+ renderer's clipped band for it is up to a pixel and a half too far in, and the record says so.
47
+
48
+ - Updated dependencies [6ceb245]
49
+ - @pptx-studio/render-svg@0.6.0
50
+
3
51
  ## 0.3.1
4
52
 
5
53
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pptx-studio/render-dom",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "The live DOM renderer: one element per shape, over the same layout engine as render-svg",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -42,9 +42,9 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@pptx-studio/geometry": "^0.1.1",
45
- "@pptx-studio/model": "^0.1.4",
46
- "@pptx-studio/paint": "^0.4.0",
47
- "@pptx-studio/render-svg": "^0.5.0"
45
+ "@pptx-studio/model": "^0.2.0",
46
+ "@pptx-studio/render-svg": "^0.6.1",
47
+ "@pptx-studio/paint": "^0.4.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@arethetypeswrong/cli": "0.18.5",