@miadi/ncp-story-studio 0.5.1 → 0.6.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/PHASES.md CHANGED
@@ -20,6 +20,41 @@
20
20
  inside Miadi, with the seed projects (Catalyst of Changes and the other four narratives)
21
21
  observable there. It is a target, not a stale reference.
22
22
 
23
+ ## Status — 2026-09-19 (phone round)
24
+
25
+ The studio was built at a desk and read on a phone. On a 390px screen the nine tabs wrapped into
26
+ three rows and scrolled away with the page, the save sat at the top of a 32,000px beat list, the
27
+ edit buttons appeared only on hover — which a touch screen never does — and a vertical swipe that
28
+ started on the graph could not scroll the page past it. What changed (0.6.0, and `app/ncp`):
29
+
30
+ - **`<BeatScrubber>`** — one tick per beat, coloured by tone, signposts tallest. A thumb runs along
31
+ ninety beats in one stroke; the graph or the list follows it. It rides in the studio's sticky bar
32
+ in both the graph and the beats view.
33
+ - **The graph on touch is a carousel.** `snap` settles one beat at the centre; `followFocus` scrolls
34
+ a linked beat into view (before, `?view=graph&beat=x` opened on beat 1); `onCenteredBeatChange`
35
+ lets the host know where the reader is. Vertical swipes pass through to the page.
36
+ - **Shorter cards, shorter canvas.** Cards clamp to three lines; the canvas drops from 720 to 480.
37
+ - **In the app:** a bottom bar on phones (overview · graph · beats · ask · more), a views sheet and
38
+ the chat as sheets over the shared `DragSheet` (jgwill/Miadi#381), a sticky status bar with the
39
+ save, beats that filter by words and appreciation and fold into an outline, card actions shown on
40
+ touch, 16px fields so iOS does not zoom into every edit, and whole-card links on the project list.
41
+
42
+ ## Status — 2026-09-19 (navigation round)
43
+
44
+ Four things a reader asked for after using it:
45
+
46
+ - **The line is navigable.** Drag the empty space to pan; arrow keys scroll it, shift for a longer
47
+ step, Home and End for the ends. A press that starts on a beat still opens that beat.
48
+ - **Compact says something.** It was circles; now each mark carries its narrative function, its
49
+ summary and its three tone letters, so a ninety-beat story is readable at a glance.
50
+ - **Cards are the default at every length** — the card is what makes a beat readable, and the line
51
+ is now navigable, so length is no longer a reason to hide them. Compact is one click away.
52
+ - **Every view is reachable without dragging.** The tab bar wraps; `terminology` was hidden behind a
53
+ sideways scroll.
54
+ - **Validation reads as three things**: what to fix, what the story extends (declared, not drift),
55
+ and what is worth knowing — each group counted once with its places behind a disclosure, instead
56
+ of sixty-three identical lines.
57
+
23
58
  ## Status — 2026-09-15 (interface round)
24
59
 
25
60
  The surface was refined against the prototype it is modelled on, which had a visual language the
package/README.md CHANGED
@@ -95,6 +95,39 @@ step, Home and End for the ends), and a press that starts on a beat still opens
95
95
  `cards={false}` gives a compact strip — still a caption per beat, with its narrative function, its
96
96
  summary and its three tone letters, so a long story stays readable at a glance.
97
97
 
98
+ ### On a phone
99
+
100
+ ```tsx
101
+ import { BeatScrubber, StoryGraph } from '@miadi/ncp-story-studio/graph/react'
102
+
103
+ <BeatScrubber narrative={narrative} currentBeatId={position} onScrub={goToBeat} />
104
+ <StoryGraph
105
+ narrative={narrative}
106
+ focusedBeatId={focused}
107
+ snap={isTouch} // one beat comes to rest at the centre, like a carousel
108
+ onCenteredBeatChange={setPosition} // the beat a swipe settled on
109
+ />
110
+ ```
111
+
112
+ - **The graph follows its focus.** When `focusedBeatId` changes the line scrolls that beat to the
113
+ centre (`followFocus={false}` turns it off), so a link to beat 40 lands on beat 40.
114
+ - **`snap`** makes a swipe settle with one beat centred. A mouse drag suspends it while held.
115
+ - **`onCenteredBeatChange`** reports the beat a reader's own scroll settled on. The scroll the graph
116
+ makes itself to follow a focus is not reported, so a host can feed it straight back into
117
+ `focusedBeatId` without the two chasing each other.
118
+ - **A vertical swipe on the line scrolls the page.** Touch is left to the browser's native pan;
119
+ only a mouse drag is captured.
120
+ - **`<BeatScrubber>`** is one tick per beat, coloured by its abstraction tone and sized by its
121
+ appreciation (signposts tallest). A thumb runs along it; `onScrub` fires once per beat crossed
122
+ and `onScrubEnd` when the thumb lifts. It is a `role="slider"` — arrow keys step, Page Up/Down
123
+ step ten, Home and End go to the ends.
124
+ - The pure geometry behind both is exported from `/graph` for any other surface:
125
+ `nearestNodeIndex(layout, x)`, `scrollLeftForNode(layout, index, viewportWidth)`,
126
+ `scrubIndex(count, fraction)`.
127
+
128
+ Cards clamp their summary and illustration to three lines, so the canvas is 480px tall rather than
129
+ 720 — the full telling is one tap away, and a phone shows the line and its tones on one screen.
130
+
98
131
  ## Store
