@@ -7,7 +7,7 @@ types into `src/types/generated/schema.d.ts`:
77- Common enum aliases (Calendar, Dash, AxisType, PatternShape, XRef, YRef,
88 TransitionEasing, PlotType)
99- Shared sub-interfaces (Font, ColorBar, HoverLabel, etc.)
10- - 49 per-trace data interfaces (BarData, ScatterData, IndicatorData, .. .)
10+ - Data interfaces for each trace type (BarData, ScatterData, IndicatorData, etc .)
1111- Layout component interfaces (LayoutAxis, Legend, Scene, Annotation, etc.)
1212 and the Layout interface itself
1313- Animation / frame / edits interfaces (AnimationOpts, Frame, Edits)
@@ -59,8 +59,8 @@ and leaf `valType`s produce the same fingerprint string.
5959
6060### Phase 2: Shared interface extraction
6161
62- Containers that appear at least ` MIN_OCCURRENCES ` (= 5) times AND have at
63- least ` MIN_PROPERTIES ` (= 4) properties become shared interfaces (Font,
62+ Containers that appear at least ` MIN_OCCURRENCES ` times AND have at
63+ least ` MIN_PROPERTIES ` properties become shared interfaces (Font,
6464ColorBar, HoverLabel, etc.). PascalCase naming is controlled by
6565` SHARED_NAME_OVERRIDES ` so e.g. ` colorbar ` becomes ` ColorBar ` rather than
6666` Colorbar ` :
@@ -196,8 +196,6 @@ src/types/generated/schema.d.ts
196196└── Animation / frames / config (AnimationOpts, Frame, Edits, ConfigBase)
197197```
198198
199- Regenerate with ` npm run schema ` .
200-
201199## valType → TypeScript mapping
202200
203201Summary:
@@ -322,20 +320,13 @@ re-exported to consumers. Types inside the `_internal` namespace are still
322320reachable via ` _internal.X ` (the namespace itself is exported by the
323321wildcard) but their bare names are not.
324322
325- The wildcard is load-bearing: it removes the maintenance burden of keeping
326- ` lib/index.d.ts ` in sync with new schema additions. If anyone ever swaps
327- it for an explicit allowlist, restore the per-name re-export verifier
328- that previously lived in ` tasks/schema.mjs ` (see git history) — otherwise
329- new generated types will silently fail to surface in the public API.
330323
331324## CI integration
332325
333326` npm run schema-typegen-diff-check ` runs the generator and then verifies that
334327both ` test/plot-schema.json ` and ` src/types/generated/ ` are unchanged via
335- ` git diff --exit-code ` . If either differs, exit code 1 — meaning either a
336- developer changed the source schema but didn't commit the regenerated
337- artifacts, or an attribute-file conversion silently altered the runtime
338- schema and the change wasn't intentionally committed.
328+ ` git diff --exit-code ` . If either differs, the command fails with exit code 1
329+ and outputs the diff to the console.
339330
340331This is what makes the JS-to-TS conversion workflow safe: a correct
341332conversion produces a byte-identical schema, so the check passes; an
0 commit comments