desmost 0.11.2 → 0.12.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 (54) hide show
  1. package/dist/compiler/compile.d.ts +1 -1
  2. package/dist/compiler/compile.js +1 -1
  3. package/dist/compiler/compiler.d.ts.map +1 -1
  4. package/dist/compiler/compiler.js +3 -0
  5. package/dist/compiler/compiler.js.map +1 -1
  6. package/dist/compiler/format.d.ts.map +1 -1
  7. package/dist/compiler/format.js +2 -0
  8. package/dist/compiler/format.js.map +1 -1
  9. package/dist/magic/global/index.d.ts +1 -0
  10. package/dist/magic/global/index.d.ts.map +1 -1
  11. package/dist/magic/global/index.js +2 -0
  12. package/dist/magic/global/index.js.map +1 -1
  13. package/dist/magic/global/no-border.d.ts +11 -0
  14. package/dist/magic/global/no-border.d.ts.map +1 -0
  15. package/dist/magic/global/no-border.js +20 -0
  16. package/dist/magic/global/no-border.js.map +1 -0
  17. package/dist/magic/incantation.d.ts +1 -1
  18. package/dist/magic/incantation.js +1 -1
  19. package/dist/magic/local/colour.d.ts +4 -3
  20. package/dist/magic/local/colour.d.ts.map +1 -1
  21. package/dist/magic/local/colour.js +5 -3
  22. package/dist/magic/local/colour.js.map +1 -1
  23. package/dist/magic/local/dotted.d.ts +11 -0
  24. package/dist/magic/local/dotted.d.ts.map +1 -0
  25. package/dist/magic/local/dotted.js +21 -0
  26. package/dist/magic/local/dotted.js.map +1 -0
  27. package/dist/magic/local/index.d.ts +2 -0
  28. package/dist/magic/local/index.d.ts.map +1 -1
  29. package/dist/magic/local/index.js +4 -0
  30. package/dist/magic/local/index.js.map +1 -1
  31. package/dist/magic/local/no-fill.d.ts +11 -0
  32. package/dist/magic/local/no-fill.d.ts.map +1 -0
  33. package/dist/magic/local/no-fill.js +21 -0
  34. package/dist/magic/local/no-fill.js.map +1 -0
  35. package/dist/magic/local/no-line.d.ts.map +1 -1
  36. package/dist/magic/local/no-line.js.map +1 -1
  37. package/dist/magic/local/point.d.ts +2 -1
  38. package/dist/magic/local/point.d.ts.map +1 -1
  39. package/dist/magic/local/point.js +6 -2
  40. package/dist/magic/local/point.js.map +1 -1
  41. package/package.json +1 -1
  42. package/src/compiler/compile.ts +1 -1
  43. package/src/compiler/compiler.ts +3 -0
  44. package/src/compiler/format.ts +1 -0
  45. package/src/magic/.template.ts +4 -4
  46. package/src/magic/global/index.ts +5 -3
  47. package/src/magic/global/no-border.ts +29 -0
  48. package/src/magic/incantation.ts +1 -1
  49. package/src/magic/local/colour.ts +7 -5
  50. package/src/magic/local/dotted.ts +30 -0
  51. package/src/magic/local/index.ts +4 -0
  52. package/src/magic/local/no-fill.ts +30 -0
  53. package/src/magic/local/no-line.ts +1 -1
  54. package/src/magic/local/point.ts +5 -1
@@ -12,7 +12,7 @@ import { type DesmostOptions } from "../options.js";
12
12
  *
13
13
  * compile(calc, `/text{ sup world! }`);
14
14
  *