99
132
 
100
133
  ```ts
@@ -62,6 +62,23 @@ export interface GraphLayout {
62
62
  }
63
63
  /** Lay a narrative's beats out as a left-to-right lattice. */
64
64
  export declare function layoutNarrative(narrative: Narrative, options?: GraphLayoutOptions): GraphLayout;
65
+ /**
66
+ * The index of the node nearest to a horizontal position on the canvas: the
67
+ * beat under a viewport's centre line, or under a finger on a scrubber. -1 when
68
+ * the layout has no nodes. Nodes are in `x` order, so this is a binary search.
69
+ */
70
+ export declare function nearestNodeIndex(layout: GraphLayout, x: number): number;
71
+ /**
72
+ * Where a scroller of `viewportWidth` has to sit for node `index` to be at its
73
+ * centre, clamped to what the canvas can actually scroll.
74
+ */
75
+ export declare function scrollLeftForNode(layout: GraphLayout, index: number, viewportWidth: number): number;
76
+ /**
77
+ * Which of `count` equal slots a fraction of a strip falls in — a finger 40%
78
+ * along a scrubber of 90 beats is on beat index 36. Clamped, so a finger that
79
+ * slides off either end stays on the first or the last.
80
+ */
81
+ export declare function scrubIndex(count: number, fraction: number): number;
65
82
  /** Render a layout as a standalone SVG string, for exports and server rendering. */
66
83
  export declare function layoutToSvg(layout: GraphLayout, options?: {
67
84
  background?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhE,cAAc,YAAY,CAAA;AAE1B,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAClE,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,UAAU,EAAE,cAAc,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CACvC;AAqBD,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAyD/F;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAyB3G"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhE,cAAc,YAAY,CAAA;AAE1B,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAClE,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,UAAU,EAAE,cAAc,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;CACvC;AAqBD,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAyD/F;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAKnG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIlE;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAyB3G"}
@@ -75,6 +75,51 @@ export function layoutNarrative(narrative, options) {
75
75
  const width = lastNode ? lastNode.x + resolved.paddingX : resolved.paddingX * 2;
76
76
  return { nodes, links, width, height: resolved.height, centerY: resolved.centerY, resolved };
77
77
  }
78
+ /**
79
+ * The index of the node nearest to a horizontal position on the canvas: the
80
+ * beat under a viewport's centre line, or under a finger on a scrubber. -1 when
81
+ * the layout has no nodes. Nodes are in `x` order, so this is a binary search.
82
+ */
83
+ export function nearestNodeIndex(layout, x) {
84
+ const { nodes } = layout;
85
+ if (nodes.length === 0)
86
+ return -1;
87
+ let low = 0;
88
+ let high = nodes.length - 1;
89
+ while (low < high) {
90
+ const middle = (low + high) >> 1;
91
+ if (nodes[middle].x < x)
92
+ low = middle + 1;
93
+ else
94
+ high = middle;
95
+ }
96
+ if (low > 0 && x - nodes[low - 1].x <= nodes[low].x - x)
97
+ return low - 1;
98
+ return low;
99
+ }
100
+ /**
101
+ * Where a scroller of `viewportWidth` has to sit for node `index` to be at its
102
+ * centre, clamped to what the canvas can actually scroll.
103
+ */
104
+ export function scrollLeftForNode(layout, index, viewportWidth) {
105
+ const node = layout.nodes[index];
106
+ if (!node)
107
+ return 0;
108
+ const max = Math.max(0, layout.width - viewportWidth);
109
+ return Math.min(max, Math.max(0, node.x - viewportWidth / 2));
110
+ }
111
+ /**
112
+ * Which of `count` equal slots a fraction of a strip falls in — a finger 40%
113
+ * along a scrubber of 90 beats is on beat index 36. Clamped, so a finger that
114
+ * slides off either end stays on the first or the last.
115
+ */
116
+ export function scrubIndex(count, fraction) {
117
+ if (count <= 0)
118
+ return -1;
119
+ if (!Number.isFinite(fraction))
120
+ return 0;
121
+ return Math.min(count - 1, Math.max(0, Math.floor(fraction * count)));
122
+ }
78
123
  /** Render a layout as a standalone SVG string, for exports and server rendering. */
79
124
  export function layoutToSvg(layout, options) {
80
125
  const background = options?.background ?? '#020617';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graph/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import type { Narrative } from '../../schema/types.js';
3
+ export interface BeatScrubberProps {
4
+ narrative: Narrative;
5
+ /** The beat the strip marks as current. */
6
+ currentBeatId?: string | null;
7
+ /** Called as the finger crosses each beat, and on a tap or a key press. */
8
+ onScrub: (beatId: string) => void;
9
+ /** Called once when the finger lifts, with the beat it lifted on. */
10
+ onScrubEnd?: (beatId: string) => void;
11
+ /** Height of the tick strip in px (default 28). A thumb wants at least 24. */
12
+ height?: number;
13
+ /** Show a line under the strip naming the current beat (default true). */
14
+ caption?: boolean;
15
+ /** What a screen reader hears the strip called. */
16
+ label?: string;
17
+ className?: string;
18
+ style?: React.CSSProperties;
19
+ }
20
+ export declare function BeatScrubber({ narrative, currentBeatId, onScrub, onScrubEnd, height, caption, label, className, style, }: BeatScrubberProps): React.ReactElement | null;
21
+ //# sourceMappingURL=beat-scrubber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beat-scrubber.d.ts","sourceRoot":"","sources":["../../../src/graph/react/beat-scrubber.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAaD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,aAAa,EACb,OAAO,EACP,UAAU,EACV,MAAW,EACX,OAAc,EACd,KAAe,EACf,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAwL/C"}
@@ -0,0 +1,162 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ // A strip with one tick per beat, coloured by the beat's abstraction tone and
4
+ // sized by its appreciation, that a thumb can run along. It is how a reader
5
+ // moves through ninety beats on a phone without scrolling past eighty-nine of
6
+ // them: slide to beat 62, lift, and the host shows beat 62.
7
+ //
8
+ // Like the graph, it owns no data source and no URL: a narrative and a current
9
+ // beat come in, a beat id goes out. Styling is inline so it renders the same in
10
+ // a Tailwind surface and a plain one.
11
+ import * as React from 'react';
12
+ import { layoutNarrative, scrubIndex } from '../index.js';
13
+ /** Signposts stand tallest: they are the four posts the rest hang between. */
14
+ const TICK_HEIGHT = {
15
+ signpost: 1,
16
+ progression: 0.72,
17
+ event: 0.5,
18
+ };
19
+ function tickHeight(node) {
20
+ return TICK_HEIGHT[node.appreciation] ?? 0.4;
21
+ }
22
+ export function BeatScrubber({ narrative, currentBeatId, onScrub, onScrubEnd, height = 28, caption = true, label = 'Beats', className, style, }) {
23
+ const nodes = React.useMemo(() => layoutNarrative(narrative).nodes, [narrative]);
24
+ const strip = React.useRef(null);
25
+ // While a finger is down the strip shows where the finger is, not what the
26
+ // host last settled on: a host scrolling a long list after each crossing can
27
+ // report back a beat or two behind, and a thumb that jumps back under the
28
+ // finger is a thumb nobody trusts.
29
+ const [held, setHeld] = React.useState(null);
30
+ const pointer = React.useRef(null);
31
+ const hostIndex = React.useMemo(() => {
32
+ const index = nodes.findIndex((node) => node.id === currentBeatId);
33
+ return index < 0 ? 0 : index;
34
+ }, [nodes, currentBeatId]);
35
+ const index = held ?? hostIndex;
36
+ const current = nodes[index];
37
+ if (nodes.length === 0 || !current)
38
+ return null;
39
+ const indexAt = (clientX) => {
40
+ const rect = strip.current?.getBoundingClientRect();
41
+ if (!rect || rect.width === 0)
42
+ return index;
43
+ return scrubIndex(nodes.length, (clientX - rect.left) / rect.width);
44
+ };
45
+ // A key press is a whole gesture: it crosses one beat and lifts at once.
46
+ const step = (next) => {
47
+ const node = nodes[Math.min(nodes.length - 1, Math.max(0, next))];
48
+ if (!node)
49
+ return;
50
+ onScrub(node.id);
51
+ onScrubEnd?.(node.id);
52
+ };
53
+ const onPointerDown = (event) => {
54
+ if (event.pointerType === 'mouse' && event.button !== 0)
55
+ return;
56
+ event.currentTarget.setPointerCapture(event.pointerId);
57
+ pointer.current = event.pointerId;
58
+ const next = indexAt(event.clientX);
59
+ setHeld(next);
60
+ const node = nodes[next];
61
+ if (node)
62
+ onScrub(node.id);
63
+ };
64
+ const onPointerMove = (event) => {
65
+ if (pointer.current !== event.pointerId)
66
+ return;
67
+ const next = indexAt(event.clientX);
68
+ if (next === held)
69
+ return;
70
+ setHeld(next);
71
+ const node = nodes[next];
72
+ if (node)
73
+ onScrub(node.id);
74
+ };
75
+ const release = (event) => {
76
+ if (pointer.current !== event.pointerId)
77
+ return;
78
+ pointer.current = null;
79
+ const node = nodes[held ?? index];
80
+ setHeld(null);
81
+ if (node)
82
+ onScrubEnd?.(node.id);
83
+ };
84
+ const onKeyDown = (event) => {
85
+ const steps = {
86
+ ArrowRight: 1,
87
+ ArrowUp: 1,
88
+ ArrowLeft: -1,
89
+ ArrowDown: -1,
90
+ PageUp: 10,
91
+ PageDown: -10,
92
+ };
93
+ let next;
94
+ if (event.key in steps)
95
+ next = index + steps[event.key];
96
+ else if (event.key === 'Home')
97
+ next = 0;
98
+ else if (event.key === 'End')
99
+ next = nodes.length - 1;
100
+ if (next === undefined)
101
+ return;
102
+ event.preventDefault();
103
+ step(next);
104
+ };
105
+ const thumbLeft = `${((index + 0.5) / nodes.length) * 100}%`;
106
+ const title = current.summary ?? current.title;
107
+ return (_jsxs("div", { className: className, "data-ncp-scrubber": "", style: { userSelect: 'none', ...style }, children: [_jsxs("div", { ref: strip, role: "slider", tabIndex: 0, "aria-label": label, "aria-valuemin": 1, "aria-valuemax": nodes.length, "aria-valuenow": index + 1, "aria-valuetext": `beat ${index + 1} of ${nodes.length}: ${current.appreciation} ${current.sequence}, ${title}`, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: release, onPointerCancel: release, onKeyDown: onKeyDown, style: {
108
+ position: 'relative',
109
+ height,
110
+ display: 'flex',
111
+ alignItems: 'flex-end',
112
+ gap: nodes.length > 60 ? 1 : 2,
113
+ padding: '0 2px',
114
+ cursor: 'pointer',
115
+ // The strip is the gesture: the browser must not scroll the page
116
+ // sideways, or pull it to refresh, out from under a thumb on it.
117
+ touchAction: 'none',
118
+ outline: 'none',
119
+ WebkitTapHighlightColor: 'transparent',
120
+ }, children: [nodes.map((node, position) => {
121
+ const active = position === index;
122
+ return (_jsx("span", { "aria-hidden": "true", style: {
123
+ flex: '1 1 0',
124
+ minWidth: 1,
125
+ height: `${Math.round(tickHeight(node) * 100)}%`,
126
+ borderRadius: 2,
127
+ background: node.hasTones ? node.ringColors.abstraction : '#334155',
128
+ opacity: active ? 1 : held !== null ? 0.35 : 0.55,
129
+ transform: active ? 'scaleY(1.15)' : undefined,
130
+ transformOrigin: 'bottom',
131
+ transition: 'opacity 120ms ease',
132
+ } }, node.id));
133
+ }), _jsx("span", { "aria-hidden": "true", style: {
134
+ position: 'absolute',
135
+ left: thumbLeft,
136
+ top: -3,
137
+ bottom: -3,
138
+ width: 3,
139
+ transform: 'translateX(-50%)',
140
+ borderRadius: 3,
141
+ background: '#ffd700',
142
+ boxShadow: '0 0 0 2px rgba(2, 6, 23, 0.9), 0 0 10px rgba(255, 215, 0, 0.45)',
143
+ pointerEvents: 'none',
144
+ } })] }), caption ? (_jsxs("p", { "aria-hidden": "true", style: {
145
+ margin: '6px 0 0',
146
+ display: 'flex',
147
+ gap: 8,
148
+ alignItems: 'baseline',
149
+ fontSize: 11,
150
+ lineHeight: 1.3,
151
+ color: '#94a3b8',
152
+ minWidth: 0,
153
+ }, children: [_jsxs("span", { style: { fontFamily: 'ui-monospace, monospace', color: '#e2e8f0', flexShrink: 0 }, children: [index + 1, "/", nodes.length] }), _jsxs("span", { style: {
154
+ fontFamily: 'ui-monospace, monospace',
155
+ textTransform: 'uppercase',
156
+ letterSpacing: '0.08em',
157
+ fontSize: 9,
158
+ color: '#818cf8',
159
+ flexShrink: 0,
160
+ }, children: [current.appreciation, " ", current.sequence] }), _jsx("span", { style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', minWidth: 0 }, children: title })] })) : null] }));
161
+ }
162
+ //# sourceMappingURL=beat-scrubber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beat-scrubber.js","sourceRoot":"","sources":["../../../src/graph/react/beat-scrubber.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { StoryGraph, type StoryGraphProps } from './story-graph.js';
2
+ export { BeatScrubber, type BeatScrubberProps } from './beat-scrubber.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graph/react/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graph/react/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
@@ -2,4 +2,5 @@
2
2
  // `@miadi/ncp-story-studio/graph/react` — the renderer. React is an optional
3
3
  // peer dependency: importing `../graph` alone pulls in no React.
4
4
  export { StoryGraph } from './story-graph.js';
5
+ export { BeatScrubber } from './beat-scrubber.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,6EAA6E;AAC7E,iEAAiE;AACjE,OAAO,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,6EAA6E;AAC7E,iEAAiE;AACjE,OAAO,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,YAAY,EAA0B,MAAM,oBAAoB,CAAA"}
@@ -12,6 +12,23 @@ export interface StoryGraphProps {
12
12
  className?: string;
13
13
  /** Rendered when the narrative has no beats. */
14
14
  emptyMessage?: React.ReactNode;
15
+ /**
16
+ * Scroll the focused beat to the centre whenever `focusedBeatId` changes
17
+ * (default true). A link that names a beat lands on it instead of on beat 1.
18
+ */
19
+ followFocus?: boolean;
20
+ /**
21
+ * Snap the line so a swipe comes to rest with one beat centred. Meant for
22
+ * touch, where the line is a carousel; a mouse drag suspends it while held.
23
+ */
24
+ snap?: boolean;
25
+ /**
26
+ * Called when a different beat comes to rest under the centre of the view
27
+ * because the reader scrolled, swiped or dragged. Not called for the scroll
28
+ * `followFocus` makes itself, so a host can feed it back into
29
+ * `focusedBeatId` without the two chasing each other.
30
+ */
31
+ onCenteredBeatChange?: (beatId: string) => void;
15
32
  }
16
- export declare function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, cards, className, emptyMessage, }: StoryGraphProps): React.ReactElement;
33
+ export declare function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, cards, className, emptyMessage, followFocus, snap, onCenteredBeatChange, }: StoryGraphProps): React.ReactElement;
17
34
  //# sourceMappingURL=story-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"story-graph.d.ts","sourceRoot":"","sources":["../../../src/graph/react/story-graph.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAqC,KAAK,kBAAkB,EAAkB,MAAM,aAAa,CAAA;AAExG,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,uBAAuB,CAAA;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC/B;AAkBD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,aAAa,EACb,WAAW,EACX,OAAO,EACP,KAAY,EACZ,SAAS,EACT,YAAsD,GACvD,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAgNtC"}
1
+ {"version":3,"file":"story-graph.d.ts","sourceRoot":"","sources":["../../../src/graph/react/story-graph.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAKL,KAAK,kBAAkB,EAExB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,uBAAuB,CAAA;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAChD;AAwBD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,aAAa,EACb,WAAW,EACX,OAAO,EACP,KAAY,EACZ,SAAS,EACT,YAAsD,EACtD,WAAkB,EAClB,IAAY,EACZ,oBAAoB,GACrB,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAoStC"}
@@ -7,23 +7,29 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  //
8
8
  // It owns no data source and no URL: a narrative comes in, a beat id goes out.
9
9
  import * as React from 'react';
10
- import { layoutNarrative } from '../index.js';
10
+ import { layoutNarrative, nearestNodeIndex, scrollLeftForNode, } from '../index.js';
11
11
  import { TONE_FALLBACK } from '../tones.js';
12
12
  const AXES = [
13
13
  { axis: 'abstraction', letter: 'A', label: 'Abstraction' },
14
14
  { axis: 'spatial', letter: 'S', label: 'Spatial' },
15
15
  { axis: 'temporal', letter: 'T', label: 'Temporal' },
16
16
  ];
17
- /** Defaults that leave room for a card above and a tone panel below. */
17
+ /**
18
+ * Defaults that leave room for a card above and a tone panel below. The card
19
+ * clamps its summary and illustration to three lines each, so its height is
20
+ * bounded and the canvas does not have to reserve room for the longest beat —
21
+ * 480 rather than 720, which on a phone is the difference between the line and
22
+ * its tones fitting on one screen or not.
23
+ */
18
24
  const CARD_DEFAULTS = {
19
25
  beatSpacing: 360,
20
- centerY: 360,
21
- height: 720,
26
+ centerY: 280,
27
+ height: 480,
22
28
  nodeRadius: 26,
23
29
  ringGap: 10,
24
30
  paddingX: 200,
25
31
  };
26
- export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, cards = true, className, emptyMessage = 'This narrative has no storybeats yet.', }) {
32
+ export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, cards = true, className, emptyMessage = 'This narrative has no storybeats yet.', followFocus = true, snap = false, onCenteredBeatChange, }) {
27
33
  const resolved = React.useMemo(() => ({ ...(cards ? CARD_DEFAULTS : {}), ...options }), [cards, options]);
28
34
  const layout = React.useMemo(() => layoutNarrative(narrative, resolved), [narrative, resolved]);
29
35
  const beatsById = React.useMemo(() => {
@@ -42,10 +48,71 @@ export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, car
42
48
  const scroller = React.useRef(null);
43
49
  const drag = React.useRef(null);
44
50
  const [dragging, setDragging] = React.useState(false);
45
- // Dragging the empty space moves the line. A beat is a button, so a press
46
- // that starts on one is left alone; anywhere else is a grab.
51
+ // The beat last reported (or scrolled to) as centred. The focus effect skips
52
+ // a focus that is already centred, which is what lets a host wire
53
+ // `onCenteredBeatChange` straight back into `focusedBeatId`.
54
+ const centered = React.useRef(null);
55
+ // Where a scroll this component started is headed. While it is in flight the
56
+ // beats it passes are not reported: they are on the way, not chosen.
57
+ const heading = React.useRef(null);
58
+ const frame = React.useRef(0);
59
+ const firstFollow = React.useRef(true);
60
+ React.useEffect(() => () => cancelAnimationFrame(frame.current), []);
61
+ React.useEffect(() => {
62
+ const element = scroller.current;
63
+ if (!followFocus || !focusedBeatId || !element)
64
+ return;
65
+ if (focusedBeatId === centered.current) {
66
+ firstFollow.current = false;
67
+ return;
68
+ }
69
+ const index = layout.nodes.findIndex((node) => node.id === focusedBeatId);
70
+ if (index < 0)
71
+ return;
72
+ const left = scrollLeftForNode(layout, index, element.clientWidth);
73
+ const instant = firstFollow.current ||
74
+ (typeof window !== 'undefined' && window.matchMedia?.('(prefers-reduced-motion: reduce)').matches);
75
+ firstFollow.current = false;
76
+ centered.current = focusedBeatId;
77
+ heading.current = { left, until: Date.now() + 1200 };
78
+ element.scrollTo({ left, behavior: instant ? 'auto' : 'smooth' });
79
+ }, [focusedBeatId, followFocus, layout]);
80
+ const onScroll = () => {
81
+ if (!onCenteredBeatChange || frame.current)
82
+ return;
83
+ frame.current = requestAnimationFrame(() => {
84
+ frame.current = 0;
85
+ const element = scroller.current;
86
+ if (!element)
87
+ return;
88
+ // Arriving is not choosing either: a scroll clamped at either end of the
89
+ // line can come to rest with a neighbour nearer the centre than the beat
90
+ // it was sent to, and reporting that would move the focus off the beat
91
+ // the reader just picked.
92
+ const target = heading.current;
93
+ if (target) {
94
+ if (Math.abs(element.scrollLeft - target.left) <= 2 || Date.now() >= target.until)
95
+ heading.current = null;
96
+ return;
97
+ }
98
+ const node = layout.nodes[nearestNodeIndex(layout, element.scrollLeft + element.clientWidth / 2)];
99
+ if (!node || node.id === centered.current)
100
+ return;
101
+ centered.current = node.id;
102
+ onCenteredBeatChange(node.id);
103
+ });
104
+ };
105
+ // A reader's own gesture cancels any scroll this component was making.
106
+ const takeOver = () => {
107
+ heading.current = null;
108
+ };
109
+ // Dragging the empty space moves the line with a mouse. Touch is left to the
110
+ // browser, which pans natively and lets a vertical swipe scroll the page — a
111
+ // captured pointer would trap the page behind a canvas taller than the screen.
112
+ // A beat is a button, so a press that starts on one is left alone.
47
113
  const onPointerDown = (event) => {
48
- if (!scroller.current)
114
+ takeOver();
115
+ if (!scroller.current || event.pointerType === 'touch')
49
116
  return;
50
117
  if (event.target.closest('button, a, input, select, textarea'))
51
118
  return;
@@ -75,6 +142,7 @@ export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, car
75
142
  const onKeyDown = (event) => {
76
143
  if (!scroller.current)
77
144
  return;
145
+ takeOver();
78
146
  const step = event.shiftKey ? 600 : 200;
79
147
  if (event.key === 'ArrowRight') {
80
148
  scroller.current.scrollLeft += step;
@@ -97,15 +165,27 @@ export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, car
97
165
  return (_jsx("div", { className: className, "data-ncp-graph": "empty", style: { padding: '2rem', color: '#94a3b8' }, children: emptyMessage }));
98
166
  }
99
167
  const { centerY, width, height } = layout;
100
- return (_jsxs("div", { className: className, "data-ncp-graph": "canvas", style: { position: 'relative' }, children: [_jsx("div", { ref: scroller, className: "ncp-graph-scroll", role: "region", "aria-label": `Story lattice: ${layout.nodes.length} beats. Drag to pan, arrow keys to scroll.`, tabIndex: 0, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: endDrag, onPointerCancel: endDrag, onKeyDown: onKeyDown, style: {
168
+ return (_jsxs("div", { className: className, "data-ncp-graph": "canvas", style: { position: 'relative' }, children: [_jsx("div", { ref: scroller, className: "ncp-graph-scroll", role: "region", "aria-label": `Story lattice: ${layout.nodes.length} beats. Drag to pan, arrow keys to scroll.`, tabIndex: 0, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: endDrag, onPointerCancel: endDrag, onKeyDown: onKeyDown, onScroll: onScroll, onWheel: takeOver, onTouchStart: takeOver, style: {
101
169
  overflowX: 'auto',
102
170
  overflowY: 'hidden',
103
171
  cursor: dragging ? 'grabbing' : 'grab',
104
- touchAction: 'pan-x',
172
+ touchAction: 'pan-x pan-y',
105
173
  outline: 'none',
174
+ overscrollBehaviorX: 'contain',
175
+ scrollSnapType: snap && !dragging ? 'x mandatory' : undefined,
176
+ WebkitOverflowScrolling: 'touch',
106
177
  }, children: _jsxs("div", { style: { position: 'relative', width, height }, children: [_jsxs("svg", { width: width, height: height, style: { position: 'absolute', inset: 0, pointerEvents: 'none' }, "aria-hidden": "true", children: [_jsxs("defs", { children: [_jsxs("linearGradient", { id: "ncp-timeline", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [_jsx("stop", { offset: "0%", stopColor: "#4f46e5", stopOpacity: "0" }), _jsx("stop", { offset: "10%", stopColor: "#8b5cf6", stopOpacity: "0.5" }), _jsx("stop", { offset: "90%", stopColor: "#ec4899", stopOpacity: "0.5" }), _jsx("stop", { offset: "100%", stopColor: "#ec4899", stopOpacity: "0" })] }), _jsxs("filter", { id: "ncp-glow", children: [_jsx("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }), _jsxs("feMerge", { children: [_jsx("feMergeNode", { in: "blur" }), _jsx("feMergeNode", { in: "SourceGraphic" })] })] })] }), _jsx("path", { d: `M 0,${centerY} L ${width},${centerY}`, stroke: "url(#ncp-timeline)", strokeWidth: 2, fill: "none", filter: "url(#ncp-glow)" }), cards
107
178
  ? layout.nodes.map((node) => (_jsxs("g", { stroke: "#475569", strokeWidth: 1, strokeDasharray: "4 4", opacity: 0.3, children: [_jsx("path", { d: `M ${node.x},${node.y} L ${node.x},${node.y - 110}`, fill: "none" }), _jsx("path", { d: `M ${node.x},${node.y} L ${node.x},${node.y + 110}`, fill: "none" })] }, `stem-${node.id}`)))
108
- : layout.links.map((link) => (_jsx("path", { d: link.path, fill: "none", stroke: "currentColor", strokeOpacity: 0.35, strokeWidth: 2 }, link.id)))] }), layout.nodes.map((node) => (_jsx(BeatMark, { node: node, focused: focusedBeatId === node.id, cards: cards, perspective: perspectiveName(node.id), onClick: onBeatClick }, node.id))), _jsx("div", { "aria-hidden": "true", style: {
179
+ : layout.links.map((link) => (_jsx("path", { d: link.path, fill: "none", stroke: "currentColor", strokeOpacity: 0.35, strokeWidth: 2 }, link.id)))] }), snap
180
+ ? layout.nodes.map((node) => (_jsx("span", { "aria-hidden": "true", style: {
181
+ position: 'absolute',
182
+ left: node.x,
183
+ top: 0,
184
+ width: 1,
185
+ height: 1,
186
+ scrollSnapAlign: 'center',
187
+ } }, `snap-${node.id}`)))
188
+ : null, layout.nodes.map((node) => (_jsx(BeatMark, { node: node, focused: focusedBeatId === node.id, cards: cards, perspective: perspectiveName(node.id), onClick: onBeatClick }, node.id))), _jsx("div", { "aria-hidden": "true", style: {
109
189
  position: 'absolute',
110
190
  left: width - 40,
111
191
  top: centerY,
@@ -132,11 +212,18 @@ export function StoryGraph({ narrative, focusedBeatId, onBeatClick, options, car
132
212
  .ncp-graph-scroll::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
133
213
  ` })] }));
