@invinite-org/chartlang-core 1.1.0 → 1.2.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +232 -0
  2. package/README.md +2 -1
  3. package/dist/alert/alert.d.ts +1 -1
  4. package/dist/alert/alert.js +1 -1
  5. package/dist/alert/alert.js.map +1 -1
  6. package/dist/alert/index.js.map +1 -1
  7. package/dist/color/colorHelpers.js.map +1 -1
  8. package/dist/color/index.js.map +1 -1
  9. package/dist/color/parseColor.js.map +1 -1
  10. package/dist/define/defineAlert.js.map +1 -1
  11. package/dist/define/defineAlertCondition.js.map +1 -1
  12. package/dist/define/defineDrawing.d.ts +2 -2
  13. package/dist/define/defineDrawing.js +2 -2
  14. package/dist/define/defineDrawing.js.map +1 -1
  15. package/dist/define/defineIndicator.js.map +1 -1
  16. package/dist/define/depAccessorSentinel.js.map +1 -1
  17. package/dist/define/dependency.js.map +1 -1
  18. package/dist/define/index.js.map +1 -1
  19. package/dist/define/overrides.js.map +1 -1
  20. package/dist/draw/buckets.d.ts.map +1 -1
  21. package/dist/draw/buckets.js +1 -0
  22. package/dist/draw/buckets.js.map +1 -1
  23. package/dist/draw/draw.d.ts +10 -4
  24. package/dist/draw/draw.d.ts.map +1 -1
  25. package/dist/draw/draw.js +1 -2
  26. package/dist/draw/draw.js.map +1 -1
  27. package/dist/draw/drawingKind.d.ts +9 -9
  28. package/dist/draw/drawingKind.d.ts.map +1 -1
  29. package/dist/draw/drawingKind.js +5 -3
  30. package/dist/draw/drawingKind.js.map +1 -1
  31. package/dist/draw/drawingState.d.ts +32 -8
  32. package/dist/draw/drawingState.d.ts.map +1 -1
  33. package/dist/draw/drawingState.js.map +1 -1
  34. package/dist/draw/drawingStyle.d.ts +53 -10
  35. package/dist/draw/drawingStyle.d.ts.map +1 -1
  36. package/dist/draw/drawingStyle.js.map +1 -1
  37. package/dist/draw/handle.js.map +1 -1
  38. package/dist/draw/index.d.ts +2 -2
  39. package/dist/draw/index.d.ts.map +1 -1
  40. package/dist/draw/index.js.map +1 -1
  41. package/dist/draw/table.d.ts +1 -1
  42. package/dist/draw/table.js.map +1 -1
  43. package/dist/draw/worldPoint.js.map +1 -1
  44. package/dist/index.d.ts +4 -4
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/input/index.js.map +1 -1
  48. package/dist/input/input.js.map +1 -1
  49. package/dist/input/inputDescriptor.js.map +1 -1
  50. package/dist/interval/intervalToSeconds.js.map +1 -1
  51. package/dist/plot/index.js.map +1 -1
  52. package/dist/plot/plot.d.ts +16 -1
  53. package/dist/plot/plot.d.ts.map +1 -1
  54. package/dist/plot/plot.js +1 -1
  55. package/dist/plot/plot.js.map +1 -1
  56. package/dist/request/index.d.ts +1 -1
  57. package/dist/request/index.d.ts.map +1 -1
  58. package/dist/request/index.js.map +1 -1
  59. package/dist/request/request.d.ts +82 -20
  60. package/dist/request/request.d.ts.map +1 -1
  61. package/dist/request/request.js +27 -26
  62. package/dist/request/request.js.map +1 -1
  63. package/dist/runtime/index.js.map +1 -1
  64. package/dist/runtime/runtime.js.map +1 -1
  65. package/dist/state/index.js.map +1 -1
  66. package/dist/state/mutableSlot.js.map +1 -1
  67. package/dist/state/snapshot.d.ts +5 -5
  68. package/dist/state/snapshot.js.map +1 -1
  69. package/dist/state/state.d.ts +17 -0
  70. package/dist/state/state.d.ts.map +1 -1
  71. package/dist/state/state.js +18 -0
  72. package/dist/state/state.js.map +1 -1
  73. package/dist/statefulPrimitives.d.ts +10 -6
  74. package/dist/statefulPrimitives.d.ts.map +1 -1
  75. package/dist/statefulPrimitives.js +18 -6
  76. package/dist/statefulPrimitives.js.map +1 -1
  77. package/dist/ta/index.js.map +1 -1
  78. package/dist/ta/ta.d.ts +79 -48
  79. package/dist/ta/ta.d.ts.map +1 -1
  80. package/dist/ta/ta.js +6 -0
  81. package/dist/ta/ta.js.map +1 -1
  82. package/dist/time/_lib/dateTimeFormatCache.js.map +1 -1
  83. package/dist/time/index.js.map +1 -1
  84. package/dist/time/nyDayKey.js +2 -2
  85. package/dist/time/nyDayKey.js.map +1 -1
  86. package/dist/time/session.js.map +1 -1
  87. package/dist/time/sessionBoundaries.js +2 -2
  88. package/dist/time/sessionBoundaries.js.map +1 -1
  89. package/dist/time/types.js.map +1 -1
  90. package/dist/time/weekKey.js.map +1 -1
  91. package/dist/time/weekday.js.map +1 -1
  92. package/dist/types.d.ts +167 -2
  93. package/dist/types.d.ts.map +1 -1
  94. package/dist/types.js.map +1 -1
  95. package/dist/views/barstate.js.map +1 -1
  96. package/dist/views/index.js.map +1 -1
  97. package/dist/views/syminfo.js.map +1 -1
  98. package/dist/views/timeframe.js.map +1 -1
  99. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../src/draw/draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../src/draw/draw.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EACR,eAAe,EACf,SAAS,EACT,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACb,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,aAAa,GAAG;IAExB,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACxE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAClE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACvE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC9D,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACnE,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE9E,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IAC1E,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACxE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAElF,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACvF,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACzE;;;;;OAKG;IACH,WAAW,CACP,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,IAAI,CAAC,EAAE,gBAAgB,GACxB,aAAa,CAAC;IACjB,MAAM,CACF,MAAM,EAAE,UAAU,EAClB,IAAI,CAAC,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtE,aAAa,CAAC;IAEjB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAChE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAClE,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAEvE,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC7E,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAAC;IACvF,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC;IAE3E,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACvE,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACrE,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;IACvE,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;IACvE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,aAAa,CAAC;IAEzE,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACzE,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC1E,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC1E,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAAC;IAEzF,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5E,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACxE,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjE,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAE/D,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACzE,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1E,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACvE,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACxE,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAEnE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3E,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACzE,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC9E,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE3E,SAAS,CACL,OAAO,EAAE,YAAY,EACrB,IAAI,CAAC,EAAE,aAAa,GAAG;QACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,CAAC;KAC1E,GACF,aAAa,CAAC;IACjB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAErE,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACxE,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACzE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC5E,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACtE,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC5E,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE7E,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC9E,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAClF,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC/E,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC7E,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE7E,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC/E,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAC9E,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE5E,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAC5D,KAAK,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAErE,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,IAAI,EAAE,aAAgC,CAAC"}
package/dist/draw/draw.js CHANGED
@@ -7,8 +7,7 @@
7
7
  * convention as the `plot` / `hline` / `alert` stubs in
8
8
  * `plot/plot.ts:plot` / `alert/alert.ts:alert`. The runtime swaps this
9
9
  * stub for the real namespace at boot per the
10
- * `@invinite-org/chartlang-runtime` `primitives.ts` seam (PLAN.md
11
- * §5.5).
10
+ * `@invinite-org/chartlang-runtime` `primitives.ts` seam.
12
11
  *
13
12
  * @formula N/A — namespace surface; per-method runtime impl in Tasks 5–18
14
13
  * @anchors per-method — see the per-kind state shapes in `drawingState.ts`