15
- * compile(calc, `/slider{ error! } :: t = 0`, {
15
+ * compile(calc, `/slider{error!} :: t = 0`, {
16
16
  * errors: "crash",
17
17
  * });
18
18
  * ```
@@ -12,7 +12,7 @@ import { fill_defaults } from "../options.js";
12
12
  *
13
13
  * compile(calc, `/text{ sup world! }`);
14
14
  *
15
- * compile(calc, `/slider{ error! } :: t = 0`, {
15
+ * compile(calc, `/slider{error!} :: t = 0`, {
16
16
  * errors: "crash",
17
17
  * });
18
18
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAiB,GAAG,EAAE,MAAM,WAAW,CAAC;AAI/C,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAE5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,GAAG,EAAE,CAAC;CACX;AAGD,qBAAa,eAAe;IAE3B,OAAO,CAAC,MAAM,CAAmB;IAEjC,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,MAAM,CAAe;IAE7B,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAqB;IAEnC;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAQ;IAE9B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAY;IAElC,OAAO,CAAC,KAAK,CAA4B;IAGzC,8DAA8D;gBAE7D,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc;IAUxB;;OAEG;IACI,OAAO,IAAI,IAAI,GAAG,YAAY;IAuDrC;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC;IAkBjC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAoC/B;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,GAAG,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAgBlF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IAsCnD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;IA2B5D,oBAAoB,IAAI,IAAI;CAM5B"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAiB,GAAG,EAAE,MAAM,WAAW,CAAC;AAI/C,mDAAmD;AACnD,MAAM,WAAW,YAAY;IAE5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,GAAG,EAAE,CAAC;CACX;AAGD,qBAAa,eAAe;IAE3B,OAAO,CAAC,MAAM,CAAmB;IAEjC,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,MAAM,CAAe;IAE7B,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAqB;IAEnC;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAQ;IAE9B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAY;IAElC,OAAO,CAAC,KAAK,CAA4B;IAGzC,8DAA8D;gBAE7D,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc;IAUxB;;OAEG;IACI,OAAO,IAAI,IAAI,GAAG,YAAY;IAuDrC;;OAEG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC;IAkBjC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAoC/B;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,GAAG,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC;IAmBlF;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IAsCnD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;IA2B5D,oBAAoB,IAAI,IAAI;CAM5B"}
@@ -140,6 +140,9 @@ export class DesmostCompiler {
140
140
  this.evaluate_error(e);
141
141
  }
142
142
  }
143
+ else {
144
+ invocation.incantation.apply(this.desmos);
145
+ }
143
146
  }
144
147
  /**
145
148
  * Evaluate local incantation invocations on `expr`, then add `expr` to `desmos`.
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/compiler/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,YAAY,CAC3B,CAAC,EAAE,YAAY,EACf,OAAO,EAAE,cAAc,GACrB,MAAM,CA6BR;AAGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBpD"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/compiler/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,YAAY,CAC3B,CAAC,EAAE,YAAY,EACf,OAAO,EAAE,cAAc,GACrB,MAAM,CA8BR;AAGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBpD"}
@@ -22,6 +22,8 @@ export function format_error(e, options) {
22
22
  display += `\n${LINE}\nHint: ${e.data.hint}`;
23
23
  if (e.data.note != undefined)
24
24
  display += `\n${LINE}\nNote: ${e.data.note}`;
25
+ if (e.data.debug != undefined)
26
+ display += `\n${LINE}\nDebug Info:\n${e.data.debug}`;
25
27
  }
26
28
  return display;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/compiler/format.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,MAAM,UAAU,YAAY,CAC3B,CAAe,EACf,OAAuB;IAGvB,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,OAAO,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAEvD,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,IAAI,CAAC;YAChB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAK,SAAS;YAAE,OAAO,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAK,SAAS;YAAE,OAAO,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAE5C,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAE3C,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IACjE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACtD,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;IACnE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACxD,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAErD,KAAK,GAAG,KAAK,CAAC,UAAU,CACvB,qIAAqI,EACrI,oBAAoB,CACpB,CAAC;IAEF,KAAK,GAAG,KAAK,CAAC,UAAU,CACvB,eAAe,EACf,oBAAoB,CACpB,CAAC;IAEF,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/compiler/format.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC,MAAM,UAAU,YAAY,CAC3B,CAAe,EACf,OAAuB;IAGvB,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAE9D,4CAA4C;IAC5C,IAAI,OAAO,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAEvD,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,IAAI,CAAC;YAChB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAK,SAAS;YAAE,OAAO,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAK,SAAS;YAAE,OAAO,IAAI,KAAK,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS;YAAE,OAAO,IAAI,KAAK,IAAI,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACrF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAE5C,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACd,CAAC;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAE3C,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IACjE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACtD,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;IACnE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACxD,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAErD,KAAK,GAAG,KAAK,CAAC,UAAU,CACvB,qIAAqI,EACrI,oBAAoB,CACpB,CAAC;IAEF,KAAK,GAAG,KAAK,CAAC,UAAU,CACvB,eAAe,EACf,oBAAoB,CACpB,CAAC;IAEF,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -2,5 +2,6 @@ export declare const GLOBAL_INCANTATIONS: {
2
2
  desmos: import("./desmos.js").DesmosIncantation;
3
3
  viewport: import("./viewport.js").ViewportIncantation;
4
4
  dark: import("./dark.js").DarkModeIncantation;
5
+ no_border: import("./no-border.js").NoBorderIncantation;
5
6
  };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/magic/global/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB;;;;CAIe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/magic/global/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,mBAAmB;;;;;CAKe,CAAC"}
@@ -2,9 +2,11 @@ import { Incantation } from "../incantation.js";
2
2
  import { desmos } from "./desmos.js";
3
3
  import { viewport } from "./viewport.js";
4
4
  import { dark } from "./dark.js";
5
+ import { no_border } from "./no-border.js";
5
6
  export const GLOBAL_INCANTATIONS = {
6
7
  desmos,
7
8
  viewport,
8
9
  dark,
10
+ no_border,
9
11
  };
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/magic/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAI,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAM,MAAM,QAAQ,CAAC;AAGlC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,MAAM;IACN,QAAQ;IACR,IAAI;CAC0C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/magic/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAK,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAG,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,IAAI,EAAO,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,SAAS;CACqC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Incantation, type GLOBAL } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export declare class NoBorderIncantation extends Incantation<GLOBAL> {
4
+ readonly effect = Incantation.Effect.GLOBAL;
5
+ readonly identifier = "no-border";
6
+ readonly description = "Remove the \u201Csubtle 1px gray border around the entire calculator\u201D.";
7
+ apply(target: Desmos.Calculator): void;
8
+ extract(target: Desmos.Calculator): Ast.IncantationInvocation<GLOBAL> | void;
9
+ }
10
+ export declare const no_border: NoBorderIncantation;
11
+ //# sourceMappingURL=no-border.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-border.d.ts","sourceRoot":"","sources":["../../../src/magic/global/no-border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,MAAM,CAAC;IAE3D,SAAkB,MAAM,6BAAkC;IAC1D,SAAkB,UAAU,eAAgB;IAC5C,SAAkB,WAAW,iFAC2C;IAE/D,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU;IAK/B,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,IAAI;CASrF;AAED,eAAO,MAAM,SAAS,qBAA4B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Incantation } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export class NoBorderIncantation extends Incantation {
4
+ effect = Incantation.Effect.GLOBAL;
5
+ identifier = "no-border";
6
+ description = "Remove the “subtle 1px gray border around the entire calculator”.";
7
+ apply(target) {
8
+ target.updateSettings({ border: false });
9
+ }
10
+ extract(target) {
11
+ if (target.settings.border === false) {
12
+ return {
13
+ kind: Ast.Kind.INCANTATION_INVOCATION,
14
+ incantation: no_border,
15
+ };
16
+ }
17
+ }
18
+ }
19
+ export const no_border = new NoBorderIncantation();
20
+ //# sourceMappingURL=no-border.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-border.js","sourceRoot":"","sources":["../../../src/magic/global/no-border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,mBAAoB,SAAQ,WAAmB;IAEzC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,MAAM,CAAA;IACxC,UAAU,GAAK,WAAW,CAAA;IAC1B,WAAW,GACxB,mEAAmE,CAAA;IAE/D,KAAK,CAAC,MAAyB;QAEvC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,SAAS;aACtB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
@@ -7,7 +7,7 @@ import { DesmostError, type Fallible } from "../errors.js";
7
7
  * Incantations must be prefixed by a `/`. They look like this:
8
8
  *
9
9
  * ```math
10
- * /viewport{ left: -1, right: 1 }
10
+ * /viewport{left: -1, right: 1}
11
11
  * /hidden :: x = 69
12
12
  * /text :: Never gonna give you up
13
13
  * ```
@@ -7,7 +7,7 @@ import { DesmostError } from "../errors.js";
7
7
  * Incantations must be prefixed by a `/`. They look like this:
8
8
  *
9
9
  * ```math
10
- * /viewport{ left: -1, right: 1 }
10
+ * /viewport{left: -1, right: 1}
11
11
  * /hidden :: x = 69
12
12
  * /text :: Never gonna give you up
13
13
  * ```
@@ -3,15 +3,16 @@ import type { DesmostOptions } from "../../options.js";
3
3
  import { Ast } from "../../parser/index.js";
4
4
  type DesmosColourName = keyof typeof Desmos.Colors;
5
5
  type DesmosColour = (typeof Desmos.Colors)[DesmosColourName];
6
+ type HexColour = string;
6
7
  export declare class ColourIncantation extends ArgIncantation<LOCAL> {
7
8
  readonly effect = Incantation.Effect.LOCAL;
8
9
  readonly identifier = "colour";
9
10
  readonly alias = "color";
10
11
  readonly requires_arg = true;
11
- readonly arg_type = Incantation.ArgType.ENUM;
12
+ readonly arg_type = Incantation.ArgType.STRING;
12
13
  readonly description = "Change the colour of a rendered expression, such as a line, region, polygon, etc.";
13
- apply(target: Desmos.ExpressionState, data: DesmosColour): void;
14
- evaluate_arg(data: string, options: DesmostOptions): DesmosColour;
14
+ apply(target: Desmos.ExpressionState, data: DesmosColour | HexColour): void;
15
+ evaluate_arg(data: string, options: DesmostOptions): DesmosColour | HexColour;
15
16
  extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void;
16
17
  }
17
18
  export declare const colour: ColourIncantation;
@@ -1 +1 @@
1
- {"version":3,"file":"colour.d.ts","sourceRoot":"","sources":["../../../src/magic/local/colour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,KAAK,gBAAgB,GAAG,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC;AACnD,KAAK,YAAY,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAK7D,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE3D,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,YAAa;IACzC,SAAkB,KAAK,WAAiB;IACxC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,4BAA+B;IACzD,SAAkB,WAAW,uFACyD;IAE7E,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY;IAMxD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY;IAqBjE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CAcpF;AAED,eAAO,MAAM,MAAM,mBAA0B,CAAC"}
1
+ {"version":3,"file":"colour.d.ts","sourceRoot":"","sources":["../../../src/magic/local/colour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,KAAK,gBAAgB,GAAG,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC;AACnD,KAAK,YAAY,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC7D,KAAK,SAAS,GAAG,MAAM,CAAC;AAKxB,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE3D,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,YAAa;IACzC,SAAkB,KAAK,WAAiB;IACxC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAC3D,SAAkB,WAAW,uFACyD;IAE7E,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS;IAMpE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS;IAsB7E,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CAcpF;AAED,eAAO,MAAM,MAAM,mBAA0B,CAAC"}
@@ -7,7 +7,7 @@ export class ColourIncantation extends ArgIncantation {
7
7
  identifier = "colour";
8
8
  alias = "color";
9
9
  requires_arg = true;
10
- arg_type = Incantation.ArgType.ENUM;
10
+ arg_type = Incantation.ArgType.STRING;
11
11
  description = "Change the colour of a rendered expression, such as a line, region, polygon, etc.";
12
12
  apply(target, data) {
13
13
  super.require_expr_type(target.type, "expression");
@@ -20,13 +20,15 @@ export class ColourIncantation extends ArgIncantation {
20
20
  }
21
21
  else {
22
22
  let internal = Desmos.Colors[colour];
23
- if (options.check_args && internal == undefined) {
23
+ if (internal != undefined)
24
+ return internal;
25
+ if (options.check_args && !colour.startsWith("#")) {
24
26
  throw new DesmostError.InvalidArgument({
25
27
  msg: `/colour received invalid colour: \`${data}\``,
26
28
  hint: `Valid colours are ${VALID_COLOURS.join(", ")}`,
27
29
  });
