@particle-academy/holy-sheet 2.7.0 → 2.9.0

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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
 
11
11
  ## [Unreleased]
12
12
 
13
+ ## [2.9.0] — 2026-10-19
14
+
15
+ ### Added
16
+
17
+ - **`print.fitToPage`: one page wide AND tall.** `fitToWidth` scales a sheet
18
+ to one page wide and lets it run as many pages tall as it needs, so the page
19
+ break fell through the chart below a board summary in three of four
20
+ agent-built workbooks reviewed. `fitToPage: true` scales the whole sheet,
21
+ table, notes and chart, onto one sheet of paper.
22
+ - **`charts[].series[].points`: colour single points.** `[{"index": 2,
23
+ "color": "#C2410C"}]` colours the one bar, slice or line marker the chart is
24
+ about (index 0-based within `values`). Reviewers marked down every comparison
25
+ chart whose bars were all one colour, because it did not say which bar
26
+ mattered. Written as DrawingML data points, read back by `describe()` /
27
+ `read()`, validated with a hint per point, and published in the schema.
28
+ - **Nothing to do**: a workbook that uses neither is byte-identical to before.
29
+
30
+ ## [2.8.0] — 2026-10-19
31
+
32
+ ### Added
33
+
34
+ - **`charts`: native Excel charts over cell ranges.** A sheet takes
35
+ `charts: [{type, title?, categories?, series: [{name?, values, color?}],
36
+ position?: {from, to}, dataLabels?, legend?, format?}]`. `type` is `column`,
37
+ `bar` (horizontal, for long labels), `line` or `pie`. Ranges are A1 ranges on
38
+ the chart's own sheet (`"B5:B7"`) or another (`"'Q3 Revenue'!B5:B7"`).
39
+ `position` anchors the chart between two cells and defaults to beside the
40
+ data. `format` is an Excel number format for the axis and labels (`"$#,##0"`).
41
+ Agent-built workbooks reviewed for a board were marked down for having no
42
+ chart where the point was comparison, and there was no way to make one.
43
+ - These are real charts, not pictures: edit a figure and the chart follows. The
44
+ values are cached too, so a viewer that does not recalculate still draws them.
45
+ Styling is quiet on purpose (grey 9pt axis text, light gridlines, no tick
46
+ marks, a bold 12pt title) so a chart reads as part of the sheet.
47
+ - Read back by `describe()` / `read()` in the same shape, validated with a hint
48
+ per field, and published in the schema. Byte-identical across the PHP, Node
49
+ and Python engines.
50
+ - **Nothing to do**: a workbook without `charts` is byte-identical to before. A
51
+ sheet with comments keeps their relationship ids; the drawing takes the next.
52
+
13
53
  ## [2.7.0] — 2026-10-19
14
54
 
15
55
  ### Added