@pixerate/editor 0.48.0 → 0.50.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 (78) hide show
  1. package/dist/agent/index.cjs +24 -22
  2. package/dist/agent/index.cjs.map +1 -1
  3. package/dist/agent/index.js +6 -4
  4. package/dist/agent/index.js.map +1 -1
  5. package/dist/canvas/index.cjs +151 -25
  6. package/dist/canvas/index.cjs.map +1 -1
  7. package/dist/canvas/index.d.cts +109 -3
  8. package/dist/canvas/index.d.ts +109 -3
  9. package/dist/canvas/index.js +127 -1
  10. package/dist/canvas/index.js.map +1 -1
  11. package/dist/chart/index.cjs +81 -79
  12. package/dist/chart/index.cjs.map +1 -1
  13. package/dist/chart/index.js +52 -50
  14. package/dist/chart/index.js.map +1 -1
  15. package/dist/{chunk-TXXNBDQX.cjs → chunk-2Q46FKZK.cjs} +113 -34
  16. package/dist/chunk-2Q46FKZK.cjs.map +1 -0
  17. package/dist/{chunk-PIMCHMZE.cjs → chunk-3JNRQVTS.cjs} +16 -16
  18. package/dist/{chunk-PIMCHMZE.cjs.map → chunk-3JNRQVTS.cjs.map} +1 -1
  19. package/dist/{chunk-HXUL3LS7.js → chunk-5TWIN7ZJ.js} +2 -2
  20. package/dist/{chunk-VKPEPWKZ.js → chunk-DQPBQXKG.js} +4 -4
  21. package/dist/{chunk-MUCYWI6W.cjs → chunk-FEMIVHN3.cjs} +17 -15
  22. package/dist/chunk-FEMIVHN3.cjs.map +1 -0
  23. package/dist/{chunk-XUUD43OV.js → chunk-GJBIVWB2.js} +2 -2
  24. package/dist/{chunk-PRSJJZBS.cjs → chunk-GTZXF4BI.cjs} +191 -841
  25. package/dist/chunk-GTZXF4BI.cjs.map +1 -0
  26. package/dist/chunk-JOX6MJW4.cjs +674 -0
  27. package/dist/chunk-JOX6MJW4.cjs.map +1 -0
  28. package/dist/{chunk-WXEHCVJQ.cjs → chunk-LNKZPIQD.cjs} +52 -52
  29. package/dist/{chunk-WXEHCVJQ.cjs.map → chunk-LNKZPIQD.cjs.map} +1 -1
  30. package/dist/chunk-OV7UAKIY.js +674 -0
  31. package/dist/chunk-OV7UAKIY.js.map +1 -0
  32. package/dist/{chunk-PKBWLEL7.js → chunk-QFTVLEVN.js} +6 -4
  33. package/dist/{chunk-PKBWLEL7.js.map → chunk-QFTVLEVN.js.map} +1 -1
  34. package/dist/{chunk-KRGXUQ2Y.js → chunk-T6XU4B54.js} +82 -3
  35. package/dist/chunk-T6XU4B54.js.map +1 -0
  36. package/dist/{chunk-U6IZKC7B.cjs → chunk-TGBCBQFV.cjs} +14 -14
  37. package/dist/{chunk-U6IZKC7B.cjs.map → chunk-TGBCBQFV.cjs.map} +1 -1
  38. package/dist/{chunk-3LHWTGHW.js → chunk-TO22LX34.js} +11 -1
  39. package/dist/chunk-TO22LX34.js.map +1 -0
  40. package/dist/{chunk-LTUM52X6.js → chunk-WBOAXDKD.js} +109 -759
  41. package/dist/chunk-WBOAXDKD.js.map +1 -0
  42. package/dist/{chunk-VNYRI265.cjs → chunk-YNSK4MGT.cjs} +12 -2
  43. package/dist/chunk-YNSK4MGT.cjs.map +1 -0
  44. package/dist/export/index.cjs +4 -2
  45. package/dist/export/index.cjs.map +1 -1
  46. package/dist/export/index.d.cts +5 -1
  47. package/dist/export/index.d.ts +5 -1
  48. package/dist/export/index.js +3 -1
  49. package/dist/extensions/index.cjs +6 -5
  50. package/dist/extensions/index.cjs.map +1 -1
  51. package/dist/extensions/index.js +5 -4
  52. package/dist/image-editor/index.cjs +141 -1
  53. package/dist/image-editor/index.cjs.map +1 -1
  54. package/dist/image-editor/index.d.cts +42 -1
  55. package/dist/image-editor/index.d.ts +42 -1
  56. package/dist/image-editor/index.js +140 -0
  57. package/dist/image-editor/index.js.map +1 -1
  58. package/dist/index.cjs +12 -11
  59. package/dist/index.cjs.map +1 -1
  60. package/dist/index.js +6 -5
  61. package/dist/index.js.map +1 -1
  62. package/dist/{pathfinder-D98S2lV5.d.ts → pathfinder-B9xh_pCZ.d.ts} +2 -1
  63. package/dist/{pathfinder-DKRcXiLS.d.cts → pathfinder-QdG70sr9.d.cts} +2 -1
  64. package/dist/vector/index.cjs +153 -153
  65. package/dist/vector/index.d.cts +1 -1
  66. package/dist/vector/index.d.ts +1 -1
  67. package/dist/vector/index.js +1 -1
  68. package/package.json +1 -1
  69. package/dist/chunk-3LHWTGHW.js.map +0 -1
  70. package/dist/chunk-KRGXUQ2Y.js.map +0 -1
  71. package/dist/chunk-LTUM52X6.js.map +0 -1
  72. package/dist/chunk-MUCYWI6W.cjs.map +0 -1
  73. package/dist/chunk-PRSJJZBS.cjs.map +0 -1
  74. package/dist/chunk-TXXNBDQX.cjs.map +0 -1
  75. package/dist/chunk-VNYRI265.cjs.map +0 -1
  76. /package/dist/{chunk-HXUL3LS7.js.map → chunk-5TWIN7ZJ.js.map} +0 -0
  77. /package/dist/{chunk-VKPEPWKZ.js.map → chunk-DQPBQXKG.js.map} +0 -0
  78. /package/dist/{chunk-XUUD43OV.js.map → chunk-GJBIVWB2.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/chunk-U6IZKC7B.cjs","../src/chart/schemas.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACGO,IAAM,MAAA,EAAoB,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,2EAA2E,CAAA;AACxJ,IAAM,WAAA,EAAyB,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,mDAAmD,CAAA;AACjH,IAAM,aAAA,EAA2B,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,SAAS,CAAA,EAAG,WAAA,EAAa,oDAAoD,CAAA;AACjI,IAAM,MAAA,EAAoB,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,iCAAiC,CAAA;AACtH,IAAM,OAAA,EAAqB,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,EAAA,EAAI,OAAA,EAAS,IAAA,EAAM,WAAA,EAAa,kCAAkC,CAAA;AAExH,IAAM,OAAA,EAAqB;AAAA,EACjC,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,EAAa,iDAAA;AAAA,EACb,UAAA,EAAY;AAAA,IACX,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,qCAAmB,CAAA,EAAG,WAAA,EAAa,2EAAsE,CAAA;AAAA,IAC5I,QAAA,EAAU,EAAE,IAAA,EAAM,SAAA,EAAW,OAAA,EAAS,CAAA,EAAG,OAAA,EAAS,EAAA,EAAI,WAAA,EAAa,iDAAiD,CAAA;AAAA,IACpH,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,oEAAoE,CAAA;AAAA,IAC7G,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,4BAA4B,CAAA;AAAA,IACnE,MAAA,EAAQ,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,2BAA2B,CAAA;AAAA,IAClE,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,4FAA4F;AAAA,EAClI,CAAA;AAAA,EACA,oBAAA,EAAsB;AACvB,CAAA;AAEO,IAAM,KAAA,EAAO,CAAC,IAAA,EAAA,GAAA,CAA8B;AAAA,EAClD,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,EAAa,IAAA;AAAA,EACb,UAAA,EAAY;AAAA,IACX,IAAA,EAAM,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,uCAAuC,CAAA;AAAA,IAC7E,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,4BAA4B,CAAA;AAAA,IAClE,GAAA,EAAK,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,4CAA4C,CAAA;AAAA,IAC1F,GAAA,EAAK,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,4CAA4C,CAAA;AAAA,IAC1F,IAAA,EAAM,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,gBAAA,EAAkB,CAAA,EAAG,WAAA,EAAa,uDAAuD,CAAA;AAAA,IAC3H,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,2BAA2B,CAAA;AAAA,IACtE,MAAA,EAAQ,MAAA;AAAA,IACR,IAAA,EAAM,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,IAAA,EAAM,CAAC,GAAG,kCAAA,EAAkB,IAAI,CAAA,EAAG,WAAA,EAAa,0FAA0F;AAAA,EAC7K,CAAA;AAAA,EACA,oBAAA,EAAsB;AACvB,CAAA,CAAA;AAEO,IAAM,gBAAA,EAA8C;AAAA,EAC1D,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,uCAAqB,CAAA,EAAG,WAAA,EAAa,8EAA8E,CAAA;AAAA,EACrJ,KAAA,EAAO,EAAE,IAAA,EAAM,SAAA,EAAW,OAAA,EAAS,CAAA,EAAG,OAAA,EAAS,CAAA,EAAG,WAAA,EAAa,gCAAgC,CAAA;AAAA,EAC/F,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,OAAA,EAAS,CAAA,EAAG,WAAA,EAAa,+CAA+C,CAAA;AAAA,EACnG,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,CAAA,EAAG,WAAA,EAAa,qEAAqE,CAAA;AAAA,EACzH,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,CAAA,EAAG,WAAA,EAAa,wEAAwE,CAAA;AAAA,EAC7H,SAAA,EAAW,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,2EAA2E,CAAA;AAAA,EAC/H,YAAA,EAAc,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,0CAA0C,CAAA;AAAA,EACxF,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,4BAAyB,CAAA;AAAA,EACjE,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,+CAA+C,CAAA;AAAA,EACpF,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,2CAA2C;AAClF,CAAA;AAEO,IAAM,aAAA,EAA2C;AAAA,EACvD,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,6CAA6C,CAAA;AAAA,EAClF,MAAA,EAAQ,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,WAAA,EAAa,gEAAgE,CAAA;AAAA,EACpH,KAAA,EAAO,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,8CAA8C,CAAA;AAAA,EAC9F,IAAA,EAAM,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,IAAA,EAAM,CAAC,GAAG,oCAAA,EAAoB,IAAI,CAAA,EAAG,WAAA,EAAa,+FAA+F,CAAA;AAAA,EACnL,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,sCAAsC,CAAA;AAAA,EAC9E,IAAA,EAAM,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,IAAA,EAAM,CAAC,SAAA,EAAW,WAAA,EAAa,IAAI,CAAA,EAAG,WAAA,EAAa,kEAAkE,CAAA;AAAA,EACvJ,CAAA,EAAG,EAAE,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA,EAAG,KAAA,EAAO,KAAA,EAAO,WAAA,EAAa,yDAAyD,CAAA;AAAA,EAClH,KAAA,EAAO,EAAE,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA,EAAG,KAAA,EAAO,KAAA,EAAO,WAAA,EAAa,4DAA4D,CAAA;AAAA,EACzH,WAAA,EAAa,EAAE,IAAA,EAAM,CAAC,OAAA,EAAS,MAAM,CAAA,EAAG,KAAA,EAAO,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,EAAE,CAAA,EAAG,WAAA,EAAa,sDAAsD,CAAA;AAAA,EAChJ,MAAA,EAAQ,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,IAAA,EAAM,CAAC,GAAG,+BAAA,EAAe,IAAI,CAAA,EAAG,WAAA,EAAa,wDAAwD,CAAA;AAAA,EACzI,KAAA,EAAO,EAAE,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,IAAA,EAAM,CAAC,GAAG,8BAAA,EAAc,IAAI,CAAA,EAAG,WAAA,EAAa,sDAAsD,CAAA;AAAA,EACrI,UAAA,EAAY,EAAE,IAAA,EAAM,CAAC,SAAA,EAAW,MAAM,CAAA,EAAG,WAAA,EAAa,yDAAyD,CAAA;AAAA,EAC/G,MAAA,EAAQ,EAAE,GAAG,MAAA,EAAQ,IAAA,EAAM,CAAC,QAAA,EAAU,MAAM,CAAA,EAAG,WAAA,EAAa,qEAAsE;AACnI,CAAA;AAGO,IAAM,wBAAA,EAAsD;AAAA,EAC/D,IAAA,EAAM,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,6BAAW,CAAA,EAAG,WAAA,EAAa,cAAc,CAAA;AAAA,EAC3E,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,uBAAuB,CAAA;AAAA,EAC7D,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,0BAA0B,CAAA;AAAA,EACnE,KAAA,EAAO,IAAA,CAAK,+DAA+D,CAAA;AAAA,EAC3E,KAAA,EAAO,IAAA,CAAK,aAAa,CAAA;AAAA,EACzB,MAAA,EAAQ,IAAA,CAAK,0DAA0D,CAAA;AAAA,EACvE,MAAA,EAAQ;AAAA,IACP,IAAA,EAAM,QAAA;AAAA,IACN,WAAA,EAAa,SAAA;AAAA,IACb,UAAA,EAAY,EAAE,IAAA,EAAM,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,mBAAmB,CAAA,EAAG,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,wCAAsB,CAAA,EAAG,WAAA,EAAa,yBAAyB,EAAE,CAAA;AAAA,IACjL,oBAAA,EAAsB;AAAA,EACvB,CAAA;AAAA,EACA,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,iCAAe,CAAA,EAAG,WAAA,EAAa,4DAA4D,CAAA;AAAA,EACjI,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,oCAAkB,CAAA,EAAG,WAAA,EAAa,kCAAkC,CAAA;AAAA,EAC7G,KAAA,EAAO,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,8BAAY,CAAA,EAAG,WAAA,EAAa,sCAAsC,CAAA;AAAA,EACrG,MAAA,EAAQ,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,gCAAgC,CAAA;AAAA,EACxE,UAAA,EAAY,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,2CAA2C,CAAA;AAAA,EACvF,aAAA,EAAe,EAAE,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,CAAC,GAAG,uCAAqB,CAAA,EAAG,WAAA,EAAa,yDAAyD,CAAA;AAAA,EACzI,OAAA,EAAS,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAO,EAAE,IAAA,EAAM,SAAS,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,WAAA,EAAa,yCAAyC,CAAA;AAAA,EACxH,WAAA,EAAa,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,CAAA,EAAG,OAAA,EAAS,GAAA,EAAK,WAAA,EAAa,0CAA0C,CAAA;AAAA,EAChH,QAAA,EAAU,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,CAAA,EAAG,OAAA,EAAS,GAAA,EAAK,WAAA,EAAa,yEAAyE,CAAA;AAAA,EAC5I,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAS,CAAA,CAAA,EAAI,OAAA,EAAS,CAAA,EAAG,WAAA,EAAa,sFAAsF,CAAA;AAAA,EACvJ,IAAA,EAAM,EAAE,IAAA,EAAM,CAAC,SAAA,EAAW,MAAM,CAAA,EAAG,OAAA,EAAS,CAAA,EAAG,OAAA,EAAS,GAAA,EAAK,WAAA,EAAa,4CAAuC,CAAA;AAAA,EACjH,SAAA,EAAW,EAAE,IAAA,EAAM,SAAA,EAAW,WAAA,EAAa,iCAAiC;AAC7E,CAAA;ADPH;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uRAAC","file":"/home/runner/work/editor/editor/packages/core/dist/chunk-U6IZKC7B.cjs","sourcesContent":[null,"import type { JsonSchema } from '../tools/schema.js';\nimport {\n\tCHART_AXIS_KINDS,\n\tCHART_CURVES,\n\tCHART_LABEL_POSITIONS,\n\tCHART_LEGEND_POSITIONS,\n\tCHART_MARKERS,\n\tCHART_NUMBER_STYLES,\n\tCHART_ORIENTATIONS,\n\tCHART_SERIES_TYPES,\n\tCHART_STACKINGS,\n\tCHART_TRENDLINE_TYPES,\n\tCHART_TYPES\n} from './spec.js';\n\n// JSON Schema fragments shared by the chart commands and the chart agent tools.\n\nexport const VALUE: JsonSchema = { type: ['number', 'string', 'null'], description: 'A number, numeric text (\"1,200\", \"12%\", \"$40\", \"(3)\") or null for a gap.' };\nexport const SERIES_REF: JsonSchema = { type: 'string', description: 'Series id (from get_chart) or exact series name.' };\nexport const CATEGORY_REF: JsonSchema = { type: ['string', 'integer'], description: 'Category index (0-based) or exact category label.' };\nexport const WIDTH: JsonSchema = { type: 'number', minimum: 50, maximum: 4096, description: 'Width in pixels (default 640).' };\nexport const HEIGHT: JsonSchema = { type: 'number', minimum: 50, maximum: 4096, description: 'Height in pixels (default 400).' };\n\nexport const FORMAT: JsonSchema = {\n\ttype: 'object',\n\tdescription: 'How numbers are written on this axis or series.',\n\tproperties: {\n\t\tstyle: { type: 'string', enum: [...CHART_NUMBER_STYLES], description: 'number (default), percent (0.25 → 25%), currency or compact (1.2K).' },\n\t\tdecimals: { type: 'integer', minimum: 0, maximum: 10, description: 'Fixed decimals (default: what the ticks need).' },\n\t\tcurrency: { type: 'string', description: 'ISO currency code for style \"currency\", e.g. \"EUR\" (default USD).' },\n\t\tprefix: { type: 'string', description: 'Text before every number.' },\n\t\tsuffix: { type: 'string', description: 'Text after every number.' },\n\t\tcode: { type: 'string', description: 'Spreadsheet format code such as \"#,##0.0,,\\\\\"M\\\\\"\" or \"0.0%\"; wins over the other fields.' }\n\t},\n\tadditionalProperties: false\n};\n\nexport const AXIS = (what: string): JsonSchema => ({\n\ttype: 'object',\n\tdescription: what,\n\tproperties: {\n\t\tshow: { type: 'boolean', description: 'Draw the axis labels (default true).' },\n\t\ttitle: { type: 'string', description: 'Axis title (\"\" for none).' },\n\t\tmin: { type: ['number', 'null'], description: 'Fixed lower bound, or null for automatic.' },\n\t\tmax: { type: ['number', 'null'], description: 'Fixed upper bound, or null for automatic.' },\n\t\tstep: { type: ['number', 'null'], exclusiveMinimum: 0, description: 'Fixed distance between ticks, or null for automatic.' },\n\t\tgridlines: { type: 'boolean', description: 'Grid lines at each tick.' },\n\t\tformat: FORMAT,\n\t\tkind: { type: ['string', 'null'], enum: [...CHART_AXIS_KINDS, null], description: 'Category axis only: \"date\" reads categories as dates and labels them by calendar steps.' }\n\t},\n\tadditionalProperties: false\n});\n\nexport const TRENDLINE_PROPS: Record<string, JsonSchema> = {\n\ttype: { type: 'string', enum: [...CHART_TRENDLINE_TYPES], description: 'Fit: linear, exponential, logarithmic, power, polynomial or moving-average.' },\n\torder: { type: 'integer', minimum: 2, maximum: 6, description: 'Polynomial order (default 2).' },\n\tperiod: { type: 'integer', minimum: 2, description: 'Moving-average period in points (default 2).' },\n\tforward: { type: 'number', minimum: 0, description: 'Extend the line this many x units past the last point (default 0).' },\n\tbackward: { type: 'number', minimum: 0, description: 'Extend the line this many x units before the first point (default 0).' },\n\tintercept: { type: ['number', 'null'], description: 'Force the fit through this y at x = 0 (linear, polynomial, exponential).' },\n\tshowEquation: { type: 'boolean', description: 'Write the fitted equation on the chart.' },\n\tshowR2: { type: 'boolean', description: 'Write R² on the chart.' },\n\tname: { type: 'string', description: 'Legend name (default e.g. \"Linear (Sales)\").' },\n\tcolor: { type: 'string', description: 'CSS colour (default: the series colour).' }\n};\n\nexport const SERIES_PROPS: Record<string, JsonSchema> = {\n\tname: { type: 'string', description: 'Series name (legend and data grid header).' },\n\tvalues: { type: 'array', items: VALUE, description: 'One value per category, in category order (padded with gaps).' },\n\tcolor: { type: ['string', 'null'], description: 'CSS colour, or null for the palette colour.' },\n\ttype: { type: ['string', 'null'], enum: [...CHART_SERIES_TYPES, null], description: 'Draw this series as bar, line, area or scatter (a combo chart); null follows the chart type.' },\n\thidden: { type: 'boolean', description: 'Hide the series (its data is kept).' },\n\taxis: { type: ['string', 'null'], enum: ['primary', 'secondary', null], description: 'Value axis: secondary is drawn on the right with its own scale.' },\n\tx: { type: ['array', 'null'], items: VALUE, description: 'Numeric x per category, for scatter and bubble charts.' },\n\tsizes: { type: ['array', 'null'], items: VALUE, description: 'Bubble sizes per category (area is proportional to size).' },\n\tpointColors: { type: ['array', 'null'], items: { type: ['string', 'null'] }, description: 'Colour per category (null keeps the series colour).' },\n\tmarker: { type: ['string', 'null'], enum: [...CHART_MARKERS, null], description: 'Point marker shape for line, area and scatter series.' },\n\tcurve: { type: ['string', 'null'], enum: [...CHART_CURVES, null], description: 'Line shape for this series: linear, smooth or step.' },\n\tdataLabels: { type: ['boolean', 'null'], description: 'Value labels for this series (null follows the chart).' },\n\tformat: { ...FORMAT, type: ['object', 'null'], description: 'How this series\\' labels are written (null follows the value axis).' }\n};\n\n\nexport const CHART_UPDATE_PROPERTIES: Record<string, JsonSchema> = {\n\t\t\t\ttype: { type: 'string', enum: [...CHART_TYPES], description: 'Chart type.' },\n\t\t\t\ttitle: { type: 'string', description: 'Title (\"\" for none).' },\n\t\t\t\tsubtitle: { type: 'string', description: 'Subtitle (\"\" for none).' },\n\t\t\t\txAxis: AXIS('Category axis (or numeric x axis of scatter / bubble charts).'),\n\t\t\t\tyAxis: AXIS('Value axis.'),\n\t\t\t\tyAxis2: AXIS('Secondary value axis (for series with axis \"secondary\").'),\n\t\t\t\tlegend: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tdescription: 'Legend.',\n\t\t\t\t\tproperties: { show: { type: 'boolean', description: 'Show the legend.' }, position: { type: 'string', enum: [...CHART_LEGEND_POSITIONS], description: 'Where the legend goes.' } },\n\t\t\t\t\tadditionalProperties: false\n\t\t\t\t},\n\t\t\t\tstacking: { type: 'string', enum: [...CHART_STACKINGS], description: 'none, stacked, or percent (each category scaled to 100%).' },\n\t\t\t\torientation: { type: 'string', enum: [...CHART_ORIENTATIONS], description: 'horizontal draws bars sideways.' },\n\t\t\t\tcurve: { type: 'string', enum: [...CHART_CURVES], description: 'Line shape: linear, smooth or step.' },\n\t\t\t\tpoints: { type: 'boolean', description: 'Dots on line and area series.' },\n\t\t\t\tdataLabels: { type: 'boolean', description: 'Value labels on bars, points and slices.' },\n\t\t\t\tlabelPosition: { type: 'string', enum: [...CHART_LABEL_POSITIONS], description: 'Bar label position; auto drops labels that do not fit.' },\n\t\t\t\tpalette: { type: 'array', items: { type: 'string' }, minItems: 1, description: 'Series colours in order (CSS colours).' },\n\t\t\t\tinnerRadius: { type: 'number', minimum: 0, maximum: 0.9, description: 'Donut hole as a fraction of the radius.' },\n\t\t\t\tgapWidth: { type: 'number', minimum: 0, maximum: 0.9, description: 'Space between bar groups as a fraction of the category (default 0.28).' },\n\t\t\t\toverlap: { type: 'number', minimum: -1, maximum: 1, description: 'Bar overlap within a group as a fraction of a bar (negative: a gap; default -0.12).' },\n\t\t\t\tbins: { type: ['integer', 'null'], minimum: 1, maximum: 500, description: 'Histogram bin count, or null for √n.' },\n\t\t\t\tshowTotal: { type: 'boolean', description: 'Waterfall: append a total bar.' }\n\t\t\t};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/chunk-TGBCBQFV.cjs","../src/chart/schemas.ts"],"names":[],"mappings":"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","file":"/home/runner/work/editor/editor/packages/core/dist/chunk-TGBCBQFV.cjs","sourcesContent":[null,"import type { JsonSchema } from '../tools/schema.js';\nimport {\n\tCHART_AXIS_KINDS,\n\tCHART_CURVES,\n\tCHART_LABEL_POSITIONS,\n\tCHART_LEGEND_POSITIONS,\n\tCHART_MARKERS,\n\tCHART_NUMBER_STYLES,\n\tCHART_ORIENTATIONS,\n\tCHART_SERIES_TYPES,\n\tCHART_STACKINGS,\n\tCHART_TRENDLINE_TYPES,\n\tCHART_TYPES\n} from './spec.js';\n\n// JSON Schema fragments shared by the chart commands and the chart agent tools.\n\nexport const VALUE: JsonSchema = { type: ['number', 'string', 'null'], description: 'A number, numeric text (\"1,200\", \"12%\", \"$40\", \"(3)\") or null for a gap.' };\nexport const SERIES_REF: JsonSchema = { type: 'string', description: 'Series id (from get_chart) or exact series name.' };\nexport const CATEGORY_REF: JsonSchema = { type: ['string', 'integer'], description: 'Category index (0-based) or exact category label.' };\nexport const WIDTH: JsonSchema = { type: 'number', minimum: 50, maximum: 4096, description: 'Width in pixels (default 640).' };\nexport const HEIGHT: JsonSchema = { type: 'number', minimum: 50, maximum: 4096, description: 'Height in pixels (default 400).' };\n\nexport const FORMAT: JsonSchema = {\n\ttype: 'object',\n\tdescription: 'How numbers are written on this axis or series.',\n\tproperties: {\n\t\tstyle: { type: 'string', enum: [...CHART_NUMBER_STYLES], description: 'number (default), percent (0.25 → 25%), currency or compact (1.2K).' },\n\t\tdecimals: { type: 'integer', minimum: 0, maximum: 10, description: 'Fixed decimals (default: what the ticks need).' },\n\t\tcurrency: { type: 'string', description: 'ISO currency code for style \"currency\", e.g. \"EUR\" (default USD).' },\n\t\tprefix: { type: 'string', description: 'Text before every number.' },\n\t\tsuffix: { type: 'string', description: 'Text after every number.' },\n\t\tcode: { type: 'string', description: 'Spreadsheet format code such as \"#,##0.0,,\\\\\"M\\\\\"\" or \"0.0%\"; wins over the other fields.' }\n\t},\n\tadditionalProperties: false\n};\n\nexport const AXIS = (what: string): JsonSchema => ({\n\ttype: 'object',\n\tdescription: what,\n\tproperties: {\n\t\tshow: { type: 'boolean', description: 'Draw the axis labels (default true).' },\n\t\ttitle: { type: 'string', description: 'Axis title (\"\" for none).' },\n\t\tmin: { type: ['number', 'null'], description: 'Fixed lower bound, or null for automatic.' },\n\t\tmax: { type: ['number', 'null'], description: 'Fixed upper bound, or null for automatic.' },\n\t\tstep: { type: ['number', 'null'], exclusiveMinimum: 0, description: 'Fixed distance between ticks, or null for automatic.' },\n\t\tgridlines: { type: 'boolean', description: 'Grid lines at each tick.' },\n\t\tformat: FORMAT,\n\t\tkind: { type: ['string', 'null'], enum: [...CHART_AXIS_KINDS, null], description: 'Category axis only: \"date\" reads categories as dates and labels them by calendar steps.' }\n\t},\n\tadditionalProperties: false\n});\n\nexport const TRENDLINE_PROPS: Record<string, JsonSchema> = {\n\ttype: { type: 'string', enum: [...CHART_TRENDLINE_TYPES], description: 'Fit: linear, exponential, logarithmic, power, polynomial or moving-average.' },\n\torder: { type: 'integer', minimum: 2, maximum: 6, description: 'Polynomial order (default 2).' },\n\tperiod: { type: 'integer', minimum: 2, description: 'Moving-average period in points (default 2).' },\n\tforward: { type: 'number', minimum: 0, description: 'Extend the line this many x units past the last point (default 0).' },\n\tbackward: { type: 'number', minimum: 0, description: 'Extend the line this many x units before the first point (default 0).' },\n\tintercept: { type: ['number', 'null'], description: 'Force the fit through this y at x = 0 (linear, polynomial, exponential).' },\n\tshowEquation: { type: 'boolean', description: 'Write the fitted equation on the chart.' },\n\tshowR2: { type: 'boolean', description: 'Write R² on the chart.' },\n\tname: { type: 'string', description: 'Legend name (default e.g. \"Linear (Sales)\").' },\n\tcolor: { type: 'string', description: 'CSS colour (default: the series colour).' }\n};\n\nexport const SERIES_PROPS: Record<string, JsonSchema> = {\n\tname: { type: 'string', description: 'Series name (legend and data grid header).' },\n\tvalues: { type: 'array', items: VALUE, description: 'One value per category, in category order (padded with gaps).' },\n\tcolor: { type: ['string', 'null'], description: 'CSS colour, or null for the palette colour.' },\n\ttype: { type: ['string', 'null'], enum: [...CHART_SERIES_TYPES, null], description: 'Draw this series as bar, line, area or scatter (a combo chart); null follows the chart type.' },\n\thidden: { type: 'boolean', description: 'Hide the series (its data is kept).' },\n\taxis: { type: ['string', 'null'], enum: ['primary', 'secondary', null], description: 'Value axis: secondary is drawn on the right with its own scale.' },\n\tx: { type: ['array', 'null'], items: VALUE, description: 'Numeric x per category, for scatter and bubble charts.' },\n\tsizes: { type: ['array', 'null'], items: VALUE, description: 'Bubble sizes per category (area is proportional to size).' },\n\tpointColors: { type: ['array', 'null'], items: { type: ['string', 'null'] }, description: 'Colour per category (null keeps the series colour).' },\n\tmarker: { type: ['string', 'null'], enum: [...CHART_MARKERS, null], description: 'Point marker shape for line, area and scatter series.' },\n\tcurve: { type: ['string', 'null'], enum: [...CHART_CURVES, null], description: 'Line shape for this series: linear, smooth or step.' },\n\tdataLabels: { type: ['boolean', 'null'], description: 'Value labels for this series (null follows the chart).' },\n\tformat: { ...FORMAT, type: ['object', 'null'], description: 'How this series\\' labels are written (null follows the value axis).' }\n};\n\n\nexport const CHART_UPDATE_PROPERTIES: Record<string, JsonSchema> = {\n\t\t\t\ttype: { type: 'string', enum: [...CHART_TYPES], description: 'Chart type.' },\n\t\t\t\ttitle: { type: 'string', description: 'Title (\"\" for none).' },\n\t\t\t\tsubtitle: { type: 'string', description: 'Subtitle (\"\" for none).' },\n\t\t\t\txAxis: AXIS('Category axis (or numeric x axis of scatter / bubble charts).'),\n\t\t\t\tyAxis: AXIS('Value axis.'),\n\t\t\t\tyAxis2: AXIS('Secondary value axis (for series with axis \"secondary\").'),\n\t\t\t\tlegend: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tdescription: 'Legend.',\n\t\t\t\t\tproperties: { show: { type: 'boolean', description: 'Show the legend.' }, position: { type: 'string', enum: [...CHART_LEGEND_POSITIONS], description: 'Where the legend goes.' } },\n\t\t\t\t\tadditionalProperties: false\n\t\t\t\t},\n\t\t\t\tstacking: { type: 'string', enum: [...CHART_STACKINGS], description: 'none, stacked, or percent (each category scaled to 100%).' },\n\t\t\t\torientation: { type: 'string', enum: [...CHART_ORIENTATIONS], description: 'horizontal draws bars sideways.' },\n\t\t\t\tcurve: { type: 'string', enum: [...CHART_CURVES], description: 'Line shape: linear, smooth or step.' },\n\t\t\t\tpoints: { type: 'boolean', description: 'Dots on line and area series.' },\n\t\t\t\tdataLabels: { type: 'boolean', description: 'Value labels on bars, points and slices.' },\n\t\t\t\tlabelPosition: { type: 'string', enum: [...CHART_LABEL_POSITIONS], description: 'Bar label position; auto drops labels that do not fit.' },\n\t\t\t\tpalette: { type: 'array', items: { type: 'string' }, minItems: 1, description: 'Series colours in order (CSS colours).' },\n\t\t\t\tinnerRadius: { type: 'number', minimum: 0, maximum: 0.9, description: 'Donut hole as a fraction of the radius.' },\n\t\t\t\tgapWidth: { type: 'number', minimum: 0, maximum: 0.9, description: 'Space between bar groups as a fraction of the category (default 0.28).' },\n\t\t\t\toverlap: { type: 'number', minimum: -1, maximum: 1, description: 'Bar overlap within a group as a fraction of a bar (negative: a gap; default -0.12).' },\n\t\t\t\tbins: { type: ['integer', 'null'], minimum: 1, maximum: 500, description: 'Histogram bin count, or null for √n.' },\n\t\t\t\tshowTotal: { type: 'boolean', description: 'Waterfall: append a total bar.' }\n\t\t\t};\n"]}
@@ -833,7 +833,16 @@ function fitFreehandPath(points, options = {}) {
833
833
  }
834
834
 
835
835
  // src/canvas/gradient.ts
836
+ var PIXERATE_BRAND_GRADIENT = {
837
+ type: "linear",
838
+ angle: 135,
839
+ stops: [
840
+ { offset: 0, color: "#8E51FF" },
841
+ { offset: 1, color: "#e12afb" }
842
+ ]
843
+ };
836
844
  var CANVAS_GRADIENT_PRESETS = {
845
+ pixerate: PIXERATE_BRAND_GRADIENT,
837
846
  sunset: {
838
847
  type: "linear",
839
848
  angle: 90,
@@ -4523,6 +4532,7 @@ export {
4523
4532
  cubicsToPathData,
4524
4533
  fitPathData,
4525
4534
  fitFreehandPath,
4535
+ PIXERATE_BRAND_GRADIENT,
4526
4536
  CANVAS_GRADIENT_PRESETS,
4527
4537
  isCanvasGradient,
4528
4538
  parseCssGradient,
@@ -4592,4 +4602,4 @@ export {
4592
4602
  PATHFINDER_OPERATIONS,
4593
4603
  pathfinder
4594
4604
  };
4595
- //# sourceMappingURL=chunk-3LHWTGHW.js.map
4605
+ //# sourceMappingURL=chunk-TO22LX34.js.map