28
30
  }
29
- return internal;
31
+ return colour;
30
32
  }
31
33
  }
32
34
  extract(target) {
@@ -1 +1 @@
1
- {"version":3,"file":"colour.js","sourceRoot":"","sources":["../../../src/magic/local/colour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAMnC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAG5E,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAEzC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAK,QAAQ,CAAA;IACvB,KAAK,GAAU,OAAO,CAAA;IACtB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAA;IACvC,WAAW,GAC1B,mFAAmF,CAAA;IAE7E,KAAK,CAAC,MAA8B,EAAE,IAAkB;QAEhE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,YAAY,CAAC,IAAY,EAAE,OAAuB;QAE1D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,MAAM,CAAC,MAA0B,CAAC,CAAC;QAClD,CAAC;aACI,CAAC;YACL,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAA0B,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,UAAU,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,YAAY,CAAC,eAAe,CAAC;oBACtC,GAAG,EAAG,sCAAsC,IAAI,IAAI;oBACpD,IAAI,EAAE,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACrD,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS;YAAE,OAAO;QAEtC,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;YACrC,WAAW,EAAE,MAAM;YACnB,OAAO,EACN,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;mBAC3D,MAAM,CAAC,KAAK;SAChB,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"colour.js","sourceRoot":"","sources":["../../../src/magic/local/colour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAOnC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAG5E,MAAM,OAAO,iBAAkB,SAAQ,cAAqB;IAEzC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAK,QAAQ,CAAA;IACvB,KAAK,GAAU,OAAO,CAAA;IACtB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IACzC,WAAW,GAC1B,mFAAmF,CAAA;IAE7E,KAAK,CAAC,MAA8B,EAAE,IAA8B;QAE5E,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACrB,CAAC;IAEQ,YAAY,CAAC,IAAY,EAAE,OAAuB;QAE1D,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,MAAM,CAAC,MAA0B,CAAC,CAAC;QAClD,CAAC;aACI,CAAC;YACL,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAA0B,CAAC,CAAC;YACzD,IAAI,QAAQ,IAAI,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAE3C,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,YAAY,CAAC,eAAe,CAAC;oBACtC,GAAG,EAAG,sCAAsC,IAAI,IAAI;oBACpD,IAAI,EAAE,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACrD,CAAC,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS;YAAE,OAAO;QAEtC,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;YACrC,WAAW,EAAE,MAAM;YACnB,OAAO,EACN,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;mBAC3D,MAAM,CAAC,KAAK;SAChB,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Incantation, type LOCAL } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export declare class DottedIncantation extends Incantation<LOCAL> {
4
+ readonly effect = Incantation.Effect.LOCAL;
5
+ readonly identifier = "dotted";
6
+ readonly description = "Render a block as a dotted line.";
7
+ apply(target: Desmos.ExpressionState): void;
8
+ extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void;
9
+ }
10
+ export declare const dotted: DottedIncantation;
11
+ //# sourceMappingURL=dotted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotted.d.ts","sourceRoot":"","sources":["../../../src/magic/local/dotted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,KAAK,CAAC;IAExD,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,YAAW;IACvC,SAAkB,WAAW,sCACQ;IAE5B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe;IAMpC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CASpF;AAED,eAAO,MAAM,MAAM,mBAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Incantation } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export class DottedIncantation extends Incantation {
4
+ effect = Incantation.Effect.LOCAL;
5
+ identifier = "dotted";
6
+ description = "Render a block as a dotted line.";
7
+ apply(target) {
8
+ super.require_expr_type(target.type, "expression");
9
+ target.lineStyle = Desmos.Styles.DOTTED;
10
+ }
11
+ extract(target) {
12
+ if (target.lineStyle === Desmos.Styles.DOTTED) {
13
+ return {
14
+ kind: Ast.Kind.INCANTATION_INVOCATION,
15
+ incantation: dotted,
16
+ };
17
+ }
18
+ }
19
+ }
20
+ export const dotted = new DottedIncantation();
21
+ //# sourceMappingURL=dotted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotted.js","sourceRoot":"","sources":["../../../src/magic/local/dotted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAG,QAAQ,CAAA;IACrB,WAAW,GAC1B,kCAAkC,CAAA;IAE5B,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,MAAM;aACnB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -2,10 +2,12 @@ export declare const LOCAL_INCANTATIONS: {
2
2
  anim: import("./anim.js").AnimIncantation;
3
3
  colour: import("./colour.js").ColourIncantation;
4
4
  dashed: import("./dashed.js").DashedIncantation;
5
+ dotted: import("./dotted.js").DottedIncantation;
5
6
  fill: import("./fill.js").FillIncantation;
6
7
  hide: import("./hide.js").HideIncantation;
7
8
  label: import("./label.js").LabelIncantation;
8
9
  line: import("./line.js").LineIncantation;
10
+ no_fill: import("./no-fill.js").NoFillIncantation;
9
11
  no_line: import("./no-line.js").NoLineIncantation;
10
12
  point: import("./point.js").PointIncantation;
11
13
  secret: import("./secret.js").SecretIncantation;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/magic/local/index.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAYe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/magic/local/index.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAce,CAAC"}
@@ -2,10 +2,12 @@ import { Incantation } from "../incantation.js";
2
2
  import { anim } from "./anim.js";
3
3
  import { colour } from "./colour.js";
4
4
  import { dashed } from "./dashed.js";
5
+ import { dotted } from "./dotted.js";
5
6
  import { fill } from "./fill.js";
6
7
  import { hide } from "./hide.js";
7
8
  import { label } from "./label.js";
8
9
  import { line } from "./line.js";
10
+ import { no_fill } from "./no-fill.js";
9
11
  import { no_line } from "./no-line.js";
10
12
  import { point } from "./point.js";
11
13
  import { secret } from "./secret.js";
@@ -14,10 +16,12 @@ export const LOCAL_INCANTATIONS = {
14
16
  anim,
15
17
  colour,
16
18
  dashed,
19
+ dotted,
17
20
  fill,
18
21
  hide,
19
22
  label,
20
23
  line,
24
+ no_fill,
21
25
  no_line,
22
26
  point,
23
27
  secret,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/magic/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAI,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAI,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AAGnC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,IAAI;IACJ,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;CACuC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/magic/local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,KAAK,EAAI,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAK,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAI,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,MAAM,EAAG,MAAM,UAAU,CAAC;AAGnC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;CACuC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Incantation, type LOCAL } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export declare class NoFillIncantation extends Incantation<LOCAL> {
4
+ readonly effect = Incantation.Effect.LOCAL;
5
+ readonly identifier = "no-fill";
6
+ readonly description = "Disable rendering fill for a block.";
7
+ apply(target: Desmos.ExpressionState): void;
8
+ extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void;
9
+ }
10
+ export declare const no_fill: NoFillIncantation;
11
+ //# sourceMappingURL=no-fill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-fill.d.ts","sourceRoot":"","sources":["../../../src/magic/local/no-fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,KAAK,CAAC;IAExD,SAAkB,MAAM,4BAA+B;IACvD,SAAkB,UAAU,aAAY;IACxC,SAAkB,WAAW,yCACW;IAE/B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe;IAMpC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CASpF;AAED,eAAO,MAAM,OAAO,mBAA0B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Incantation } from "../incantation.js";
2
+ import { Ast } from "../../parser/index.js";
3
+ export class NoFillIncantation extends Incantation {
4
+ effect = Incantation.Effect.LOCAL;
5
+ identifier = "no-fill";
6
+ description = "Disable rendering fill for a block.";
7
+ apply(target) {
8
+ super.require_expr_type(target.type, "expression");
9
+ target.fill = false;
10
+ }
11
+ extract(target) {
12
+ if (target.fill === false) {
13
+ return {
14
+ kind: Ast.Kind.INCANTATION_INVOCATION,
15
+ incantation: no_fill,
16
+ };
17
+ }
18
+ }
19
+ }
20
+ export const no_fill = new NoFillIncantation();
21
+ //# sourceMappingURL=no-fill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-fill.js","sourceRoot":"","sources":["../../../src/magic/local/no-fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,MAAM,GAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACrC,UAAU,GAAG,SAAS,CAAA;IACtB,WAAW,GAC1B,qCAAqC,CAAA;IAE/B,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;IACrB,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,OAAO;aACpB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-line.d.ts","sourceRoot":"","sources":["../../../src/magic/local/no-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,KAAK,CAAC;IAExD,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,aAAY;IACxC,SAAkB,WAAW,0CACY;IAEhC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe;IAMpC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CASpF;AAED,eAAO,MAAM,OAAO,mBAA0B,CAAC"}
1
+ {"version":3,"file":"no-line.d.ts","sourceRoot":"","sources":["../../../src/magic/local/no-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,iBAAkB,SAAQ,WAAW,CAAC,KAAK,CAAC;IAExD,SAAkB,MAAM,4BAA+B;IACvD,SAAkB,UAAU,aAAY;IACxC,SAAkB,WAAW,0CACY;IAEhC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe;IAMpC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CASpF;AAED,eAAO,MAAM,OAAO,mBAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-line.js","sourceRoot":"","sources":["../../../src/magic/local/no-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAG,SAAS,CAAA;IACtB,WAAW,GAC1B,sCAAsC,CAAA;IAEhC,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,OAAO;aACpB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"no-line.js","sourceRoot":"","sources":["../../../src/magic/local/no-line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,MAAM,OAAO,iBAAkB,SAAQ,WAAkB;IAEtC,MAAM,GAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACrC,UAAU,GAAG,SAAS,CAAA;IACtB,WAAW,GAC1B,sCAAsC,CAAA;IAEhC,KAAK,CAAC,MAA8B;QAE5C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,OAAO;aACpB,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -4,13 +4,14 @@ interface PointStyles {
4
4
  style?: keyof typeof Desmos.Styles;
5
5
  size?: number;
6
6
  opacity?: number;
7
+ drag: keyof typeof Desmos.DragModes;
7
8
  }
8
9
  export declare class PointIncantation extends ArgIncantation<LOCAL> {
9
10
  readonly effect = Incantation.Effect.LOCAL;
10
11
  readonly identifier = "point";
11
12
  readonly requires_arg = true;
12
13
  readonly arg_type = Incantation.ArgType.OBJECT;
13
- readonly description = "";
14
+ readonly description = "Change point styles for a rendered block.";
14
15
  apply(target: Desmos.ExpressionState, data: Partial<PointStyles>): void;
15
16
  extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/magic/local/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,UAAU,WAAW;IAEpB,KAAK,CAAC,EAAI,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE1D,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,WAAY;IACxC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAC3D,SAAkB,WAAW,MACxB;IAEI,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAShE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CAmBpF;AAED,eAAO,MAAM,KAAK,kBAAyB,CAAC"}
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/magic/local/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,UAAU,WAAW;IAEpB,KAAK,CAAC,EAAI,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC;IACrC,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAM,MAAM,OAAO,MAAM,CAAC,SAAS,CAAC;CACxC;AAGD,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAE1D,SAAkB,MAAM,4BAAiC;IACzD,SAAkB,UAAU,WAAY;IACxC,SAAkB,YAAY,QAAO;IACrC,SAAkB,QAAQ,8BAAiC;IAC3D,SAAkB,WAAW,+CACiB;IAErC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;IAUhE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;CAqBpF;AAED,eAAO,MAAM,KAAK,kBAAyB,CAAC"}
@@ -5,7 +5,7 @@ export class PointIncantation extends ArgIncantation {
5
5
  identifier = "point";
6
6
  requires_arg = true;
7
7
  arg_type = Incantation.ArgType.OBJECT;
8
- description = "";
8
+ description = "Change point styles for a rendered block.";
9
9
  apply(target, data) {
10
10
  super.require_expr_type(target.type, "expression");
11
11
  if (data.style != undefined)
@@ -14,11 +14,14 @@ export class PointIncantation extends ArgIncantation {
14
14
  target.pointSize = data.size;
15
15
  if (data.opacity != undefined)
16
16
  target.pointOpacity = data.opacity;
17
+ if (data.drag != undefined)
18
+ target.dragMode = data.drag;
17
19
  }
18
20
  extract(target) {
19
21
  if (target.pointStyle && target.pointStyle !== Desmos.Styles.POINT
20
22
  || target.pointSize
21
- || target.pointOpacity) {
23
+ || target.pointOpacity
24
+ || target.dragMode && target.dragMode !== Desmos.DragModes.AUTO) {
22
25
  return {
23
26
  kind: Ast.Kind.INCANTATION_INVOCATION,
24
27
  incantation: point,
@@ -26,6 +29,7 @@ export class PointIncantation extends ArgIncantation {
26
29
  style: target.pointStyle,
27
30
  size: target.pointSize,
28
31
  opacity: target.pointOpacity,
32
+ drag: target.dragMode,
29
33
  }),
30
34
  };
31
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"point.js","sourceRoot":"","sources":["../../../src/magic/local/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWnC,MAAM,OAAO,gBAAiB,SAAQ,cAAqB;IAExC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAK,OAAO,CAAA;IACtB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IACzC,WAAW,GAC1B,EAAE,CAAA;IAEI,KAAK,CAAC,MAA8B,EAAE,IAA0B;QAExE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,KAAK,IAAM,SAAS;YAAG,MAAM,CAAC,UAAU,GAAK,IAAI,CAAC,KAAK,CAAC;QACjE,IAAI,IAAI,CAAC,IAAI,IAAO,SAAS;YAAG,MAAM,CAAC,SAAS,GAAM,IAAI,CAAC,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS;YAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;IACpE,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IACE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK;eAC5D,MAAM,CAAC,SAAS;eAChB,MAAM,CAAC,YAAY,EAEvB,CAAC;YACA,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;oBAC9B,KAAK,EAAI,MAAM,CAAC,UAAU;oBAC1B,IAAI,EAAK,MAAM,CAAC,SAAS;oBACzB,OAAO,EAAE,MAAM,CAAC,YAAY;iBAC5B,CAAC;aACF,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"point.js","sourceRoot":"","sources":["../../../src/magic/local/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAYnC,MAAM,OAAO,gBAAiB,SAAQ,cAAqB;IAExC,MAAM,GAAS,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA;IACvC,UAAU,GAAK,OAAO,CAAA;IACtB,YAAY,GAAG,IAAI,CAAA;IACnB,QAAQ,GAAO,WAAW,CAAC,OAAO,CAAC,MAAM,CAAA;IACzC,WAAW,GAC1B,2CAA2C,CAAA;IAErC,KAAK,CAAC,MAA8B,EAAE,IAA0B;QAExE,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,KAAK,IAAM,SAAS;YAAG,MAAM,CAAC,UAAU,GAAK,IAAI,CAAC,KAAK,CAAC;QACjE,IAAI,IAAI,CAAC,IAAI,IAAO,SAAS;YAAG,MAAM,CAAC,SAAS,GAAM,IAAI,CAAC,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS;YAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,IAAO,SAAS;YAAG,MAAM,CAAC,QAAQ,GAAO,IAAI,CAAC,IAAI,CAAC;IACjE,CAAC;IAEQ,OAAO,CAAC,MAAyB;QAEzC,IACE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK;eAC5D,MAAM,CAAC,SAAS;eAChB,MAAM,CAAC,YAAY;eACnB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,EAEhE,CAAC;YACA,OAAO;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB;gBACrC,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC;oBAC9B,KAAK,EAAI,MAAM,CAAC,UAAU;oBAC1B,IAAI,EAAK,MAAM,CAAC,SAAS;oBACzB,OAAO,EAAE,MAAM,CAAC,YAAY;oBAC5B,IAAI,EAAK,MAAM,CAAC,QAAQ;iBACxB,CAAC;aACF,CAAC;QACH,CAAC;IACF,CAAC;CACD;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "desmost",
3
3
  "author": "Sup#2.0",
4
- "version": "0.11.2",
4
+ "version": "0.12.0",
5
5
  "license": "MIT",
6
6
 
7
7
  "description": "A tiny DSL for compiling LaTeX to Desmos",
@@ -15,7 +15,7 @@ import { type DesmostOptions, fill_defaults } from "../options";
15
15
  *
16
16
  * compile(calc, `/text{ sup world! }`);
17
17
  *
18
- * compile(calc, `/slider{ error! } :: t = 0`, {
18
+ * compile(calc, `/slider{error!} :: t = 0`, {
19
19
  * errors: "crash",
20
20
  * });
21
21
  * ```
@@ -193,6 +193,9 @@ export class DesmostCompiler
193
193
  this.evaluate_error(e as Error);
194
194
  }
195
195
  }
196
+ else {
197
+ invocation.incantation.apply(this.desmos);
198
+ }
196
199
  }
197
200
 
198
201
 
@@ -33,6 +33,7 @@ export function format_error(
33
33
  if (options.expand_errors) {
34
34
  if (e.data.hint != undefined) display += `\n${LINE}\nHint: ${e.data.hint}`;
35
35
  if (e.data.note != undefined) display += `\n${LINE}\nNote: ${e.data.note}`;
36
+ if (e.data.debug != undefined) display += `\n${LINE}\nDebug Info:\n${e.data.debug}`;
36
37
  }
37
38
 
38
39
  return display;
@@ -7,12 +7,12 @@
7
7
 
8
8
  // export class ?Incantation extends ArgIncantation<?>
9
9
  // {
10
- // override readonly description
11
- // = ""
12
-
10
+ // override readonly effect = Incantation.Effect.?
13
11
  // override readonly identifier = ?
14
12
  // override readonly requires_arg = ?
15
13
  // override readonly arg_type = Incantation.ArgType.?
14
+ // override readonly description
15
+ // = ""
16
16
 
17
17
  // override apply(target: ?, data: ?)
18
18
  // {
@@ -30,7 +30,7 @@
30
30
  // return out;
31
31
  // }
32
32
 
33
- // override extract(target: ?): Ast.IncantationInvocation<?> | undefined
33
+ // override extract(target: ?): Ast.IncantationInvocation<?> | void
34
34
  // {
35
35
  // // TODO
36
36
  // }
@@ -1,12 +1,14 @@
1
1
  import { Incantation, type GLOBAL } from "../incantation";
2
2
 
3
- import { desmos } from "./desmos";
4
- import { viewport } from "./viewport";
5
- import { dark } from "./dark";
3
+ import { desmos } from "./desmos";
4
+ import { viewport } from "./viewport";
5
+ import { dark } from "./dark";
6
+ import { no_border } from "./no-border";
6
7
 
7
8
 
8
9
  export const GLOBAL_INCANTATIONS = {
9
10
  desmos,
10
11
  viewport,
11
12
  dark,
13
+ no_border,
12
14
  } satisfies Record<string, Incantation<GLOBAL>>;
@@ -0,0 +1,29 @@
1
+ import { Incantation, type GLOBAL } from "../incantation";
2
+
3
+ import { Ast } from "../../parser";
4
+
5
+
6
+ export class NoBorderIncantation extends Incantation<GLOBAL>
7
+ {
8
+ override readonly effect = Incantation.Effect.GLOBAL
9
+ override readonly identifier = "no-border"
10
+ override readonly description
11
+ = "Remove the “subtle 1px gray border around the entire calculator”."
12
+
13
+ override apply(target: Desmos.Calculator)
14
+ {
15
+ target.updateSettings({ border: false });
16
+ }
17
+
18
+ override extract(target: Desmos.Calculator): Ast.IncantationInvocation<GLOBAL> | void
19
+ {
20
+ if (target.settings.border === false) {
21
+ return {
22
+ kind: Ast.Kind.INCANTATION_INVOCATION,
23
+ incantation: no_border,
24
+ };
25
+ }
26
+ }
27
+ }
28
+
29
+ export const no_border = new NoBorderIncantation();
@@ -12,7 +12,7 @@ import { DesmostError, type Fallible } from "../errors";
12
12
  * Incantations must be prefixed by a `/`. They look like this:
13
13
  *
14
14
  * ```math
15
- * /viewport{ left: -1, right: 1 }
15
+ * /viewport{left: -1, right: 1}
16
16
  * /hidden :: x = 69
17
17
  * /text :: Never gonna give you up
18
18
  * ```
@@ -7,6 +7,7 @@ import { Ast } from "../../parser";
7
7
 
8
8
  type DesmosColourName = keyof typeof Desmos.Colors;
9
9
  type DesmosColour = (typeof Desmos.Colors)[DesmosColourName];
10
+ type HexColour = string;
10
11
 
11
12
  const VALID_COLOURS = ["RED", "BLUE", "GREEN", "PURPLE", "ORANGE", "BLACK"];
12
13
 
@@ -17,17 +18,17 @@ export class ColourIncantation extends ArgIncantation<LOCAL>
17
18
  override readonly identifier = "colour"
18
19
  override readonly alias = "color"
19
20
  override readonly requires_arg = true
20
- override readonly arg_type = Incantation.ArgType.ENUM
21
+ override readonly arg_type = Incantation.ArgType.STRING
21
22
  override readonly description
22
23
  = "Change the colour of a rendered expression, such as a line, region, polygon, etc."
23
24
 
24
- override apply(target: Desmos.ExpressionState, data: DesmosColour)
25
+ override apply(target: Desmos.ExpressionState, data: DesmosColour | HexColour)
25
26
  {
26
27
  super.require_expr_type(target.type, "expression");
27
28
  target.color = data;
28
29
  }
29
30
 
30
- override evaluate_arg(data: string, options: DesmostOptions): DesmosColour
31
+ override evaluate_arg(data: string, options: DesmostOptions): DesmosColour | HexColour
31
32
  {
32
33
  let colour = data.trim().toUpperCase();
33
34
 
@@ -36,15 +37,16 @@ export class ColourIncantation extends ArgIncantation<LOCAL>
36
37
  }
37
38
  else {
38
39
  let internal = Desmos.Colors[colour as DesmosColourName];
40
+ if (internal != undefined) return internal;
39
41
 
40
- if (options.check_args && internal == undefined) {
42
+ if (options.check_args && !colour.startsWith("#")) {
41
43
  throw new DesmostError.InvalidArgument({
42
44
  msg: `/colour received invalid colour: \`${data}\``,
43
45
  hint: `Valid colours are ${VALID_COLOURS.join(", ")}`,
44
46
  });
45
47
  }
46
48
 
47
- return internal;
49
+ return colour;
48
50
  }
49
51
  }
50
52
 
@@ -0,0 +1,30 @@
1
+ import { Incantation, type LOCAL } from "../incantation";
2
+
3
+ import { Ast } from "../../parser";
4
+
5
+
6
+ export class DottedIncantation extends Incantation<LOCAL>
7
+ {
8
+ override readonly effect = Incantation.Effect.LOCAL
9
+ override readonly identifier = "dotted"
10
+ override readonly description
11
+ = "Render a block as a dotted line."
12
+
13
+ override apply(target: Desmos.ExpressionState)
14
+ {
15
+ super.require_expr_type(target.type, "expression");
16
+ target.lineStyle = Desmos.Styles.DOTTED;
17
+ }
18
+
19
+ override extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void
20
+ {
21
+ if (target.lineStyle === Desmos.Styles.DOTTED) {
22
+ return {
23
+ kind: Ast.Kind.INCANTATION_INVOCATION,
24
+ incantation: dotted,
25
+ };
26
+ }
27
+ }
28
+ }
29
+
30
+ export const dotted = new DottedIncantation();
@@ -3,10 +3,12 @@ import { Incantation, type LOCAL } from "../incantation";
3
3
  import { anim } from "./anim";
4
4
  import { colour } from "./colour";
5
5
  import { dashed } from "./dashed";
6
+ import { dotted } from "./dotted";
6
7
  import { fill } from "./fill";
7
8
  import { hide } from "./hide";
8
9
  import { label } from "./label";
9
10
  import { line } from "./line";
11
+ import { no_fill } from "./no-fill";
10
12
  import { no_line } from "./no-line";
11
13
  import { point } from "./point";
12
14
  import { secret } from "./secret";
@@ -17,10 +19,12 @@ export const LOCAL_INCANTATIONS = {
17
19
  anim,
18
20
  colour,
19
21
  dashed,
22
+ dotted,
20
23
  fill,
21
24
  hide,
22
25
  label,
23
26
  line,
27
+ no_fill,
24
28
  no_line,
25
29
  point,
26
30
  secret,
@@ -0,0 +1,30 @@
1
+ import { Incantation, type LOCAL } from "../incantation";
2
+
3
+ import { Ast } from "../../parser";
4
+
5
+
6
+ export class NoFillIncantation extends Incantation<LOCAL>
7
+ {
8
+ override readonly effect = Incantation.Effect.LOCAL
9
+ override readonly identifier = "no-fill"
10
+ override readonly description
11
+ = "Disable rendering fill for a block."
12
+
13
+ override apply(target: Desmos.ExpressionState)
14
+ {
15
+ super.require_expr_type(target.type, "expression");
16
+ target.fill = false;
17
+ }
18
+
19
+ override extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void
20
+ {
21
+ if (target.fill === false) {
22
+ return {
23
+ kind: Ast.Kind.INCANTATION_INVOCATION,
24
+ incantation: no_fill,
25
+ };
26
+ }
27
+ }
28
+ }
29
+
30
+ export const no_fill = new NoFillIncantation();
@@ -5,7 +5,7 @@ import { Ast } from "../../parser";
5
5
 
6
6
  export class NoLineIncantation extends Incantation<LOCAL>
7
7
  {
8
- override readonly effect = Incantation.Effect.LOCAL
8
+ override readonly effect = Incantation.Effect.LOCAL
9
9
  override readonly identifier = "no-line"
10
10
  override readonly description
11
11
  = "Disable rendering lines for a block."
@@ -8,6 +8,7 @@ interface PointStyles
8
8
  style?: keyof typeof Desmos.Styles;
9
9
  size?: number;
10
10
  opacity?: number;
11
+ drag: keyof typeof Desmos.DragModes;
11
12
  }
12
13
 
13
14
 
@@ -18,7 +19,7 @@ export class PointIncantation extends ArgIncantation<LOCAL>
18
19
  override readonly requires_arg = true
19
20
  override readonly arg_type = Incantation.ArgType.OBJECT
20
21
  override readonly description
21
- = ""
22
+ = "Change point styles for a rendered block."
22
23
 
23
24
  override apply(target: Desmos.ExpressionState, data: Partial<PointStyles>)
24
25
  {
@@ -27,6 +28,7 @@ export class PointIncantation extends ArgIncantation<LOCAL>
27
28
  if (data.style != undefined) target.pointStyle = data.style;
28
29
  if (data.size != undefined) target.pointSize = data.size;
29
30
  if (data.opacity != undefined) target.pointOpacity = data.opacity;
31
+ if (data.drag != undefined) target.dragMode = data.drag;
30
32
  }
31
33
 
32
34
  override extract(target: Desmos.Expression): Ast.IncantationInvocation<LOCAL> | void
@@ -35,6 +37,7 @@ export class PointIncantation extends ArgIncantation<LOCAL>
35
37
  target.pointStyle && target.pointStyle !== Desmos.Styles.POINT
36
38
  || target.pointSize
37
39
  || target.pointOpacity
40
+ || target.dragMode && target.dragMode !== Desmos.DragModes.AUTO
38
41
  )
39
42
  {
40
43
  return {
@@ -44,6 +47,7 @@ export class PointIncantation extends ArgIncantation<LOCAL>
44
47
  style: target.pointStyle,
45
48
  size: target.pointSize,
46
49
  opacity: target.pointOpacity,
50
+ drag: target.dragMode,
47
51
  }),
48
52
  };
49
53
  }