@classic-homes/slides 0.6.0 → 0.7.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.
@@ -6,7 +6,7 @@ import {
6
6
  LAYOUT_CATEGORIES,
7
7
  baseSlide,
8
8
  getLayout
9
- } from "./chunk-KQXT376T.js";
9
+ } from "./chunk-HI5ZCAHO.js";
10
10
 
11
11
  // src/catalog.ts
12
12
  import { z } from "zod";
@@ -143,4 +143,4 @@ export {
143
143
  deckJsonSchema,
144
144
  AUTHORING_GUIDE
145
145
  };
146
- //# sourceMappingURL=chunk-7NSNE5ED.js.map
146
+ //# sourceMappingURL=chunk-ORNJ4CTQ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  parseDeckSource,
4
4
  renderDeck,
5
5
  stringifyDeck
6
- } from "./chunk-KQXT376T.js";
6
+ } from "./chunk-HI5ZCAHO.js";
7
7
 
8
8
  // src/node/index.ts
9
9
  import { readFile, stat, writeFile } from "fs/promises";
@@ -181,4 +181,4 @@ export {
181
181
  buildDeckFile,
182
182
  exportDeckFile
183
183
  };
184
- //# sourceMappingURL=chunk-B3MBJRHZ.js.map
184
+ //# sourceMappingURL=chunk-UKRX7A2V.js.map
package/dist/cli.js CHANGED
@@ -4,19 +4,19 @@ import {
4
4
  deckJsonSchema,
5
5
  describeLayout,
6
6
  listLayouts
7
- } from "./chunk-7NSNE5ED.js";
7
+ } from "./chunk-ORNJ4CTQ.js";
8
8
  import {
9
9
  buildDeckFile,
10
10
  exportDeckFile,
11
11
  fileImageResolver,
12
12
  loadDeckFile
13
- } from "./chunk-B3MBJRHZ.js";
13
+ } from "./chunk-UKRX7A2V.js";
14
14
  import {
15
15
  DeckError,
16
16
  formatIssues,
17
17
  renderDeck,
18
18
  validateDeck
19
- } from "./chunk-KQXT376T.js";
19
+ } from "./chunk-HI5ZCAHO.js";
20
20
 
21
21
  // src/node/cli.ts
22
22
  import { watch } from "fs";
