@gui-chat-plugin/sequence 0.5.0 → 0.5.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.1
4
+
5
+ - **Markdown slides fit in movies too.** A dense Markdown slide shrank to fit in the View, whose page
6
+ runs the fitting, but a movie made from it (MulmoChat's makeMovie: an `html_tailwind` beat) cut
7
+ it off at the top and bottom. `SLIDE_FIT_SCRIPT` is the same fitting, for the host to give the
8
+ movie's page (MulmoCast's html_tailwind beat takes it as its `script`). The Markdown slide's box
9
+ no longer shrinks as a flex item: MulmoCast's page makes the body a flex column, where it did,
10
+ and its text was fitted into the shrunken box, much too small. Checked in a MulmoChat movie: a
11
+ 14-item slide with a formula on every line fits, its title and last line in view.
12
+
3
13
  ## 0.5.0
4
14
 
5
15
  - **Chart slides**: `presentSlide` takes `chart`, a Chart.js configuration (`{ type, data,
package/README.md CHANGED
@@ -81,7 +81,9 @@ model wrote it in `markdown`. Math is MathML (KaTeX's `mathml` output), which th
81
81
  no stylesheet or font to load: it works offline and in a movie as on the screen. Function names
82
82
  (`\log`, `\sin`) get TeX's thin spaces, and matrix cells padding, which Chrome's MathML doesn't give
83
83
  them. TeX that KaTeX can't read is shown as written, in red. The slide's type is sized by how much it
84
- says, and the page (the View's; a movie keeps the first size) shrinks it until it fits.
84
+ says, and the page shrinks it until it fits. A page that shows the slide's HTML without the View's
85
+ page (a movie's) fits it with `SLIDE_FIT_SCRIPT`: MulmoCast's `html_tailwind` beat takes it as its
86
+ `script`.
85
87
 
86
88
  ### Chart slides
87
89
 
@@ -4,7 +4,7 @@ export declare const presentSlidePluginCore: SequencePluginCore;
4
4
  export declare const defineStoryboardPluginCore: SequencePluginCore;
5
5
  export declare const presentPanelPluginCore: SequencePluginCore;
6
6
  export * from "./definitions";
7
- export { MAX_SLIDE_HTML, SLIDE_ANIMATION_KINDS, SLIDE_AUTO_END_SECONDS, SLIDE_CSS_ANIMATIONS_FINISHED, SLIDE_HEIGHT, SLIDE_WIDTH, slideHtmlDocument, } from "./slideHtml";
7
+ export { MAX_SLIDE_HTML, SLIDE_ANIMATION_KINDS, SLIDE_AUTO_END_SECONDS, SLIDE_CSS_ANIMATIONS_FINISHED, SLIDE_FIT_SCRIPT, SLIDE_HEIGHT, SLIDE_WIDTH, slideHtmlDocument, } from "./slideHtml";
8
8
  export { SLIDE_CHART_TYPES, chartSlideDocument, type SlideChart, } from "./chartSlide";
9
9
  export { markdownSlideHtml } from "./markdownSlide";
10
10
  export { SLIDESHOWS_DIR, STORYBOARDS_DIR, loadRecord } from "./records";
@@ -11,6 +11,12 @@ export declare const SLIDE_ANIMATION_KINDS: readonly ["animate", "counter", "typ
11
11
  * it runs to the end of its beat, which the narration decides and the View
12
12
  * doesn't know. */
13
13
  export declare const SLIDE_AUTO_END_SECONDS = 8;
14
+ /** A script that fits a slide's data-fit boxes, as the View's page does, for
15
+ * a page that shows the slide's HTML without it: a host making a movie of a
16
+ * Markdown slide runs it in the movie's page (MulmoCast's html_tailwind
17
+ * beat takes it as its script), or dense text is cut off there. It fits at
18
+ * once and again when the page has loaded. */
19
+ export declare const SLIDE_FIT_SCRIPT = "(() => {\n const fit = () => {\n for (const el of document.querySelectorAll(\"[data-fit]\")) {\n let size = parseFloat(getComputedStyle(el).fontSize);\n while (size > 12 && (el.scrollHeight > el.clientHeight + 1 || el.scrollWidth > el.clientWidth + 1)) {\n size -= 1;\n el.style.fontSize = size + \"px\";\n }\n }\n };\n fit();\n addEventListener(\"load\", fit);\n})();";
14
20
  /** PAGE_SCRIPT's hash, which the policy allows (checked by a test). */
15
21
  export declare const PAGE_SCRIPT_HASH = "sha256-bNBxv6ehYc2PHOgmTReFSYsrxiGvq6aqqg9m5RwS7Lc=";
16
22
  /** Text as HTML text or an attribute's value. */