@refrakt-md/storytelling 0.8.4 → 0.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAgK7C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6M7C,CAAC"}
package/dist/config.js CHANGED
@@ -2,6 +2,9 @@ import { ratioToFr, resolveValign, resolveGap } from '@refrakt-md/transform';
2
2
  export const config = {
3
3
  Character: {
4
4
  block: 'character',
5
+ defaultDensity: 'full',
6
+ sections: { badge: 'header', name: 'title', content: 'body', portrait: 'media' },
7
+ mediaSlots: { portrait: 'portrait' },
5
8
  contentWrapper: { tag: 'div', ref: 'content' },
6
9
  modifiers: {
7
10
  role: { source: 'meta', default: 'supporting' },
@@ -13,8 +16,8 @@ export const config = {
13
16
  badge: {
14
17
  tag: 'div', before: true,
15
18
  children: [
16
- { tag: 'span', ref: 'role-badge', metaText: 'role' },
17
- { tag: 'span', ref: 'status-badge', metaText: 'status', condition: 'status' },
19
+ { tag: 'span', ref: 'role-badge', metaText: 'role', label: 'Role:', metaType: 'category', metaRank: 'primary' },
20
+ { tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', condition: 'status', metaType: 'status', metaRank: 'primary', sentimentMap: { alive: 'positive', dead: 'negative', unknown: 'neutral', missing: 'caution' } },
18
21
  ],
19
22
  },
20
23
  },
@@ -23,6 +26,10 @@ export const config = {
23
26
  CharacterSection: { block: 'character-section', parent: 'Character', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
24
27
  Realm: {
25
28
  block: 'realm',
29
+ defaultDensity: 'full',
30
+ sections: { badge: 'header', name: 'title', scene: 'media' },
31
+ mediaSlots: { scene: 'cover' },
32
+ rootAttributes: { 'data-media-position': 'top' },
26
33
  modifiers: {
27
34
  realmType: { source: 'meta', default: 'place' },
28
35
  scale: { source: 'meta' },
@@ -43,8 +50,8 @@ export const config = {
43
50
  badge: {
44
51
  tag: 'div', before: true,
45
52
  children: [
46
- { tag: 'span', ref: 'type-badge', metaText: 'realmType' },
47
- { tag: 'span', ref: 'scale-badge', metaText: 'scale', condition: 'scale' },
53
+ { tag: 'span', ref: 'type-badge', metaText: 'realmType', label: 'Type:', metaType: 'category', metaRank: 'primary' },
54
+ { tag: 'span', ref: 'scale-badge', metaText: 'scale', label: 'Scale:', condition: 'scale', metaType: 'category', metaRank: 'secondary' },
48
55
  ],
49
56
  },
50
57
  },
@@ -54,6 +61,8 @@ export const config = {
54
61
  RealmSection: { block: 'realm-section', parent: 'Realm', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
55
62
  Lore: {
56
63
  block: 'lore',
64
+ defaultDensity: 'full',
65
+ sections: { badge: 'header', title: 'title', content: 'body' },
57
66
  contentWrapper: { tag: 'div', ref: 'content' },
58
67
  modifiers: {
59
68
  category: { source: 'meta' },
@@ -65,7 +74,7 @@ export const config = {
65
74
  tag: 'div', before: true,
66
75
  conditionAny: ['category'],
67
76
  children: [
68
- { tag: 'span', ref: 'category-badge', metaText: 'category', condition: 'category' },
77
+ { tag: 'span', ref: 'category-badge', metaText: 'category', label: 'Category:', condition: 'category', metaType: 'category', metaRank: 'primary' },
69
78
  ],
70
79
  },
71
80
  },
@@ -73,6 +82,10 @@ export const config = {
73
82
  },
74
83
  Faction: {
75
84
  block: 'faction',
85
+ defaultDensity: 'full',
86
+ sections: { badge: 'header', name: 'title', scene: 'media' },
87
+ mediaSlots: { scene: 'cover' },
88
+ rootAttributes: { 'data-media-position': 'top' },
76
89
  modifiers: {
77
90
  factionType: { source: 'meta' },
78
91
  alignment: { source: 'meta' },
@@ -94,9 +107,9 @@ export const config = {
94
107
  tag: 'div', before: true,
95
108
  conditionAny: ['factionType', 'alignment', 'size'],
96
109
  children: [
97
- { tag: 'span', ref: 'type-badge', metaText: 'factionType', condition: 'factionType' },
98
- { tag: 'span', ref: 'alignment-badge', metaText: 'alignment', condition: 'alignment' },
99
- { tag: 'span', ref: 'size-badge', metaText: 'size', condition: 'size' },
110
+ { tag: 'span', ref: 'type-badge', metaText: 'factionType', label: 'Type:', condition: 'factionType', metaType: 'category', metaRank: 'primary' },
111
+ { tag: 'span', ref: 'alignment-badge', metaText: 'alignment', label: 'Alignment:', condition: 'alignment', metaType: 'category', metaRank: 'primary', sentimentMap: { good: 'positive', neutral: 'neutral', evil: 'negative', chaotic: 'caution', lawful: 'neutral' } },
112
+ { tag: 'span', ref: 'size-badge', metaText: 'size', label: 'Size:', condition: 'size', metaType: 'quantity', metaRank: 'secondary' },
100
113
  ],
101
114
  },
102
115
  },
@@ -106,6 +119,8 @@ export const config = {
106
119
  FactionSection: { block: 'faction-section', parent: 'Faction', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
107
120
  Plot: {
108
121
  block: 'plot',
122
+ defaultDensity: 'full',
123
+ sections: { badge: 'header', title: 'title' },
109
124
  modifiers: {
110
125
  plotType: { source: 'meta', default: 'arc' },
111
126
  structure: { source: 'meta', default: 'linear' },
@@ -116,12 +131,26 @@ export const config = {
116
131
  tag: 'div', before: true,
117
132
  conditionAny: ['plotType', 'structure'],
118
133
  children: [
119
- { tag: 'span', ref: 'type-badge', metaText: 'plotType', condition: 'plotType' },
120
- { tag: 'span', ref: 'structure-badge', metaText: 'structure', condition: 'structure' },
134
+ { tag: 'span', ref: 'type-badge', metaText: 'plotType', label: 'Type:', condition: 'plotType', metaType: 'category', metaRank: 'primary' },
135
+ { tag: 'span', ref: 'structure-badge', metaText: 'structure', label: 'Structure:', condition: 'structure', metaType: 'category', metaRank: 'secondary' },
121
136
  ],
122
137
  },
123
138
  },
124
139
  editHints: { title: 'inline', beats: 'none' },
140
+ postTransform(node, { modifiers }) {
141
+ // Linear plots use connected sequence for beat timeline
142
+ if (modifiers.structure === 'linear') {
143
+ const children = [...node.children];
144
+ for (let i = 0; i < children.length; i++) {
145
+ const child = children[i];
146
+ if (typeof child === 'object' && child !== null && !Array.isArray(child) && child.name === 'ol') {
147
+ children[i] = { ...child, attributes: { ...child.attributes, 'data-sequence': 'connected' } };
148
+ }
149
+ }
150
+ return { ...node, children };
151
+ }
152
+ return node;
153
+ },
125
154
  },
126
155
  Beat: {
127
156
  block: 'beat',
@@ -133,9 +162,24 @@ export const config = {
133
162
  follows: { source: 'meta' },
134
163
  },
135
164
  editHints: { label: 'inline', body: 'none' },
165
+ postTransform(node, { modifiers }) {
166
+ const STATUS_TO_CHECKED = {
167
+ complete: 'checked',
168
+ active: 'active',
169
+ planned: 'unchecked',
170
+ abandoned: 'skipped',
171
+ };
172
+ const checked = STATUS_TO_CHECKED[modifiers.status];
173
+ if (checked) {
174
+ return { ...node, attributes: { ...node.attributes, 'data-checked': checked } };
175
+ }
176
+ return node;
177
+ },
136
178
  },
137
179
  Bond: {
138
180
  block: 'bond',
181
+ defaultDensity: 'compact',
182
+ sections: { body: 'body' },
139
183
  modifiers: {
140
184
  bondType: { source: 'meta' },
141
185
  status: { source: 'meta', default: 'active' },
@@ -145,6 +189,7 @@ export const config = {
145
189
  },
146
190
  Storyboard: {
147
191
  block: 'storyboard',
192
+ defaultDensity: 'full',
148
193
  modifiers: {
149
194
  variant: { source: 'meta', default: 'clean' },
150
195
  columns: { source: 'meta', default: '3' },
@@ -152,6 +197,6 @@ export const config = {
152
197
  styles: { columns: '--sb-columns' },
153
198
  editHints: { panels: 'none' },
154
199
  },
155
- StoryboardPanel: { block: 'storyboard-panel', parent: 'Storyboard', editHints: { image: 'image', caption: 'inline', body: 'none' } },
200
+ StoryboardPanel: { block: 'storyboard-panel', parent: 'Storyboard', mediaSlots: { image: 'cover' }, editHints: { image: 'image', caption: 'inline', body: 'none' } },
156
201
  };
157
202
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUrD,eAAO,MAAM,YAAY,EAAE,WAoJ1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWrD,eAAO,MAAM,YAAY,EAAE,WAmK1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -6,10 +6,11 @@ import { plot, beat } from './tags/plot.js';
6
6
  import { bond } from './tags/bond.js';
7
7
  import { storyboard, storyboardPanel } from './tags/storyboard.js';
8
8
  import { config } from './config.js';
9
+ import { storytellingPipelineHooks } from './pipeline.js';
9
10
  export const storytelling = {
10
11
  name: 'storytelling',
11
12
  displayName: 'Storytelling',
12
- version: '0.8.4',
13
+ version: '0.9.0',
13
14
  runes: {
14
15
  'character': {
15
16
  transform: character,
@@ -17,6 +18,8 @@ export const storytelling = {
17
18
  description: 'Character profile with portrait, role, status, and sectioned details. Headings become sections.',
18
19
  seoType: 'Person',
19
20
  reinterprets: { heading: 'character detail section', paragraph: 'description', image: 'portrait', list: 'traits or inventory' },
21
+ category: 'Semantic',
22
+ snippet: ['{% character name="${1:Name}" role="${2|protagonist,antagonist,supporting,minor|}" status="${3|alive,dead,unknown,missing|}" %}', '## Backstory', '', '${4:Character background.}', '', '## Abilities', '', '- ${5:Ability one}', '{% /character %}'],
20
23
  fixture: `{% character name="Veshra" role="antagonist" status="alive" aliases="The Bone Witch" tags="magic-user" %}
21
24
  ## Backstory
22
25
 
@@ -39,6 +42,8 @@ Raised in the shadow of the Ashen Spire, Veshra discovered her gift for necroman
39
42
  description: 'Location or realm description with scene image, scale, and sectioned details. Headings become sections.',
40
43
  seoType: 'Place',
41
44
  reinterprets: { heading: 'realm detail section', paragraph: 'description', image: 'scene image', list: 'features or inhabitants' },
45
+ category: 'Semantic',
46
+ snippet: ['{% realm name="${1:Name}" type="${2:sanctuary}" %}', '${3:Description of the location.}', '{% /realm %}'],
42
47
  fixture: `{% realm name="Rivendell" type="sanctuary" scale="settlement" parent="Eriador" %}
43
48
  ![Scene](/images/rivendell.jpg)
44
49
 
@@ -65,6 +70,8 @@ A hidden valley in the foothills of the Misty Mountains.
65
70
  description: 'Faction or organization within a story world with alignment, size, and sectioned details.',
66
71
  seoType: 'Organization',
67
72
  reinterprets: { heading: 'faction detail section', paragraph: 'description', list: 'members or resources' },
73
+ category: 'Semantic',
74
+ snippet: ['{% faction name="${1:Name}" type="${2:guild}" %}', '${3:Faction description.}', '{% /faction %}'],
68
75
  fixture: `{% faction name="The Silver Order" type="knightly order" alignment="lawful" size="large" %}
69
76
  A prestigious order of knights sworn to protect the realm.
70
77
 
@@ -90,6 +97,8 @@ Their fortress overlooks the capital city from the northern cliffs.
90
97
  description: 'Lore entry for world-building details, legends, or historical records. Supports spoiler mode.',
91
98
  seoType: 'Article',
92
99
  reinterprets: { heading: 'lore title', paragraph: 'content', blockquote: 'in-world quote' },
100
+ category: 'Semantic',
101
+ snippet: ['{% lore title="${1:Title}" category="${2:history}" %}', '${3:Lore content.}', '{% /lore %}'],
93
102
  fixture: `{% lore title="The Prophecy of the Chosen One" category="prophecy" spoiler=true %}
94
103
  An ancient text found in the ruins of the First Temple.
95
104
 
@@ -105,6 +114,8 @@ The prophecy has been interpreted differently by various factions throughout his
105
114
  description: 'Plot arc with sequential beats. Lists with [x]/[>]/[ ]/[-] markers become beat checkpoints.',
106
115
  seoType: 'CreativeWork',
107
116
  reinterprets: { heading: 'plot title', paragraph: 'summary', list: 'beat checkpoints (with status markers)' },
117
+ category: 'Semantic',
118
+ snippet: ['{% plot title="${1:Arc Title}" %}', '${2:Plot summary.}', '', '- [ ] **${3:Beat One}** \\u2014 ${4:Description}', '- [ ] **${5:Beat Two}** \\u2014 ${6:Description}', '{% /plot %}'],
108
119
  fixture: `{% plot title="The Quest for the Crown" type="quest" structure="linear" %}
109
120
  The heroes must recover the lost crown before the solstice.
110
121
 
@@ -124,6 +135,8 @@ The heroes must recover the lost crown before the solstice.
124
135
  aliases: ['relationship'],
125
136
  description: 'Relationship between two named entities with type, status, and directional indicator.',
126
137
  reinterprets: { paragraph: 'relationship description' },
138
+ category: 'Semantic',
139
+ snippet: ['{% bond from="${1:Entity A}" to="${2:Entity B}" type="${3:alliance}" %}', '${4:Relationship description.}', '{% /bond %}'],
127
140
  fixture: `{% bond from="Aragorn" to="Legolas" type="fellowship" status="active" %}
128
141
  Forged during the Council of Elrond, their bond was tested through the
129
142
  War of the Ring. Despite their different backgrounds, they developed
@@ -135,6 +148,8 @@ a deep mutual respect.
135
148
  aliases: ['comic'],
136
149
  description: 'Comic/storyboard layout where images become panels and paragraphs become captions',
137
150
  reinterprets: { image: 'panel visual', paragraph: 'caption/dialogue' },
151
+ category: 'Semantic',
152
+ snippet: ['{% storyboard %}', '![${1:Panel 1}](${2:/path/to/image1.png})', '', '${3:Caption for panel 1}', '', '![${4:Panel 2}](${5:/path/to/image2.png})', '', '${6:Caption for panel 2}', '{% /storyboard %}'],
138
153
  fixture: `{% storyboard variant="clean" columns="3" %}
139
154
  ![Panel 1](/images/panel1.jpg)
140
155
  The hero surveys the landscape from atop the hill.
@@ -154,6 +169,7 @@ The journey begins.
154
169
  theme: {
155
170
  runes: config,
156
171
  },
172
+ pipeline: storytellingPipelineHooks,
157
173
  };
158
174
  export default storytelling;
159
175
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { PackagePipelineHooks, EntityRegistration } from '@refrakt-md/types';
2
+ export interface BondRelationship {
3
+ target: string;
4
+ bondType: string;
5
+ status: string;
6
+ bidirectional: boolean;
7
+ sourceUrl: string;
8
+ }
9
+ export interface StorytellingAggregatedData {
10
+ /** All registered entities by name for cross-link lookup */
11
+ entityByName: Map<string, EntityRegistration>;
12
+ /** Relationship graph from bonds: entityName → relationships */
13
+ relationships: Map<string, BondRelationship[]>;
14
+ /** Bond validation warnings (orphaned from/to references) */
15
+ orphanedBonds: string[];
16
+ }
17
+ export declare const storytellingPipelineHooks: PackagePipelineHooks;
18
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAyGlF,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IAC1C,4DAA4D;IAC5D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C,gEAAgE;IAChE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,yBAAyB,EAAE,oBA+JvC,CAAC"}
@@ -0,0 +1,242 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Tag } = Markdoc;
3
+ const STORYTELLING_ENTITY_TYPES = new Set(['character', 'realm', 'faction', 'lore', 'plot', 'bond']);
4
+ /** Tags where cross-links should not resolve */
5
+ const EXCLUDED_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'code']);
6
+ function walkTags(node, fn) {
7
+ if (Markdoc.Tag.isTag(node)) {
8
+ fn(node);
9
+ for (const child of node.children)
10
+ walkTags(child, fn);
11
+ }
12
+ else if (Array.isArray(node)) {
13
+ node.forEach(n => walkTags(n, fn));
14
+ }
15
+ }
16
+ function extractTextContent(node) {
17
+ if (typeof node === 'string')
18
+ return node;
19
+ if (!Markdoc.Tag.isTag(node))
20
+ return '';
21
+ return node.children.map(c => extractTextContent(c)).join('');
22
+ }
23
+ /** Convert camelCase to kebab-case (matching engine convention) */
24
+ function toKebabCase(s) {
25
+ return s
26
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
27
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
28
+ .toLowerCase();
29
+ }
30
+ function readField(tag, field) {
31
+ const kebab = toKebabCase(field);
32
+ const meta = tag.children.find((c) => Markdoc.Tag.isTag(c) && c.attributes['data-field'] === kebab);
33
+ return Markdoc.Tag.isTag(meta) ? meta.attributes.content ?? '' : '';
34
+ }
35
+ function readRefText(tag, name) {
36
+ const ref = tag.children.find((c) => Markdoc.Tag.isTag(c) && c.attributes['data-name'] === name);
37
+ return ref ? extractTextContent(ref) : '';
38
+ }
39
+ /** Extract the display name for a storytelling entity based on rune type */
40
+ function extractEntityName(tag, runeType) {
41
+ switch (runeType) {
42
+ case 'character':
43
+ case 'realm':
44
+ case 'faction':
45
+ return readRefText(tag, 'name');
46
+ case 'lore':
47
+ case 'plot':
48
+ return readRefText(tag, 'title');
49
+ default:
50
+ return '';
51
+ }
52
+ }
53
+ /** Extract type-specific metadata for a storytelling entity */
54
+ function extractEntityData(tag, runeType) {
55
+ const data = {};
56
+ switch (runeType) {
57
+ case 'character':
58
+ data.role = readField(tag, 'role');
59
+ data.status = readField(tag, 'status');
60
+ data.aliases = readField(tag, 'aliases');
61
+ data.tags = readField(tag, 'tags');
62
+ break;
63
+ case 'realm':
64
+ data.realmType = readField(tag, 'realmType');
65
+ data.scale = readField(tag, 'scale');
66
+ data.tags = readField(tag, 'tags');
67
+ data.parent = readField(tag, 'parent');
68
+ break;
69
+ case 'faction':
70
+ data.factionType = readField(tag, 'factionType');
71
+ data.alignment = readField(tag, 'alignment');
72
+ data.size = readField(tag, 'size');
73
+ data.tags = readField(tag, 'tags');
74
+ break;
75
+ case 'lore':
76
+ data.category = readField(tag, 'category');
77
+ data.spoiler = readField(tag, 'spoiler');
78
+ data.tags = readField(tag, 'tags');
79
+ break;
80
+ case 'plot':
81
+ data.plotType = readField(tag, 'plotType');
82
+ data.structure = readField(tag, 'structure');
83
+ data.tags = readField(tag, 'tags');
84
+ break;
85
+ case 'bond':
86
+ data.from = readRefText(tag, 'from');
87
+ data.to = readRefText(tag, 'to');
88
+ data.bondType = readField(tag, 'bondType');
89
+ data.status = readField(tag, 'status');
90
+ data.bidirectional = readField(tag, 'bidirectional');
91
+ break;
92
+ }
93
+ return data;
94
+ }
95
+ export const storytellingPipelineHooks = {
96
+ register(pages, registry, ctx) {
97
+ for (const page of pages) {
98
+ walkTags(page.renderable, (tag) => {
99
+ const runeType = tag.attributes['data-rune'];
100
+ if (!STORYTELLING_ENTITY_TYPES.has(runeType))
101
+ return;
102
+ if (runeType === 'bond') {
103
+ const from = readRefText(tag, 'from');
104
+ const to = readRefText(tag, 'to');
105
+ if (!from || !to) {
106
+ ctx.warn(`Bond missing from or to attribute`, page.url);
107
+ return;
108
+ }
109
+ const data = extractEntityData(tag, runeType);
110
+ data.name = `${from} → ${to}`;
111
+ registry.register({
112
+ type: 'bond',
113
+ id: `${from}→${to}`,
114
+ sourceUrl: page.url,
115
+ data,
116
+ });
117
+ return;
118
+ }
119
+ const name = extractEntityName(tag, runeType);
120
+ if (!name) {
121
+ ctx.warn(`Storytelling ${runeType} missing name/title`, page.url);
122
+ return;
123
+ }
124
+ const data = extractEntityData(tag, runeType);
125
+ data.name = name;
126
+ registry.register({
127
+ type: runeType,
128
+ id: name,
129
+ sourceUrl: page.url,
130
+ data,
131
+ });
132
+ });
133
+ }
134
+ },
135
+ aggregate(registry, ctx) {
136
+ // Build entity lookup by name (for cross-link resolution)
137
+ const entityByName = new Map();
138
+ const entityTypes = ['character', 'realm', 'faction', 'lore', 'plot'];
139
+ for (const type of entityTypes) {
140
+ for (const entity of registry.getAll(type)) {
141
+ entityByName.set(entity.id, entity);
142
+ // Also register character aliases
143
+ if (type === 'character') {
144
+ const aliases = String(entity.data.aliases ?? '');
145
+ if (aliases) {
146
+ for (const alias of aliases.split(',').map(a => a.trim()).filter(Boolean)) {
147
+ if (!entityByName.has(alias)) {
148
+ entityByName.set(alias, entity);
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ // Build relationship graph from bonds
156
+ const relationships = new Map();
157
+ const orphanedBonds = [];
158
+ function addRelationship(from, rel) {
159
+ if (!relationships.has(from))
160
+ relationships.set(from, []);
161
+ relationships.get(from).push(rel);
162
+ }
163
+ for (const bond of registry.getAll('bond')) {
164
+ const from = String(bond.data.from ?? '');
165
+ const to = String(bond.data.to ?? '');
166
+ const bondType = String(bond.data.bondType ?? '');
167
+ const status = String(bond.data.status ?? 'active');
168
+ const bidirectional = String(bond.data.bidirectional ?? 'true') === 'true';
169
+ // Validate references
170
+ const fromExists = entityByName.has(from);
171
+ const toExists = entityByName.has(to);
172
+ if (!fromExists) {
173
+ ctx.warn(`Bond references unknown entity "${from}"`, bond.sourceUrl);
174
+ orphanedBonds.push(`${from} → ${to}`);
175
+ }
176
+ if (!toExists) {
177
+ ctx.warn(`Bond references unknown entity "${to}"`, bond.sourceUrl);
178
+ if (!orphanedBonds.includes(`${from} → ${to}`)) {
179
+ orphanedBonds.push(`${from} → ${to}`);
180
+ }
181
+ }
182
+ addRelationship(from, { target: to, bondType, status, bidirectional, sourceUrl: bond.sourceUrl });
183
+ if (bidirectional) {
184
+ addRelationship(to, { target: from, bondType, status, bidirectional, sourceUrl: bond.sourceUrl });
185
+ }
186
+ }
187
+ return {
188
+ entityByName,
189
+ relationships,
190
+ orphanedBonds,
191
+ };
192
+ },
193
+ postProcess(page, aggregated) {
194
+ const maybeStoryData = aggregated['storytelling'];
195
+ if (!maybeStoryData || !maybeStoryData.entityByName || maybeStoryData.entityByName.size === 0)
196
+ return page;
197
+ const storyData = maybeStoryData;
198
+ const linkedNames = new Set();
199
+ let modified = false;
200
+ function mapNode(node, insideRuneDepth) {
201
+ if (typeof node === 'string')
202
+ return node;
203
+ if (Array.isArray(node)) {
204
+ const mapped = node.map(n => mapNode(n, insideRuneDepth));
205
+ return mapped.some((n, i) => n !== node[i]) ? mapped : node;
206
+ }
207
+ if (!Markdoc.Tag.isTag(node))
208
+ return node;
209
+ // Skip headings and code blocks entirely
210
+ if (EXCLUDED_TAGS.has(node.name))
211
+ return node;
212
+ // Skip nested runes (allow the page's top-level rune through)
213
+ if (node.attributes['data-rune'] != null && insideRuneDepth > 0)
214
+ return node;
215
+ const newDepth = node.attributes['data-rune'] != null ? insideRuneDepth + 1 : insideRuneDepth;
216
+ // Check for strong tags to cross-link
217
+ if (node.name === 'strong') {
218
+ const text = extractTextContent(node).trim();
219
+ if (text && !linkedNames.has(text)) {
220
+ const entity = storyData.entityByName.get(text);
221
+ if (entity && entity.sourceUrl !== page.url) {
222
+ linkedNames.add(text);
223
+ modified = true;
224
+ return new Tag('a', { href: entity.sourceUrl }, [node]);
225
+ }
226
+ }
227
+ }
228
+ // Recurse children
229
+ const newChildren = node.children.map((c) => mapNode(c, newDepth));
230
+ const changed = newChildren.some((c, i) => c !== node.children[i]);
231
+ if (changed) {
232
+ return new Tag(node.name, node.attributes, newChildren);
233
+ }
234
+ return node;
235
+ }
236
+ const newRenderable = mapNode(page.renderable, 0);
237
+ if (!modified)
238
+ return page;
239
+ return { ...page, renderable: newRenderable };
240
+ },
241
+ };
242
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAExB,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErG,gDAAgD;AAChD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnF,SAAS,QAAQ,CAAC,IAAa,EAAE,EAA2C;IAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,IAAI,CAAC,CAAC;QACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa;IACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC;SACN,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;SACxC,WAAW,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,GAA6B,EAAE,KAAa;IAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,KAAK,CAC5E,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,CAAC,OAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,GAA6B,EAAE,IAAY;IAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAC5B,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAC1E,CAAC;IACF,OAAO,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,GAA6B,EAAE,QAAgB;IACzE,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACb,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC;YACC,OAAO,EAAE,CAAC;IACZ,CAAC;AACF,CAAC;AAED,+DAA+D;AAC/D,SAAS,iBAAiB,CAAC,GAA6B,EAAE,QAAgB;IACzE,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,WAAW;YACf,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM;QACP,KAAK,OAAO;YACX,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvC,MAAM;QACP,KAAK,SAAS;YACb,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM;QACP,KAAK,MAAM;YACV,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM;QACP,KAAK,MAAM;YACV,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM;QACP,KAAK,MAAM;YACV,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACrD,MAAM;IACR,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAmBD,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC9D,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAW,CAAC;gBACvD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAErD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACtC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;wBAClB,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxD,OAAO;oBACR,CAAC;oBACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC9C,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC;oBAC9B,QAAQ,CAAC,QAAQ,CAAC;wBACjB,IAAI,EAAE,MAAM;wBACZ,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE;wBACnB,SAAS,EAAE,IAAI,CAAC,GAAG;wBACnB,IAAI;qBACJ,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,gBAAgB,QAAQ,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClE,OAAO;gBACR,CAAC;gBAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBAEjB,QAAQ,CAAC,QAAQ,CAAC;oBACjB,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,IAAI;oBACR,SAAS,EAAE,IAAI,CAAC,GAAG;oBACnB,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,SAAS,CAAC,QAAQ,EAAE,GAAG;QACtB,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;QAC3D,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACpC,kCAAkC;gBAClC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBAClD,IAAI,OAAO,EAAE,CAAC;wBACb,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC3E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC9B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;4BACjC,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;QAC5D,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,SAAS,eAAe,CAAC,IAAY,EAAE,GAAqB;YAC3D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;YACpD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;YAE3E,sBAAsB;YACtB,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,GAAG,CAAC,IAAI,CAAC,mCAAmC,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;oBAChD,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC;YAED,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAClG,IAAI,aAAa,EAAE,CAAC;gBACnB,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACnG,CAAC;QACF,CAAC;QAED,OAAO;YACN,YAAY;YACZ,aAAa;YACb,aAAa;SACwB,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,UAAU;QAC3B,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAA2C,CAAC;QAC5F,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3G,MAAM,SAAS,GAAG,cAAc,CAAC;QAEjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,SAAS,OAAO,CAAC,IAAa,EAAE,eAAuB;YACtD,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;gBAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE1C,yCAAyC;YACzC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE9C,8DAA8D;YAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,eAAe,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE7E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAE9F,sCAAsC;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACtB,QAAQ,GAAG,IAAI,CAAC;wBAChB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACF,CAAC;YACF,CAAC;YAED,mBAAmB;YACnB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,WAAoB,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,aAAuC,EAAE,CAAC;IACzE,CAAC;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyBvC,eAAO,MAAM,gBAAgB,gBAAkC,CAAC;AAEhE,eAAO,MAAM,SAAS,gBAoGpB,CAAC"}
1
+ {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyBvC,eAAO,MAAM,gBAAgB,gBAAkC,CAAC;AAEhE,eAAO,MAAM,SAAS,gBAgFpB,CAAC"}
@@ -72,56 +72,36 @@ export const character = createContentModelSchema({
72
72
  const portraitDiv = hasPortrait ? portrait.wrap('div') : undefined;
73
73
  const sections = sectionNodes.tag('div').typeof('CharacterSection');
74
74
  const hasSections = sections.count() > 0;
75
- const children = [nameTag, roleMeta, statusMeta, aliasesMeta, tagsMeta];
75
+ // Portrait before name so the image appears between header and title in stacked layout.
76
+ const children = [];
76
77
  if (portraitDiv)
77
78
  children.push(portraitDiv.next());
79
+ children.push(nameTag, roleMeta, statusMeta, aliasesMeta, tagsMeta);
78
80
  const schemaMap = {
79
81
  name: nameTag,
80
82
  jobTitle: roleMeta,
81
83
  };
82
- if (hasSections) {
83
- const sectionsContainer = sections.wrap('div');
84
- children.push(sectionsContainer.next());
85
- return createComponentRenderable(schema.Character, {
86
- tag: 'article',
87
- property: 'contentSection',
88
- properties: {
89
- role: roleMeta,
90
- status: statusMeta,
91
- aliases: aliasesMeta,
92
- tags: tagsMeta,
93
- section: sections,
94
- },
95
- refs: {
96
- name: nameTag,
97
- ...(portraitDiv ? { portrait: portraitDiv } : {}),
98
- sections: sectionsContainer,
99
- },
100
- schema: schemaMap,
101
- children,
102
- });
103
- }
104
- else {
105
- const body = sectionNodes.wrap('div');
106
- children.push(body.next());
107
- return createComponentRenderable(schema.Character, {
108
- tag: 'article',
109
- property: 'contentSection',
110
- properties: {
111
- role: roleMeta,
112
- status: statusMeta,
113
- aliases: aliasesMeta,
114
- tags: tagsMeta,
115
- },
116
- refs: {
117
- name: nameTag,
118
- ...(portraitDiv ? { portrait: portraitDiv } : {}),
119
- body,
120
- },
121
- schema: schemaMap,
122
- children,
123
- });
124
- }
84
+ const sectionsContainer = hasSections ? sections.wrap('div') : undefined;
85
+ const body = !hasSections ? sectionNodes.wrap('div') : undefined;
86
+ children.push(hasSections ? sectionsContainer.next() : body.next());
87
+ return createComponentRenderable(schema.Character, {
88
+ tag: 'article',
89
+ property: 'contentSection',
90
+ properties: {
91
+ role: roleMeta,
92
+ status: statusMeta,
93
+ aliases: aliasesMeta,
94
+ tags: tagsMeta,
95
+ ...(hasSections ? { section: sections } : {}),
96
+ },
97
+ refs: {
98
+ name: nameTag,
99
+ ...(portraitDiv ? { portrait: portraitDiv } : {}),
100
+ ...(hasSections ? { sections: sectionsContainer } : { body: body }),
101
+ },
102
+ schema: schemaMap,
103
+ children,
104
+ });
125
105
  },
126
106
  });
127
107
  //# sourceMappingURL=character.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ import type { RenderableTreeNode } from '@markdoc/markdoc';
3
+ import { RenderableNodeCursor } from '@refrakt-md/runes';
4
+ /**
5
+ * Shared scene-image extraction for storytelling runes (realm, faction).
6
+ *
7
+ * Takes the resolved `scene` field, transforms it, and returns either:
8
+ * - A media div wrapping the extracted `<img>` tag (if the scene was an image)
9
+ * - Extra description nodes (if the scene was text, not an image)
10
+ *
11
+ * Also returns the raw `<img>` tag for SEO schema use.
12
+ */
13
+ export declare function extractScene(sceneResolved: unknown, config: Record<string, any>): {
14
+ sceneDiv: RenderableNodeCursor<Markdoc.Tag> | undefined;
15
+ sceneImgTag: Markdoc.Tag | undefined;
16
+ extraDescription: RenderableTreeNode[];
17
+ };
18
+ /**
19
+ * Shared content assembly for storytelling runes with sections (realm, faction).
20
+ *
21
+ * Takes the extra description nodes, resolved description field, section cursor,
22
+ * and section type name, and returns a wrapped content div.
23
+ */
24
+ export declare function buildStoryContent(extraDescription: RenderableTreeNode[], descriptionResolved: unknown, sectionNodes: RenderableNodeCursor, sectionTypeName: string, config: Record<string, any>): {
25
+ mainContent: RenderableNodeCursor<Markdoc.Tag>;
26
+ sections: RenderableNodeCursor<Markdoc.Tag>;
27
+ hasSections: boolean;
28
+ };
29
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAW,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAErF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC3B,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB;IACF,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,WAAW,EAAE,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACvC,CAmBA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,gBAAgB,EAAE,kBAAkB,EAAE,EACtC,mBAAmB,EAAE,OAAO,EAC5B,YAAY,EAAE,oBAAoB,EAClC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB;IACF,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,WAAW,EAAE,OAAO,CAAC;CACrB,CA8BA"}
@@ -0,0 +1,59 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Tag } = Markdoc;
3
+ import { asNodes, RenderableNodeCursor, extractMediaImage } from '@refrakt-md/runes';
4
+ /**
5
+ * Shared scene-image extraction for storytelling runes (realm, faction).
6
+ *
7
+ * Takes the resolved `scene` field, transforms it, and returns either:
8
+ * - A media div wrapping the extracted `<img>` tag (if the scene was an image)
9
+ * - Extra description nodes (if the scene was text, not an image)
10
+ *
11
+ * Also returns the raw `<img>` tag for SEO schema use.
12
+ */
13
+ export function extractScene(sceneResolved, config) {
14
+ const sceneAstNodes = asNodes(sceneResolved);
15
+ const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
16
+ const sceneImgTag = extractMediaImage(sceneRendered);
17
+ let sceneDiv;
18
+ let extraDescription = [];
19
+ if (sceneImgTag) {
20
+ sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
21
+ }
22
+ else if (sceneRendered.count() > 0) {
23
+ // First paragraph was text, not an image — include as description
24
+ extraDescription = sceneRendered.toArray();
25
+ }
26
+ return { sceneDiv, sceneImgTag, extraDescription };
27
+ }
28
+ /**
29
+ * Shared content assembly for storytelling runes with sections (realm, faction).
30
+ *
31
+ * Takes the extra description nodes, resolved description field, section cursor,
32
+ * and section type name, and returns a wrapped content div.
33
+ */
34
+ export function buildStoryContent(extraDescription, descriptionResolved, sectionNodes, sectionTypeName, config) {
35
+ // Transform description paragraphs
36
+ const descAstNodes = asNodes(descriptionResolved);
37
+ const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
38
+ const sections = sectionNodes.tag('div').typeof(sectionTypeName);
39
+ const hasSections = sections.count() > 0;
40
+ // Build content children (everything except scene)
41
+ const contentChildren = [];
42
+ const allDescNodes = [...extraDescription, ...descRendered.toArray()];
43
+ if (allDescNodes.length > 0) {
44
+ contentChildren.push(...allDescNodes);
45
+ }
46
+ if (hasSections) {
47
+ const sectionsContainer = sections.wrap('div');
48
+ contentChildren.push(sectionsContainer.next());
49
+ }
50
+ else {
51
+ const body = sectionNodes.wrap('div');
52
+ if (sectionNodes.count() > 0) {
53
+ contentChildren.push(body.next());
54
+ }
55
+ }
56
+ const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
57
+ return { mainContent, sections, hasSections };
58
+ }
59
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC3B,aAAsB,EACtB,MAA2B;IAM3B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC7C,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAyB,CAChE,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,QAAuD,CAAC;IAC5D,IAAI,gBAAgB,GAAyB,EAAE,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAsC,CAAC;IACrG,CAAC;SAAM,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACtC,kEAAkE;QAClE,gBAAgB,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,gBAAsC,EACtC,mBAA4B,EAC5B,YAAkC,EAClC,eAAuB,EACvB,MAA2B;IAM3B,mCAAmC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAC5C,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAyB,CAC/D,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAsC,CAAC;IACtG,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzC,mDAAmD;IACnD,MAAM,eAAe,GAAU,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"faction.d.ts","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAsBvC,eAAO,MAAM,cAAc,gBAAoC,CAAC;AAEhE,eAAO,MAAM,OAAO,gBA4JlB,CAAC"}
1
+ {"version":3,"file":"faction.d.ts","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuBvC,eAAO,MAAM,cAAc,gBAAoC,CAAC;AAEhE,eAAO,MAAM,OAAO,gBA+FlB,CAAC"}
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Tag } = Markdoc;
12
- import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel } from '@refrakt-md/runes';
12
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
+ import { extractScene, buildStoryContent } from './common.js';
14
15
  class FactionSectionModel extends Model {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -59,80 +60,26 @@ export const faction = createContentModelSchema({
59
60
  // Combine explicit child tags (preamble items) with emitted section tags
60
61
  const allItems = [...asNodes(resolved.items), ...asNodes(resolved.sections)];
61
62
  const sectionNodes = new RenderableNodeCursor(Markdoc.transform(allItems, config));
63
+ // Domain meta tags
62
64
  const nameTag = new Tag('span', {}, [attrs.name ?? '']);
63
65
  const factionTypeMeta = new Tag('meta', { content: attrs.type ?? '' });
64
66
  const alignmentMeta = new Tag('meta', { content: attrs.alignment ?? '' });
65
67
  const sizeMeta = new Tag('meta', { content: attrs.size ?? '' });
66
68
  const tagsMeta = new Tag('meta', { content: attrs.tags ?? '' });
67
69
  // Layout meta tags
68
- const layout = attrs.layout || 'stacked';
69
- const ratio = attrs.ratio || '1 1';
70
- const valign = attrs.valign || 'top';
71
- const gap = attrs.gap || 'default';
72
- const collapse = attrs.collapse;
73
- const layoutMeta = new Tag('meta', { content: layout });
74
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
75
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
76
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
77
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
78
- // Extract scene image from the first preamble paragraph
79
- const sceneAstNodes = asNodes(resolved.scene);
80
- const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
81
- let sceneImgTag;
82
- for (const node of sceneRendered.toArray()) {
83
- if (Markdoc.Tag.isTag(node) && node.name === 'img') {
84
- sceneImgTag = node;
85
- break;
86
- }
87
- if (Markdoc.Tag.isTag(node) && node.name === 'p') {
88
- const img = node.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'img');
89
- if (img) {
90
- sceneImgTag = img;
91
- break;
92
- }
93
- }
94
- }
95
- let sceneDiv;
96
- let extraDescription = [];
97
- if (sceneImgTag) {
98
- sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
99
- }
100
- else if (sceneRendered.count() > 0) {
101
- extraDescription = sceneRendered.toArray();
102
- }
103
- // Transform description paragraphs
104
- const descAstNodes = asNodes(resolved.description);
105
- const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
106
- const sections = sectionNodes.tag('div').typeof('FactionSection');
107
- const hasSections = sections.count() > 0;
108
- // Build content children (everything except scene)
109
- const contentChildren = [];
110
- const allDescNodes = [...extraDescription, ...descRendered.toArray()];
111
- if (allDescNodes.length > 0) {
112
- contentChildren.push(...allDescNodes);
113
- }
114
- if (hasSections) {
115
- const sectionsContainer = sections.wrap('div');
116
- contentChildren.push(sectionsContainer.next());
117
- }
118
- else {
119
- const body = sectionNodes.wrap('div');
120
- if (sectionNodes.count() > 0) {
121
- contentChildren.push(body.next());
122
- }
123
- }
124
- const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
70
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
71
+ const { layout: layoutMeta, ratio: ratioMeta, valign: valignMeta, gap: gapMeta, collapse: collapseMeta } = layoutMetas;
72
+ // Extract scene image (shared helper)
73
+ const { sceneDiv, sceneImgTag, extraDescription } = extractScene(resolved.scene, config);
74
+ // Build content div with sections (shared helper)
75
+ const { mainContent, sections, hasSections } = buildStoryContent(extraDescription, resolved.description, sectionNodes, 'FactionSection', config);
125
76
  // Build children array
126
- const children = [
127
- nameTag, factionTypeMeta, alignmentMeta, sizeMeta, tagsMeta,
128
- layoutMeta,
129
- ...(ratioMeta ? [ratioMeta] : []),
130
- ...(valignMeta ? [valignMeta] : []),
131
- ...(gapMeta ? [gapMeta] : []),
132
- ...(collapseMeta ? [collapseMeta] : []),
133
- ];
77
+ // Scene before name so the image appears between header and title in stacked layout.
78
+ // In split layouts, CSS grid explicit placement controls the visual order.
79
+ const children = [];
134
80
  if (sceneDiv)
135
81
  children.push(sceneDiv.next());
82
+ children.push(nameTag, factionTypeMeta, alignmentMeta, sizeMeta, tagsMeta, ...layoutChildren);
136
83
  children.push(mainContent.next());
137
84
  // SEO schema
138
85
  const schemaMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"faction.js","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faction.js","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAsBvC,eAAO,MAAM,YAAY,gBAAkC,CAAC;AAE5D,eAAO,MAAM,KAAK,gBA+JhB,CAAC"}
1
+ {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuBvC,eAAO,MAAM,YAAY,gBAAkC,CAAC;AAE5D,eAAO,MAAM,KAAK,gBAgGhB,CAAC"}
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Tag } = Markdoc;
12
- import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel } from '@refrakt-md/runes';
12
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
+ import { extractScene, buildStoryContent } from './common.js';
14
15
  class RealmSectionModel extends Model {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -59,82 +60,26 @@ export const realm = createContentModelSchema({
59
60
  // Combine explicit child tags (preamble items) with emitted section tags
60
61
  const allItems = [...asNodes(resolved.items), ...asNodes(resolved.sections)];
61
62
  const sectionNodes = new RenderableNodeCursor(Markdoc.transform(allItems, config));
63
+ // Domain meta tags
62
64
  const nameTag = new Tag('span', {}, [attrs.name ?? '']);
63
65
  const realmTypeMeta = new Tag('meta', { content: attrs.type ?? 'place' });
64
66
  const scaleMeta = new Tag('meta', { content: attrs.scale ?? '' });
65
67
  const tagsMeta = new Tag('meta', { content: attrs.tags ?? '' });
66
68
  const parentMeta = new Tag('meta', { content: attrs.parent ?? '' });
67
- // Layout meta tags (following recipe pattern)
68
- const layout = attrs.layout || 'stacked';
69
- const ratio = attrs.ratio || '1 1';
70
- const valign = attrs.valign || 'top';
71
- const gap = attrs.gap || 'default';
72
- const collapse = attrs.collapse;
73
- const layoutMeta = new Tag('meta', { content: layout });
74
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
75
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
76
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
77
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
78
- // Extract scene image from the first preamble paragraph (if it contains an image)
79
- const sceneAstNodes = asNodes(resolved.scene);
80
- const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
81
- // The image is wrapped in a <p> by Markdoc — look inside paragraph children for <img>
82
- let sceneImgTag;
83
- for (const node of sceneRendered.toArray()) {
84
- if (Markdoc.Tag.isTag(node) && node.name === 'img') {
85
- sceneImgTag = node;
86
- break;
87
- }
88
- if (Markdoc.Tag.isTag(node) && node.name === 'p') {
89
- const img = node.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'img');
90
- if (img) {
91
- sceneImgTag = img;
92
- break;
93
- }
94
- }
95
- }
96
- let sceneDiv;
97
- let extraDescription = [];
98
- if (sceneImgTag) {
99
- sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
100
- }
101
- else if (sceneRendered.count() > 0) {
102
- // First paragraph was text, not an image — include as description
103
- extraDescription = sceneRendered.toArray();
104
- }
105
- // Transform description paragraphs
106
- const descAstNodes = asNodes(resolved.description);
107
- const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
108
- const sections = sectionNodes.tag('div').typeof('RealmSection');
109
- const hasSections = sections.count() > 0;
110
- // Build content children (everything except scene)
111
- const contentChildren = [];
112
- const allDescNodes = [...extraDescription, ...descRendered.toArray()];
113
- if (allDescNodes.length > 0) {
114
- contentChildren.push(...allDescNodes);
115
- }
116
- if (hasSections) {
117
- const sectionsContainer = sections.wrap('div');
118
- contentChildren.push(sectionsContainer.next());
119
- }
120
- else {
121
- const body = sectionNodes.wrap('div');
122
- if (sectionNodes.count() > 0) {
123
- contentChildren.push(body.next());
124
- }
125
- }
126
- const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
127
- // Build children array: meta tags, then scene before content (image at top in stacked)
128
- const children = [
129
- nameTag, realmTypeMeta, scaleMeta, tagsMeta, parentMeta,
130
- layoutMeta,
131
- ...(ratioMeta ? [ratioMeta] : []),
132
- ...(valignMeta ? [valignMeta] : []),
133
- ...(gapMeta ? [gapMeta] : []),
134
- ...(collapseMeta ? [collapseMeta] : []),
135
- ];
69
+ // Layout meta tags
70
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
71
+ const { layout: layoutMeta, ratio: ratioMeta, valign: valignMeta, gap: gapMeta, collapse: collapseMeta } = layoutMetas;
72
+ // Extract scene image (shared helper)
73
+ const { sceneDiv, sceneImgTag, extraDescription } = extractScene(resolved.scene, config);
74
+ // Build content div with sections (shared helper)
75
+ const { mainContent, sections, hasSections } = buildStoryContent(extraDescription, resolved.description, sectionNodes, 'RealmSection', config);
76
+ // Build children array
77
+ // Scene before name so the image appears between header and title in stacked layout.
78
+ // In split layouts, CSS grid explicit placement controls the visual order.
79
+ const children = [];
136
80
  if (sceneDiv)
137
81
  children.push(sceneDiv.next());
82
+ children.push(nameTag, realmTypeMeta, scaleMeta, tagsMeta, parentMeta, ...layoutChildren);
138
83
  children.push(mainContent.next());
139
84
  // SEO schema
140
85
  const schemaMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzK,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,iBAAkB,SAAQ,KAAK;IAArC;;QAEC,SAAI,GAAW,EAAE,CAAC;IAYnB,CAAC;IAVA,SAAS;QACR,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,OAAO,yBAAyB,CAAC,MAAM,CAAC,YAAY,EAAE;YACrD,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SAChC,CAAC,CAAC;IACJ,CAAC;CACD;AAZA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC1B;AAcnB,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,KAAK,GAAG,wBAAwB,CAAC;IAC7C,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yCAAyC,EAAE;QAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kEAAkE,EAAE;QACxH,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qEAAqE,EAAE;QAC5H,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,+DAA+D,EAAE;QACrH,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wDAAwD,EAAE;KAChH;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,IAAI,EAAE,UAAmB;QACzB,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,eAAe;QACxB,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QACpC,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACzE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC7D;QACD,YAAY,EAAE;YACb,IAAI,EAAE,UAAmB;YACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACtE;KACD,CAAC;IACF,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAC5C,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAyB,CAC3D,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpE,8CAA8C;QAC9C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAiB,IAAI,SAAS,CAAC;QACrD,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,KAAK,CAAC;QAC/C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAiB,IAAI,KAAK,CAAC;QACjD,MAAM,GAAG,GAAI,KAAK,CAAC,GAAc,IAAI,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA8B,CAAC;QAEtD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,kFAAkF;QAClF,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC7C,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAyB,CAChE,CAAC;QAEF,sFAAsF;QACtF,IAAI,WAAoC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACpD,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACP,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CACzB,CAAC;gBAC7B,IAAI,GAAG,EAAE,CAAC;oBACT,WAAW,GAAG,GAAG,CAAC;oBAClB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,QAAuD,CAAC;QAC5D,IAAI,gBAAgB,GAAyB,EAAE,CAAC;QAEhD,IAAI,WAAW,EAAE,CAAC;YACjB,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAsC,CAAC;QACrG,CAAC;aAAM,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACtC,kEAAkE;YAClE,gBAAgB,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAC5C,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAyB,CAC/D,CAAC;QAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEzC,mDAAmD;QACnD,MAAM,eAAe,GAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1E,uFAAuF;QACvF,MAAM,QAAQ,GAAU;YACvB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;YACvD,UAAU;YACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC;QACF,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,aAAa;QACb,MAAM,SAAS,GAAwB;YACtC,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,aAAa;SAC7B,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;QAC/B,CAAC;QAED,OAAO,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;gBAClB,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,YAAY;gBACtB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;YACD,MAAM,EAAE,SAAS;YACjB,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/storytelling",
3
3
  "description": "Storytelling runes for refrakt.md — characters, realms, factions, plots, and more",
4
- "version": "0.8.4",
4
+ "version": "0.9.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -21,9 +21,9 @@
21
21
  "build": "tsc"
22
22
  },
23
23
  "dependencies": {
24
- "@refrakt-md/types": "0.8.4",
25
- "@refrakt-md/transform": "0.8.4",
26
- "@refrakt-md/runes": "0.8.4",
24
+ "@refrakt-md/types": "0.9.0",
25
+ "@refrakt-md/transform": "0.9.0",
26
+ "@refrakt-md/runes": "0.9.0",
27
27
  "@markdoc/markdoc": "0.4.0",
28
28
  "reflect-metadata": "^0.2.0"
29
29
  }