You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release/h4-owner-decision-memo.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,16 @@
1
1
# H4 Owner Decision Memo
2
2
3
-
This memo converts the Pro/free boundary gate into explicit choices. It is a recommendation, not approval.
3
+
This memo records the H4 Pro/free boundary approval from May 6, 2026.
4
4
5
-
## Recommended Decision
5
+
## Approved Decision
6
6
7
-
Approve the Pro direction as a package-boundary plan, but do not add license enforcement yet.
7
+
The owner approved the Pro direction as a package-boundary plan, with no license enforcement before beta.
8
8
9
9
Reason: the current implementation keeps the free/baseline public package useful, exposes current advanced workflows through `@chart-kit/react-native/pro-preview`, and records Pro-candidate feature buckets plus prop-level triggers in `packages/pro`. The final paid package and license behavior should wait until native evidence and beta feedback are stronger.
10
10
11
11
## Decision 1: Free Baseline
12
12
13
-
Recommendation:
13
+
Approved:
14
14
15
15
- keep `react-native-chart-kit` as the compatibility package
16
16
- keep `@chart-kit/react-native` as the clean modern free API
@@ -21,21 +21,21 @@ Rationale: existing users need a low-friction upgrade path, and new adopters nee
21
21
22
22
## Decision 2: Pro Package
23
23
24
-
Recommendation: ship Pro as a separate package later.
24
+
Approved: ship Pro as a separate package later.
25
25
26
26
Suggested package direction:
27
27
28
28
```text
29
29
@chart-kit/react-native # modern free package
30
30
@chart-kit/pro # paid workflows and composition helpers
31
-
@chart-kit/skia-renderer # optional renderer package, used by Pro docs/examples when approved
31
+
@chart-kit/skia-renderer # separate optional preview renderer until native evidence is complete
32
32
```
33
33
34
34
Rationale: a separate package keeps license checks, paid workflows, and optional native dependencies out of the free runtime.
35
35
36
36
## Decision 3: Pro Scope
37
37
38
-
Recommendation: keep the owner-proposed commercial buckets as Pro candidates:
38
+
Approved: keep the owner-proposed commercial buckets as Pro candidates:
39
39
40
40
- production layout engine depth
41
41
- production interactions
@@ -50,7 +50,7 @@ The current registry records these as `chartKitProPreviewFeatures`.
50
50
51
51
## Decision 4: Prop-Level Triggers
52
52
53
-
Recommendation: approve the trigger metadata as the working split map, not as runtime gating.
53
+
Approved: use the trigger metadata as the working split map, not as runtime gating.
54
54
55
55
Examples currently tracked:
56
56
@@ -73,43 +73,43 @@ Rationale: this lets the project decide later whether a component, a prop, or a
73
73
74
74
## Decision 5: License Timing
75
75
76
-
Recommendation: no license enforcement before beta.
76
+
Approved: no license enforcement before beta.
77
77
78
78
Rationale:
79
79
80
80
- API feedback is more important than monetization code at this stage
81
-
-free/pro boundaries are still under owner review
81
+
-paid implementation and native evidence are still incomplete
82
82
- native Skia and performance evidence are not complete
83
83
- license checks should never live in `packages/core`
84
84
85
85
## Decision 6: Beta Labels
86
86
87
-
Recommendation:
87
+
Approved:
88
88
89
89
- label advanced touch workflows, range selector, pan/zoom, animation previews, financial charts, Skia, and large-data features as preview or Pro candidate
90
90
- keep `CandlestickChart` visible only as Financial Preview
91
91
- keep `@chart-kit/react-native/pro-preview` as the temporary review entrypoint
92
92
93
-
## Recommended H4 Outcome
93
+
## H4 Outcome
94
94
95
-
Approve the strategy, not the final paid implementation:
95
+
Approved the strategy, not the final paid implementation:
96
96
97
97
1. Free v2 stays useful and trustworthy.
98
98
2. Pro focuses on production pain and commercial workflows.
99
99
3. Pro and Skia remain preview packages for beta.
100
100
4. License enforcement is deferred.
101
-
5. Final free-vs-Pro labels are revisited after native evidence and beta feedback.
101
+
5. Final paid implementation details are revisited after native evidence and beta feedback.
102
102
103
-
Record approval only after the owner accepts or edits these decisions:
103
+
Recorded approval:
104
104
105
105
```sh
106
106
npm run release:owner:record -- \
107
107
--gate h4 \
108
-
--approved-by <owner> \
109
-
--approved-at <yyyy-mm-dd> \
108
+
--approved-by owner \
109
+
--approved-at 2026-05-06 \
110
110
--decision "Free v2 remains useful with safe layout, SVG renderer, baseline charts, themes, accessibility helpers, and compatibility facade." \
111
111
--decision "@chart-kit/pro will be a separate package later." \
112
-
--decision "@chart-kit/skia-renderer remains an optional renderer package until native evidence is complete." \
112
+
--decision "@chart-kit/skia-renderer remains a separate optional preview renderer package until native install, parity, and benchmark evidence are complete." \
113
113
--decision "No license enforcement before beta." \
114
114
--decision "Advanced interactions, range selector, pan/zoom, animation, financial charts, Skia, and large-data workflows stay preview/Pro-candidate for beta." \
Copy file name to clipboardExpand all lines: docs/release/h4-pro-scope.md
+15-17Lines changed: 15 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# H4 Pro Scope Decision Packet
2
2
3
-
Status on May 5, 2026: owner monetization direction captured, package separation not approved for release yet.
3
+
Status on May 6, 2026: H4 approved with the recommendations in this packet. Pro remains a separate future package, Skia remains a separate optional preview renderer, and no license enforcement is added before beta.
4
4
5
-
This packet defines the recommended free-vs-Pro boundary for the v2 beta path. It does not add license checks. The implementation now keeps the main modern package barrel focused on the free/baseline API and exposes current Pro-candidate workflows through an explicit preview subpath until the owner approves the final package split and release timing.
5
+
This packet defines the approved free-vs-Pro boundary for the v2 beta path. It does not add license checks. The implementation keeps the main modern package barrel focused on the free/baseline API and exposes current Pro-candidate workflows through an explicit preview subpath while paid package implementation and native evidence continue.
6
6
7
-
## Recommended H4 Decision
7
+
## Approved H4 Decision
8
8
9
9
Keep the free library useful and trustworthy. Make Pro about the places real production apps bleed: layout certainty, touch workflows, commercial chart types, export, premium templates, and performance.
10
10
11
-
Recommended beta decision:
11
+
Approved beta decision:
12
12
13
13
- ship free v2 with SVG renderer, modern baseline charts, compatibility facade, themes, accessibility helpers, safe default layout, and basic examples
14
14
- keep currently implemented advanced interactions, range selector, pan/zoom, animation, and financial charts visible only as preview/pro-candidate features until API feedback stabilizes
@chart-kit/pro # paid workflow package that composes free primitives
60
60
```
61
61
62
-
`packages/skia-renderer` currently exposes capability metadata, install guidance, and an injected Skia primitive adapter. `LineChart` can accept the injected renderer for its main plot, range selector, sticky-axis, path-local area gradients, threshold rect clips, measured text anchors, default marker, default legend, default tooltip, and debug-layout surfaces. `BarChart` can accept the injected renderer for its chart body, sticky Y-axis, and default tooltip overlay. `PieChart` and `DonutChart` can accept the injected renderer for slices, connector lines, and SVG text labels. `ProgressChart`, `ProgressRing`, `ContributionGraph`, and `CalendarHeatmap` can accept the injected renderer for their chart primitives and SVG text labels. `CombinedChart` can accept the injected renderer for bars, lines, axes, legend, selection overlay, and default tooltip. `CandlestickChart` can accept the injected renderer for its OHLC body, volume bars, session markers, selection overlay, default tooltip, and range selector. `npm run skia:parity` covers the local Skia primitive tests plus LineChart, BarChart, PieChart, ProgressChart, ContributionGraph, CombinedChart, and CandlestickChart renderer contracts. Sticky-axis labels require a Skia font, and native install evidence plus native renderer parity evidence remain pending in [skia-renderer-matrix.json](evidence/skia-renderer-matrix.json). The package does not add license gating until H4 approves the Pro/package split.
62
+
`packages/skia-renderer` currently exposes capability metadata, install guidance, and an injected Skia primitive adapter. `LineChart` can accept the injected renderer for its main plot, range selector, sticky-axis, path-local area gradients, threshold rect clips, measured text anchors, default marker, default legend, default tooltip, and debug-layout surfaces. `BarChart` can accept the injected renderer for its chart body, sticky Y-axis, and default tooltip overlay. `PieChart` and `DonutChart` can accept the injected renderer for slices, connector lines, and SVG text labels. `ProgressChart`, `ProgressRing`, `ContributionGraph`, and `CalendarHeatmap` can accept the injected renderer for their chart primitives and SVG text labels. `CombinedChart` can accept the injected renderer for bars, lines, axes, legend, selection overlay, and default tooltip. `CandlestickChart` can accept the injected renderer for its OHLC body, volume bars, session markers, selection overlay, default tooltip, and range selector. `npm run skia:parity` covers the local Skia primitive tests plus LineChart, BarChart, PieChart, ProgressChart, ContributionGraph, CombinedChart, and CandlestickChart renderer contracts. Sticky-axis labels require a Skia font, and native install evidence plus native renderer parity evidence remain pending in [skia-renderer-matrix.json](evidence/skia-renderer-matrix.json). Per H4, Skia remains a separate optional preview renderer package and does not add license gating before beta.
63
63
64
64
`packages/pro` currently exists only as a preview feature-registry, surface-boundary, and injected composition package. It has no license checks, no runtime activation, and no gated chart implementations. Its registry now mirrors the owner-proposed commercial buckets: `pro-layout-engine`, `pro-interactions`, `pro-chart-types`, `pro-export`, `pro-theme-templates`, `pro-performance`, `skia-renderer`, and `accessibility-reports`. Each feature entry records the included paid capabilities, the commercial rationale, and the free guardrail that keeps baseline v2 useful. Its package-boundary metadata classifies current exports as compatibility, free baseline, or Pro candidate, and it now tracks prop-level Pro candidate triggers such as `LineChart.rangeSelector`, `LineChart.interaction=scrub`, `BarChart.mode=grouped`, `BarChart.orientation=horizontal`, `CombinedChart`, `CandlestickChart`, active donut selection, and injected renderer props. This makes the final split reviewable before moving runtime code. Its React Native preview helper accepts an injected `@chart-kit/react-native/pro-preview` module and selects Pro-candidate exports without statically importing the free runtime package.
65
65
66
66
`@chart-kit/react-native/pro-preview` now exists as an explicit preview entrypoint for current Pro-candidate workflows. It exposes the current advanced LineChart, BarChart, DonutChart, CombinedChart, CandlestickChart, and chart-selection surface while the main `@chart-kit/react-native` barrel stays focused on the free/baseline API. This is not license gating and does not decide the final paid boundary; it gives demos, docs, and `@chart-kit/pro` a clean target before runtime code moves.
67
67
68
68
`npm run surface:check` now also verifies that public docs, showcase source, and docs-example type fixtures do not import explicit Pro-preview-only exports from the main modern package barrel.
69
69
70
-
The beta publish list is controlled by [package-manifest.json](evidence/package-manifest.json). `@chart-kit/skia-renderer` and `@chart-kit/pro` remain pack-checked preview packages with `publishInBeta: false` until H4 approves the final Pro/package split.
70
+
The beta publish list is controlled by [package-manifest.json](evidence/package-manifest.json). Per H4, `@chart-kit/skia-renderer` and `@chart-kit/pro` remain pack-checked preview packages with `publishInBeta: false` until paid-package implementation and native evidence are ready.
71
71
72
72
Implementation principles:
73
73
@@ -80,7 +80,7 @@ Implementation principles:
80
80
81
81
## Preview Feature Labels
82
82
83
-
Until H4 implementation is approved, label these as preview or Pro candidate in docs/showcase language instead of calling them final free or final Pro:
83
+
After H4 approval, keep these labeled as preview or Pro candidate in docs/showcase language instead of calling them final free or final Pro:
84
84
85
85
- advanced tooltip/crosshair/scrub workflows
86
86
- LineChart range selector and brush selection
@@ -90,9 +90,9 @@ Until H4 implementation is approved, label these as preview or Pro candidate in
90
90
- Combo/Dual-axis polish and advanced grouped/horizontal bar variants
91
91
- future Skia renderer experiments
92
92
93
-
## Owner Decisions Needed
93
+
## Approved Owner Decisions
94
94
95
-
H4 approval needs explicit answers:
95
+
H4 approved these answers on May 6, 2026:
96
96
97
97
1. Does `@chart-kit/pro` ship as a separate package?
98
98
2. Does `@chart-kit/skia-renderer` ship as a separate optional package or inside Pro?
0 commit comments