@@ -1 +1 @@
1
- {"version":3,"file":"draw.js","sourceRoot":"","sources":["../../src/draw/draw.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAiJ/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,cAAc,EAAE,CAAC;AAEpD,SAAS,cAAc;IACnB,MAAM,OAAO,GAAgC;QACzC,GAAG,CAAC,OAAO,EAAE,QAAQ;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;KACJ,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,EAAmB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACrC,OAAO,GAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kCAAkC,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"draw.js","sourceRoot":"","sources":["../../src/draw/draw.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AA6J/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,cAAc,EAAE,CAAC;AAEpD,SAAS,cAAc;IACnB,MAAM,OAAO,GAAgC;QACzC,GAAG,CAAC,OAAO,EAAE,QAAQ;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;KACJ,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,EAAmB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACrC,OAAO,GAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kCAAkC,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Price, Time } from \"../types.js\";\nimport type {\n ArrowMarkerOpts,\n ArrowOpts,\n BrushStyle,\n FibOpts,\n FillBetweenStyle,\n FrameOpts,\n HighlighterStyle,\n LineDrawStyle,\n PathOpts,\n RegressionTrendOpts,\n ShapeStyle,\n TextOpts,\n} from \"./drawingStyle.js\";\nimport type { DrawingHandle } from \"./handle.js\";\nimport type { TableOpts } from \"./table.js\";\nimport type {\n AnchorHept,\n AnchorQuad,\n AnchorQuint,\n AnchorTriple,\n WorldPoint,\n} from \"./worldPoint.js\";\n\n/**\n * The script-facing `draw.*` namespace. Each method is stateful across\n * calls — the compiler injects a callsite slot id so the runtime can\n * track the per-handle `DrawingState` across bars — and returns a\n * {@link DrawingHandle}. Adapters that omit a kind degrade silently\n * with `unsupported-drawing-kind`; excess emissions\n * drop with `drawing-budget-exceeded` once the per-script bucket is\n * full.\n *\n * Every kind lives as a FLAT method directly on `DrawNamespace` —\n * script authors call `draw.fibRetracement(a, b)` /\n * `draw.gannBox(a, b)` / `draw.elliottImpulseWave(anchors)` /\n * `draw.xabcdPattern(anchors)`, matching the flat camelCase names in\n * `STATEFUL_PRIMITIVES` and Pine + invinite parity. The wire format\n * keeps the kebab-case `DrawingKind`.\n *\n * Phase-3 implementations live in `@invinite-org/chartlang-runtime`;\n * this file ships the script-author type plus a throwing-stub `draw`\n * value (mirrors `plot/plot.ts:plot`). Tasks 5–18 land the runtime\n * impl per category.\n *\n * @formula N/A — namespace surface; per-method runtime impl in Tasks 5–18\n * @anchors per-method — see the per-kind state shapes in `drawingState.ts`\n * @since 0.3\n * @stable\n * @example\n * import type { DrawNamespace } from \"@invinite-org/chartlang-core\";\n * const _ns: DrawNamespace | null = null;\n * void _ns;\n */\nexport type DrawNamespace = {\n // Lines / Rays (Task 5)\n line(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n horizontalLine(price: Price, opts?: LineDrawStyle): DrawingHandle;\n horizontalRay(anchor: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n verticalLine(time: Time, opts?: LineDrawStyle): DrawingHandle;\n crossLine(anchor: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n trendAngle(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n // Boxes A (Task 6)\n rectangle(a: WorldPoint, b: WorldPoint, opts?: ShapeStyle): DrawingHandle;\n rotatedRectangle(anchors: AnchorQuad, opts?: ShapeStyle): DrawingHandle;\n triangle(anchors: AnchorTriple, opts?: ShapeStyle): DrawingHandle;\n polyline(anchors: ReadonlyArray<WorldPoint>, opts?: LineDrawStyle): DrawingHandle;\n // Boxes B (Task 7)\n circle(centre: WorldPoint, radiusAnchor: WorldPoint, opts?: ShapeStyle): DrawingHandle;\n ellipse(a: WorldPoint, b: WorldPoint, opts?: ShapeStyle): DrawingHandle;\n path(anchors: ReadonlyArray<WorldPoint>, opts?: PathOpts): DrawingHandle;\n /**\n * Fill the ribbon between two edges. Each edge is a list of world\n * anchors; the filled region is the closed polygon `edgeA` forward\n * then `edgeB` reversed. The native equivalent of Pine\n * `linefill.new(line1, line2, color)` / `fill(plot1, plot2)`.\n */\n fillBetween(\n edgeA: ReadonlyArray<WorldPoint>,\n edgeB: ReadonlyArray<WorldPoint>,\n opts?: FillBetweenStyle,\n ): DrawingHandle;\n marker(\n anchor: WorldPoint,\n opts?: TextOpts & { readonly text?: string; readonly value?: number },\n ): DrawingHandle;\n // Curves (Task 8)\n arc(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n curve(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n doubleCurve(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n // Freehand (Task 8)\n pen(anchors: ReadonlyArray<WorldPoint>, opts?: LineDrawStyle): DrawingHandle;\n highlighter(anchors: ReadonlyArray<WorldPoint>, opts: HighlighterStyle): DrawingHandle;\n brush(anchors: ReadonlyArray<WorldPoint>, opts: BrushStyle): DrawingHandle;\n // Annotations (Task 9)\n text(anchor: WorldPoint, body: string, opts?: TextOpts): DrawingHandle;\n arrow(a: WorldPoint, b: WorldPoint, opts?: ArrowOpts): DrawingHandle;\n arrowMarker(anchor: WorldPoint, opts?: ArrowMarkerOpts): DrawingHandle;\n arrowMarkUp(anchor: WorldPoint, opts?: ArrowMarkerOpts): DrawingHandle;\n arrowMarkDown(anchor: WorldPoint, opts?: ArrowMarkerOpts): DrawingHandle;\n // Channels (Task 10)\n trendChannel(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n flatTopBottom(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n disjointChannel(anchors: AnchorQuad, opts?: LineDrawStyle): DrawingHandle;\n regressionTrend(a: WorldPoint, b: WorldPoint, opts?: RegressionTrendOpts): DrawingHandle;\n // Fibonacci A (Task 11)\n fibRetracement(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibTrendExtension(anchors: AnchorTriple, opts?: FibOpts): DrawingHandle;\n fibChannel(anchors: AnchorTriple, opts?: FibOpts): DrawingHandle;\n fibTimeZone(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibWedge(anchors: AnchorTriple, opts?: FibOpts): DrawingHandle;\n // Fibonacci B (Task 12)\n fibSpeedFan(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibSpeedArcs(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibSpiral(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibCircles(a: WorldPoint, b: WorldPoint, opts?: FibOpts): DrawingHandle;\n fibTrendTime(anchors: AnchorTriple, opts?: FibOpts): DrawingHandle;\n // Gann (Task 13)\n gannBox(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n gannSquareFixed(anchor: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n gannSquare(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n gannFan(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n // Pitchforks (Task 14)\n pitchfork(\n anchors: AnchorTriple,\n opts?: LineDrawStyle & {\n readonly variant?: \"standard\" | \"schiff\" | \"modifiedSchiff\" | \"inside\";\n },\n ): DrawingHandle;\n pitchfan(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n // Harmonic Patterns (Task 15)\n xabcdPattern(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n cypherPattern(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n headAndShoulders(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n abcdPattern(anchors: AnchorQuad, opts?: LineDrawStyle): DrawingHandle;\n trianglePattern(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n threeDrivesPattern(anchors: AnchorHept, opts?: LineDrawStyle): DrawingHandle;\n // Elliott Waves (Task 16)\n elliottImpulseWave(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n elliottCorrectionWave(anchors: AnchorTriple, opts?: LineDrawStyle): DrawingHandle;\n elliottTriangleWave(anchors: AnchorQuint, opts?: LineDrawStyle): DrawingHandle;\n elliottDoubleCombo(anchors: AnchorHept, opts?: LineDrawStyle): DrawingHandle;\n elliottTripleCombo(anchors: AnchorHept, opts?: LineDrawStyle): DrawingHandle;\n // Cycles (Task 17)\n cyclicLines(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n timeCycles(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n sineLine(a: WorldPoint, b: WorldPoint, opts?: LineDrawStyle): DrawingHandle;\n // Containers (Task 18)\n group(childHandleIds: ReadonlyArray<string>): DrawingHandle;\n frame(a: WorldPoint, b: WorldPoint, opts?: FrameOpts): DrawingHandle;\n // Viewport overlays (Phase 5)\n table(opts: TableOpts): DrawingHandle;\n};\n\n/**\n * Compile-time callable hole for the `draw.*` namespace. Every `get`\n * on the proxy returns a function that throws the\n * `\"draw.<method> called outside compiled runtime\"` sentinel — same\n * convention as the `plot` / `hline` / `alert` stubs in\n * `plot/plot.ts:plot` / `alert/alert.ts:alert`. The runtime swaps this\n * stub for the real namespace at boot per the\n * `@invinite-org/chartlang-runtime` `primitives.ts` seam.\n *\n * @formula N/A — namespace surface; per-method runtime impl in Tasks 5–18\n * @anchors per-method — see the per-kind state shapes in `drawingState.ts`\n * @since 0.3\n * @stable\n * @example\n * import { draw } from \"@invinite-org/chartlang-core\";\n * try {\n * draw.horizontalLine(0);\n * } catch {\n * // expected: \"draw.horizontalLine called outside compiled runtime\"\n * }\n */\nexport const draw: DrawNamespace = createDrawStub();\n\nfunction createDrawStub(): DrawNamespace {\n const handler: ProxyHandler<DrawNamespace> = {\n get(_target, property): unknown {\n const name = String(property);\n return throwingMethod(`draw.${name}`);\n },\n };\n return new Proxy({} as DrawNamespace, handler);\n}\n\nfunction throwingMethod(qualified: string): () => never {\n return (): never => {\n throw new Error(`${qualified} called outside compiled runtime`);\n };\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * The full set of 62 drawing kinds chartlang supports through `draw.*`.
2
+ * The full set of 63 drawing kinds chartlang supports through `draw.*`.
3
3
  * The wire format is kebab-case; the TypeScript script surface is
4
4
  * camelCase (`draw.horizontalLine(...)`). See {@link KIND_CAMELCASE} for
5
5
  * the canonical bijection.
6
6
  *
7
- * Variant collapses pinned in PLAN.md §3.1:
7
+ * Variant collapses:
8
8
  *
9
9
  * - `ray` / `extended-line` collapse into `line` with `extendLeft` /
10
10
  * `extendRight` flags on the state.
@@ -14,28 +14,28 @@
14
14
  * - `cypher-pattern` has no standalone tool — emittable only through
15
15
  * `defineDrawing` (Task 20).
16
16
  *
17
- * Order pinned: lines (6) → boxes (8) → curves (3) → freehand (3) →
17
+ * Order pinned: lines (6) → boxes (9) → curves (3) → freehand (3) →
18
18
  * annotations (5) → channels (4) → fib (10) → gann (4) → pitchforks (2)
19
19
  * → patterns (6) → elliott (5) → cycles (3) → containers (2) → viewport
20
- * overlays (1) = 62. The order is wire-stable — downstream consumers iterate
20
+ * overlays (1) = 63. The order is wire-stable — downstream consumers iterate
21
21
  * {@link DRAWING_KINDS} in this order for diagnostic readability.
22
22
  *
23
23
  * @formula N/A — discriminator constant set
24
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
24
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
25
25
  * @since 0.3
26
26
  * @stable
27
27
  * @example
28
28
  * const k: DrawingKind = "fib-retracement";
29
29
  * void k;
30
30
  */
31
- export type DrawingKind = "line" | "horizontal-line" | "horizontal-ray" | "vertical-line" | "cross-line" | "trend-angle" | "rectangle" | "rotated-rectangle" | "triangle" | "polyline" | "circle" | "ellipse" | "path" | "marker" | "arc" | "curve" | "double-curve" | "pen" | "highlighter" | "brush" | "text" | "arrow" | "arrow-marker" | "arrow-mark-up" | "arrow-mark-down" | "trend-channel" | "flat-top-bottom" | "disjoint-channel" | "regression-trend" | "fib-retracement" | "fib-trend-extension" | "fib-channel" | "fib-time-zone" | "fib-wedge" | "fib-speed-fan" | "fib-speed-arcs" | "fib-spiral" | "fib-circles" | "fib-trend-time" | "gann-box" | "gann-square-fixed" | "gann-square" | "gann-fan" | "pitchfork" | "pitchfan" | "xabcd-pattern" | "cypher-pattern" | "head-and-shoulders" | "abcd-pattern" | "triangle-pattern" | "three-drives-pattern" | "elliott-impulse-wave" | "elliott-correction-wave" | "elliott-triangle-wave" | "elliott-double-combo" | "elliott-triple-combo" | "cyclic-lines" | "time-cycles" | "sine-line" | "group" | "frame" | "table";
31
+ export type DrawingKind = "line" | "horizontal-line" | "horizontal-ray" | "vertical-line" | "cross-line" | "trend-angle" | "rectangle" | "rotated-rectangle" | "triangle" | "polyline" | "circle" | "ellipse" | "path" | "fill-between" | "marker" | "arc" | "curve" | "double-curve" | "pen" | "highlighter" | "brush" | "text" | "arrow" | "arrow-marker" | "arrow-mark-up" | "arrow-mark-down" | "trend-channel" | "flat-top-bottom" | "disjoint-channel" | "regression-trend" | "fib-retracement" | "fib-trend-extension" | "fib-channel" | "fib-time-zone" | "fib-wedge" | "fib-speed-fan" | "fib-speed-arcs" | "fib-spiral" | "fib-circles" | "fib-trend-time" | "gann-box" | "gann-square-fixed" | "gann-square" | "gann-fan" | "pitchfork" | "pitchfan" | "xabcd-pattern" | "cypher-pattern" | "head-and-shoulders" | "abcd-pattern" | "triangle-pattern" | "three-drives-pattern" | "elliott-impulse-wave" | "elliott-correction-wave" | "elliott-triangle-wave" | "elliott-double-combo" | "elliott-triple-combo" | "cyclic-lines" | "time-cycles" | "sine-line" | "group" | "frame" | "table";
32
32
  /**
33
33
  * Iterable form of {@link DrawingKind}. Order matches the type
34
34
  * declaration so docs / validators / dispatchers can walk the set in a
35
35
  * single canonical order. Frozen.
36
36
  *
37
37
  * @formula N/A — discriminator constant set
38
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
38
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
39
39
  * @since 0.3
40
40
  * @stable
41
41
  * @example
@@ -53,7 +53,7 @@ export declare const DRAWING_KINDS: ReadonlyArray<DrawingKind>;
53
53
  * {@link KIND_KEBABCASE}.
54
54
  *
55
55
  * @formula N/A — discriminator constant set
56
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
56
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
57
57
  * @since 0.3
58
58
  * @stable
59
59
  * @example
@@ -68,7 +68,7 @@ export declare const KIND_CAMELCASE: ReadonlyMap<DrawingKind, string>;
68
68
  * two maps cannot drift.
69
69
  *
70
70
  * @formula N/A — discriminator constant set
71
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
71
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
72
72
  * @since 0.3
73
73
  * @stable
74
74
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"drawingKind.d.ts","sourceRoot":"","sources":["../../src/draw/drawingKind.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,WAAW,GAEjB,MAAM,GACN,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GAEb,WAAW,GACX,mBAAmB,GACnB,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,QAAQ,GAER,KAAK,GACL,OAAO,GACP,cAAc,GAEd,KAAK,GACL,aAAa,GACb,OAAO,GAEP,MAAM,GACN,OAAO,GACP,cAAc,GACd,eAAe,GACf,iBAAiB,GAEjB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAElB,iBAAiB,GACjB,qBAAqB,GACrB,aAAa,GACb,eAAe,GACf,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,gBAAgB,GAEhB,UAAU,GACV,mBAAmB,GACnB,aAAa,GACb,UAAU,GAEV,WAAW,GACX,UAAU,GAEV,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,kBAAkB,GAClB,sBAAsB,GAEtB,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GAEtB,cAAc,GACd,aAAa,GACb,WAAW,GAEX,OAAO,GACP,OAAO,GAEP,OAAO,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,WAAW,CA+DL,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CA+D1D,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE3D,CAAC"}
1
+ {"version":3,"file":"drawingKind.d.ts","sourceRoot":"","sources":["../../src/draw/drawingKind.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,WAAW,GAEjB,MAAM,GACN,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,YAAY,GACZ,aAAa,GAEb,WAAW,GACX,mBAAmB,GACnB,UAAU,GACV,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,cAAc,GACd,QAAQ,GAER,KAAK,GACL,OAAO,GACP,cAAc,GAEd,KAAK,GACL,aAAa,GACb,OAAO,GAEP,MAAM,GACN,OAAO,GACP,cAAc,GACd,eAAe,GACf,iBAAiB,GAEjB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAElB,iBAAiB,GACjB,qBAAqB,GACrB,aAAa,GACb,eAAe,GACf,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,gBAAgB,GAEhB,UAAU,GACV,mBAAmB,GACnB,aAAa,GACb,UAAU,GAEV,WAAW,GACX,UAAU,GAEV,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,kBAAkB,GAClB,sBAAsB,GAEtB,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GAEtB,cAAc,GACd,aAAa,GACb,WAAW,GAEX,OAAO,GACP,OAAO,GAEP,OAAO,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,WAAW,CAgEL,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAgE1D,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE3D,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * single canonical order. Frozen.
7
7
  *
8
8
  * @formula N/A — discriminator constant set
9
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
9
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
10
10
  * @since 0.3
11
11
  * @stable
12
12
  * @example
@@ -29,6 +29,7 @@ export const DRAWING_KINDS = Object.freeze([
29
29
  "circle",
30
30
  "ellipse",
31
31
  "path",
32
+ "fill-between",
32
33
  "marker",
33
34
  "arc",
34
35
  "curve",
@@ -87,7 +88,7 @@ export const DRAWING_KINDS = Object.freeze([
87
88
  * {@link KIND_KEBABCASE}.
88
89
  *
89
90
  * @formula N/A — discriminator constant set
90
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
91
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
91
92
  * @since 0.3
92
93
  * @stable
93
94
  * @example
@@ -109,6 +110,7 @@ export const KIND_CAMELCASE = new Map([
109
110
  ["circle", "circle"],
110
111
  ["ellipse", "ellipse"],
111
112
  ["path", "path"],
113
+ ["fill-between", "fillBetween"],
112
114
  ["marker", "marker"],
113
115
  ["arc", "arc"],
114
116
  ["curve", "curve"],
@@ -165,7 +167,7 @@ export const KIND_CAMELCASE = new Map([
165
167
  * two maps cannot drift.
166
168
  *
167
169
  * @formula N/A — discriminator constant set
168
- * @anchors 62 kebab-case kind names; see {@link DRAWING_KINDS}
170
+ * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}
169
171
  * @since 0.3
170
172
  * @stable
171
173
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"drawingKind.js","sourceRoot":"","sources":["../../src/draw/drawingKind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawingKind.js","sourceRoot":"","sources":["../../src/draw/drawingKind.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\n/**\n * The full set of 63 drawing kinds chartlang supports through `draw.*`.\n * The wire format is kebab-case; the TypeScript script surface is\n * camelCase (`draw.horizontalLine(...)`). See {@link KIND_CAMELCASE} for\n * the canonical bijection.\n *\n * Variant collapses:\n *\n * - `ray` / `extended-line` collapse into `line` with `extendLeft` /\n * `extendRight` flags on the state.\n * - The 4 invinite pitchfork tools (`standard` / `schiff` /\n * `modifiedSchiff` / `inside`) collapse into `pitchfork` with a\n * `variant` discriminator on the state.\n * - `cypher-pattern` has no standalone tool — emittable only through\n * `defineDrawing` (Task 20).\n *\n * Order pinned: lines (6) → boxes (9) → curves (3) → freehand (3) →\n * annotations (5) → channels (4) → fib (10) → gann (4) → pitchforks (2)\n * → patterns (6) → elliott (5) → cycles (3) → containers (2) → viewport\n * overlays (1) = 63. The order is wire-stable — downstream consumers iterate\n * {@link DRAWING_KINDS} in this order for diagnostic readability.\n *\n * @formula N/A — discriminator constant set\n * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}\n * @since 0.3\n * @stable\n * @example\n * const k: DrawingKind = \"fib-retracement\";\n * void k;\n */\nexport type DrawingKind =\n // Lines / Rays (6)\n | \"line\"\n | \"horizontal-line\"\n | \"horizontal-ray\"\n | \"vertical-line\"\n | \"cross-line\"\n | \"trend-angle\"\n // Boxes / Shapes (9)\n | \"rectangle\"\n | \"rotated-rectangle\"\n | \"triangle\"\n | \"polyline\"\n | \"circle\"\n | \"ellipse\"\n | \"path\"\n | \"fill-between\"\n | \"marker\"\n // Curves (3)\n | \"arc\"\n | \"curve\"\n | \"double-curve\"\n // Freehand (3)\n | \"pen\"\n | \"highlighter\"\n | \"brush\"\n // Annotations (5)\n | \"text\"\n | \"arrow\"\n | \"arrow-marker\"\n | \"arrow-mark-up\"\n | \"arrow-mark-down\"\n // Channels (4)\n | \"trend-channel\"\n | \"flat-top-bottom\"\n | \"disjoint-channel\"\n | \"regression-trend\"\n // Fibonacci (10)\n | \"fib-retracement\"\n | \"fib-trend-extension\"\n | \"fib-channel\"\n | \"fib-time-zone\"\n | \"fib-wedge\"\n | \"fib-speed-fan\"\n | \"fib-speed-arcs\"\n | \"fib-spiral\"\n | \"fib-circles\"\n | \"fib-trend-time\"\n // Gann (4)\n | \"gann-box\"\n | \"gann-square-fixed\"\n | \"gann-square\"\n | \"gann-fan\"\n // Pitchforks (2)\n | \"pitchfork\"\n | \"pitchfan\"\n // Harmonic Patterns (6)\n | \"xabcd-pattern\"\n | \"cypher-pattern\"\n | \"head-and-shoulders\"\n | \"abcd-pattern\"\n | \"triangle-pattern\"\n | \"three-drives-pattern\"\n // Elliott Waves (5)\n | \"elliott-impulse-wave\"\n | \"elliott-correction-wave\"\n | \"elliott-triangle-wave\"\n | \"elliott-double-combo\"\n | \"elliott-triple-combo\"\n // Cycles (3)\n | \"cyclic-lines\"\n | \"time-cycles\"\n | \"sine-line\"\n // Containers (2)\n | \"group\"\n | \"frame\"\n // Viewport overlays (1)\n | \"table\";\n\n/**\n * Iterable form of {@link DrawingKind}. Order matches the type\n * declaration so docs / validators / dispatchers can walk the set in a\n * single canonical order. Frozen.\n *\n * @formula N/A — discriminator constant set\n * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}\n * @since 0.3\n * @stable\n * @example\n * import { DRAWING_KINDS } from \"@invinite-org/chartlang-core\";\n * for (const k of DRAWING_KINDS) {\n * void k;\n * }\n */\nexport const DRAWING_KINDS: ReadonlyArray<DrawingKind> = Object.freeze([\n \"line\",\n \"horizontal-line\",\n \"horizontal-ray\",\n \"vertical-line\",\n \"cross-line\",\n \"trend-angle\",\n \"rectangle\",\n \"rotated-rectangle\",\n \"triangle\",\n \"polyline\",\n \"circle\",\n \"ellipse\",\n \"path\",\n \"fill-between\",\n \"marker\",\n \"arc\",\n \"curve\",\n \"double-curve\",\n \"pen\",\n \"highlighter\",\n \"brush\",\n \"text\",\n \"arrow\",\n \"arrow-marker\",\n \"arrow-mark-up\",\n \"arrow-mark-down\",\n \"trend-channel\",\n \"flat-top-bottom\",\n \"disjoint-channel\",\n \"regression-trend\",\n \"fib-retracement\",\n \"fib-trend-extension\",\n \"fib-channel\",\n \"fib-time-zone\",\n \"fib-wedge\",\n \"fib-speed-fan\",\n \"fib-speed-arcs\",\n \"fib-spiral\",\n \"fib-circles\",\n \"fib-trend-time\",\n \"gann-box\",\n \"gann-square-fixed\",\n \"gann-square\",\n \"gann-fan\",\n \"pitchfork\",\n \"pitchfan\",\n \"xabcd-pattern\",\n \"cypher-pattern\",\n \"head-and-shoulders\",\n \"abcd-pattern\",\n \"triangle-pattern\",\n \"three-drives-pattern\",\n \"elliott-impulse-wave\",\n \"elliott-correction-wave\",\n \"elliott-triangle-wave\",\n \"elliott-double-combo\",\n \"elliott-triple-combo\",\n \"cyclic-lines\",\n \"time-cycles\",\n \"sine-line\",\n \"group\",\n \"frame\",\n \"table\",\n] as const satisfies ReadonlyArray<DrawingKind>);\n\n/**\n * camelCase TypeScript-surface name for every kind. Used by the editor\n * + gen-docs + the compiler's `STATEFUL_PRIMITIVES` lookup so a script\n * author writes `draw.horizontalLine(...)` while the wire format stays\n * kebab-case (`horizontal-line`). The bijection round-trips through\n * {@link KIND_KEBABCASE}.\n *\n * @formula N/A — discriminator constant set\n * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}\n * @since 0.3\n * @stable\n * @example\n * import { KIND_CAMELCASE } from \"@invinite-org/chartlang-core\";\n * const camel = KIND_CAMELCASE.get(\"horizontal-line\"); // \"horizontalLine\"\n * void camel;\n */\nexport const KIND_CAMELCASE: ReadonlyMap<DrawingKind, string> = new Map<DrawingKind, string>([\n [\"line\", \"line\"],\n [\"horizontal-line\", \"horizontalLine\"],\n [\"horizontal-ray\", \"horizontalRay\"],\n [\"vertical-line\", \"verticalLine\"],\n [\"cross-line\", \"crossLine\"],\n [\"trend-angle\", \"trendAngle\"],\n [\"rectangle\", \"rectangle\"],\n [\"rotated-rectangle\", \"rotatedRectangle\"],\n [\"triangle\", \"triangle\"],\n [\"polyline\", \"polyline\"],\n [\"circle\", \"circle\"],\n [\"ellipse\", \"ellipse\"],\n [\"path\", \"path\"],\n [\"fill-between\", \"fillBetween\"],\n [\"marker\", \"marker\"],\n [\"arc\", \"arc\"],\n [\"curve\", \"curve\"],\n [\"double-curve\", \"doubleCurve\"],\n [\"pen\", \"pen\"],\n [\"highlighter\", \"highlighter\"],\n [\"brush\", \"brush\"],\n [\"text\", \"text\"],\n [\"arrow\", \"arrow\"],\n [\"arrow-marker\", \"arrowMarker\"],\n [\"arrow-mark-up\", \"arrowMarkUp\"],\n [\"arrow-mark-down\", \"arrowMarkDown\"],\n [\"trend-channel\", \"trendChannel\"],\n [\"flat-top-bottom\", \"flatTopBottom\"],\n [\"disjoint-channel\", \"disjointChannel\"],\n [\"regression-trend\", \"regressionTrend\"],\n [\"fib-retracement\", \"fibRetracement\"],\n [\"fib-trend-extension\", \"fibTrendExtension\"],\n [\"fib-channel\", \"fibChannel\"],\n [\"fib-time-zone\", \"fibTimeZone\"],\n [\"fib-wedge\", \"fibWedge\"],\n [\"fib-speed-fan\", \"fibSpeedFan\"],\n [\"fib-speed-arcs\", \"fibSpeedArcs\"],\n [\"fib-spiral\", \"fibSpiral\"],\n [\"fib-circles\", \"fibCircles\"],\n [\"fib-trend-time\", \"fibTrendTime\"],\n [\"gann-box\", \"gannBox\"],\n [\"gann-square-fixed\", \"gannSquareFixed\"],\n [\"gann-square\", \"gannSquare\"],\n [\"gann-fan\", \"gannFan\"],\n [\"pitchfork\", \"pitchfork\"],\n [\"pitchfan\", \"pitchfan\"],\n [\"xabcd-pattern\", \"xabcdPattern\"],\n [\"cypher-pattern\", \"cypherPattern\"],\n [\"head-and-shoulders\", \"headAndShoulders\"],\n [\"abcd-pattern\", \"abcdPattern\"],\n [\"triangle-pattern\", \"trianglePattern\"],\n [\"three-drives-pattern\", \"threeDrivesPattern\"],\n [\"elliott-impulse-wave\", \"elliottImpulseWave\"],\n [\"elliott-correction-wave\", \"elliottCorrectionWave\"],\n [\"elliott-triangle-wave\", \"elliottTriangleWave\"],\n [\"elliott-double-combo\", \"elliottDoubleCombo\"],\n [\"elliott-triple-combo\", \"elliottTripleCombo\"],\n [\"cyclic-lines\", \"cyclicLines\"],\n [\"time-cycles\", \"timeCycles\"],\n [\"sine-line\", \"sineLine\"],\n [\"group\", \"group\"],\n [\"frame\", \"frame\"],\n [\"table\", \"table\"],\n]);\n\n/**\n * Inverse of {@link KIND_CAMELCASE} — camelCase TypeScript surface\n * name → kebab-case wire kind. Derived from `KIND_CAMELCASE` so the\n * two maps cannot drift.\n *\n * @formula N/A — discriminator constant set\n * @anchors 63 kebab-case kind names; see {@link DRAWING_KINDS}\n * @since 0.3\n * @stable\n * @example\n * import { KIND_KEBABCASE } from \"@invinite-org/chartlang-core\";\n * const kebab = KIND_KEBABCASE.get(\"horizontalLine\"); // \"horizontal-line\"\n * void kebab;\n */\nexport const KIND_KEBABCASE: ReadonlyMap<string, DrawingKind> = new Map<string, DrawingKind>(\n Array.from(KIND_CAMELCASE, ([kebab, camel]) => [camel, kebab]),\n);\n"]}
@@ -1,11 +1,11 @@
1
1
  import type { Color, JsonValue, Price, Time } from "../types.js";
2
- import type { ArrowMarkerOpts, ArrowOpts, BrushStyle, FibOpts, FrameOpts, HighlighterStyle, LineDrawStyle, PathOpts, RegressionTrendOpts, ShapeStyle, TextOpts } from "./drawingStyle.js";
2
+ import type { ArrowMarkerOpts, ArrowOpts, BrushStyle, FibOpts, FillBetweenStyle, FrameOpts, HighlighterStyle, LineDrawStyle, PathOpts, RegressionTrendOpts, ShapeStyle, TextOpts } from "./drawingStyle.js";
3
3
  import type { TableCell, TablePosition } from "./table.js";
4
4
  import type { AnchorHept, AnchorPair, AnchorQuad, AnchorQuint, AnchorTriple, WorldPoint } from "./worldPoint.js";
5
5
  /**
6
6
  * Script-mutable metadata fields every {@link DrawingState} variant
7
7
  * carries. `name` surfaces in the editor layer; `visible: false` hides
8
- * the drawing without removing it. See PLAN.md §10.0 for the contract.
8
+ * the drawing without removing it.
9
9
  *
10
10
  * @formula N/A — metadata only, no geometry
11
11
  * @anchors N/A — script-author metadata
@@ -22,7 +22,7 @@ export type DrawingMeta = {
22
22
  /**
23
23
  * `line` — two-anchor straight line. Carries `extendLeft` /
24
24
  * `extendRight` flags so the invinite `ray` / `extended-line` tools
25
- * collapse into this single kind per PLAN.md §3.1.
25
+ * collapse into this single kind.
26
26
  *
27
27
  * @formula identity — segment between `anchors[0]` and `anchors[1]`
28
28
  * @anchors anchors: [from, to]
@@ -288,6 +288,30 @@ export type PathState = DrawingMeta & {
288
288
  readonly anchors: ReadonlyArray<WorldPoint>;
289
289
  readonly style: PathOpts;
290
290
  };
291
+ /**
292
+ * State for a `fill-between` drawing: a filled ribbon between two edges.
293
+ * Each edge is an ordered list of world anchors; the rendered region is
294
+ * the closed polygon `edgeA` forward then `edgeB` reversed.
295
+ *
296
+ * @formula N/A — drawing state payload
297
+ * @anchors `edgeA`, `edgeB` — two `ReadonlyArray<WorldPoint>`
298
+ * @since 0.4
299
+ * @stable
300
+ * @example
301
+ * const state: FillBetweenState = {
302
+ * kind: "fill-between",
303
+ * edgeA: [{ time: 0, price: 1 }],
304
+ * edgeB: [{ time: 0, price: 0 }],
305
+ * style: { fill: "#3b82f6" },
306
+ * };
307
+ * void state;
308
+ */
309
+ export type FillBetweenState = DrawingMeta & {
310
+ readonly kind: "fill-between";
311
+ readonly edgeA: ReadonlyArray<WorldPoint>;
312
+ readonly edgeB: ReadonlyArray<WorldPoint>;
313
+ readonly style: FillBetweenStyle;
314
+ };
291
315
  /**
292
316
  * `marker` — single-anchor glyph with optional value label.
293
317
  *
@@ -936,7 +960,7 @@ export type GannFanState = DrawingMeta & {
936
960
  /**
937
961
  * `pitchfork` — Andrews pitchfork. The `variant` discriminator collapses
938
962
  * the four invinite tools (`standard` / `schiff` / `modifiedSchiff` /
939
- * `inside`) into one kind per PLAN.md §3.1.
963
+ * `inside`) into one kind.
940
964
  *
941
965
  * @formula median + two parallels through `anchors[1]` / `anchors[2]`
942
966
  * @anchors anchors: [pivot, high, low]; variant: "standard"|"schiff"|"modifiedSchiff"|"inside"
@@ -1368,7 +1392,7 @@ export type FrameState = DrawingMeta & {
1368
1392
  /**
1369
1393
  * `table` — CSS-pixel viewport-anchored dashboard/status panel. It
1370
1394
  * deliberately carries no world-space anchors; adapters resolve
1371
- * `position` against the current viewport per PLAN.md §10.2.
1395
+ * `position` against the current viewport.
1372
1396
  *
1373
1397
  * @formula N/A — table layout resolved in CSS pixels by adapter
1374
1398
  * @anchors position: CSS viewport anchor
@@ -1397,9 +1421,9 @@ export type TableState = DrawingMeta & {
1397
1421
  * Per-kind state union — every {@link DrawingKind} maps to exactly one
1398
1422
  * variant. Collab-only fields (Yjs `id`, `layerId`, `createdAt`,
1399
1423
  * `authorId`, `parentGroupId`, `parentFrameId`, `visibleIntervals`)
1400
- * from the invinite source are stripped per PLAN.md §10.4.
1424
+ * from the invinite source are stripped.
1401
1425
  *
1402
- * The 62 variants here are intentionally minimal shells. Tasks 5–18
1426
+ * The 63 variants here are intentionally minimal shells. Tasks 5–18
1403
1427
  * (per-category ports) refine each variant's geometry + style payload
1404
1428
  * against the invinite source-of-truth. Exhaustiveness is asserted via
1405
1429
  * the `(k satisfies never)` switch in `drawingState.types.test.ts`.
@@ -1416,5 +1440,5 @@ export type TableState = DrawingMeta & {
1416
1440
  * };
1417
1441
  * void s;
1418
1442
  */
1419
- export type DrawingState = LineState | HorizontalLineState | HorizontalRayState | VerticalLineState | CrossLineState | TrendAngleState | RectangleState | RotatedRectangleState | TriangleState | PolylineState | CircleState | EllipseState | PathState | MarkerState | ArcState | CurveState | DoubleCurveState | PenState | HighlighterState | BrushState | TextState | ArrowState | ArrowMarkerState | ArrowMarkUpState | ArrowMarkDownState | TrendChannelState | FlatTopBottomState | DisjointChannelState | RegressionTrendState | FibRetracementState | FibTrendExtensionState | FibChannelState | FibTimeZoneState | FibWedgeState | FibSpeedFanState | FibSpeedArcsState | FibSpiralState | FibCirclesState | FibTrendTimeState | GannBoxState | GannSquareFixedState | GannSquareState | GannFanState | PitchforkState | PitchfanState | XabcdPatternState | CypherPatternState | HeadAndShouldersState | AbcdPatternState | TrianglePatternState | ThreeDrivesPatternState | ElliottImpulseWaveState | ElliottCorrectionWaveState | ElliottTriangleWaveState | ElliottDoubleComboState | ElliottTripleComboState | CyclicLinesState | TimeCyclesState | SineLineState | GroupState | FrameState | TableState;
1443
+ export type DrawingState = LineState | HorizontalLineState | HorizontalRayState | VerticalLineState | CrossLineState | TrendAngleState | RectangleState | RotatedRectangleState | TriangleState | PolylineState | CircleState | EllipseState | PathState | FillBetweenState | MarkerState | ArcState | CurveState | DoubleCurveState | PenState | HighlighterState | BrushState | TextState | ArrowState | ArrowMarkerState | ArrowMarkUpState | ArrowMarkDownState | TrendChannelState | FlatTopBottomState | DisjointChannelState | RegressionTrendState | FibRetracementState | FibTrendExtensionState | FibChannelState | FibTimeZoneState | FibWedgeState | FibSpeedFanState | FibSpeedArcsState | FibSpiralState | FibCirclesState | FibTrendTimeState | GannBoxState | GannSquareFixedState | GannSquareState | GannFanState | PitchforkState | PitchfanState | XabcdPatternState | CypherPatternState | HeadAndShouldersState | AbcdPatternState | TrianglePatternState | ThreeDrivesPatternState | ElliottImpulseWaveState | ElliottCorrectionWaveState | ElliottTriangleWaveState | ElliottDoubleComboState | ElliottTripleComboState | CyclicLinesState | TimeCyclesState | SineLineState | GroupState | FrameState | TableState;
1420
1444
  //# sourceMappingURL=drawingState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawingState.d.ts","sourceRoot":"","sources":["../../src/draw/drawingState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawingState.d.ts","sourceRoot":"","sources":["../../src/draw/drawingState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"drawingState.js","sourceRoot":"","sources":["../../src/draw/drawingState.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D"}
1
+ {"version":3,"file":"drawingState.js","sourceRoot":"","sources":["../../src/draw/drawingState.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Color, JsonValue, Price, Time } from \"../types.js\";\nimport type {\n ArrowMarkerOpts,\n ArrowOpts,\n BrushStyle,\n FibOpts,\n FillBetweenStyle,\n FrameOpts,\n HighlighterStyle,\n LineDrawStyle,\n PathOpts,\n RegressionTrendOpts,\n ShapeStyle,\n TextOpts,\n} from \"./drawingStyle.js\";\nimport type { TableCell, TablePosition } from \"./table.js\";\nimport type {\n AnchorHept,\n AnchorPair,\n AnchorQuad,\n AnchorQuint,\n AnchorTriple,\n WorldPoint,\n} from \"./worldPoint.js\";\n\n/**\n * Script-mutable metadata fields every {@link DrawingState} variant\n * carries. `name` surfaces in the editor layer; `visible: false` hides\n * the drawing without removing it.\n *\n * @formula N/A — metadata only, no geometry\n * @anchors N/A — script-author metadata\n * @since 0.3\n * @stable\n * @example\n * const m: DrawingMeta = { name: \"Support\", visible: true };\n * void m;\n */\nexport type DrawingMeta = {\n readonly name?: string;\n readonly visible?: boolean;\n};\n\n/**\n * `line` — two-anchor straight line. Carries `extendLeft` /\n * `extendRight` flags so the invinite `ray` / `extended-line` tools\n * collapse into this single kind.\n *\n * @formula identity — segment between `anchors[0]` and `anchors[1]`\n * @anchors anchors: [from, to]\n * @since 0.3\n * @stable\n * @example\n * const s: LineState = {\n * kind: \"line\",\n * anchors: [{ time: 1, price: 1 }, { time: 2, price: 2 }],\n * style: {},\n * };\n * void s;\n */\nexport type LineState = DrawingMeta & {\n readonly kind: \"line\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `horizontal-line` — single-price line extending across the chart.\n *\n * @formula identity — horizontal line at `price`\n * @anchors price\n * @since 0.3\n * @stable\n * @example\n * const s: HorizontalLineState = {\n * kind: \"horizontal-line\",\n * price: 100,\n * style: { color: \"#3b82f6\" },\n * };\n * void s;\n */\nexport type HorizontalLineState = DrawingMeta & {\n readonly kind: \"horizontal-line\";\n readonly price: Price;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `horizontal-ray` — single-price ray anchored at a starting time.\n *\n * @formula identity — ray from `anchor` extending right at constant price\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: HorizontalRayState = {\n * kind: \"horizontal-ray\",\n * anchor: { time: 1, price: 100 },\n * style: {},\n * };\n * void s;\n */\nexport type HorizontalRayState = DrawingMeta & {\n readonly kind: \"horizontal-ray\";\n readonly anchor: WorldPoint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `vertical-line` — single-time line extending across the price axis.\n *\n * @formula identity — vertical line at `time`\n * @anchors time\n * @since 0.3\n * @stable\n * @example\n * const s: VerticalLineState = {\n * kind: \"vertical-line\",\n * time: 1_700_000_000_000,\n * style: {},\n * };\n * void s;\n */\nexport type VerticalLineState = DrawingMeta & {\n readonly kind: \"vertical-line\";\n readonly time: Time;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `cross-line` — orthogonal horizontal + vertical pair through one anchor.\n *\n * @formula identity — crosshair through `anchor`\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: CrossLineState = {\n * kind: \"cross-line\",\n * anchor: { time: 1, price: 1 },\n * style: {},\n * };\n * void s;\n */\nexport type CrossLineState = DrawingMeta & {\n readonly kind: \"cross-line\";\n readonly anchor: WorldPoint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `trend-angle` — line with an angle annotation read off the two anchors.\n *\n * @formula angle = atan2(Δprice, Δtime)\n * @anchors anchors: [from, to]\n * @since 0.3\n * @stable\n * @example\n * const s: TrendAngleState = {\n * kind: \"trend-angle\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type TrendAngleState = DrawingMeta & {\n readonly kind: \"trend-angle\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `rectangle` — axis-aligned filled rectangle defined by two corners.\n *\n * @formula identity — axis-aligned bounding box of `anchors`\n * @anchors anchors: [topLeft, bottomRight] (or any opposite-corner pair)\n * @since 0.3\n * @stable\n * @example\n * const s: RectangleState = {\n * kind: \"rectangle\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type RectangleState = DrawingMeta & {\n readonly kind: \"rectangle\";\n readonly anchors: AnchorPair;\n readonly style: ShapeStyle;\n};\n\n/**\n * `rotated-rectangle` — four-corner rectangle, supports arbitrary rotation.\n *\n * @formula identity — polygon through the four anchor corners\n * @anchors anchors: [c1, c2, c3, c4] (CW or CCW)\n * @since 0.3\n * @stable\n * @example\n * const s: RotatedRectangleState = {\n * kind: \"rotated-rectangle\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0 }, { time: 1, price: -1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type RotatedRectangleState = DrawingMeta & {\n readonly kind: \"rotated-rectangle\";\n readonly anchors: AnchorQuad;\n readonly style: ShapeStyle;\n};\n\n/**\n * `triangle` — three-vertex polygon.\n *\n * @formula identity — closed polygon through the three anchors\n * @anchors anchors: [v1, v2, v3]\n * @since 0.3\n * @stable\n * @example\n * const s: TriangleState = {\n * kind: \"triangle\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 2, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type TriangleState = DrawingMeta & {\n readonly kind: \"triangle\";\n readonly anchors: AnchorTriple;\n readonly style: ShapeStyle;\n};\n\n/**\n * `polyline` — open polyline of N anchors.\n *\n * @formula identity — N-anchor open polyline\n * @anchors anchors: ReadonlyArray<WorldPoint>\n * @since 0.3\n * @stable\n * @example\n * const s: PolylineState = {\n * kind: \"polyline\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type PolylineState = DrawingMeta & {\n readonly kind: \"polyline\";\n readonly anchors: ReadonlyArray<WorldPoint>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `circle` — defined by centre + a radius anchor.\n *\n * @formula r = distance(anchors[0], anchors[1])\n * @anchors anchors: [centre, radiusPoint]\n * @since 0.3\n * @stable\n * @example\n * const s: CircleState = {\n * kind: \"circle\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type CircleState = DrawingMeta & {\n readonly kind: \"circle\";\n readonly anchors: AnchorPair;\n readonly style: ShapeStyle;\n};\n\n/**\n * `ellipse` — bounding-box anchor pair.\n *\n * @formula ellipse inscribed in the bounding box of `anchors`\n * @anchors anchors: [bboxA, bboxB]\n * @since 0.3\n * @stable\n * @example\n * const s: EllipseState = {\n * kind: \"ellipse\",\n * anchors: [{ time: 0, price: 0 }, { time: 2, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type EllipseState = DrawingMeta & {\n readonly kind: \"ellipse\";\n readonly anchors: AnchorPair;\n readonly style: ShapeStyle;\n};\n\n/**\n * `path` — open or closed polyline with arbitrary anchor count.\n *\n * @formula identity — N-anchor path (closed = `style.closed`)\n * @anchors anchors: ReadonlyArray<WorldPoint>\n * @since 0.3\n * @stable\n * @example\n * const s: PathState = {\n * kind: \"path\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: { closed: true },\n * };\n * void s;\n */\nexport type PathState = DrawingMeta & {\n readonly kind: \"path\";\n readonly anchors: ReadonlyArray<WorldPoint>;\n readonly style: PathOpts;\n};\n\n/**\n * State for a `fill-between` drawing: a filled ribbon between two edges.\n * Each edge is an ordered list of world anchors; the rendered region is\n * the closed polygon `edgeA` forward then `edgeB` reversed.\n *\n * @formula N/A — drawing state payload\n * @anchors `edgeA`, `edgeB` — two `ReadonlyArray<WorldPoint>`\n * @since 0.4\n * @stable\n * @example\n * const state: FillBetweenState = {\n * kind: \"fill-between\",\n * edgeA: [{ time: 0, price: 1 }],\n * edgeB: [{ time: 0, price: 0 }],\n * style: { fill: \"#3b82f6\" },\n * };\n * void state;\n */\nexport type FillBetweenState = DrawingMeta & {\n readonly kind: \"fill-between\";\n readonly edgeA: ReadonlyArray<WorldPoint>;\n readonly edgeB: ReadonlyArray<WorldPoint>;\n readonly style: FillBetweenStyle;\n};\n\n/**\n * `marker` — single-anchor glyph with optional value label.\n *\n * @formula identity — marker placed at `anchor`\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: MarkerState = {\n * kind: \"marker\",\n * anchor: { time: 1, price: 1 },\n * text: \"B\",\n * style: {},\n * };\n * void s;\n */\nexport type MarkerState = DrawingMeta & {\n readonly kind: \"marker\";\n readonly anchor: WorldPoint;\n readonly text?: string;\n readonly value?: number;\n readonly style: TextOpts;\n};\n\n/**\n * `arc` — three-anchor arc (start / control / end).\n *\n * @formula quadratic Bezier through `anchors`\n * @anchors anchors: [start, control, end]\n * @since 0.3\n * @stable\n * @example\n * const s: ArcState = {\n * kind: \"arc\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 2 },\n * { time: 2, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type ArcState = DrawingMeta & {\n readonly kind: \"arc\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `curve` — three-anchor quadratic Bezier.\n *\n * @formula B(t) = (1−t)²·P0 + 2(1−t)t·P1 + t²·P2\n * @anchors anchors: [P0, P1, P2]\n * @since 0.3\n * @stable\n * @example\n * const s: CurveState = {\n * kind: \"curve\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 2 },\n * { time: 2, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type CurveState = DrawingMeta & {\n readonly kind: \"curve\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `double-curve` — five-anchor cubic Bezier pair (two stitched curves).\n *\n * @formula two cubic Beziers stitched at `anchors[2]`\n * @anchors anchors: [P0, P1, mid, P3, P4]\n * @since 0.3\n * @stable\n * @example\n * const s: DoubleCurveState = {\n * kind: \"double-curve\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0 }, { time: 3, price: -1 },\n * { time: 4, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type DoubleCurveState = DrawingMeta & {\n readonly kind: \"double-curve\";\n readonly anchors: AnchorQuint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `pen` — freehand polyline.\n *\n * @formula identity — sampled freehand polyline\n * @anchors anchors: ReadonlyArray<WorldPoint>\n * @since 0.3\n * @stable\n * @example\n * const s: PenState = {\n * kind: \"pen\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type PenState = DrawingMeta & {\n readonly kind: \"pen\";\n readonly anchors: ReadonlyArray<WorldPoint>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `highlighter` — freehand thick translucent stroke.\n *\n * @formula identity — sampled freehand polyline rendered translucent\n * @anchors anchors: ReadonlyArray<WorldPoint>\n * @since 0.3\n * @stable\n * @example\n * const s: HighlighterState = {\n * kind: \"highlighter\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: { color: \"#facc15\", alpha: 0.3 },\n * };\n * void s;\n */\nexport type HighlighterState = DrawingMeta & {\n readonly kind: \"highlighter\";\n readonly anchors: ReadonlyArray<WorldPoint>;\n readonly style: HighlighterStyle;\n};\n\n/**\n * `brush` — freehand stroked-and-filled stroke.\n *\n * @formula identity — sampled freehand polyline rendered stroked + filled\n * @anchors anchors: ReadonlyArray<WorldPoint>\n * @since 0.3\n * @stable\n * @example\n * const s: BrushState = {\n * kind: \"brush\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: { stroke: \"#000\", fill: \"#fff\" },\n * };\n * void s;\n */\nexport type BrushState = DrawingMeta & {\n readonly kind: \"brush\";\n readonly anchors: ReadonlyArray<WorldPoint>;\n readonly style: BrushStyle;\n};\n\n/**\n * `text` — single-anchor text label.\n *\n * @formula identity — `body` rendered at `anchor`\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: TextState = {\n * kind: \"text\",\n * anchor: { time: 1, price: 1 },\n * body: \"Note\",\n * style: {},\n * };\n * void s;\n */\nexport type TextState = DrawingMeta & {\n readonly kind: \"text\";\n readonly anchor: WorldPoint;\n readonly body: string;\n readonly style: TextOpts;\n};\n\n/**\n * `arrow` — two-anchor arrow with optional label.\n *\n * @formula identity — directional arrow from `anchors[0]` → `anchors[1]`\n * @anchors anchors: [tail, head]\n * @since 0.3\n * @stable\n * @example\n * const s: ArrowState = {\n * kind: \"arrow\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type ArrowState = DrawingMeta & {\n readonly kind: \"arrow\";\n readonly anchors: AnchorPair;\n readonly style: ArrowOpts;\n};\n\n/**\n * `arrow-marker` — single-anchor compact arrow + label glyph.\n *\n * @formula identity — arrow glyph at `anchor` with optional text\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: ArrowMarkerState = {\n * kind: \"arrow-marker\",\n * anchor: { time: 1, price: 1 },\n * style: { text: \"B\" },\n * };\n * void s;\n */\nexport type ArrowMarkerState = DrawingMeta & {\n readonly kind: \"arrow-marker\";\n readonly anchor: WorldPoint;\n readonly style: ArrowMarkerOpts;\n};\n\n/**\n * `arrow-mark-up` — bullish marker (typically below the bar).\n *\n * @formula identity — upward marker glyph at `anchor`\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: ArrowMarkUpState = {\n * kind: \"arrow-mark-up\",\n * anchor: { time: 1, price: 1 },\n * style: {},\n * };\n * void s;\n */\nexport type ArrowMarkUpState = DrawingMeta & {\n readonly kind: \"arrow-mark-up\";\n readonly anchor: WorldPoint;\n readonly style: ArrowMarkerOpts;\n};\n\n/**\n * `arrow-mark-down` — bearish marker (typically above the bar).\n *\n * @formula identity — downward marker glyph at `anchor`\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: ArrowMarkDownState = {\n * kind: \"arrow-mark-down\",\n * anchor: { time: 1, price: 1 },\n * style: {},\n * };\n * void s;\n */\nexport type ArrowMarkDownState = DrawingMeta & {\n readonly kind: \"arrow-mark-down\";\n readonly anchor: WorldPoint;\n readonly style: ArrowMarkerOpts;\n};\n\n/**\n * `trend-channel` — two parallel lines defined by three anchors.\n *\n * @formula parallel pair: line(`anchors[0]`, `anchors[1]`) and its\n * translate through `anchors[2]`\n * @anchors anchors: [primaryA, primaryB, parallelHook]\n * @since 0.3\n * @stable\n * @example\n * const s: TrendChannelState = {\n * kind: \"trend-channel\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 0, price: 1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type TrendChannelState = DrawingMeta & {\n readonly kind: \"trend-channel\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `flat-top-bottom` — horizontal channel of two parallel flat edges.\n *\n * @formula two horizontal lines at min/max prices from anchors\n * @anchors anchors: [leftEdge, rightEdge, oppositeHook]\n * @since 0.3\n * @stable\n * @example\n * const s: FlatTopBottomState = {\n * kind: \"flat-top-bottom\",\n * anchors: [\n * { time: 0, price: 1 },\n * { time: 1, price: 1 },\n * { time: 0, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type FlatTopBottomState = DrawingMeta & {\n readonly kind: \"flat-top-bottom\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `disjoint-channel` — two non-parallel channel edges.\n *\n * @formula two independent line segments — line(A,B) + line(C,D)\n * @anchors anchors: [A, B, C, D]\n * @since 0.3\n * @stable\n * @example\n * const s: DisjointChannelState = {\n * kind: \"disjoint-channel\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 0, price: 2 }, { time: 1, price: 3 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type DisjointChannelState = DrawingMeta & {\n readonly kind: \"disjoint-channel\";\n readonly anchors: AnchorQuad;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `regression-trend` — least-squares fit ± bands across an anchor range.\n *\n * @formula fit = OLS(close[start..end]); bands = fit ± σ·stdevMultiplier\n * @anchors anchors: [start, end]\n * @since 0.3\n * @stable\n * @example\n * const s: RegressionTrendState = {\n * kind: \"regression-trend\",\n * anchors: [{ time: 0, price: 0 }, { time: 100, price: 1 }],\n * style: { source: \"close\", stdevMultiplier: 2 },\n * };\n * void s;\n */\nexport type RegressionTrendState = DrawingMeta & {\n readonly kind: \"regression-trend\";\n readonly anchors: AnchorPair;\n readonly style: RegressionTrendOpts;\n};\n\n/**\n * `fib-retracement` — fib level lines between two pivot anchors.\n *\n * @formula for each level r in `style.levels`: y(r) = A.price + r·(B.price − A.price)\n * @anchors anchors: [swingA, swingB]\n * @since 0.3\n * @stable\n * @example\n * const s: FibRetracementState = {\n * kind: \"fib-retracement\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: { levels: [0.382, 0.5, 0.618] },\n * };\n * void s;\n */\nexport type FibRetracementState = DrawingMeta & {\n readonly kind: \"fib-retracement\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-trend-extension` — three-anchor fib extension projection.\n *\n * @formula range r = B−A; projection = C + r·level for level in style.levels\n * @anchors anchors: [A, B, C]\n * @since 0.3\n * @stable\n * @example\n * const s: FibTrendExtensionState = {\n * kind: \"fib-trend-extension\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 2, price: 0.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type FibTrendExtensionState = DrawingMeta & {\n readonly kind: \"fib-trend-extension\";\n readonly anchors: AnchorTriple;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-channel` — fib levels projected as parallel channel lines.\n *\n * @formula parallel translates of line(A,B) at fib-ratio offsets through C\n * @anchors anchors: [A, B, C]\n * @since 0.3\n * @stable\n * @example\n * const s: FibChannelState = {\n * kind: \"fib-channel\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 0, price: 1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type FibChannelState = DrawingMeta & {\n readonly kind: \"fib-channel\";\n readonly anchors: AnchorTriple;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-time-zone` — vertical fib zones along the time axis.\n *\n * @formula vertical lines at t = A.time + ratio·(B.time − A.time)\n * @anchors anchors: [A, B]\n * @since 0.3\n * @stable\n * @example\n * const s: FibTimeZoneState = {\n * kind: \"fib-time-zone\",\n * anchors: [{ time: 0, price: 0 }, { time: 100, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type FibTimeZoneState = DrawingMeta & {\n readonly kind: \"fib-time-zone\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-wedge` — fib-spaced lines fanned from a single anchor.\n *\n * @formula rays from `anchors[0]` at angles derived from fib ratios\n * @anchors anchors: [pivot, range1, range2]\n * @since 0.3\n * @stable\n * @example\n * const s: FibWedgeState = {\n * kind: \"fib-wedge\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 1, price: -1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type FibWedgeState = DrawingMeta & {\n readonly kind: \"fib-wedge\";\n readonly anchors: AnchorTriple;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-speed-fan` — fan of fib-ratio speed lines from a pivot.\n *\n * @formula rays from A with slopes = fib-ratio · slope(line(A,B))\n * @anchors anchors: [A, B]\n * @since 0.3\n * @stable\n * @example\n * const s: FibSpeedFanState = {\n * kind: \"fib-speed-fan\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type FibSpeedFanState = DrawingMeta & {\n readonly kind: \"fib-speed-fan\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-speed-arcs` — concentric arcs at fib radii.\n *\n * @formula for each level r in `style.levels`: arc of radius r·|AB| centred at A\n * @anchors anchors: [centre, edge]\n * @since 0.3\n * @stable\n * @example\n * const s: FibSpeedArcsState = {\n * kind: \"fib-speed-arcs\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type FibSpeedArcsState = DrawingMeta & {\n readonly kind: \"fib-speed-arcs\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-spiral` — fib-ratio logarithmic spiral.\n *\n * @formula r(θ) = a · φ^(θ/π/2) where φ = (1+√5)/2\n * @anchors anchors: [centre, edge]\n * @since 0.3\n * @stable\n * @example\n * const s: FibSpiralState = {\n * kind: \"fib-spiral\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type FibSpiralState = DrawingMeta & {\n readonly kind: \"fib-spiral\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-circles` — concentric circles at fib radii.\n *\n * @formula for each level r in `style.levels`: circle of radius r·|AB| centred at A\n * @anchors anchors: [centre, edge]\n * @since 0.3\n * @stable\n * @example\n * const s: FibCirclesState = {\n * kind: \"fib-circles\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type FibCirclesState = DrawingMeta & {\n readonly kind: \"fib-circles\";\n readonly anchors: AnchorPair;\n readonly style: FibOpts;\n};\n\n/**\n * `fib-trend-time` — fib-spaced vertical time projections from a swing.\n *\n * @formula vertical lines at t = C.time + ratio·(B.time − A.time)\n * @anchors anchors: [A, B, C]\n * @since 0.3\n * @stable\n * @example\n * const s: FibTrendTimeState = {\n * kind: \"fib-trend-time\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 2, price: 0.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type FibTrendTimeState = DrawingMeta & {\n readonly kind: \"fib-trend-time\";\n readonly anchors: AnchorTriple;\n readonly style: FibOpts;\n};\n\n/**\n * `gann-box` — gann ratio grid inside an anchor pair.\n *\n * @formula grid of horizontal + vertical lines at 1/8, 2/8, …, 7/8 of |AB|\n * @anchors anchors: [A, B]\n * @since 0.3\n * @stable\n * @example\n * const s: GannBoxState = {\n * kind: \"gann-box\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type GannBoxState = DrawingMeta & {\n readonly kind: \"gann-box\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `gann-square-fixed` — square-of-nine fixed-size grid at an anchor.\n *\n * @formula 9×9 grid centred at `anchor` with fixed step\n * @anchors anchor\n * @since 0.3\n * @stable\n * @example\n * const s: GannSquareFixedState = {\n * kind: \"gann-square-fixed\",\n * anchor: { time: 0, price: 0 },\n * style: {},\n * };\n * void s;\n */\nexport type GannSquareFixedState = DrawingMeta & {\n readonly kind: \"gann-square-fixed\";\n readonly anchor: WorldPoint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `gann-square` — square-of-nine sized by two anchors.\n *\n * @formula 9×9 grid spanning bbox of `anchors`\n * @anchors anchors: [A, B]\n * @since 0.3\n * @stable\n * @example\n * const s: GannSquareState = {\n * kind: \"gann-square\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type GannSquareState = DrawingMeta & {\n readonly kind: \"gann-square\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `gann-fan` — fan of gann-angle lines from a pivot.\n *\n * @formula rays from A at slopes 1×1, 1×2, 2×1, 1×3, 3×1, 1×4, 4×1, 1×8, 8×1\n * @anchors anchors: [pivot, reference]\n * @since 0.3\n * @stable\n * @example\n * const s: GannFanState = {\n * kind: \"gann-fan\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type GannFanState = DrawingMeta & {\n readonly kind: \"gann-fan\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `pitchfork` — Andrews pitchfork. The `variant` discriminator collapses\n * the four invinite tools (`standard` / `schiff` / `modifiedSchiff` /\n * `inside`) into one kind.\n *\n * @formula median + two parallels through `anchors[1]` / `anchors[2]`\n * @anchors anchors: [pivot, high, low]; variant: \"standard\"|\"schiff\"|\"modifiedSchiff\"|\"inside\"\n * @since 0.3\n * @stable\n * @example\n * const s: PitchforkState = {\n * kind: \"pitchfork\",\n * variant: \"modifiedSchiff\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 2, price: 0.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type PitchforkState = DrawingMeta & {\n readonly kind: \"pitchfork\";\n readonly anchors: AnchorTriple;\n readonly variant: \"standard\" | \"schiff\" | \"modifiedSchiff\" | \"inside\";\n readonly style: LineDrawStyle;\n};\n\n/**\n * `pitchfan` — fan-variant pitchfork (no median line).\n *\n * @formula rays from `anchors[0]` through `anchors[1]` / `anchors[2]`\n * @anchors anchors: [pivot, high, low]\n * @since 0.3\n * @stable\n * @example\n * const s: PitchfanState = {\n * kind: \"pitchfan\",\n * anchors: [\n * { time: 0, price: 0 },\n * { time: 1, price: 1 },\n * { time: 2, price: 0.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type PitchfanState = DrawingMeta & {\n readonly kind: \"pitchfan\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `xabcd-pattern` — harmonic pattern over five anchor pivots.\n *\n * @formula five-leg pattern with fib-ratio retracements between adjacent legs\n * @anchors anchors: [X, A, B, C, D]\n * @since 0.3\n * @stable\n * @example\n * const s: XabcdPatternState = {\n * kind: \"xabcd-pattern\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * { time: 4, price: 1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type XabcdPatternState = DrawingMeta & {\n readonly kind: \"xabcd-pattern\";\n readonly anchors: AnchorQuint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `cypher-pattern` — five-anchor harmonic pattern. Has no standalone\n * invinite tool (Task 20's `defineDrawing` is the only emit path).\n *\n * @formula Cypher: XB at 0.382-0.618 of XA, XC at 1.272-1.414 of XA, XD at 0.786 of XC\n * @anchors anchors: [X, A, B, C, D]\n * @since 0.3\n * @stable\n * @example\n * const s: CypherPatternState = {\n * kind: \"cypher-pattern\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.4 }, { time: 3, price: 1.3 },\n * { time: 4, price: 0.6 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type CypherPatternState = DrawingMeta & {\n readonly kind: \"cypher-pattern\";\n readonly anchors: AnchorQuint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `head-and-shoulders` — five-pivot reversal pattern.\n *\n * @formula identity — pivot polyline with neckline at min(anchors[0].price, anchors[4].price)\n * @anchors anchors: [leftShoulderHigh, leftLow, headHigh, rightLow, rightShoulderHigh]\n * @since 0.3\n * @stable\n * @example\n * const s: HeadAndShouldersState = {\n * kind: \"head-and-shoulders\",\n * anchors: [\n * { time: 0, price: 1 }, { time: 1, price: 0 },\n * { time: 2, price: 2 }, { time: 3, price: 0 },\n * { time: 4, price: 1 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type HeadAndShouldersState = DrawingMeta & {\n readonly kind: \"head-and-shoulders\";\n readonly anchors: AnchorQuint;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `abcd-pattern` — four-anchor measured-move pattern.\n *\n * @formula CD = AB projected from C (fib ratio 1.0 default)\n * @anchors anchors: [A, B, C, D]\n * @since 0.3\n * @stable\n * @example\n * const s: AbcdPatternState = {\n * kind: \"abcd-pattern\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type AbcdPatternState = DrawingMeta & {\n readonly kind: \"abcd-pattern\";\n readonly anchors: AnchorQuad;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `triangle-pattern` — three-anchor triangle pattern (ascending /\n * descending / symmetrical).\n *\n * @formula identity — three-vertex pattern outline\n * @anchors anchors: [apex, baseHigh, baseLow]\n * @since 0.3\n * @stable\n * @example\n * const s: TrianglePatternState = {\n * kind: \"triangle-pattern\",\n * anchors: [\n * { time: 2, price: 0.5 },\n * { time: 0, price: 1 },\n * { time: 0, price: 0 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type TrianglePatternState = DrawingMeta & {\n readonly kind: \"triangle-pattern\";\n readonly anchors: AnchorTriple;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `three-drives-pattern` — six-leg three-drives reversal pattern.\n *\n * @formula three fib-ratio drives + two corrective retracements\n * @anchors anchors: [start, drive1, retr1, drive2, retr2, drive3, end]\n * @since 0.3\n * @stable\n * @example\n * const s: ThreeDrivesPatternState = {\n * kind: \"three-drives-pattern\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * { time: 4, price: 1 }, { time: 5, price: 2 },\n * { time: 6, price: 1.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type ThreeDrivesPatternState = DrawingMeta & {\n readonly kind: \"three-drives-pattern\";\n readonly anchors: AnchorHept;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `elliott-impulse-wave` — five-wave impulse (1-2-3-4-5).\n *\n * @formula identity — five-pivot polyline; per-leg fib invariants validated\n * in the per-category port (Task 16)\n * @anchors anchors: [wave1End, wave2End, wave3End, wave4End, wave5End]; labels?\n * @since 0.3\n * @stable\n * @example\n * const s: ElliottImpulseWaveState = {\n * kind: \"elliott-impulse-wave\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * { time: 4, price: 1 },\n * ],\n * labels: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n * style: {},\n * };\n * void s;\n */\nexport type ElliottImpulseWaveState = DrawingMeta & {\n readonly kind: \"elliott-impulse-wave\";\n readonly anchors: AnchorQuint;\n readonly labels?: ReadonlyArray<string>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `elliott-correction-wave` — three-wave A-B-C correction.\n *\n * @formula identity — three-pivot polyline\n * @anchors anchors: [A, B, C]; labels?\n * @since 0.3\n * @stable\n * @example\n * const s: ElliottCorrectionWaveState = {\n * kind: \"elliott-correction-wave\",\n * anchors: [\n * { time: 0, price: 1 },\n * { time: 1, price: 0 },\n * { time: 2, price: 0.5 },\n * ],\n * labels: [\"A\", \"B\", \"C\"],\n * style: {},\n * };\n * void s;\n */\nexport type ElliottCorrectionWaveState = DrawingMeta & {\n readonly kind: \"elliott-correction-wave\";\n readonly anchors: AnchorTriple;\n readonly labels?: ReadonlyArray<string>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `elliott-triangle-wave` — five-wave triangle correction.\n *\n * @formula identity — five-pivot polyline matching triangle invariants\n * @anchors anchors: [a, b, c, d, e]; labels?\n * @since 0.3\n * @stable\n * @example\n * const s: ElliottTriangleWaveState = {\n * kind: \"elliott-triangle-wave\",\n * anchors: [\n * { time: 0, price: 1 }, { time: 1, price: 0 },\n * { time: 2, price: 0.8 }, { time: 3, price: 0.2 },\n * { time: 4, price: 0.5 },\n * ],\n * labels: [\"a\", \"b\", \"c\", \"d\", \"e\"],\n * style: {},\n * };\n * void s;\n */\nexport type ElliottTriangleWaveState = DrawingMeta & {\n readonly kind: \"elliott-triangle-wave\";\n readonly anchors: AnchorQuint;\n readonly labels?: ReadonlyArray<string>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `elliott-double-combo` — seven-anchor W-X-Y double-three.\n *\n * @formula identity — seven-pivot polyline: W three-wave + X + Y three-wave\n * @anchors anchors: [start, W-end, x1, X-end, x2, Y-mid, Y-end]; labels?\n * @since 0.3\n * @stable\n * @example\n * const s: ElliottDoubleComboState = {\n * kind: \"elliott-double-combo\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * { time: 4, price: 1 }, { time: 5, price: 2 },\n * { time: 6, price: 1.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type ElliottDoubleComboState = DrawingMeta & {\n readonly kind: \"elliott-double-combo\";\n readonly anchors: AnchorHept;\n readonly labels?: ReadonlyArray<string>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `elliott-triple-combo` — seven-anchor W-X-Y-X-Z triple-three.\n *\n * @formula identity — seven-pivot polyline: three corrective patterns joined by X waves\n * @anchors anchors: [start, W-end, X1-end, Y-end, X2-end, Z-mid, Z-end]; labels?\n * @since 0.3\n * @stable\n * @example\n * const s: ElliottTripleComboState = {\n * kind: \"elliott-triple-combo\",\n * anchors: [\n * { time: 0, price: 0 }, { time: 1, price: 1 },\n * { time: 2, price: 0.5 }, { time: 3, price: 1.5 },\n * { time: 4, price: 1 }, { time: 5, price: 2 },\n * { time: 6, price: 1.5 },\n * ],\n * style: {},\n * };\n * void s;\n */\nexport type ElliottTripleComboState = DrawingMeta & {\n readonly kind: \"elliott-triple-combo\";\n readonly anchors: AnchorHept;\n readonly labels?: ReadonlyArray<string>;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `cyclic-lines` — equally spaced vertical lines marking cycle periods.\n *\n * @formula vertical lines at t = A.time + n·(B.time − A.time) for n ∈ ℕ\n * @anchors anchors: [cycleStart, cycleEnd]\n * @since 0.3\n * @stable\n * @example\n * const s: CyclicLinesState = {\n * kind: \"cyclic-lines\",\n * anchors: [{ time: 0, price: 0 }, { time: 100, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type CyclicLinesState = DrawingMeta & {\n readonly kind: \"cyclic-lines\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `time-cycles` — concentric semicircles measuring time cycles.\n *\n * @formula semicircles of radius n·|AB| centred at A for n ∈ ℕ\n * @anchors anchors: [centre, edge]\n * @since 0.3\n * @stable\n * @example\n * const s: TimeCyclesState = {\n * kind: \"time-cycles\",\n * anchors: [{ time: 0, price: 0 }, { time: 100, price: 0 }],\n * style: {},\n * };\n * void s;\n */\nexport type TimeCyclesState = DrawingMeta & {\n readonly kind: \"time-cycles\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `sine-line` — sinusoidal projection fitted between two anchors.\n *\n * @formula y(t) = (A.price + B.price)/2 + ((B.price − A.price)/2)·sin(2π·(t − A.time)/(B.time − A.time))\n * @anchors anchors: [periodStart, periodEnd]\n * @since 0.3\n * @stable\n * @example\n * const s: SineLineState = {\n * kind: \"sine-line\",\n * anchors: [{ time: 0, price: 0 }, { time: 100, price: 1 }],\n * style: {},\n * };\n * void s;\n */\nexport type SineLineState = DrawingMeta & {\n readonly kind: \"sine-line\";\n readonly anchors: AnchorPair;\n readonly style: LineDrawStyle;\n};\n\n/**\n * `group` — logical container for child drawings. Children are\n * referenced by handle id; rendering is delegated to the children.\n *\n * @formula N/A — pure container; rendering passes through to children\n * @anchors N/A — group carries no geometry, only child references\n * @since 0.3\n * @stable\n * @example\n * const s: GroupState = {\n * kind: \"group\",\n * childHandleIds: [\"h1\", \"h2\"],\n * };\n * void s;\n */\nexport type GroupState = DrawingMeta & {\n readonly kind: \"group\";\n readonly childHandleIds: ReadonlyArray<string>;\n readonly meta?: Readonly<Record<string, JsonValue>>;\n};\n\n/**\n * `frame` — labelled rectangle container around child drawings. Carries\n * a background colour + label per {@link FrameOpts}.\n *\n * @formula identity — labelled bounding rectangle around `childHandleIds`\n * @anchors anchors: [topLeft, bottomRight]\n * @since 0.3\n * @stable\n * @example\n * const s: FrameState = {\n * kind: \"frame\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * childHandleIds: [],\n * style: { label: \"Idea\" },\n * };\n * void s;\n */\nexport type FrameState = DrawingMeta & {\n readonly kind: \"frame\";\n readonly anchors: AnchorPair;\n readonly childHandleIds: ReadonlyArray<string>;\n readonly style: FrameOpts;\n};\n\n/**\n * `table` — CSS-pixel viewport-anchored dashboard/status panel. It\n * deliberately carries no world-space anchors; adapters resolve\n * `position` against the current viewport.\n *\n * @formula N/A — table layout resolved in CSS pixels by adapter\n * @anchors position: CSS viewport anchor\n * @since 0.5\n * @stable\n * @example\n * const s: TableState = {\n * kind: \"table\",\n * position: \"top-right\",\n * cells: [[{ text: \"P&L\" }, { text: \"+12.5%\", textColor: \"#16a34a\" }]],\n * };\n * void s;\n */\nexport type TableState = DrawingMeta & {\n readonly kind: \"table\";\n readonly position: TablePosition;\n readonly cells: ReadonlyArray<ReadonlyArray<TableCell>>;\n readonly borderColor?: Color;\n readonly borderWidth?: number;\n readonly frame?: Readonly<{ color: Color; width: number }>;\n};\n\n/**\n * Per-kind state union — every {@link DrawingKind} maps to exactly one\n * variant. Collab-only fields (Yjs `id`, `layerId`, `createdAt`,\n * `authorId`, `parentGroupId`, `parentFrameId`, `visibleIntervals`)\n * from the invinite source are stripped.\n *\n * The 63 variants here are intentionally minimal shells. Tasks 5–18\n * (per-category ports) refine each variant's geometry + style payload\n * against the invinite source-of-truth. Exhaustiveness is asserted via\n * the `(k satisfies never)` switch in `drawingState.types.test.ts`.\n *\n * @formula discriminated union — switch on `state.kind` to read variant\n * @anchors per-variant — see the individual `*State` declarations above\n * @since 0.3\n * @stable\n * @example\n * const s: DrawingState = {\n * kind: \"horizontal-line\",\n * price: 100,\n * style: { color: \"#3b82f6\" },\n * };\n * void s;\n */\nexport type DrawingState =\n | LineState\n | HorizontalLineState\n | HorizontalRayState\n | VerticalLineState\n | CrossLineState\n | TrendAngleState\n | RectangleState\n | RotatedRectangleState\n | TriangleState\n | PolylineState\n | CircleState\n | EllipseState\n | PathState\n | FillBetweenState\n | MarkerState\n | ArcState\n | CurveState\n | DoubleCurveState\n | PenState\n | HighlighterState\n | BrushState\n | TextState\n | ArrowState\n | ArrowMarkerState\n | ArrowMarkUpState\n | ArrowMarkDownState\n | TrendChannelState\n | FlatTopBottomState\n | DisjointChannelState\n | RegressionTrendState\n | FibRetracementState\n | FibTrendExtensionState\n | FibChannelState\n | FibTimeZoneState\n | FibWedgeState\n | FibSpeedFanState\n | FibSpeedArcsState\n | FibSpiralState\n | FibCirclesState\n | FibTrendTimeState\n | GannBoxState\n | GannSquareFixedState\n | GannSquareState\n | GannFanState\n | PitchforkState\n | PitchfanState\n | XabcdPatternState\n | CypherPatternState\n | HeadAndShouldersState\n | AbcdPatternState\n | TrianglePatternState\n | ThreeDrivesPatternState\n | ElliottImpulseWaveState\n | ElliottCorrectionWaveState\n | ElliottTriangleWaveState\n | ElliottDoubleComboState\n | ElliottTripleComboState\n | CyclicLinesState\n | TimeCyclesState\n | SineLineState\n | GroupState\n | FrameState\n | TableState;\n"]}