@invinite-org/chartlang-language-service 1.2.0 → 1.3.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.
@@ -48,7 +48,7 @@ export const HOVER_REGISTRY = Object.freeze({
48
48
  "fqn": "AdxOpts",
49
49
  "kind": "type",
50
50
  "title": "AdxOpts",
51
- "summary": "Options bag for `ta.adx` (Wilder's Average Directional Index).\n`smoothing` is the second-stage Wilder window applied to DX\n(default `14` — matches the DI window). `offset` shifts the\noutput (PLAN.md §9.1). `lineStyle` is a forward-compat plot-\nstyling hint surfaced for §9.1 ergonomics — not consumed by the\nprimitive itself.",
51
+ "summary": "Options bag for `ta.adx` (Wilder's Average Directional Index).\n`smoothing` is the second-stage Wilder window applied to DX\n(default `14` — matches the DI window). `offset` shifts the\noutput. `lineStyle` is a forward-compat plot-\nstyling hint surfaced for §9.1 ergonomics — not consumed by the\nprimitive itself.",
52
52
  "examples": [
53
53
  "const opts: AdxOpts = { smoothing: 14 };"
54
54
  ],
@@ -59,7 +59,7 @@ export const HOVER_REGISTRY = Object.freeze({
59
59
  "fqn": "alert",
60
60
  "kind": "function",
61
61
  "title": "alert(_message, _opts?)",
62
- "summary": "Compile-time callable hole for `alert(message, opts?)`. The compiler\nrewrites every callsite (Task 2) to dispatch to the runtime; calling this\noutside the runtime throws the sentinel.",
62
+ "summary": "Compile-time callable hole for `alert(message, opts?)`. The compiler\nrewrites every callsite to dispatch to the runtime; calling this\noutside the runtime throws the sentinel.",
63
63
  "paramTable": [
64
64
  {
65
65
  "name": "_message",
@@ -247,7 +247,7 @@ export const HOVER_REGISTRY = Object.freeze({
247
247
  "fqn": "AroonOpts",
248
248
  "kind": "type",
249
249
  "title": "AroonOpts",
250
- "summary": "Options bag for `ta.aroon`. `offset` shifts the read window backwards\n(PLAN.md §9.1). `outputs` carries per-output styling hints that\ndownstream `plot()` callsites can lift defaults from; the runtime\nitself ignores it in Phase 2 — script-author `plot(a.up,\n{ lineStyle })` is the styling seam.",
250
+ "summary": "Options bag for `ta.aroon`. `offset` shifts the read window backwards\n. `outputs` carries per-output styling hints that\ndownstream `plot()` callsites can lift defaults from; the runtime\nitself ignores it in Phase 2 — script-author `plot(a.up,\n{ lineStyle })` is the styling seam.",
251
251
  "examples": [
252
252
  "const opts: AroonOpts = { offset: 0 };"
253
253
  ],
@@ -434,7 +434,7 @@ export const HOVER_REGISTRY = Object.freeze({
434
434
  "fqn": "BbPercentBOpts",
435
435
  "kind": "type",
436
436
  "title": "BbPercentBOpts",
437
- "summary": "Options bag for `ta.bbPercentB`. `multiplier` scales the BB envelope\n(defaults to `2`, mirroring Pine / TradingView). `offset` shifts the\nread window backwards (PLAN.md §9.1); `lineStyle` is a forward-compat\nplot-styling hint surfaced for §9.1 ergonomics.",
437
+ "summary": "Options bag for `ta.bbPercentB`. `multiplier` scales the BB envelope\n(defaults to `2`, mirroring Pine / TradingView). `offset` shifts the\nread window backwards; `lineStyle` is a forward-compat\nplot-styling hint surfaced for §9.1 ergonomics.",
438
438
  "examples": [
439
439
  "const opts: BbPercentBOpts = { multiplier: 2 };"
440
440
  ],
@@ -540,7 +540,7 @@ export const HOVER_REGISTRY = Object.freeze({
540
540
  "fqn": "CciOpts",
541
541
  "kind": "type",
542
542
  "title": "CciOpts",
543
- "summary": "Options bag for `ta.cci`. `offset` shifts the read window backwards\n(Phase-2 backfill — see PLAN.md §9.1). `lineStyle` is a pass-through\nfor the script-author's downstream `plot(cci, { lineStyle })` call\nand is not consumed by the primitive itself.",
543
+ "summary": "Options bag for `ta.cci`. `offset` shifts the read window backwards\n(Phase-2 backfill). `lineStyle` is a pass-through\nfor the script-author's downstream `plot(cci, { lineStyle })` call\nand is not consumed by the primitive itself.",
544
544
  "examples": [
545
545
  "const opts: CciOpts = { offset: 0 };"
546
546
  ],
@@ -551,7 +551,7 @@ export const HOVER_REGISTRY = Object.freeze({
551
551
  "fqn": "ChaikinOscOpts",
552
552
  "kind": "type",
553
553
  "title": "ChaikinOscOpts",
554
- "summary": "Options bag for `ta.chaikinOsc` (Chaikin Oscillator). Defaults\nmatch Pine / invinite: `fastLength = 3`, `slowLength = 10`. `offset`\nshifts the read window backwards (PLAN.md §9.1 universal offset).",
554
+ "summary": "Options bag for `ta.chaikinOsc` (Chaikin Oscillator). Defaults\nmatch Pine / invinite: `fastLength = 3`, `slowLength = 10`. `offset`\nshifts the read window backwards (universal offset).",
555
555
  "examples": [
556
556
  "const opts: ChaikinOscOpts = { fastLength: 3, slowLength: 10 };"
557
557
  ],
@@ -562,7 +562,7 @@ export const HOVER_REGISTRY = Object.freeze({
562
562
  "fqn": "ChandeKrollStopOpts",
563
563
  "kind": "type",
564
564
  "title": "ChandeKrollStopOpts",
565
- "summary": "Options bag for `ta.chandeKrollStop`. `length` controls BOTH the\nATR period AND the first-pass rolling extreme window (default\n`10`); `multiplier` scales the ATR offset (default `1`);\n`smoothingLength` is the second-pass extreme window (default `9`)\n— matches Chande Kroll's 1995 paper. `offset` shifts the read\nwindow backwards (PLAN.md §9.1 — accepted on the surface).",
565
+ "summary": "Options bag for `ta.chandeKrollStop`. `length` controls BOTH the\nATR period AND the first-pass rolling extreme window (default\n`10`); `multiplier` scales the ATR offset (default `1`);\n`smoothingLength` is the second-pass extreme window (default `9`)\n— matches Chande Kroll's 1995 paper. `offset` shifts the read\nwindow backwards (accepted on the surface).",
566
566
  "examples": [
567
567
  "const opts: ChandeKrollStopOpts = { length: 10, multiplier: 1, smoothingLength: 9 };"
568
568
  ],
@@ -584,7 +584,7 @@ export const HOVER_REGISTRY = Object.freeze({
584
584
  "fqn": "ChandelierOpts",
585
585
  "kind": "type",
586
586
  "title": "ChandelierOpts",
587
- "summary": "Options bag for `ta.chandelier` (Chandelier Exit). `length` is the\nATR period AND the rolling extreme window (default `22`);\n`multiplier` scales the ATR offset (default `3`). `offset` shifts\nthe read window backwards (PLAN.md §9.1 — accepted on the surface).",
587
+ "summary": "Options bag for `ta.chandelier` (Chandelier Exit). `length` is the\nATR period AND the rolling extreme window (default `22`);\n`multiplier` scales the ATR offset (default `3`). `offset` shifts\nthe read window backwards (accepted on the surface).",
588
588
  "examples": [
589
589
  "const opts: ChandelierOpts = { length: 22, multiplier: 3 };"
590
590
  ],
@@ -617,7 +617,7 @@ export const HOVER_REGISTRY = Object.freeze({
617
617
  "fqn": "ChopOpts",
618
618
  "kind": "type",
619
619
  "title": "ChopOpts",
620
- "summary": "Options bag for `ta.chop` (Choppiness Index). `offset` is the\nuniversal bar-shift (PLAN.md §9.1 — accepted on the surface).\n`lineStyle` is a forward-compat plot-styling hint surfaced for\n§9.1 ergonomics — not consumed by the primitive itself.",
620
+ "summary": "Options bag for `ta.chop` (Choppiness Index). `offset` is the\nuniversal bar-shift (accepted on the surface).\n`lineStyle` is a forward-compat plot-styling hint surfaced for\n§9.1 ergonomics — not consumed by the primitive itself.",
621
621
  "examples": [
622
622
  "const opts: ChopOpts = { offset: 0 };"
623
623
  ],
@@ -738,7 +738,7 @@ export const HOVER_REGISTRY = Object.freeze({
738
738
  "fqn": "ConnorsRsiOpts",
739
739
  "kind": "type",
740
740
  "title": "ConnorsRsiOpts",
741
- "summary": "Options bag for `ta.connorsRsi`. `rsiLength` / `streakLength` /\n`rocLength` default to Larry Connors' canonical `3` / `2` / `100`.\n`offset` shifts the read window backwards (PLAN.md §9.1).",
741
+ "summary": "Options bag for `ta.connorsRsi`. `rsiLength` / `streakLength` /\n`rocLength` default to Larry Connors' canonical `3` / `2` / `100`.\n`offset` shifts the read window backwards.",
742
742
  "examples": [
743
743
  "const opts: ConnorsRsiOpts = { rsiLength: 3, streakLength: 2, rocLength: 100 };"
744
744
  ],
@@ -884,7 +884,7 @@ export const HOVER_REGISTRY = Object.freeze({
884
884
  "fqn": "defineDrawing",
885
885
  "kind": "function",
886
886
  "title": "defineDrawing(opts)",
887
- "summary": "/**\nConstruct a Phase-3 drawing script object. Mirrors `defineIndicator`\nstructurally; only `manifest.kind` (`\"drawing\"`) and the declared\n`capabilities` (`[\"drawings\"]`) differ. The runtime treats indicator\nand drawing scripts identically at the per-bar level — the\ndiscriminator is a host-side hint the editor uses to distinguish\ndrawing scripts from indicator scripts in the script-picker UI\n(PLAN.md §4.1).",
887
+ "summary": "/**\nConstruct a Phase-3 drawing script object. Mirrors `defineIndicator`\nstructurally; only `manifest.kind` (`\"drawing\"`) and the declared\n`capabilities` (`[\"drawings\"]`) differ. The runtime treats indicator\nand drawing scripts identically at the per-bar level — the\ndiscriminator is a host-side hint the editor uses to distinguish\ndrawing scripts from indicator scripts in the script-picker UI\n.",
888
888
  "paramTable": [
889
889
  {
890
890
  "name": "opts",
@@ -986,7 +986,7 @@ export const HOVER_REGISTRY = Object.freeze({
986
986
  "fqn": "DmiOpts",
987
987
  "kind": "type",
988
988
  "title": "DmiOpts",
989
- "summary": "Options bag for `ta.dmi` (Directional Movement Index). `offset`\nshifts both output series in lockstep (PLAN.md §9.1). `outputs`\ncarries per-output styling hints downstream `plot()` callsites\ncan lift defaults from; the runtime itself ignores it in Phase 2\n— script-author `plot(d.plusDi, { lineStyle })` is the styling\nseam.",
989
+ "summary": "Options bag for `ta.dmi` (Directional Movement Index). `offset`\nshifts both output series in lockstep. `outputs`\ncarries per-output styling hints downstream `plot()` callsites\ncan lift defaults from; the runtime itself ignores it in Phase 2\n— script-author `plot(d.plusDi, { lineStyle })` is the styling\nseam.",
990
990
  "examples": [
991
991
  "const opts: DmiOpts = { offset: 0 };"
992
992
  ],
@@ -1008,7 +1008,7 @@ export const HOVER_REGISTRY = Object.freeze({
1008
1008
  "fqn": "DonchianOpts",
1009
1009
  "kind": "type",
1010
1010
  "title": "DonchianOpts",
1011
- "summary": "Options bag for `ta.donchian`. `offset` shifts the read window\nbackwards (PLAN.md §9.1). `outputs` carries per-output styling\nhints downstream `plot()` callsites can lift defaults from; the\nruntime itself ignores it in Phase 2.",
1011
+ "summary": "Options bag for `ta.donchian`. `offset` shifts the read window\nbackwards. `outputs` carries per-output styling\nhints downstream `plot()` callsites can lift defaults from; the\nruntime itself ignores it in Phase 2.",
1012
1012
  "examples": [
1013
1013
  "const opts: DonchianOpts = { offset: 0 };"
1014
1014
  ],
@@ -1041,7 +1041,7 @@ export const HOVER_REGISTRY = Object.freeze({
1041
1041
  "fqn": "DpoOpts",
1042
1042
  "kind": "type",
1043
1043
  "title": "DpoOpts",
1044
- "summary": "Options bag for `ta.dpo`. `offset` shifts the read window backwards\n(PLAN.md §9.1). `lineStyle` is a forward-compat plot-styling hint\nsurfaced for §9.1 ergonomics — not consumed by the primitive\nitself.",
1044
+ "summary": "Options bag for `ta.dpo`. `offset` shifts the read window backwards\n. `lineStyle` is a forward-compat plot-styling hint\nsurfaced for §9.1 ergonomics — not consumed by the primitive\nitself.",
1045
1045
  "examples": [
1046
1046
  "const opts: DpoOpts = { offset: 0 };"
1047
1047
  ],
@@ -1052,7 +1052,7 @@ export const HOVER_REGISTRY = Object.freeze({
1052
1052
  "fqn": "draw",
1053
1053
  "kind": "property",
1054
1054
  "title": "draw",
1055
- "summary": "Compile-time callable hole for the `draw.*` namespace. Every `get`\non the proxy returns a function that throws the\n`\"draw.<method> called outside compiled runtime\"` sentinel — same\nconvention as the `plot` / `hline` / `alert` stubs in\n`plot/plot.ts:plot` / `alert/alert.ts:alert`. The runtime swaps this\nstub for the real namespace at boot per the\n`@invinite-org/chartlang-runtime` `primitives.ts` seam (PLAN.md\n§5.5).",
1055
+ "summary": "Compile-time callable hole for the `draw.*` namespace. Every `get`\non the proxy returns a function that throws the\n`\"draw.<method> called outside compiled runtime\"` sentinel — same\nconvention as the `plot` / `hline` / `alert` stubs in\n`plot/plot.ts:plot` / `alert/alert.ts:alert`. The runtime swaps this\nstub for the real namespace at boot per the\n`@invinite-org/chartlang-runtime` `primitives.ts` seam.",
1056
1056
  "examples": [
1057
1057
  "import { draw } from \"@invinite-org/chartlang-core\";\ntry {\ndraw.horizontalLine(0);\n} catch {\n// expected: \"draw.horizontalLine called outside compiled runtime\"\n}"
1058
1058
  ],
@@ -1063,7 +1063,7 @@ export const HOVER_REGISTRY = Object.freeze({
1063
1063
  "fqn": "draw.abcdPattern",
1064
1064
  "kind": "function",
1065
1065
  "title": "draw.abcdPattern(anchors, opts?)",
1066
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.abcdPattern.",
1066
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.abcdPattern.",
1067
1067
  "paramTable": [
1068
1068
  {
1069
1069
  "name": "anchors",
@@ -1083,7 +1083,7 @@ export const HOVER_REGISTRY = Object.freeze({
1083
1083
  "fqn": "draw.arc",
1084
1084
  "kind": "function",
1085
1085
  "title": "draw.arc(anchors, opts?)",
1086
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arc.",
1086
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arc.",
1087
1087
  "paramTable": [
1088
1088
  {
1089
1089
  "name": "anchors",
@@ -1103,7 +1103,7 @@ export const HOVER_REGISTRY = Object.freeze({
1103
1103
  "fqn": "draw.arrow",
1104
1104
  "kind": "function",
1105
1105
  "title": "draw.arrow(a, b, opts?)",
1106
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrow.",
1106
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrow.",
1107
1107
  "paramTable": [
1108
1108
  {
1109
1109
  "name": "a",
@@ -1128,7 +1128,7 @@ export const HOVER_REGISTRY = Object.freeze({
1128
1128
  "fqn": "draw.arrowMarkDown",
1129
1129
  "kind": "function",
1130
1130
  "title": "draw.arrowMarkDown(anchor, opts?)",
1131
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarkDown.",
1131
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarkDown.",
1132
1132
  "paramTable": [
1133
1133
  {
1134
1134
  "name": "anchor",
@@ -1148,7 +1148,7 @@ export const HOVER_REGISTRY = Object.freeze({
1148
1148
  "fqn": "draw.arrowMarker",
1149
1149
  "kind": "function",
1150
1150
  "title": "draw.arrowMarker(anchor, opts?)",
1151
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarker.",
1151
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarker.",
1152
1152
  "paramTable": [
1153
1153
  {
1154
1154
  "name": "anchor",
@@ -1168,7 +1168,7 @@ export const HOVER_REGISTRY = Object.freeze({
1168
1168
  "fqn": "draw.arrowMarkUp",
1169
1169
  "kind": "function",
1170
1170
  "title": "draw.arrowMarkUp(anchor, opts?)",
1171
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarkUp.",
1171
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.arrowMarkUp.",
1172
1172
  "paramTable": [
1173
1173
  {
1174
1174
  "name": "anchor",
@@ -1188,7 +1188,7 @@ export const HOVER_REGISTRY = Object.freeze({
1188
1188
  "fqn": "draw.brush",
1189
1189
  "kind": "function",
1190
1190
  "title": "draw.brush(anchors, opts)",
1191
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.brush.",
1191
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.brush.",
1192
1192
  "paramTable": [
1193
1193
  {
1194
1194
  "name": "anchors",
@@ -1208,7 +1208,7 @@ export const HOVER_REGISTRY = Object.freeze({
1208
1208
  "fqn": "draw.circle",
1209
1209
  "kind": "function",
1210
1210
  "title": "draw.circle(centre, radiusAnchor, opts?)",
1211
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.circle.",
1211
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.circle.",
1212
1212
  "paramTable": [
1213
1213
  {
1214
1214
  "name": "centre",
@@ -1233,7 +1233,7 @@ export const HOVER_REGISTRY = Object.freeze({
1233
1233
  "fqn": "draw.crossLine",
1234
1234
  "kind": "function",
1235
1235
  "title": "draw.crossLine(anchor, opts?)",
1236
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.crossLine.",
1236
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.crossLine.",
1237
1237
  "paramTable": [
1238
1238
  {
1239
1239
  "name": "anchor",
@@ -1253,7 +1253,7 @@ export const HOVER_REGISTRY = Object.freeze({
1253
1253
  "fqn": "draw.curve",
1254
1254
  "kind": "function",
1255
1255
  "title": "draw.curve(anchors, opts?)",
1256
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.curve.",
1256
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.curve.",
1257
1257
  "paramTable": [
1258
1258
  {
1259
1259
  "name": "anchors",
@@ -1273,7 +1273,7 @@ export const HOVER_REGISTRY = Object.freeze({
1273
1273
  "fqn": "draw.cyclicLines",
1274
1274
  "kind": "function",
1275
1275
  "title": "draw.cyclicLines(a, b, opts?)",
1276
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.cyclicLines.",
1276
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.cyclicLines.",
1277
1277
  "paramTable": [
1278
1278
  {
1279
1279
  "name": "a",
@@ -1298,7 +1298,7 @@ export const HOVER_REGISTRY = Object.freeze({
1298
1298
  "fqn": "draw.cypherPattern",
1299
1299
  "kind": "function",
1300
1300
  "title": "draw.cypherPattern(anchors, opts?)",
1301
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.cypherPattern.",
1301
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.cypherPattern.",
1302
1302
  "paramTable": [
1303
1303
  {
1304
1304
  "name": "anchors",
@@ -1318,7 +1318,7 @@ export const HOVER_REGISTRY = Object.freeze({
1318
1318
  "fqn": "draw.disjointChannel",
1319
1319
  "kind": "function",
1320
1320
  "title": "draw.disjointChannel(anchors, opts?)",
1321
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.disjointChannel.",
1321
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.disjointChannel.",
1322
1322
  "paramTable": [
1323
1323
  {
1324
1324
  "name": "anchors",
@@ -1338,7 +1338,7 @@ export const HOVER_REGISTRY = Object.freeze({
1338
1338
  "fqn": "draw.doubleCurve",
1339
1339
  "kind": "function",
1340
1340
  "title": "draw.doubleCurve(anchors, opts?)",
1341
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.doubleCurve.",
1341
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.doubleCurve.",
1342
1342
  "paramTable": [
1343
1343
  {
1344
1344
  "name": "anchors",
@@ -1358,7 +1358,7 @@ export const HOVER_REGISTRY = Object.freeze({
1358
1358
  "fqn": "draw.elliottCorrectionWave",
1359
1359
  "kind": "function",
1360
1360
  "title": "draw.elliottCorrectionWave(anchors, opts?)",
1361
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottCorrectionWave.",
1361
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottCorrectionWave.",
1362
1362
  "paramTable": [
1363
1363
  {
1364
1364
  "name": "anchors",
@@ -1378,7 +1378,7 @@ export const HOVER_REGISTRY = Object.freeze({
1378
1378
  "fqn": "draw.elliottDoubleCombo",
1379
1379
  "kind": "function",
1380
1380
  "title": "draw.elliottDoubleCombo(anchors, opts?)",
1381
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottDoubleCombo.",
1381
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottDoubleCombo.",
1382
1382
  "paramTable": [
1383
1383
  {
1384
1384
  "name": "anchors",
@@ -1398,7 +1398,7 @@ export const HOVER_REGISTRY = Object.freeze({
1398
1398
  "fqn": "draw.elliottImpulseWave",
1399
1399
  "kind": "function",
1400
1400
  "title": "draw.elliottImpulseWave(anchors, opts?)",
1401
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottImpulseWave.",
1401
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottImpulseWave.",
1402
1402
  "paramTable": [
1403
1403
  {
1404
1404
  "name": "anchors",
@@ -1418,7 +1418,7 @@ export const HOVER_REGISTRY = Object.freeze({
1418
1418
  "fqn": "draw.elliottTriangleWave",
1419
1419
  "kind": "function",
1420
1420
  "title": "draw.elliottTriangleWave(anchors, opts?)",
1421
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottTriangleWave.",
1421
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottTriangleWave.",
1422
1422
  "paramTable": [
1423
1423
  {
1424
1424
  "name": "anchors",
@@ -1438,7 +1438,7 @@ export const HOVER_REGISTRY = Object.freeze({
1438
1438
  "fqn": "draw.elliottTripleCombo",
1439
1439
  "kind": "function",
1440
1440
  "title": "draw.elliottTripleCombo(anchors, opts?)",
1441
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottTripleCombo.",
1441
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.elliottTripleCombo.",
1442
1442
  "paramTable": [
1443
1443
  {
1444
1444
  "name": "anchors",
@@ -1458,7 +1458,7 @@ export const HOVER_REGISTRY = Object.freeze({
1458
1458
  "fqn": "draw.ellipse",
1459
1459
  "kind": "function",
1460
1460
  "title": "draw.ellipse(a, b, opts?)",
1461
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.ellipse.",
1461
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.ellipse.",
1462
1462
  "paramTable": [
1463
1463
  {
1464
1464
  "name": "a",
@@ -1483,7 +1483,7 @@ export const HOVER_REGISTRY = Object.freeze({
1483
1483
  "fqn": "draw.fibChannel",
1484
1484
  "kind": "function",
1485
1485
  "title": "draw.fibChannel(anchors, opts?)",
1486
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibChannel.",
1486
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibChannel.",
1487
1487
  "paramTable": [
1488
1488
  {
1489
1489
  "name": "anchors",
@@ -1503,7 +1503,7 @@ export const HOVER_REGISTRY = Object.freeze({
1503
1503
  "fqn": "draw.fibCircles",
1504
1504
  "kind": "function",
1505
1505
  "title": "draw.fibCircles(a, b, opts?)",
1506
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibCircles.",
1506
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibCircles.",
1507
1507
  "paramTable": [
1508
1508
  {
1509
1509
  "name": "a",
@@ -1528,7 +1528,7 @@ export const HOVER_REGISTRY = Object.freeze({
1528
1528
  "fqn": "draw.fibRetracement",
1529
1529
  "kind": "function",
1530
1530
  "title": "draw.fibRetracement(a, b, opts?)",
1531
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibRetracement.",
1531
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibRetracement.",
1532
1532
  "paramTable": [
1533
1533
  {
1534
1534
  "name": "a",
@@ -1553,7 +1553,7 @@ export const HOVER_REGISTRY = Object.freeze({
1553
1553
  "fqn": "draw.fibSpeedArcs",
1554
1554
  "kind": "function",
1555
1555
  "title": "draw.fibSpeedArcs(a, b, opts?)",
1556
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpeedArcs.",
1556
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpeedArcs.",
1557
1557
  "paramTable": [
1558
1558
  {
1559
1559
  "name": "a",
@@ -1578,7 +1578,7 @@ export const HOVER_REGISTRY = Object.freeze({
1578
1578
  "fqn": "draw.fibSpeedFan",
1579
1579
  "kind": "function",
1580
1580
  "title": "draw.fibSpeedFan(a, b, opts?)",
1581
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpeedFan.",
1581
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpeedFan.",
1582
1582
  "paramTable": [
1583
1583
  {
1584
1584
  "name": "a",
@@ -1603,7 +1603,7 @@ export const HOVER_REGISTRY = Object.freeze({
1603
1603
  "fqn": "draw.fibSpiral",
1604
1604
  "kind": "function",
1605
1605
  "title": "draw.fibSpiral(a, b, opts?)",
1606
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpiral.",
1606
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibSpiral.",
1607
1607
  "paramTable": [
1608
1608
  {
1609
1609
  "name": "a",
@@ -1628,7 +1628,7 @@ export const HOVER_REGISTRY = Object.freeze({
1628
1628
  "fqn": "draw.fibTimeZone",
1629
1629
  "kind": "function",
1630
1630
  "title": "draw.fibTimeZone(a, b, opts?)",
1631
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTimeZone.",
1631
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTimeZone.",
1632
1632
  "paramTable": [
1633
1633
  {
1634
1634
  "name": "a",
@@ -1653,7 +1653,7 @@ export const HOVER_REGISTRY = Object.freeze({
1653
1653
  "fqn": "draw.fibTrendExtension",
1654
1654
  "kind": "function",
1655
1655
  "title": "draw.fibTrendExtension(anchors, opts?)",
1656
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTrendExtension.",
1656
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTrendExtension.",
1657
1657
  "paramTable": [
1658
1658
  {
1659
1659
  "name": "anchors",
@@ -1673,7 +1673,7 @@ export const HOVER_REGISTRY = Object.freeze({
1673
1673
  "fqn": "draw.fibTrendTime",
1674
1674
  "kind": "function",
1675
1675
  "title": "draw.fibTrendTime(anchors, opts?)",
1676
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTrendTime.",
1676
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibTrendTime.",
1677
1677
  "paramTable": [
1678
1678
  {
1679
1679
  "name": "anchors",
@@ -1693,7 +1693,7 @@ export const HOVER_REGISTRY = Object.freeze({
1693
1693
  "fqn": "draw.fibWedge",
1694
1694
  "kind": "function",
1695
1695
  "title": "draw.fibWedge(anchors, opts?)",
1696
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibWedge.",
1696
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.fibWedge.",
1697
1697
  "paramTable": [
1698
1698
  {
1699
1699
  "name": "anchors",
@@ -1713,7 +1713,7 @@ export const HOVER_REGISTRY = Object.freeze({
1713
1713
  "fqn": "draw.flatTopBottom",
1714
1714
  "kind": "function",
1715
1715
  "title": "draw.flatTopBottom(anchors, opts?)",
1716
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.flatTopBottom.",
1716
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.flatTopBottom.",
1717
1717
  "paramTable": [
1718
1718
  {
1719
1719
  "name": "anchors",
@@ -1733,7 +1733,7 @@ export const HOVER_REGISTRY = Object.freeze({
1733
1733
  "fqn": "draw.frame",
1734
1734
  "kind": "function",
1735
1735
  "title": "draw.frame(a, b, opts?)",
1736
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.frame.",
1736
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.frame.",
1737
1737
  "paramTable": [
1738
1738
  {
1739
1739
  "name": "a",
@@ -1758,7 +1758,7 @@ export const HOVER_REGISTRY = Object.freeze({
1758
1758
  "fqn": "draw.gannBox",
1759
1759
  "kind": "function",
1760
1760
  "title": "draw.gannBox(a, b, opts?)",
1761
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannBox.",
1761
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannBox.",
1762
1762
  "paramTable": [
1763
1763
  {
1764
1764
  "name": "a",
@@ -1783,7 +1783,7 @@ export const HOVER_REGISTRY = Object.freeze({
1783
1783
  "fqn": "draw.gannFan",
1784
1784
  "kind": "function",
1785
1785
  "title": "draw.gannFan(a, b, opts?)",
1786
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannFan.",
1786
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannFan.",
1787
1787
  "paramTable": [
1788
1788
  {
1789
1789
  "name": "a",
@@ -1808,7 +1808,7 @@ export const HOVER_REGISTRY = Object.freeze({
1808
1808
  "fqn": "draw.gannSquare",
1809
1809
  "kind": "function",
1810
1810
  "title": "draw.gannSquare(a, b, opts?)",
1811
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannSquare.",
1811
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannSquare.",
1812
1812
  "paramTable": [
1813
1813
  {
1814
1814
  "name": "a",
@@ -1833,7 +1833,7 @@ export const HOVER_REGISTRY = Object.freeze({
1833
1833
  "fqn": "draw.gannSquareFixed",
1834
1834
  "kind": "function",
1835
1835
  "title": "draw.gannSquareFixed(anchor, opts?)",
1836
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannSquareFixed.",
1836
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.gannSquareFixed.",
1837
1837
  "paramTable": [
1838
1838
  {
1839
1839
  "name": "anchor",
@@ -1853,7 +1853,7 @@ export const HOVER_REGISTRY = Object.freeze({
1853
1853
  "fqn": "draw.group",
1854
1854
  "kind": "function",
1855
1855
  "title": "draw.group(childHandleIds)",
1856
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.group.",
1856
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.group.",
1857
1857
  "paramTable": [
1858
1858
  {
1859
1859
  "name": "childHandleIds",
@@ -1868,7 +1868,7 @@ export const HOVER_REGISTRY = Object.freeze({
1868
1868
  "fqn": "draw.headAndShoulders",
1869
1869
  "kind": "function",
1870
1870
  "title": "draw.headAndShoulders(anchors, opts?)",
1871
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.headAndShoulders.",
1871
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.headAndShoulders.",
1872
1872
  "paramTable": [
1873
1873
  {
1874
1874
  "name": "anchors",
@@ -1888,7 +1888,7 @@ export const HOVER_REGISTRY = Object.freeze({
1888
1888
  "fqn": "draw.highlighter",
1889
1889
  "kind": "function",
1890
1890
  "title": "draw.highlighter(anchors, opts)",
1891
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.highlighter.",
1891
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.highlighter.",
1892
1892
  "paramTable": [
1893
1893
  {
1894
1894
  "name": "anchors",
@@ -1908,7 +1908,7 @@ export const HOVER_REGISTRY = Object.freeze({
1908
1908
  "fqn": "draw.horizontalLine",
1909
1909
  "kind": "function",
1910
1910
  "title": "draw.horizontalLine(price, opts?)",
1911
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.horizontalLine.",
1911
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.horizontalLine.",
1912
1912
  "paramTable": [
1913
1913
  {
1914
1914
  "name": "price",
@@ -1928,7 +1928,7 @@ export const HOVER_REGISTRY = Object.freeze({
1928
1928
  "fqn": "draw.horizontalRay",
1929
1929
  "kind": "function",
1930
1930
  "title": "draw.horizontalRay(anchor, opts?)",
1931
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.horizontalRay.",
1931
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.horizontalRay.",
1932
1932
  "paramTable": [
1933
1933
  {
1934
1934
  "name": "anchor",
@@ -1948,7 +1948,7 @@ export const HOVER_REGISTRY = Object.freeze({
1948
1948
  "fqn": "draw.line",
1949
1949
  "kind": "function",
1950
1950
  "title": "draw.line(a, b, opts?)",
1951
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.line.",
1951
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.line.",
1952
1952
  "paramTable": [
1953
1953
  {
1954
1954
  "name": "a",
@@ -1973,7 +1973,7 @@ export const HOVER_REGISTRY = Object.freeze({
1973
1973
  "fqn": "draw.marker",
1974
1974
  "kind": "function",
1975
1975
  "title": "draw.marker(anchor, opts?)",
1976
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.marker.",
1976
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.marker.",
1977
1977
  "paramTable": [
1978
1978
  {
1979
1979
  "name": "anchor",
@@ -1993,7 +1993,7 @@ export const HOVER_REGISTRY = Object.freeze({
1993
1993
  "fqn": "draw.path",
1994
1994
  "kind": "function",
1995
1995
  "title": "draw.path(anchors, opts?)",
1996
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.path.",
1996
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.path.",
1997
1997
  "paramTable": [
1998
1998
  {
1999
1999
  "name": "anchors",
@@ -2013,7 +2013,7 @@ export const HOVER_REGISTRY = Object.freeze({
2013
2013
  "fqn": "draw.pen",
2014
2014
  "kind": "function",
2015
2015
  "title": "draw.pen(anchors, opts?)",
2016
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pen.",
2016
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pen.",
2017
2017
  "paramTable": [
2018
2018
  {
2019
2019
  "name": "anchors",
@@ -2033,7 +2033,7 @@ export const HOVER_REGISTRY = Object.freeze({
2033
2033
  "fqn": "draw.pitchfan",
2034
2034
  "kind": "function",
2035
2035
  "title": "draw.pitchfan(anchors, opts?)",
2036
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pitchfan.",
2036
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pitchfan.",
2037
2037
  "paramTable": [
2038
2038
  {
2039
2039
  "name": "anchors",
@@ -2053,7 +2053,7 @@ export const HOVER_REGISTRY = Object.freeze({
2053
2053
  "fqn": "draw.pitchfork",
2054
2054
  "kind": "function",
2055
2055
  "title": "draw.pitchfork(anchors, opts?)",
2056
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pitchfork.",
2056
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.pitchfork.",
2057
2057
  "paramTable": [
2058
2058
  {
2059
2059
  "name": "anchors",
@@ -2073,7 +2073,7 @@ export const HOVER_REGISTRY = Object.freeze({
2073
2073
  "fqn": "draw.polyline",
2074
2074
  "kind": "function",
2075
2075
  "title": "draw.polyline(anchors, opts?)",
2076
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.polyline.",
2076
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.polyline.",
2077
2077
  "paramTable": [
2078
2078
  {
2079
2079
  "name": "anchors",
@@ -2093,7 +2093,7 @@ export const HOVER_REGISTRY = Object.freeze({
2093
2093
  "fqn": "draw.rectangle",
2094
2094
  "kind": "function",
2095
2095
  "title": "draw.rectangle(a, b, opts?)",
2096
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.rectangle.",
2096
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.rectangle.",
2097
2097
  "paramTable": [
2098
2098
  {
2099
2099
  "name": "a",
@@ -2118,7 +2118,7 @@ export const HOVER_REGISTRY = Object.freeze({
2118
2118
  "fqn": "draw.regressionTrend",
2119
2119
  "kind": "function",
2120
2120
  "title": "draw.regressionTrend(a, b, opts?)",
2121
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.regressionTrend.",
2121
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.regressionTrend.",
2122
2122
  "paramTable": [
2123
2123
  {
2124
2124
  "name": "a",
@@ -2143,7 +2143,7 @@ export const HOVER_REGISTRY = Object.freeze({
2143
2143
  "fqn": "draw.rotatedRectangle",
2144
2144
  "kind": "function",
2145
2145
  "title": "draw.rotatedRectangle(anchors, opts?)",
2146
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.rotatedRectangle.",
2146
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.rotatedRectangle.",
2147
2147
  "paramTable": [
2148
2148
  {
2149
2149
  "name": "anchors",
@@ -2163,7 +2163,7 @@ export const HOVER_REGISTRY = Object.freeze({
2163
2163
  "fqn": "draw.sineLine",
2164
2164
  "kind": "function",
2165
2165
  "title": "draw.sineLine(a, b, opts?)",
2166
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.sineLine.",
2166
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.sineLine.",
2167
2167
  "paramTable": [
2168
2168
  {
2169
2169
  "name": "a",
@@ -2188,7 +2188,7 @@ export const HOVER_REGISTRY = Object.freeze({
2188
2188
  "fqn": "draw.table",
2189
2189
  "kind": "function",
2190
2190
  "title": "draw.table(opts)",
2191
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.table.",
2191
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.table.",
2192
2192
  "paramTable": [
2193
2193
  {
2194
2194
  "name": "opts",
@@ -2203,7 +2203,7 @@ export const HOVER_REGISTRY = Object.freeze({
2203
2203
  "fqn": "draw.text",
2204
2204
  "kind": "function",
2205
2205
  "title": "draw.text(anchor, body, opts?)",
2206
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.text.",
2206
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.text.",
2207
2207
  "paramTable": [
2208
2208
  {
2209
2209
  "name": "anchor",
@@ -2228,7 +2228,7 @@ export const HOVER_REGISTRY = Object.freeze({
2228
2228
  "fqn": "draw.threeDrivesPattern",
2229
2229
  "kind": "function",
2230
2230
  "title": "draw.threeDrivesPattern(anchors, opts?)",
2231
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.threeDrivesPattern.",
2231
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.threeDrivesPattern.",
2232
2232
  "paramTable": [
2233
2233
  {
2234
2234
  "name": "anchors",
@@ -2248,7 +2248,7 @@ export const HOVER_REGISTRY = Object.freeze({
2248
2248
  "fqn": "draw.timeCycles",
2249
2249
  "kind": "function",
2250
2250
  "title": "draw.timeCycles(a, b, opts?)",
2251
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.timeCycles.",
2251
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.timeCycles.",
2252
2252
  "paramTable": [
2253
2253
  {
2254
2254
  "name": "a",
@@ -2273,7 +2273,7 @@ export const HOVER_REGISTRY = Object.freeze({
2273
2273
  "fqn": "draw.trendAngle",
2274
2274
  "kind": "function",
2275
2275
  "title": "draw.trendAngle(a, b, opts?)",
2276
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trendAngle.",
2276
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trendAngle.",
2277
2277
  "paramTable": [
2278
2278
  {
2279
2279
  "name": "a",
@@ -2298,7 +2298,7 @@ export const HOVER_REGISTRY = Object.freeze({
2298
2298
  "fqn": "draw.trendChannel",
2299
2299
  "kind": "function",
2300
2300
  "title": "draw.trendChannel(anchors, opts?)",
2301
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trendChannel.",
2301
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trendChannel.",
2302
2302
  "paramTable": [
2303
2303
  {
2304
2304
  "name": "anchors",
@@ -2318,7 +2318,7 @@ export const HOVER_REGISTRY = Object.freeze({
2318
2318
  "fqn": "draw.triangle",
2319
2319
  "kind": "function",
2320
2320
  "title": "draw.triangle(anchors, opts?)",
2321
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.triangle.",
2321
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.triangle.",
2322
2322
  "paramTable": [
2323
2323
  {
2324
2324
  "name": "anchors",
@@ -2338,7 +2338,7 @@ export const HOVER_REGISTRY = Object.freeze({
2338
2338
  "fqn": "draw.trianglePattern",
2339
2339
  "kind": "function",
2340
2340
  "title": "draw.trianglePattern(anchors, opts?)",
2341
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trianglePattern.",
2341
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.trianglePattern.",
2342
2342
  "paramTable": [
2343
2343
  {
2344
2344
  "name": "anchors",
@@ -2358,7 +2358,7 @@ export const HOVER_REGISTRY = Object.freeze({
2358
2358
  "fqn": "draw.verticalLine",
2359
2359
  "kind": "function",
2360
2360
  "title": "draw.verticalLine(time, opts?)",
2361
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.verticalLine.",
2361
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.verticalLine.",
2362
2362
  "paramTable": [
2363
2363
  {
2364
2364
  "name": "time",
@@ -2378,7 +2378,7 @@ export const HOVER_REGISTRY = Object.freeze({
2378
2378
  "fqn": "draw.xabcdPattern",
2379
2379
  "kind": "function",
2380
2380
  "title": "draw.xabcdPattern(anchors, opts?)",
2381
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.xabcdPattern.",
2381
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull. Method: draw.xabcdPattern.",
2382
2382
  "paramTable": [
2383
2383
  {
2384
2384
  "name": "anchors",
@@ -2420,7 +2420,7 @@ export const HOVER_REGISTRY = Object.freeze({
2420
2420
  "fqn": "DrawingCounts",
2421
2421
  "kind": "type",
2422
2422
  "title": "DrawingCounts",
2423
- "summary": "Per-script drawing-emission budget. Excess `draw.*` calls drop with\n`drawing-budget-exceeded` once a bucket is full. Mirrors Pine's\n`max_*_count` family. The runtime enforces\n`min(scriptManifest.maxDrawings, adapter.capabilities.maxDrawingsPerScript)`\nper bucket per PLAN.md §10 / §4.1.",
2423
+ "summary": "Per-script drawing-emission budget. Excess `draw.*` calls drop with\n`drawing-budget-exceeded` once a bucket is full. Mirrors Pine's\n`max_*_count` family. The runtime enforces\n`min(scriptManifest.maxDrawings, adapter.capabilities.maxDrawingsPerScript)`\nper bucket.",
2424
2424
  "examples": [
2425
2425
  "const c: DrawingCounts = {\nlines: 50, labels: 50, boxes: 50, polylines: 50, other: 50,\n};\nvoid c;"
2426
2426
  ],
@@ -2453,7 +2453,7 @@ export const HOVER_REGISTRY = Object.freeze({
2453
2453
  "fqn": "DrawingMeta",
2454
2454
  "kind": "type",
2455
2455
  "title": "DrawingMeta",
2456
- "summary": "/**\nScript-mutable metadata fields every {@link DrawingState} variant\ncarries. `name` surfaces in the editor layer; `visible: false` hides\nthe drawing without removing it. See PLAN.md §10.0 for the contract.",
2456
+ "summary": "/**\nScript-mutable metadata fields every {@link DrawingState} variant\ncarries. `name` surfaces in the editor layer; `visible: false` hides\nthe drawing without removing it.",
2457
2457
  "examples": [
2458
2458
  "const m: DrawingMeta = { name: \"Support\", visible: true };\nvoid m;"
2459
2459
  ],
@@ -2464,7 +2464,7 @@ export const HOVER_REGISTRY = Object.freeze({
2464
2464
  "fqn": "DrawingState",
2465
2465
  "kind": "type",
2466
2466
  "title": "DrawingState",
2467
- "summary": "/**\nPer-kind state union — every {@link DrawingKind} maps to exactly one\nvariant. Collab-only fields (Yjs `id`, `layerId`, `createdAt`,\n`authorId`, `parentGroupId`, `parentFrameId`, `visibleIntervals`)\nfrom the invinite source are stripped per PLAN.md §10.4.",
2467
+ "summary": "/**\nPer-kind state union — every {@link DrawingKind} maps to exactly one\nvariant. Collab-only fields (Yjs `id`, `layerId`, `createdAt`,\n`authorId`, `parentGroupId`, `parentFrameId`, `visibleIntervals`)\nfrom the invinite source are stripped.",
2468
2468
  "examples": [
2469
2469
  "const s: DrawingState = {\nkind: \"horizontal-line\",\nprice: 100,\nstyle: { color: \"#3b82f6\" },\n};\nvoid s;"
2470
2470
  ],
@@ -2475,7 +2475,7 @@ export const HOVER_REGISTRY = Object.freeze({
2475
2475
  "fqn": "DrawNamespace",
2476
2476
  "kind": "type",
2477
2477
  "title": "DrawNamespace",
2478
- "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind` (PLAN.md §7.4); excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull.",
2478
+ "summary": "/**\nThe script-facing `draw.*` namespace. Each method is stateful across\ncalls — the compiler injects a callsite slot id so the runtime can\ntrack the per-handle `DrawingState` across bars — and returns a\n{@link DrawingHandle} . Adapters that omit a kind degrade silently\nwith `unsupported-drawing-kind`; excess emissions\ndrop with `drawing-budget-exceeded` once the per-script bucket is\nfull.",
2479
2479
  "examples": [
2480
2480
  "import type { DrawNamespace } from \"@invinite-org/chartlang-core\";\nconst _ns: DrawNamespace | null = null;\nvoid _ns;"
2481
2481
  ],
@@ -2574,7 +2574,7 @@ export const HOVER_REGISTRY = Object.freeze({
2574
2574
  "fqn": "EnvelopeOpts",
2575
2575
  "kind": "type",
2576
2576
  "title": "EnvelopeOpts",
2577
- "summary": "Options bag for `ta.envelope` (price-percent envelope). `length`\nis the MA period (default `20`); `percent` is the band offset as a\npercentage of the middle MA (default `10`); `maType` picks the MA\nkind (default `\"sma\"`). `offset` is the universal bar-shift\n(PLAN.md §9.1 — accepted on the surface).",
2577
+ "summary": "Options bag for `ta.envelope` (price-percent envelope). `length`\nis the MA period (default `20`); `percent` is the band offset as a\npercentage of the middle MA (default `10`); `maType` picks the MA\nkind (default `\"sma\"`). `offset` is the universal bar-shift\n(accepted on the surface).",
2578
2578
  "examples": [
2579
2579
  "const opts: EnvelopeOpts = { length: 20, percent: 10, maType: \"sma\" };"
2580
2580
  ],
@@ -2762,7 +2762,7 @@ export const HOVER_REGISTRY = Object.freeze({
2762
2762
  "fqn": "FisherOpts",
2763
2763
  "kind": "type",
2764
2764
  "title": "FisherOpts",
2765
- "summary": "Options bag for `ta.fisher`. `length` is positional on the call\n(`ta.fisher(length, opts?)`); the bag carries only the universal\n`offset` (PLAN.md §9.1 — accepted on the surface).",
2765
+ "summary": "Options bag for `ta.fisher`. `length` is positional on the call\n(`ta.fisher(length, opts?)`); the bag carries only the universal\n`offset` (accepted on the surface).",
2766
2766
  "examples": [
2767
2767
  "const opts: FisherOpts = { offset: 0 };"
2768
2768
  ],
@@ -2973,7 +2973,7 @@ export const HOVER_REGISTRY = Object.freeze({
2973
2973
  "fqn": "HighestOpts",
2974
2974
  "kind": "type",
2975
2975
  "title": "HighestOpts",
2976
- "summary": "Options bag for `ta.highest`. `offset` shifts the read window backwards\nby `n` bars (Phase-2 backfill — see PLAN.md §9.1).",
2976
+ "summary": "Options bag for `ta.highest`. `offset` shifts the read window backwards\nby `n` bars (Phase-2 backfill).",
2977
2977
  "examples": [
2978
2978
  "const opts: HighestOpts = { offset: 0 };"
2979
2979
  ],
@@ -3117,7 +3117,7 @@ export const HOVER_REGISTRY = Object.freeze({
3117
3117
  "fqn": "HvOpts",
3118
3118
  "kind": "type",
3119
3119
  "title": "HvOpts",
3120
- "summary": "Options bag for `ta.historicalVolatility`. `annualisationFactor`\ndefaults to `365` (TradingView's \"Crypto\" / 24-7 convention; use\n`252` for trading-day equity series). `offset` shifts the read\nwindow backwards (PLAN.md §9.1).",
3120
+ "summary": "Options bag for `ta.historicalVolatility`. `annualisationFactor`\ndefaults to `365` (TradingView's \"Crypto\" / 24-7 convention; use\n`252` for trading-day equity series). `offset` shifts the read\nwindow backwards.",
3121
3121
  "examples": [
3122
3122
  "const opts: HvOpts = { annualisationFactor: 252 };"
3123
3123
  ],
@@ -3128,7 +3128,7 @@ export const HOVER_REGISTRY = Object.freeze({
3128
3128
  "fqn": "IchimokuOpts",
3129
3129
  "kind": "type",
3130
3130
  "title": "IchimokuOpts",
3131
- "summary": "Options bag for `ta.ichimoku`. Defaults follow Pine / TradingView\ncanonical Ichimoku — `conversionLength = 9, baseLength = 26,\nleadingSpanBLength = 52, displacement = 26`. `offset` shifts all\nfive outputs in lockstep (PLAN.md §9.1). `outputs` carries\nper-output styling hints downstream `plot()` callsites can lift\ndefaults from; the runtime itself ignores it in Phase 2.",
3131
+ "summary": "Options bag for `ta.ichimoku`. Defaults follow Pine / TradingView\ncanonical Ichimoku — `conversionLength = 9, baseLength = 26,\nleadingSpanBLength = 52, displacement = 26`. `offset` shifts all\nfive outputs in lockstep. `outputs` carries\nper-output styling hints downstream `plot()` callsites can lift\ndefaults from; the runtime itself ignores it in Phase 2.",
3132
3132
  "examples": [
3133
3133
  "const opts: IchimokuOpts = {\nconversionLength: 9,\nbaseLength: 26,\nleadingSpanBLength: 52,\ndisplacement: 26,\n};"
3134
3134
  ],
@@ -3582,7 +3582,7 @@ export const HOVER_REGISTRY = Object.freeze({
3582
3582
  "fqn": "KeltnerOpts",
3583
3583
  "kind": "type",
3584
3584
  "title": "KeltnerOpts",
3585
- "summary": "Options bag for `ta.keltner` (Keltner Channels). `length` is the\nMA / ATR period (default `20`); `multiplier` scales the ATR-derived\nband offset from the middle MA (default `2`); `maType` picks the\nmiddle MA kind (default `\"ema\"` per the Linda Raschke / TradingView\ncanonical form — Chester Keltner's original used SMA over a hand-\nrolled \"typical range\", but every modern reference defaults to EMA\nover close + Wilder ATR). `offset` is the universal bar-shift\n(PLAN.md §9.1 — accepted on the surface). `outputs` carries\nper-output styling hints downstream `plot()` callsites can lift\ndefaults from; the runtime itself ignores it in Phase 2.",
3585
+ "summary": "Options bag for `ta.keltner` (Keltner Channels). `length` is the\nMA / ATR period (default `20`); `multiplier` scales the ATR-derived\nband offset from the middle MA (default `2`); `maType` picks the\nmiddle MA kind (default `\"ema\"` per the Linda Raschke / TradingView\ncanonical form — Chester Keltner's original used SMA over a hand-\nrolled \"typical range\", but every modern reference defaults to EMA\nover close + Wilder ATR). `offset` is the universal bar-shift\n(accepted on the surface). `outputs` carries\nper-output styling hints downstream `plot()` callsites can lift\ndefaults from; the runtime itself ignores it in Phase 2.",
3586
3586
  "examples": [
3587
3587
  "const opts: KeltnerOpts = { length: 20, multiplier: 2, maType: \"ema\" };"
3588
3588
  ],
@@ -3637,7 +3637,7 @@ export const HOVER_REGISTRY = Object.freeze({
3637
3637
  "fqn": "KlingerOpts",
3638
3638
  "kind": "type",
3639
3639
  "title": "KlingerOpts",
3640
- "summary": "Options bag for `ta.klinger` (Klinger Volume Oscillator). Defaults\n`(fastLength=34, slowLength=55, signalLength=13)` match invinite.\n`offset` shifts the read window backwards (PLAN.md §9.1 — accepted\non the surface).",
3640
+ "summary": "Options bag for `ta.klinger` (Klinger Volume Oscillator). Defaults\n`(fastLength=34, slowLength=55, signalLength=13)` match invinite.\n`offset` shifts the read window backwards (accepted\non the surface).",
3641
3641
  "examples": [
3642
3642
  "const opts: KlingerOpts = { fastLength: 34, slowLength: 55, signalLength: 13 };"
3643
3643
  ],
@@ -3659,7 +3659,7 @@ export const HOVER_REGISTRY = Object.freeze({
3659
3659
  "fqn": "KstOpts",
3660
3660
  "kind": "type",
3661
3661
  "title": "KstOpts",
3662
- "summary": "Options bag for `ta.kst` (Know Sure Thing). Defaults match Pring's\ncanonical settings `(10, 15, 20, 30, 10, 10, 10, 15, 9)`. Source is\npositional (`ta.kst(source, opts?)`). `offset` shifts the read window\nbackwards (PLAN.md §9.1 — accepted on the surface).",
3662
+ "summary": "Options bag for `ta.kst` (Know Sure Thing). Defaults match Pring's\ncanonical settings `(10, 15, 20, 30, 10, 10, 10, 15, 9)`. Source is\npositional (`ta.kst(source, opts?)`). `offset` shifts the read window\nbackwards (accepted on the surface).",
3663
3663
  "examples": [
3664
3664
  "const opts: KstOpts = { roc1Length: 10, roc2Length: 15, roc3Length: 20, roc4Length: 30 };"
3665
3665
  ],
@@ -3681,7 +3681,7 @@ export const HOVER_REGISTRY = Object.freeze({
3681
3681
  "fqn": "LineDrawStyle",
3682
3682
  "kind": "type",
3683
3683
  "title": "LineDrawStyle",
3684
- "summary": "Line / ray / horizontal-line / vertical-line / channel-edge stroke\nstyle. `extendLeft` / `extendRight` collapse the invinite `ray` and\n`extended-line` tools into a single `line` kind (PLAN.md §3.1).",
3684
+ "summary": "Line / ray / horizontal-line / vertical-line / channel-edge stroke\nstyle. `extendLeft` / `extendRight` collapse the invinite `ray` and\n`extended-line` tools into a single `line` kind.",
3685
3685
  "examples": [
3686
3686
  "const s: LineDrawStyle = { color: \"#3b82f6\", lineWidth: 2, lineStyle: \"solid\" };\nvoid s;"
3687
3687
  ],
@@ -3692,7 +3692,7 @@ export const HOVER_REGISTRY = Object.freeze({
3692
3692
  "fqn": "LineState",
3693
3693
  "kind": "type",
3694
3694
  "title": "LineState",
3695
- "summary": "`line` — two-anchor straight line. Carries `extendLeft` /\n`extendRight` flags so the invinite `ray` / `extended-line` tools\ncollapse into this single kind per PLAN.md §3.1.",
3695
+ "summary": "`line` — two-anchor straight line. Carries `extendLeft` /\n`extendRight` flags so the invinite `ray` / `extended-line` tools\ncollapse into this single kind.",
3696
3696
  "examples": [
3697
3697
  "const s: LineState = {\nkind: \"line\",\nanchors: [{ time: 1, price: 1 }, { time: 2, price: 2 }],\nstyle: {},\n};\nvoid s;"
3698
3698
  ],
@@ -3792,7 +3792,7 @@ export const HOVER_REGISTRY = Object.freeze({
3792
3792
  "fqn": "MaRibbonOpts",
3793
3793
  "kind": "type",
3794
3794
  "title": "MaRibbonOpts",
3795
- "summary": "Options bag for `ta.maRibbon` (a fan of K MAs at different lengths).\nDefaults: `lengths = [10, 20, 30, 40, 50]`, `maType = \"sma\"`.\n`offset` is the universal bar-shift (per PLAN.md §9.1) applied to\nevery output series. `outputs` is forward-compat per-key plot styling\n(typed but not consumed by the runtime impl).",
3795
+ "summary": "Options bag for `ta.maRibbon` (a fan of K MAs at different lengths).\nDefaults: `lengths = [10, 20, 30, 40, 50]`, `maType = \"sma\"`.\n`offset` is the universal bar-shift applied to\nevery output series. `outputs` is forward-compat per-key plot styling\n(typed but not consumed by the runtime impl).",
3796
3796
  "examples": [
3797
3797
  "const opts: MaRibbonOpts = { lengths: [10, 20, 30], maType: \"ema\" };"
3798
3798
  ],
@@ -3825,7 +3825,7 @@ export const HOVER_REGISTRY = Object.freeze({
3825
3825
  "fqn": "MassIndexOpts",
3826
3826
  "kind": "type",
3827
3827
  "title": "MassIndexOpts",
3828
- "summary": "Options bag for `ta.massIndex`. `emaLength` defaults to `9` (the\ninner EMA-of-range and outer EMA-of-EMA window); `sumLength`\ndefaults to `25` (the rolling-sum-of-ratio window). `offset`\nshifts the read window backwards (PLAN.md §9.1).",
3828
+ "summary": "Options bag for `ta.massIndex`. `emaLength` defaults to `9` (the\ninner EMA-of-range and outer EMA-of-EMA window); `sumLength`\ndefaults to `25` (the rolling-sum-of-ratio window). `offset`\nshifts the read window backwards.",
3829
3829
  "examples": [
3830
3830
  "const opts: MassIndexOpts = { emaLength: 9, sumLength: 25 };"
3831
3831
  ],
@@ -3960,7 +3960,7 @@ export const HOVER_REGISTRY = Object.freeze({
3960
3960
  "fqn": "ObvOpts",
3961
3961
  "kind": "type",
3962
3962
  "title": "ObvOpts",
3963
- "summary": "Options bag for `ta.obv` (On-Balance Volume). `offset` shifts the\nread window backwards (PLAN.md §9.1 universal offset). `lineStyle`\nis a forward-compat plot-styling hint surfaced for §9.1 ergonomics —\nnot consumed by the primitive itself.",
3963
+ "summary": "Options bag for `ta.obv` (On-Balance Volume). `offset` shifts the\nread window backwards (universal offset). `lineStyle`\nis a forward-compat plot-styling hint surfaced for §9.1 ergonomics —\nnot consumed by the primitive itself.",
3964
3964
  "examples": [
3965
3965
  "const opts: ObvOpts = { offset: 0 };"
3966
3966
  ],
@@ -4044,7 +4044,7 @@ export const HOVER_REGISTRY = Object.freeze({
4044
4044
  "fqn": "PitchforkState",
4045
4045
  "kind": "type",
4046
4046
  "title": "PitchforkState",
4047
- "summary": "`pitchfork` — Andrews pitchfork. The `variant` discriminator collapses\nthe four invinite tools (`standard` / `schiff` / `modifiedSchiff` /\n`inside`) into one kind per PLAN.md §3.1.",
4047
+ "summary": "`pitchfork` — Andrews pitchfork. The `variant` discriminator collapses\nthe four invinite tools (`standard` / `schiff` / `modifiedSchiff` /\n`inside`) into one kind.",
4048
4048
  "examples": [
4049
4049
  "const s: PitchforkState = {\nkind: \"pitchfork\",\nvariant: \"modifiedSchiff\",\nanchors: [\n{ time: 0, price: 0 },\n{ time: 1, price: 1 },\n{ time: 2, price: 0.5 },\n],\nstyle: {},\n};\nvoid s;"
4050
4050
  ],
@@ -4055,7 +4055,7 @@ export const HOVER_REGISTRY = Object.freeze({
4055
4055
  "fqn": "PivotsHighLowOpts",
4056
4056
  "kind": "type",
4057
4057
  "title": "PivotsHighLowOpts",
4058
- "summary": "Options bag for `ta.pivotsHighLow`. `leftLength` / `rightLength`\ndefault to `4` (a 9-bar centred window); they may differ to surface\nasymmetric `ta.pivothigh` / `ta.pivotlow` behaviour. `offset` shifts\nthe read window backwards (PLAN.md §9.1 — accepted on the surface).",
4058
+ "summary": "Options bag for `ta.pivotsHighLow`. `leftLength` / `rightLength`\ndefault to `4` (a 9-bar centred window); they may differ to surface\nasymmetric `ta.pivothigh` / `ta.pivotlow` behaviour. `offset` shifts\nthe read window backwards (accepted on the surface).",
4059
4059
  "examples": [
4060
4060
  "const opts: PivotsHighLowOpts = { leftLength: 4, rightLength: 4 };"
4061
4061
  ],
@@ -4077,7 +4077,7 @@ export const HOVER_REGISTRY = Object.freeze({
4077
4077
  "fqn": "PivotsStandardOpts",
4078
4078
  "kind": "type",
4079
4079
  "title": "PivotsStandardOpts",
4080
- "summary": "Options bag for `ta.pivotsStandard`. `system` picks the formula\nfamily (default `\"classic\"`). `offset` shifts the read window\nbackwards (PLAN.md §9.1 — accepted on the surface).",
4080
+ "summary": "Options bag for `ta.pivotsStandard`. `system` picks the formula\nfamily (default `\"classic\"`). `offset` shifts the read window\nbackwards (accepted on the surface).",
4081
4081
  "examples": [
4082
4082
  "const opts: PivotsStandardOpts = { system: \"fibonacci\" };"
4083
4083
  ],
@@ -4110,7 +4110,7 @@ export const HOVER_REGISTRY = Object.freeze({
4110
4110
  "fqn": "plot",
4111
4111
  "kind": "function",
4112
4112
  "title": "plot(_value, _opts?)",
4113
- "summary": "Compile-time callable hole for `plot(value, opts?)`. The compiler rewrites\nevery callsite (Task 2) to dispatch to the runtime's `plot` implementation;\ncalling this outside a compiled runtime throws the sentinel.",
4113
+ "summary": "Compile-time callable hole for `plot(value, opts?)`. The compiler rewrites\nevery callsite to dispatch to the runtime's `plot` implementation;\ncalling this outside a compiled runtime throws the sentinel.",
4114
4114
  "paramTable": [
4115
4115
  {
4116
4116
  "name": "_value",
@@ -4265,7 +4265,7 @@ export const HOVER_REGISTRY = Object.freeze({
4265
4265
  "fqn": "PpoOpts",
4266
4266
  "kind": "type",
4267
4267
  "title": "PpoOpts",
4268
- "summary": "Options bag for `ta.ppo`. `fastLength` / `slowLength` / `signalLength`\ndefault to the Appel-era `12` / `26` / `9` (mirrors `ta.macd`).\n`offset` shifts all three outputs (`ppo`, `signal`, `hist`) in\nlockstep per the universal `opts.offset` convention (PLAN.md §9.1).",
4268
+ "summary": "Options bag for `ta.ppo`. `fastLength` / `slowLength` / `signalLength`\ndefault to the Appel-era `12` / `26` / `9` (mirrors `ta.macd`).\n`offset` shifts all three outputs (`ppo`, `signal`, `hist`) in\nlockstep per the universal `opts.offset` convention.",
4269
4269
  "examples": [
4270
4270
  "const opts: PpoOpts = { fastLength: 12, slowLength: 26, signalLength: 9 };"
4271
4271
  ],
@@ -4309,7 +4309,7 @@ export const HOVER_REGISTRY = Object.freeze({
4309
4309
  "fqn": "PsarOpts",
4310
4310
  "kind": "type",
4311
4311
  "title": "PsarOpts",
4312
- "summary": "Options bag for `ta.psar` (Parabolic SAR). `accelerationStart` /\n`accelerationStep` / `accelerationMax` default to the canonical\nWilder values `0.02` / `0.02` / `0.2`. `offset` shifts the read\nwindow backwards (PLAN.md §9.1 — accepted on the surface).",
4312
+ "summary": "Options bag for `ta.psar` (Parabolic SAR). `accelerationStart` /\n`accelerationStep` / `accelerationMax` default to the canonical\nWilder values `0.02` / `0.02` / `0.2`. `offset` shifts the read\nwindow backwards (accepted on the surface).",
4313
4313
  "examples": [
4314
4314
  "const opts: PsarOpts = { accelerationStart: 0.02, accelerationStep: 0.02, accelerationMax: 0.2 };"
4315
4315
  ],
@@ -4342,7 +4342,7 @@ export const HOVER_REGISTRY = Object.freeze({
4342
4342
  "fqn": "PvoOpts",
4343
4343
  "kind": "type",
4344
4344
  "title": "PvoOpts",
4345
- "summary": "Options bag for `ta.pvo` (Percentage Volume Oscillator). MACD-shape\napplied to `bar.volume`. Defaults match Appel-era `12 / 26 / 9`\n(mirrors `ta.ppo` / `ta.macd`). `offset` shifts all three outputs\n(`pvo`, `signal`, `hist`) in lockstep per the universal `opts.offset`\nconvention (PLAN.md §9.1).",
4345
+ "summary": "Options bag for `ta.pvo` (Percentage Volume Oscillator). MACD-shape\napplied to `bar.volume`. Defaults match Appel-era `12 / 26 / 9`\n(mirrors `ta.ppo` / `ta.macd`). `offset` shifts all three outputs\n(`pvo`, `signal`, `hist`) in lockstep per the universal `opts.offset`\nconvention.",
4346
4346
  "examples": [
4347
4347
  "const opts: PvoOpts = { fastLength: 12, slowLength: 26, signalLength: 9 };"
4348
4348
  ],
@@ -4364,7 +4364,7 @@ export const HOVER_REGISTRY = Object.freeze({
4364
4364
  "fqn": "PvtOpts",
4365
4365
  "kind": "type",
4366
4366
  "title": "PvtOpts",
4367
- "summary": "Options bag for `ta.pvt` (Price Volume Trend). Cumulative\n`volume · (close − prevClose) / prevClose`. `offset` shifts the\nread window backwards (PLAN.md §9.1 universal offset). `lineStyle`\nis a forward-compat plot-styling hint surfaced for §9.1 ergonomics —\nnot consumed by the primitive itself.",
4367
+ "summary": "Options bag for `ta.pvt` (Price Volume Trend). Cumulative\n`volume · (close − prevClose) / prevClose`. `offset` shifts the\nread window backwards (universal offset). `lineStyle`\nis a forward-compat plot-styling hint surfaced for §9.1 ergonomics —\nnot consumed by the primitive itself.",
4368
4368
  "examples": [
4369
4369
  "const opts: PvtOpts = { offset: 0 };"
4370
4370
  ],
@@ -4577,7 +4577,7 @@ export const HOVER_REGISTRY = Object.freeze({
4577
4577
  "fqn": "RunnerSnapshot",
4578
4578
  "kind": "type",
4579
4579
  "title": "RunnerSnapshot",
4580
- "summary": "/**\nPer-runner persistence section. Carries one runner's `state.*`\n(and primary-only TA) slot map keyed by `${slotIdPrefix}${slotId}:state`\n(PLAN.md §5.5 + Task 5). `slots` is `JsonValue` so the snapshot\nround-trips through `JSON.stringify` and structured-clone.",
4580
+ "summary": "/**\nPer-runner persistence section. Carries one runner's `state.*`\n(and primary-only TA) slot map keyed by `${slotIdPrefix}${slotId}:state`\n(Task 5). `slots` is `JsonValue` so the snapshot\nround-trips through `JSON.stringify` and structured-clone.",
4581
4581
  "examples": [
4582
4582
  "const r: RunnerSnapshot = {\nslots: { \"x:state\": { committed: 1, tentative: 1 } },\n};\nvoid r;"
4583
4583
  ],
@@ -4610,7 +4610,7 @@ export const HOVER_REGISTRY = Object.freeze({
4610
4610
  "fqn": "RvgiOpts",
4611
4611
  "kind": "type",
4612
4612
  "title": "RvgiOpts",
4613
- "summary": "Options bag for `ta.rvgi` (Relative Vigor Index). `length` is the SMA\nsmoothing of the 4-bar weighted numerator / denominator (default\n`10`). `offset` shifts the read window backwards (PLAN.md §9.1 —\naccepted on the surface).",
4613
+ "summary": "Options bag for `ta.rvgi` (Relative Vigor Index). `length` is the SMA\nsmoothing of the 4-bar weighted numerator / denominator (default\n`10`). `offset` shifts the read window backwards (—\naccepted on the surface).",
4614
4614
  "examples": [
4615
4615
  "const opts: RvgiOpts = { length: 10 };"
4616
4616
  ],
@@ -4632,7 +4632,7 @@ export const HOVER_REGISTRY = Object.freeze({
4632
4632
  "fqn": "RviOpts",
4633
4633
  "kind": "type",
4634
4634
  "title": "RviOpts",
4635
- "summary": "Options bag for `ta.rvi`. `offset` shifts the read window\nbackwards (PLAN.md §9.1); `lineStyle` is a forward-compat\nplot-styling hint surfaced for §9.1 ergonomics.",
4635
+ "summary": "Options bag for `ta.rvi`. `offset` shifts the read window\nbackwards; `lineStyle` is a forward-compat\nplot-styling hint surfaced for §9.1 ergonomics.",
4636
4636
  "examples": [
4637
4637
  "const opts: RviOpts = { offset: 0 };"
4638
4638
  ],
@@ -4786,7 +4786,7 @@ export const HOVER_REGISTRY = Object.freeze({
4786
4786
  "fqn": "SmaOpts",
4787
4787
  "kind": "type",
4788
4788
  "title": "SmaOpts",
4789
- "summary": "Options bag for `ta.sma`. `offset` shifts the output forward by `n`\nbars per the universal `opts.offset` convention (PLAN.md §9.1):\npositive `n` makes `series.current` return the value `n` bars ago,\nnegative `n` reads into the future (NaN at the head).",
4789
+ "summary": "Options bag for `ta.sma`. `offset` shifts the output forward by `n`\nbars per the universal `opts.offset` convention:\npositive `n` makes `series.current` return the value `n` bars ago,\nnegative `n` reads into the future (NaN at the head).",
4790
4790
  "examples": [
4791
4791
  "const opts: SmaOpts = { offset: 0 };"
4792
4792
  ],
@@ -4946,7 +4946,7 @@ export const HOVER_REGISTRY = Object.freeze({
4946
4946
  "fqn": "STATEFUL_PRIMITIVES",
4947
4947
  "kind": "property",
4948
4948
  "title": "STATEFUL_PRIMITIVES",
4949
- "summary": "Frozen set of every fully-qualified call name the compiler tracks for\nstatic-analysis (`stateful-call-inside-loop`) and slot-id injection\n(PLAN.md §5.5). Each entry carries a `slot` flag: `slot: true`\nprimitives allocate per-callsite hidden state and get a string-literal\nslot id injected as their first argument; `slot: false` primitives are\npure helpers that ride along in the set because Pine still forbids\nthem inside loops (e.g. `ta.nz`).",
4949
+ "summary": "Frozen set of every fully-qualified call name the compiler tracks for\nstatic-analysis (`stateful-call-inside-loop`) and slot-id injection\n. Each entry carries a `slot` flag: `slot: true`\nprimitives allocate per-callsite hidden state and get a string-literal\nslot id injected as their first argument; `slot: false` primitives are\npure helpers that ride along in the set because Pine still forbids\nthem inside loops (e.g. `ta.nz`).",
4950
4950
  "examples": [
4951
4951
  "import { STATEFUL_PRIMITIVES } from \"@invinite-org/chartlang-core\";\nfor (const entry of STATEFUL_PRIMITIVES) {\nif (entry.name === \"ta.ema\" && entry.slot) {\n// compiler injects an id here\n}\n}"
4952
4952
  ],
@@ -5045,7 +5045,7 @@ export const HOVER_REGISTRY = Object.freeze({
5045
5045
  "fqn": "StochRsiOpts",
5046
5046
  "kind": "type",
5047
5047
  "title": "StochRsiOpts",
5048
- "summary": "Options bag for `ta.stochRsi`. `rsiLength` / `stochLength` /\n`kSmoothing` / `dSmoothing` default to the Pine-canonical\n`14` / `14` / `3` / `3` Stochastic-RSI settings. `offset`\nshifts the read window backwards (PLAN.md §9.1).",
5048
+ "summary": "Options bag for `ta.stochRsi`. `rsiLength` / `stochLength` /\n`kSmoothing` / `dSmoothing` default to the Pine-canonical\n`14` / `14` / `3` / `3` Stochastic-RSI settings. `offset`\nshifts the read window backwards.",
5049
5049
  "examples": [
5050
5050
  "const opts: StochRsiOpts = { rsiLength: 14, stochLength: 14, kSmoothing: 3, dSmoothing: 3 };"
5051
5051
  ],
@@ -5089,7 +5089,7 @@ export const HOVER_REGISTRY = Object.freeze({
5089
5089
  "fqn": "SupertrendOpts",
5090
5090
  "kind": "type",
5091
5091
  "title": "SupertrendOpts",
5092
- "summary": "Options bag for `ta.supertrend`. `length` is the ATR period\n(default `10`); `multiplier` scales the band offset from `hl2`\n(default `3`). `offset` shifts the read window backwards\n(PLAN.md §9.1 — accepted on the surface). The source is hard-coded\nto `hl2` (Pine-canonical Supertrend); a `source` opt could land in\na follow-up.",
5092
+ "summary": "Options bag for `ta.supertrend`. `length` is the ATR period\n(default `10`); `multiplier` scales the band offset from `hl2`\n(default `3`). `offset` shifts the read window backwards\n(accepted on the surface). The source is hard-coded\nto `hl2` (Pine-canonical Supertrend); a `source` opt could land in\na follow-up.",
5093
5093
  "examples": [
5094
5094
  "const opts: SupertrendOpts = { length: 10, multiplier: 3 };"
5095
5095
  ],
@@ -7081,7 +7081,7 @@ export const HOVER_REGISTRY = Object.freeze({
7081
7081
  "fqn": "TablePosition",
7082
7082
  "kind": "type",
7083
7083
  "title": "TablePosition",
7084
- "summary": "CSS-pixel viewport anchor used by `draw.table`. Tables are status\npanels, not world-space drawings, so the position resolves against\nthe adapter viewport per PLAN.md §10.2.",
7084
+ "summary": "CSS-pixel viewport anchor used by `draw.table`. Tables are status\npanels, not world-space drawings, so the position resolves against\nthe adapter viewport.",
7085
7085
  "examples": [
7086
7086
  "const position: TablePosition = \"top-right\";\nvoid position;"
7087
7087
  ],
@@ -7092,7 +7092,7 @@ export const HOVER_REGISTRY = Object.freeze({
7092
7092
  "fqn": "TableState",
7093
7093
  "kind": "type",
7094
7094
  "title": "TableState",
7095
- "summary": "`table` — CSS-pixel viewport-anchored dashboard/status panel. It\ndeliberately carries no world-space anchors; adapters resolve\n`position` against the current viewport per PLAN.md §10.2.",
7095
+ "summary": "`table` — CSS-pixel viewport-anchored dashboard/status panel. It\ndeliberately carries no world-space anchors; adapters resolve\n`position` against the current viewport.",
7096
7096
  "examples": [
7097
7097
  "const s: TableState = {\nkind: \"table\",\nposition: \"top-right\",\ncells: [[{ text: \"P&L\" }, { text: \"+12.5%\", textColor: \"#16a34a\" }]],\n};\nvoid s;"
7098
7098
  ],
@@ -7268,7 +7268,7 @@ export const HOVER_REGISTRY = Object.freeze({
7268
7268
  "fqn": "TrixOpts",
7269
7269
  "kind": "type",
7270
7270
  "title": "TrixOpts",
7271
- "summary": "Options bag for `ta.trix` (Triple-smoothed EMA Rate-of-Change).\n`signalLength` is the EMA-smoothing length of the TRIX signal\nline (default `9`). `offset` shifts both output series in\nlockstep (PLAN.md §9.1).",
7271
+ "summary": "Options bag for `ta.trix` (Triple-smoothed EMA Rate-of-Change).\n`signalLength` is the EMA-smoothing length of the TRIX signal\nline (default `9`). `offset` shifts both output series in\nlockstep.",
7272
7272
  "examples": [
7273
7273
  "const opts: TrixOpts = { signalLength: 9 };"
7274
7274
  ],
@@ -7389,7 +7389,7 @@ export const HOVER_REGISTRY = Object.freeze({
7389
7389
  "fqn": "VolatilityStopOpts",
7390
7390
  "kind": "type",
7391
7391
  "title": "VolatilityStopOpts",
7392
- "summary": "Options bag for `ta.volatilityStop`. `length` is the ATR period\n(default `20`); `multiplier` scales the ATR offset (default `2`).\n`offset` shifts the read window backwards (PLAN.md §9.1 — accepted\non the surface). Source is hard-coded to `bar.close` (Pine\n`ta.vstop` convention); an explicit `source` opt could land in a\nfollow-up.",
7392
+ "summary": "Options bag for `ta.volatilityStop`. `length` is the ATR period\n(default `20`); `multiplier` scales the ATR offset (default `2`).\n`offset` shifts the read window backwards (accepted\non the surface). Source is hard-coded to `bar.close` (Pine\n`ta.vstop` convention); an explicit `source` opt could land in a\nfollow-up.",
7393
7393
  "examples": [
7394
7394
  "const opts: VolatilityStopOpts = { length: 20, multiplier: 2 };"
7395
7395
  ],
@@ -7411,7 +7411,7 @@ export const HOVER_REGISTRY = Object.freeze({
7411
7411
  "fqn": "VolOpts",
7412
7412
  "kind": "type",
7413
7413
  "title": "VolOpts",
7414
- "summary": "Options bag for `ta.vol`. `offset` shifts the read window backwards\n(PLAN.md §9.1 universal offset). `ta.vol` is a pass-through of\n`bar.volume`; the opts bag exists so authors can attach the\nuniversal `offset` without an extra wrapper.",
7414
+ "summary": "Options bag for `ta.vol`. `offset` shifts the read window backwards\n(universal offset). `ta.vol` is a pass-through of\n`bar.volume`; the opts bag exists so authors can attach the\nuniversal `offset` without an extra wrapper.",
7415
7415
  "examples": [
7416
7416
  "const opts: VolOpts = { offset: 0 };"
7417
7417
  ],
@@ -7433,7 +7433,7 @@ export const HOVER_REGISTRY = Object.freeze({
7433
7433
  "fqn": "VortexOpts",
7434
7434
  "kind": "type",
7435
7435
  "title": "VortexOpts",
7436
- "summary": "Options bag for `ta.vortex` (Botes & Siepman Vortex Indicator).\n`length` is positional on the call (`ta.vortex(length, opts?)`), so\nthe opts bag carries only the universal `offset` (PLAN.md §9.1) +\nper-output styling hints. The runtime emits `NaN` on zero-TR\nwindows (chartlang surfaces the degenerate window — invinite emits\n0 in the same case).",
7436
+ "summary": "Options bag for `ta.vortex` (Botes & Siepman Vortex Indicator).\n`length` is positional on the call (`ta.vortex(length, opts?)`), so\nthe opts bag carries only the universal `offset` +\nper-output styling hints. The runtime emits `NaN` on zero-TR\nwindows (chartlang surfaces the degenerate window — invinite emits\n0 in the same case).",
7437
7437
  "examples": [
7438
7438
  "const opts: VortexOpts = { offset: 0 };"
7439
7439
  ],
@@ -7455,7 +7455,7 @@ export const HOVER_REGISTRY = Object.freeze({
7455
7455
  "fqn": "VwapOpts",
7456
7456
  "kind": "type",
7457
7457
  "title": "VwapOpts",
7458
- "summary": "Options bag for `ta.vwap`. `source` selects the per-bar price\n(default `\"hlc3\"` per Pine). `offset` shifts the read window\nbackwards (PLAN.md §9.1).",
7458
+ "summary": "Options bag for `ta.vwap`. `source` selects the per-bar price\n(default `\"hlc3\"` per Pine). `offset` shifts the read window\nbackwards.",
7459
7459
  "examples": [
7460
7460
  "const opts: VwapOpts = { source: \"hlc3\" };"
7461
7461
  ],
@@ -7534,7 +7534,7 @@ export const HOVER_REGISTRY = Object.freeze({
7534
7534
  "fqn": "WilliamsFractalOpts",
7535
7535
  "kind": "type",
7536
7536
  "title": "WilliamsFractalOpts",
7537
- "summary": "Options bag for `ta.williamsFractal`. `length` is the symmetric\nleft / right window size (default `2` — total 5-bar window: 2\nleft + centre + 2 right). `offset` shifts the read window\nbackwards (PLAN.md §9.1 — accepted on the surface).",
7537
+ "summary": "Options bag for `ta.williamsFractal`. `length` is the symmetric\nleft / right window size (default `2` — total 5-bar window: 2\nleft + centre + 2 right). `offset` shifts the read window\nbackwards (accepted on the surface).",
7538
7538
  "examples": [
7539
7539
  "const opts: WilliamsFractalOpts = { length: 2 };"
7540
7540
  ],
@@ -7623,7 +7623,7 @@ export const HOVER_REGISTRY = Object.freeze({
7623
7623
  "fqn": "ZigZagOpts",
7624
7624
  "kind": "type",
7625
7625
  "title": "ZigZagOpts",
7626
- "summary": "Options bag for `ta.zigZag`. `deviation` is the percentage move\n(default `5`) required to confirm a reversal pivot from the running\ncandidate; `depth` is the minimum number of bars (default `10`) that\nmust elapse before a pivot can be confirmed. `offset` shifts the\nread window backwards (PLAN.md §9.1 — accepted on the surface).",
7626
+ "summary": "Options bag for `ta.zigZag`. `deviation` is the percentage move\n(default `5`) required to confirm a reversal pivot from the running\ncandidate; `depth` is the minimum number of bars (default `10`) that\nmust elapse before a pivot can be confirmed. `offset` shifts the\nread window backwards (accepted on the surface).",
7627
7627
  "examples": [
7628
7628
  "const opts: ZigZagOpts = { deviation: 5, depth: 10 };"
7629
7629
  ],