@@ -130,7 +130,7 @@ ${"".padEnd(12)} Use for: ${l.whenToUse}
130
130
  case "mcp": {
131
131
  let mcp;
132
132
  try {
133
- mcp = await import("./mcp-VBUAVGHS.js");
133
+ mcp = await import("./mcp-MG2E7J3I.js");
134
134
  } catch (e) {
135
135
  if (e.code === "ERR_MODULE_NOT_FOUND") {
136
136
  throw new Error(
@@ -598,6 +598,35 @@ interface RenderResult {
598
598
  /** Collects every image src in the deck (any object with a string `src`). */
599
599
  declare function collectImageSources(value: unknown, out?: Set<string>): Set<string>;
600
600
  declare function renderDeck(input: unknown, options?: RenderOptions): Promise<RenderResult>;
601
+ interface SpeakerNotesOptions {
602
+ /** Brand profiles available to `deck.brand.profile` (needed to validate decks that name one). */
603
+ brands?: BrandProfile[];
604
+ /** List slides marked `hidden` too. Default false, matching a presentation. */
605
+ includeHidden?: boolean;
606
+ }
607
+ /** One presented slide's speaker notes. */
608
+ interface SpeakerNote {
609
+ /** 1-based slide number as presented (a walkthrough counts once per stage). */
610
+ number: number;
611
+ /** 0-based index of the deck slide it came from. */
612
+ deckIndex: number;
613
+ slideId?: string;
614
+ /** Stage of a slide that expands into several (a walkthrough), else absent. */
615
+ part?: {
616
+ index: number;
617
+ count: number;
618
+ };
619
+ /** Timing cue. */
620
+ time?: string;
621
+ /** Notes as HTML (paragraphs, bullets, inline marks), escaped; '' when there are none. */
622
+ html: string;
623
+ }
624
+ /**
625
+ * Every presented slide's speaker notes, numbered as `renderDeck` numbers
626
+ * them, for a printed notes handout. Walks the slides the way `renderDeck`
627
+ * does but skips images, QR codes and charts, so nothing is fetched or drawn.
628
+ */
629
+ declare function speakerNotes(input: unknown, options?: SpeakerNotesOptions): SpeakerNote[];
601
630
  /** Pulls the embedded deck source back out of a rendered HTML file. */
602
631
  declare function extractDeckSource(html: string): unknown | undefined;
603
632
 
@@ -638,4 +667,4 @@ declare function inlineDeckImages(input: unknown, resolve: ImageResolver, option
638
667
  */
639
668
  declare function externalizeDeckImages(input: unknown, upload: (dataUri: string) => string | Promise<string>, options?: MapImagesOptions): Promise<unknown>;
640
669
 
641
- export { type ValidationResult as A, type BrandPalette as B, CLASSIC_HOMES_BRAND as C, type Deck as D, checkPalette as E, type FieldMarker as F, collectImageSources as G, externalizeDeckImages as H, type ImageInput as I, extractDeckSource as J, fieldMarkers as K, type LayoutCategory as L, type MapImagesOptions as M, formatIssues as N, formatPath as O, PREVIEW_SIZE as P, getLayout as Q, type RenderOptions as R, type SlideData as S, inlineDeckImages as T, mapDeckImages as U, type ValidateOptions as V, renderDeck as W, resolveBrand as X, validateBrandProfile as Y, validateDeck as Z, BrandPaletteSchema as a, type BrandProfile as b, type BrandProfileInput as c, BrandProfileSchema as d, CLASSIC_HOMES_PALETTE as e, type DeckBrand as f, DeckBrandSchema as g, DeckError as h, type DeckInput as i, DeckSchema as j, type DeckSettings as k, DeckSettingsSchema as l, type ImageResolver as m, type ImageValue as n, type InlineImagesResult as o, type ItemValue as p, LAYOUTS as q, LAYOUT_CATEGORIES as r, LAYOUT_CATEGORY_ORDER as s, type LayoutDef as t, type LayoutIssue as u, type LayoutName as v, type RenderResult as w, type ResolvedBrand as x, type SlideInput as y, SlideSchema as z };
670
+ export { validateBrandProfile as $, type SpeakerNote as A, type BrandPalette as B, CLASSIC_HOMES_BRAND as C, type Deck as D, type SpeakerNotesOptions as E, type FieldMarker as F, type ValidationResult as G, checkPalette as H, type ImageInput as I, collectImageSources as J, externalizeDeckImages as K, type LayoutCategory as L, type MapImagesOptions as M, extractDeckSource as N, fieldMarkers as O, PREVIEW_SIZE as P, formatIssues as Q, type RenderOptions as R, type SlideData as S, formatPath as T, getLayout as U, type ValidateOptions as V, inlineDeckImages as W, mapDeckImages as X, renderDeck as Y, resolveBrand as Z, speakerNotes as _, BrandPaletteSchema as a, validateDeck as a0, type BrandProfile as b, type BrandProfileInput as c, BrandProfileSchema as d, CLASSIC_HOMES_PALETTE as e, type DeckBrand as f, DeckBrandSchema as g, DeckError as h, type DeckInput as i, DeckSchema as j, type DeckSettings as k, DeckSettingsSchema as l, type ImageResolver as m, type ImageValue as n, type InlineImagesResult as o, type ItemValue as p, LAYOUTS as q, LAYOUT_CATEGORIES as r, LAYOUT_CATEGORY_ORDER as s, type LayoutDef as t, type LayoutIssue as u, type LayoutName as v, type RenderResult as w, type ResolvedBrand as x, type SlideInput as y, SlideSchema as z };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LayoutCategory, B as BrandPalette } from './images-DCwWhenK.js';
2
- export { a as BrandPaletteSchema, b as BrandProfile, c as BrandProfileInput, d as BrandProfileSchema, C as CLASSIC_HOMES_BRAND, e as CLASSIC_HOMES_PALETTE, D as Deck, f as DeckBrand, g as DeckBrandSchema, h as DeckError, i as DeckInput, j as DeckSchema, k as DeckSettings, l as DeckSettingsSchema, F as FieldMarker, I as ImageInput, m as ImageResolver, n as ImageValue, o as InlineImagesResult, p as ItemValue, q as LAYOUTS, r as LAYOUT_CATEGORIES, s as LAYOUT_CATEGORY_ORDER, t as LayoutDef, u as LayoutIssue, v as LayoutName, M as MapImagesOptions, P as PREVIEW_SIZE, R as RenderOptions, w as RenderResult, x as ResolvedBrand, S as SlideData, y as SlideInput, z as SlideSchema, V as ValidateOptions, A as ValidationResult, E as checkPalette, G as collectImageSources, H as externalizeDeckImages, J as extractDeckSource, K as fieldMarkers, N as formatIssues, O as formatPath, Q as getLayout, T as inlineDeckImages, U as mapDeckImages, W as renderDeck, X as resolveBrand, Y as validateBrandProfile, Z as validateDeck } from './images-DCwWhenK.js';
1
+ import { L as LayoutCategory, B as BrandPalette } from './images-rkJZtnjl.js';
2
+ export { a as BrandPaletteSchema, b as BrandProfile, c as BrandProfileInput, d as BrandProfileSchema, C as CLASSIC_HOMES_BRAND, e as CLASSIC_HOMES_PALETTE, D as Deck, f as DeckBrand, g as DeckBrandSchema, h as DeckError, i as DeckInput, j as DeckSchema, k as DeckSettings, l as DeckSettingsSchema, F as FieldMarker, I as ImageInput, m as ImageResolver, n as ImageValue, o as InlineImagesResult, p as ItemValue, q as LAYOUTS, r as LAYOUT_CATEGORIES, s as LAYOUT_CATEGORY_ORDER, t as LayoutDef, u as LayoutIssue, v as LayoutName, M as MapImagesOptions, P as PREVIEW_SIZE, R as RenderOptions, w as RenderResult, x as ResolvedBrand, S as SlideData, y as SlideInput, z as SlideSchema, A as SpeakerNote, E as SpeakerNotesOptions, V as ValidateOptions, G as ValidationResult, H as checkPalette, J as collectImageSources, K as externalizeDeckImages, N as extractDeckSource, O as fieldMarkers, Q as formatIssues, T as formatPath, U as getLayout, W as inlineDeckImages, X as mapDeckImages, Y as renderDeck, Z as resolveBrand, _ as speakerNotes, $ as validateBrandProfile, a0 as validateDeck } from './images-rkJZtnjl.js';
3
3
  import * as zod_to_json_schema from 'zod-to-json-schema';
4
4
  import { z } from 'zod';
5
5
 
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  deckJsonSchema,
4
4
  describeLayout,
5
5
  listLayouts
6
- } from "./chunk-7NSNE5ED.js";
6
+ } from "./chunk-ORNJ4CTQ.js";
7
7
  import {
8
8
  BrandPaletteSchema,
9
9
  BrandProfileSchema,
@@ -61,12 +61,13 @@ import {
61
61
  renderDeck,
62
62
  resolveBrand,
63
63
  slideKey,
64
+ speakerNotes,
64
65
  stringifyDeck,
65
66
  updateSlide,
66
67
  validateBrandProfile,
67
68
  validateDeck,
68
69
  videoEmbedUrl
69
- } from "./chunk-KQXT376T.js";
70
+ } from "./chunk-HI5ZCAHO.js";
70
71
 
71
72
  // src/generated/runtime-hash.ts
72
73
  var RUNTIME_SCRIPT_HASH = "sha256-gElvQAb4VPvKu4UeyJRVKuoHYNp8NGhXwx2EhL7NB88=";
@@ -132,6 +133,7 @@ export {
132
133
  renderDeck,
133
134
  resolveBrand,
134
135
  slideKey,
136
+ speakerNotes,
135
137
  stringifyDeck,
136
138
  updateSlide,
137
139
  validateBrandProfile,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generated/runtime-hash.ts"],"sourcesContent":["// Generated by scripts/embed-fonts.ts. Do not edit.\n/** CSP source for the inline presenter runtime: script-src '<hash>'. */\nexport const RUNTIME_SCRIPT_HASH = 'sha256-gElvQAb4VPvKu4UeyJRVKuoHYNp8NGhXwx2EhL7NB88=';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAM,sBAAsB;","names":[]}
1
+ {"version":3,"sources":["../src/generated/runtime-hash.ts"],"sourcesContent":["// Generated by scripts/embed-fonts.ts. Do not edit.\n/** CSP source for the inline presenter runtime: script-src '<hash>'. */\nexport const RUNTIME_SCRIPT_HASH = 'sha256-gElvQAb4VPvKu4UeyJRVKuoHYNp8NGhXwx2EhL7NB88=';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAM,sBAAsB;","names":[]}
@@ -2,13 +2,13 @@ import {
2
2
  AUTHORING_GUIDE,
3
3
  describeLayout,
4
4
  listLayouts
5
- } from "./chunk-7NSNE5ED.js";
5
+ } from "./chunk-ORNJ4CTQ.js";
6
6
  import {
7
7
  buildDeckFile,
8
8
  confinedPath,
9
9
  loadDeckFile,
10
10
  saveDeckFile
11
- } from "./chunk-B3MBJRHZ.js";
11
+ } from "./chunk-UKRX7A2V.js";
12
12
  import {
13
13
  addSlide,
14
14
  formatIssues,
@@ -18,7 +18,7 @@ import {
18
18
  stringifyDeck,
19
19
  updateSlide,
20
20
  validateDeck
21
- } from "./chunk-KQXT376T.js";
21
+ } from "./chunk-HI5ZCAHO.js";
22
22
 
23
23
  // src/node/mcp.ts
24
24
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
@@ -320,4 +320,4 @@ export {
320
320
  createSlidesMcpServer,
321
321
  runStdio
322
322
  };
323
- //# sourceMappingURL=mcp-VBUAVGHS.js.map
323
+ //# sourceMappingURL=mcp-MG2E7J3I.js.map
package/dist/node.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RenderOptions, w as RenderResult, o as InlineImagesResult, m as ImageResolver } from './images-DCwWhenK.js';
2
- export { W as renderDeck } from './images-DCwWhenK.js';
1
+ import { R as RenderOptions, w as RenderResult, o as InlineImagesResult, m as ImageResolver } from './images-rkJZtnjl.js';
2
+ export { Y as renderDeck } from './images-rkJZtnjl.js';
3
3
  import 'zod';
4
4
 
5
5
  /** Largest single image we inline without warning. Big photos bloat the deck file. */
package/dist/node.js CHANGED
@@ -5,10 +5,10 @@ import {
5
5
  fileImageResolver,
6
6
  loadDeckFile,
7
7
  saveDeckFile
8
- } from "./chunk-B3MBJRHZ.js";
8
+ } from "./chunk-UKRX7A2V.js";
9
9
  import {
10
10
  renderDeck
11
- } from "./chunk-KQXT376T.js";
11
+ } from "./chunk-HI5ZCAHO.js";
12
12
  export {
13
13
  IMAGE_WARN_BYTES,
14
14
  buildDeckFile,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@classic-homes/slides",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Branded Classic Homes presentations from structured deck files: schema, layouts, renderer, CLI and MCP server",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",