134
214
  }
215
+ /** Three lines and an ellipsis: the card is a preview, the beat view has the rest. */
216
+ const CLAMP_3 = {
217
+ display: '-webkit-box',
218
+ WebkitLineClamp: 3,
219
+ WebkitBoxOrient: 'vertical',
220
+ overflow: 'hidden',
221
+ };
135
222
  function BeatMark({ node, focused, cards, perspective, onClick }) {
136
223
  const interactive = typeof onClick === 'function';
137
224
  const ringColors = node.ringColors;
138
225
  const diameter = node.ringRadii[2] * 2 + 16;
139
- return (_jsxs("div", { "data-ncp-beat": node.id, "data-ncp-beat-focused": focused ? 'true' : undefined, style: { position: 'absolute', left: node.x, top: node.y, width: 0, height: 0 }, children: [cards ? (_jsxs("article", { style: {
226
+ return (_jsxs("div", { "data-ncp-beat": node.id, "data-ncp-beat-focused": focused ? 'true' : undefined, style: { position: 'absolute', left: node.x, top: node.y, width: 0, height: 0 }, children: [cards ? (_jsxs("article", { title: [node.summary ?? node.title, node.illustration].filter(Boolean).join('\n\n'), style: {
140
227
  position: 'absolute',
141
228
  left: '50%',
142
229
  bottom: 52,
@@ -164,7 +251,7 @@ function BeatMark({ node, focused, cards, perspective, onClick }) {
164
251
  border: '1px solid #1e293b',
165
252
  borderRadius: 4,
166
253
  padding: '2px 6px',
167
- }, children: node.appreciation }), perspective ? (_jsx("span", { style: { fontSize: 10, textTransform: 'uppercase', color: '#818cf8' }, children: perspective })) : null] }), _jsx("h3", { style: { fontSize: 16, fontWeight: 700, color: '#e2e8f0', margin: '0 0 6px', lineHeight: 1.35 }, children: node.summary ?? node.title }), node.illustration ? (_jsxs("p", { style: { fontSize: 12, fontStyle: 'italic', color: '#94a3b8', margin: 0, lineHeight: 1.5 }, children: ["\u201C", node.illustration, "\u201D"] })) : null] })) : null, _jsx("button", { type: interactive ? 'button' : undefined, onClick: interactive ? () => onClick?.(node.id) : undefined, disabled: !interactive, "aria-label": node.description, title: node.description, style: {
254
+ }, children: node.appreciation }), perspective ? (_jsx("span", { style: { fontSize: 10, textTransform: 'uppercase', color: '#818cf8' }, children: perspective })) : null] }), _jsx("h3", { style: { ...CLAMP_3, fontSize: 16, fontWeight: 700, color: '#e2e8f0', margin: '0 0 6px', lineHeight: 1.35 }, children: node.summary ?? node.title }), node.illustration ? (_jsxs("p", { style: { ...CLAMP_3, fontSize: 12, fontStyle: 'italic', color: '#94a3b8', margin: 0, lineHeight: 1.5 }, children: ["\u201C", node.illustration, "\u201D"] })) : null] })) : null, _jsx("button", { type: interactive ? 'button' : undefined, onClick: interactive ? () => onClick?.(node.id) : undefined, disabled: !interactive, "aria-label": node.description, title: node.description, style: {
168
255
  position: 'absolute',
169
256
  left: '50%',
170
257
  top: '50%',
@@ -1 +1 @@
1
- {"version":3,"file":"story-graph.js","sourceRoot":"","sources":["../../../src/graph/react/story-graph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"story-graph.js","sourceRoot":"","sources":["../../../src/graph/react/story-graph.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare function setStoryMetadata(story: Story, patch: Partial<Pick<Story
6
6
  * it here would produce two beats with the same id. Passing `tones: null` clears
7
7
  * the tone object; passing a partial `tones` merges into what is there.
8
8
  */
9
- export declare function updateStorybeat(story: Story, narrativeId: string, beatId: string, patch: Partial<Omit<Storybeat, 'id'>> & {
9
+ export declare function updateStorybeat(story: Story, narrativeId: string, beatId: string, patch: Partial<Omit<Storybeat, 'id' | 'tones'>> & {
10
10
  tones?: Storybeat['tones'] | null;
11
11
  }): Story;
12
12
  export declare function addStorybeat(story: Story, narrativeId: string, beat: Storybeat): Story;
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/store/mutations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EAEN,WAAW,EACX,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACX,MAAM,oBAAoB,CAAA;AAa3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAEhE;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACzD,KAAK,CAEP;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,GAC5E,KAAK,CAoBP;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CAOtF;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAuB7G;AAUD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,KAAK,CAKpG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAKrF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAcxF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,KAAK,CAKjG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAKrF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,EACnE,SAAS,EAAE,MAAM,GAChB,KAAK,CAaP;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,KAAK,CAgBR"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/store/mutations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EAEN,WAAW,EACX,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,EACX,MAAM,oBAAoB,CAAA;AAa3B,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAEhE;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACzD,KAAK,CAEP;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,GACtF,KAAK,CAoBP;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CAOtF;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAuB7G;AAUD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,KAAK,CAKpG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAKrF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAcxF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,KAAK,CAKjG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAKrF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,EACnE,SAAS,EAAE,MAAM,GAChB,KAAK,CAaP;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,KAAK,CAgBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/store/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/store/mutations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miadi/ncp-story-studio",
3
- "version": "0.5.1",
3
+ "version": "0.6.1",
4
4
  "description": "Narrative Context Protocol story studio as consumable modules: canonical NCP types and a zero-dependency validator, a headless story-lattice layout with a React renderer, story-project storage providers (JSON files and Neon Postgres), the agent link protocol, and the terminology and example data behind the teaching surface.",
5
5
  "license": "MIT",
6
6
  "author": "Miadi",