@mytechtoday/augment-extensions 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +121 -11
  2. package/augment-extensions/coding-standards/perl/README.md +173 -0
  3. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts +1 -0
  4. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts.map +1 -1
  5. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js +6 -0
  6. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js.map +1 -1
  7. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts +1 -0
  8. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts.map +1 -1
  9. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js +6 -0
  10. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js.map +1 -1
  11. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts +14 -0
  12. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts.map +1 -1
  13. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js +46 -3
  14. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js.map +1 -1
  15. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts +29 -1
  16. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts.map +1 -1
  17. package/cli/dist/commands/generate-shot-list/generator/context-builder.js +310 -27
  18. package/cli/dist/commands/generate-shot-list/generator/context-builder.js.map +1 -1
  19. package/cli/dist/commands/generate-shot-list/generator/index.d.ts +18 -0
  20. package/cli/dist/commands/generate-shot-list/generator/index.d.ts.map +1 -1
  21. package/cli/dist/commands/generate-shot-list/generator/index.js +146 -19
  22. package/cli/dist/commands/generate-shot-list/generator/index.js.map +1 -1
  23. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.d.ts.map +1 -1
  24. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js +1 -0
  25. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js.map +1 -1
  26. package/cli/dist/commands/generate-shot-list/generator/types.d.ts +10 -3
  27. package/cli/dist/commands/generate-shot-list/generator/types.d.ts.map +1 -1
  28. package/cli/dist/commands/generate-shot-list/schema/shot-list.schema.json +341 -0
  29. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts +55 -0
  30. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts.map +1 -0
  31. package/cli/dist/commands/generate-shot-list/schema/validator.js +180 -0
  32. package/cli/dist/commands/generate-shot-list/schema/validator.js.map +1 -0
  33. package/cli/dist/commands/generate-shot-list.d.ts.map +1 -1
  34. package/cli/dist/commands/generate-shot-list.js +35 -24
  35. package/cli/dist/commands/generate-shot-list.js.map +1 -1
  36. package/package.json +2 -1
@@ -6,6 +6,8 @@
6
6
  * build complete set and character descriptions per shot.
7
7
  *
8
8
  * Task: bd-shot-list-3.3
9
+ * Requirement 10: Rich Character Descriptions (Character Bible)
10
+ * Requirement 11: Rich Set Descriptions (Set Bible)
9
11
  */
10
12
  import { Scene, SceneElement } from '../parser/types';
11
13
  import { SceneContext, CharacterState } from './types';
@@ -19,20 +21,44 @@ export interface ContextBuilderConfig {
19
21
  }
20
22
  /**
21
23
  * Context Builder class
24
+ * Requirement 9: Track character blocking continuity across shots
25
+ * Requirement 10: Maintain Character Bible for consistent descriptions
26
+ * Requirement 11: Maintain Set Bible for consistent descriptions
22
27
  */
23
28
  export declare class ContextBuilder {
24
29
  private config;
30
+ private characterBlockingHistory;
31
+ private characterBible;
32
+ private setBible;
25
33
  constructor(config: ContextBuilderConfig);
26
34
  /**
27
35
  * Build scene-level context from scene heading and elements
36
+ * Requirement 11: Use Set Bible to maintain rich, consistent set descriptions
28
37
  */
29
38
  buildSceneContext(scene: Scene): SceneContext;
30
39
  /**
31
40
  * Build character states from scene elements
41
+ * Requirement 9: Maintain character blocking continuity across shots
42
+ * Requirement 10: Use Character Bible to maintain rich, consistent character descriptions
32
43
  */
33
44
  buildCharacterStates(elements: SceneElement[], sceneContext: SceneContext): CharacterState[];
34
45
  /**
35
- * Extract lighting from scene elements
46
+ * Extract environment description from scene
47
+ * Requirement 11: Rich Set Descriptions
48
+ */
49
+ private extractEnvironment;
50
+ /**
51
+ * Extract rich lighting description from scene elements
52
+ * Requirement 11: Rich Set Descriptions (lighting type, quality, direction, color temp)
53
+ */
54
+ private extractRichLighting;
55
+ /**
56
+ * Extract set dressing elements from scene
57
+ * Requirement 11: Rich Set Descriptions
58
+ */
59
+ private extractSetDressing;
60
+ /**
61
+ * Extract lighting from scene elements (legacy method, kept for compatibility)
36
62
  */
37
63
  private extractLighting;
38
64
  /**
@@ -49,6 +75,8 @@ export declare class ContextBuilder {
49
75
  private extractEmotion;
50
76
  /**
51
77
  * Update character states from action line
78
+ * Requirement 9: Extract blocking, wardrobe, and physical appearance details
79
+ * Requirement 10: Extract props and accessories for Character Bible
52
80
  */
53
81
  private updateCharacterStatesFromAction;
54
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkC,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,oBAAoB;IAIxC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY;IAkB7C;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,cAAc,EAAE;IAkC5F;;OAEG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,+BAA+B;CAcxC"}
1
+ {"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkC,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AA6BD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,wBAAwB,CAA0C;IAC1E,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAyC;gBAE7C,MAAM,EAAE,oBAAoB;IAIxC;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY;IAuD7C;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,cAAc,EAAE;IAoF5F;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyD3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;CA+GxC"}
@@ -7,35 +7,79 @@
7
7
  * build complete set and character descriptions per shot.
8
8
  *
9
9
  * Task: bd-shot-list-3.3
10
+ * Requirement 10: Rich Character Descriptions (Character Bible)
11
+ * Requirement 11: Rich Set Descriptions (Set Bible)
10
12
  */
11
13
  Object.defineProperty(exports, "__esModule", { value: true });
12
14
  exports.ContextBuilder = void 0;
13
15
  /**
14
16
  * Context Builder class
17
+ * Requirement 9: Track character blocking continuity across shots
18
+ * Requirement 10: Maintain Character Bible for consistent descriptions
19
+ * Requirement 11: Maintain Set Bible for consistent descriptions
15
20
  */
16
21
  class ContextBuilder {
17
22
  constructor(config) {
23
+ this.characterBlockingHistory = new Map();
24
+ this.characterBible = new Map(); // Requirement 10
25
+ this.setBible = new Map(); // Requirement 11
18
26
  this.config = config;
19
27
  }
20
28
  /**
21
29
  * Build scene-level context from scene heading and elements
30
+ * Requirement 11: Use Set Bible to maintain rich, consistent set descriptions
22
31
  */
23
32
  buildSceneContext(scene) {
24
- const context = {
25
- set: scene.heading.location,
26
- lighting: this.extractLighting(scene),
27
- timeOfDay: scene.heading.timeOfDay
28
- };
29
- if (this.config.includeAtmosphere) {
30
- context.atmosphere = this.extractAtmosphere(scene);
33
+ const location = scene.heading.location;
34
+ // Check if we have this set in the Set Bible
35
+ let setBibleEntry = this.setBible.get(location);
36
+ if (!setBibleEntry) {
37
+ // Create new Set Bible entry with rich description
38
+ setBibleEntry = {
39
+ location,
40
+ environment: this.extractEnvironment(scene),
41
+ lighting: this.extractRichLighting(scene),
42
+ atmosphere: this.extractAtmosphere(scene) || 'neutral',
43
+ weather: this.config.includeWeather ? this.extractWeather(scene) : undefined,
44
+ timeOfDay: scene.heading.timeOfDay,
45
+ setDressing: this.extractSetDressing(scene)
46
+ };
47
+ this.setBible.set(location, setBibleEntry);
31
48
  }
32
- if (this.config.includeWeather) {
33
- context.weather = this.extractWeather(scene);
49
+ else {
50
+ // Update Set Bible entry if new information is available
51
+ const newLighting = this.extractRichLighting(scene);
52
+ if (newLighting && newLighting !== 'natural') {
53
+ setBibleEntry.lighting = newLighting;
54
+ }
55
+ const newAtmosphere = this.extractAtmosphere(scene);
56
+ if (newAtmosphere) {
57
+ setBibleEntry.atmosphere = newAtmosphere;
58
+ }
59
+ const newWeather = this.extractWeather(scene);
60
+ if (newWeather) {
61
+ setBibleEntry.weather = newWeather;
62
+ }
63
+ setBibleEntry.timeOfDay = scene.heading.timeOfDay;
64
+ const newSetDressing = this.extractSetDressing(scene);
65
+ if (newSetDressing.length > 0) {
66
+ setBibleEntry.setDressing = [...new Set([...setBibleEntry.setDressing, ...newSetDressing])];
67
+ }
34
68
  }
69
+ // Build rich context from Set Bible
70
+ const context = {
71
+ set: `${setBibleEntry.environment} - ${location}`,
72
+ lighting: setBibleEntry.lighting,
73
+ timeOfDay: setBibleEntry.timeOfDay,
74
+ atmosphere: setBibleEntry.atmosphere,
75
+ weather: setBibleEntry.weather
76
+ };
35
77
  return context;
36
78
  }
37
79
  /**
38
80
  * Build character states from scene elements
81
+ * Requirement 9: Maintain character blocking continuity across shots
82
+ * Requirement 10: Use Character Bible to maintain rich, consistent character descriptions
39
83
  */
40
84
  buildCharacterStates(elements, sceneContext) {
41
85
  const characterMap = new Map();
@@ -44,11 +88,41 @@ class ContextBuilder {
44
88
  const dialogueElement = element;
45
89
  const characterName = dialogueElement.dialogue.character.name;
46
90
  if (!characterMap.has(characterName)) {
91
+ // Check Character Bible first, then blocking history
92
+ let bibleEntry = this.characterBible.get(characterName);
93
+ const previousState = this.characterBlockingHistory.get(characterName);
94
+ if (!bibleEntry && previousState) {
95
+ // Create Character Bible entry from previous state
96
+ bibleEntry = {
97
+ name: characterName,
98
+ wardrobe: previousState.wardrobe || 'casual attire',
99
+ physicalAppearance: previousState.physicalAppearance || 'average build',
100
+ props: [],
101
+ lastSeenPosition: previousState.position || 'in scene',
102
+ lastSeenEmotion: previousState.emotion
103
+ };
104
+ this.characterBible.set(characterName, bibleEntry);
105
+ }
106
+ else if (!bibleEntry) {
107
+ // Create default Character Bible entry
108
+ bibleEntry = {
109
+ name: characterName,
110
+ wardrobe: 'casual attire',
111
+ physicalAppearance: 'average build',
112
+ props: [],
113
+ lastSeenPosition: 'in scene',
114
+ lastSeenEmotion: undefined
115
+ };
116
+ this.characterBible.set(characterName, bibleEntry);
117
+ }
118
+ // Build rich character state from Bible
47
119
  characterMap.set(characterName, {
48
120
  name: characterName,
49
- position: 'in scene',
50
- appearance: 'as described',
51
- emotion: this.config.trackCharacterEmotions ? this.extractEmotion(dialogueElement) : undefined,
121
+ position: bibleEntry.lastSeenPosition,
122
+ appearance: `${bibleEntry.physicalAppearance}${bibleEntry.props.length > 0 ? ', carrying ' + bibleEntry.props.join(', ') : ''}`,
123
+ wardrobe: bibleEntry.wardrobe,
124
+ physicalAppearance: bibleEntry.physicalAppearance,
125
+ emotion: this.config.trackCharacterEmotions ? this.extractEmotion(dialogueElement) : bibleEntry.lastSeenEmotion,
52
126
  action: undefined
53
127
  });
54
128
  }
@@ -58,6 +132,11 @@ class ContextBuilder {
58
132
  const emotion = this.extractEmotion(dialogueElement);
59
133
  if (emotion) {
60
134
  characterMap.get(characterName).emotion = emotion;
135
+ // Update Bible
136
+ const bibleEntry = this.characterBible.get(characterName);
137
+ if (bibleEntry) {
138
+ bibleEntry.lastSeenEmotion = emotion;
139
+ }
61
140
  }
62
141
  }
63
142
  }
@@ -67,42 +146,155 @@ class ContextBuilder {
67
146
  this.updateCharacterStatesFromAction(actionElement, characterMap);
68
147
  }
69
148
  }
149
+ // Update blocking history and Character Bible for continuity
150
+ for (const [name, state] of characterMap.entries()) {
151
+ this.characterBlockingHistory.set(name, { ...state });
152
+ // Update Character Bible with latest information
153
+ const bibleEntry = this.characterBible.get(name);
154
+ if (bibleEntry) {
155
+ if (state.position)
156
+ bibleEntry.lastSeenPosition = state.position;
157
+ if (state.wardrobe)
158
+ bibleEntry.wardrobe = state.wardrobe;
159
+ if (state.physicalAppearance)
160
+ bibleEntry.physicalAppearance = state.physicalAppearance;
161
+ if (state.emotion)
162
+ bibleEntry.lastSeenEmotion = state.emotion;
163
+ }
164
+ }
70
165
  return Array.from(characterMap.values());
71
166
  }
72
167
  /**
73
- * Extract lighting from scene elements
168
+ * Extract environment description from scene
169
+ * Requirement 11: Rich Set Descriptions
74
170
  */
75
- extractLighting(scene) {
171
+ extractEnvironment(scene) {
172
+ const intExt = scene.heading.intExt;
173
+ const location = scene.heading.location.toLowerCase();
174
+ // Determine environment type
175
+ if (intExt === 'INT') {
176
+ if (location.includes('office') || location.includes('workplace')) {
177
+ return 'Professional interior space';
178
+ }
179
+ else if (location.includes('home') || location.includes('house') || location.includes('apartment')) {
180
+ return 'Residential interior';
181
+ }
182
+ else if (location.includes('restaurant') || location.includes('cafe') || location.includes('bar')) {
183
+ return 'Commercial dining space';
184
+ }
185
+ else if (location.includes('store') || location.includes('shop')) {
186
+ return 'Retail interior';
187
+ }
188
+ else {
189
+ return 'Interior space';
190
+ }
191
+ }
192
+ else {
193
+ if (location.includes('street') || location.includes('sidewalk')) {
194
+ return 'Urban exterior';
195
+ }
196
+ else if (location.includes('park') || location.includes('forest') || location.includes('field')) {
197
+ return 'Natural outdoor setting';
198
+ }
199
+ else if (location.includes('parking') || location.includes('lot')) {
200
+ return 'Paved exterior area';
201
+ }
202
+ else {
203
+ return 'Exterior location';
204
+ }
205
+ }
206
+ }
207
+ /**
208
+ * Extract rich lighting description from scene elements
209
+ * Requirement 11: Rich Set Descriptions (lighting type, quality, direction, color temp)
210
+ */
211
+ extractRichLighting(scene) {
76
212
  const timeOfDay = scene.heading.timeOfDay.toLowerCase();
77
- // Map time of day to lighting
213
+ const intExt = scene.heading.intExt;
214
+ // Build rich lighting description
215
+ let lightingType = '';
216
+ let lightingQuality = '';
217
+ let lightingDirection = '';
218
+ let colorTemp = '';
219
+ // Determine lighting type and color temperature based on time of day
78
220
  if (timeOfDay.includes('night')) {
79
- return 'low light';
221
+ lightingType = intExt === 'INT' ? 'artificial overhead lighting' : 'moonlight and street lamps';
222
+ colorTemp = intExt === 'INT' ? 'warm tungsten (3200K)' : 'cool blue (5500K)';
223
+ lightingQuality = 'low-key, high contrast';
80
224
  }
81
225
  else if (timeOfDay.includes('day')) {
82
- return 'natural daylight';
226
+ lightingType = intExt === 'INT' ? 'natural window light' : 'direct sunlight';
227
+ colorTemp = 'daylight balanced (5600K)';
228
+ lightingQuality = 'bright, even illumination';
229
+ lightingDirection = intExt === 'INT' ? 'from windows' : 'overhead sun';
83
230
  }
84
231
  else if (timeOfDay.includes('dawn') || timeOfDay.includes('dusk')) {
85
- return 'golden hour';
232
+ lightingType = 'golden hour natural light';
233
+ colorTemp = 'warm amber (3000K)';
234
+ lightingQuality = 'soft, diffused';
235
+ lightingDirection = 'low angle';
86
236
  }
87
237
  else if (timeOfDay.includes('evening')) {
88
- return 'dim light';
238
+ lightingType = intExt === 'INT' ? 'mixed natural and artificial' : 'twilight ambient';
239
+ colorTemp = 'cool to warm transition (4500K)';
240
+ lightingQuality = 'moderate, transitional';
89
241
  }
90
- // Check action lines for lighting keywords
242
+ else {
243
+ lightingType = 'natural ambient';
244
+ colorTemp = 'neutral (5000K)';
245
+ lightingQuality = 'balanced';
246
+ }
247
+ // Check action lines for specific lighting details
91
248
  for (const element of scene.elements) {
92
249
  if (element.type === 'action') {
93
250
  const text = element.text.toLowerCase();
94
251
  if (text.includes('dark') || text.includes('shadows')) {
95
- return 'low light';
252
+ lightingQuality = 'low-key, dramatic shadows';
96
253
  }
97
254
  else if (text.includes('bright') || text.includes('sunlight')) {
98
- return 'bright light';
255
+ lightingQuality = 'high-key, bright';
256
+ }
257
+ else if (text.includes('fluorescent')) {
258
+ lightingType = 'fluorescent overhead';
259
+ colorTemp = 'cool white (4000K)';
99
260
  }
100
- else if (text.includes('fluorescent') || text.includes('artificial')) {
101
- return 'artificial light';
261
+ else if (text.includes('candle') || text.includes('firelight')) {
262
+ lightingType = 'warm practical sources';
263
+ colorTemp = 'very warm (2000K)';
264
+ }
265
+ }
266
+ }
267
+ // Combine into rich description
268
+ return `${lightingType}, ${lightingQuality}${lightingDirection ? ', ' + lightingDirection : ''}, ${colorTemp}`;
269
+ }
270
+ /**
271
+ * Extract set dressing elements from scene
272
+ * Requirement 11: Rich Set Descriptions
273
+ */
274
+ extractSetDressing(scene) {
275
+ const dressing = [];
276
+ const dressingKeywords = [
277
+ 'table', 'chair', 'desk', 'lamp', 'picture', 'painting', 'plant',
278
+ 'couch', 'sofa', 'bed', 'curtain', 'window', 'door', 'shelf',
279
+ 'book', 'computer', 'phone', 'clock', 'mirror', 'rug', 'carpet'
280
+ ];
281
+ for (const element of scene.elements) {
282
+ if (element.type === 'action') {
283
+ const text = element.text.toLowerCase();
284
+ for (const keyword of dressingKeywords) {
285
+ if (text.includes(keyword) && !dressing.includes(keyword)) {
286
+ dressing.push(keyword);
287
+ }
102
288
  }
103
289
  }
104
290
  }
105
- return 'natural';
291
+ return dressing;
292
+ }
293
+ /**
294
+ * Extract lighting from scene elements (legacy method, kept for compatibility)
295
+ */
296
+ extractLighting(scene) {
297
+ return this.extractRichLighting(scene);
106
298
  }
107
299
  /**
108
300
  * Extract atmosphere from scene elements
@@ -152,14 +344,105 @@ class ContextBuilder {
152
344
  }
153
345
  /**
154
346
  * Update character states from action line
347
+ * Requirement 9: Extract blocking, wardrobe, and physical appearance details
348
+ * Requirement 10: Extract props and accessories for Character Bible
155
349
  */
156
350
  updateCharacterStatesFromAction(actionElement, characterMap) {
157
- // Simple implementation: look for character names in action text
158
- // and update their action field
159
351
  const text = actionElement.text;
160
352
  for (const [name, state] of characterMap.entries()) {
161
353
  if (text.includes(name)) {
162
354
  state.action = text;
355
+ // Extract position/blocking keywords
356
+ const positionKeywords = [
357
+ 'stands', 'sits', 'walks', 'enters', 'exits', 'moves',
358
+ 'left', 'right', 'center', 'foreground', 'background',
359
+ 'door', 'window', 'table', 'chair', 'corner'
360
+ ];
361
+ for (const keyword of positionKeywords) {
362
+ if (text.toLowerCase().includes(keyword)) {
363
+ // Extract sentence containing the keyword for position context
364
+ const sentences = text.split(/[.!?]/);
365
+ for (const sentence of sentences) {
366
+ if (sentence.toLowerCase().includes(keyword) && sentence.includes(name)) {
367
+ state.position = sentence.trim();
368
+ break;
369
+ }
370
+ }
371
+ break;
372
+ }
373
+ }
374
+ // Extract wardrobe keywords (Requirement 10: Rich character descriptions)
375
+ const wardrobeKeywords = [
376
+ 'wearing', 'dressed in', 'suit', 'dress', 'shirt', 'jacket',
377
+ 'coat', 'hat', 'uniform', 'costume', 'clothes', 'tie', 'shoes',
378
+ 'jeans', 'pants', 'skirt', 'blouse', 'sweater', 'hoodie'
379
+ ];
380
+ for (const keyword of wardrobeKeywords) {
381
+ if (text.toLowerCase().includes(keyword)) {
382
+ const sentences = text.split(/[.!?]/);
383
+ for (const sentence of sentences) {
384
+ if (sentence.toLowerCase().includes(keyword) && sentence.includes(name)) {
385
+ state.wardrobe = sentence.trim();
386
+ // Update Character Bible
387
+ const bibleEntry = this.characterBible.get(name);
388
+ if (bibleEntry) {
389
+ bibleEntry.wardrobe = sentence.trim();
390
+ }
391
+ break;
392
+ }
393
+ }
394
+ break;
395
+ }
396
+ }
397
+ // Extract physical appearance keywords (Requirement 10: Rich character descriptions)
398
+ const appearanceKeywords = [
399
+ 'tall', 'short', 'thin', 'heavy', 'muscular', 'slender',
400
+ 'hair', 'eyes', 'beard', 'glasses', 'scar', 'tattoo',
401
+ 'young', 'old', 'middle-aged', 'athletic', 'stocky', 'petite'
402
+ ];
403
+ for (const keyword of appearanceKeywords) {
404
+ if (text.toLowerCase().includes(keyword)) {
405
+ const sentences = text.split(/[.!?]/);
406
+ for (const sentence of sentences) {
407
+ if (sentence.toLowerCase().includes(keyword) && sentence.includes(name)) {
408
+ state.physicalAppearance = sentence.trim();
409
+ // Update Character Bible
410
+ const bibleEntry = this.characterBible.get(name);
411
+ if (bibleEntry) {
412
+ bibleEntry.physicalAppearance = sentence.trim();
413
+ }
414
+ break;
415
+ }
416
+ }
417
+ break;
418
+ }
419
+ }
420
+ // Extract props/accessories (Requirement 10: Rich character descriptions)
421
+ const propKeywords = [
422
+ 'holding', 'carrying', 'grabs', 'picks up', 'puts down',
423
+ 'briefcase', 'bag', 'purse', 'phone', 'keys', 'wallet',
424
+ 'gun', 'knife', 'weapon', 'book', 'paper', 'document',
425
+ 'coffee', 'drink', 'food', 'cigarette', 'lighter'
426
+ ];
427
+ for (const keyword of propKeywords) {
428
+ if (text.toLowerCase().includes(keyword)) {
429
+ const sentences = text.split(/[.!?]/);
430
+ for (const sentence of sentences) {
431
+ if (sentence.toLowerCase().includes(keyword) && sentence.includes(name)) {
432
+ // Update Character Bible with prop
433
+ const bibleEntry = this.characterBible.get(name);
434
+ if (bibleEntry) {
435
+ const prop = sentence.trim();
436
+ if (!bibleEntry.props.includes(prop)) {
437
+ bibleEntry.props.push(prop);
438
+ }
439
+ }
440
+ break;
441
+ }
442
+ }
443
+ break;
444
+ }
445
+ }
163
446
  }
164
447
  }
165
448
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/context-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/context-builder.ts"],"names":[],"mappings":"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"}
@@ -28,14 +28,32 @@ export declare class ShotListGenerator implements Generator {
28
28
  /**
29
29
  * Segment scene into shots
30
30
  * Implemented: bd-shot-list-3.2
31
+ * Enhanced: bd-2b68 (Requirement 2: Intelligent Shot Splitting)
31
32
  */
32
33
  private segmentScene;
34
+ /**
35
+ * Split a long shot into intelligent sub-shots
36
+ * Requirement 2: Intelligent Shot Splitting for Long Durations
37
+ */
38
+ private splitIntoSubShots;
39
+ /**
40
+ * Estimate duration for a sub-shot based on its elements
41
+ */
42
+ private estimateSubShotDuration;
43
+ /**
44
+ * Extract dialogue from scene elements
45
+ * Requirement 7 & 8: Handle "No dialogue" and mandatory dialogue population
46
+ * Format dialogue in MPAA-style screenplay format
47
+ */
48
+ private extractDialogue;
33
49
  /**
34
50
  * Apply style guidelines to shot metadata
35
51
  */
36
52
  private applyStyleToMetadata;
37
53
  /**
38
54
  * Build shot description from elements, context, and characters
55
+ * Requirement 7: Include "No dialogue in this shot" when applicable
56
+ * Requirement 9: Include character blocking/positioning details
39
57
  */
40
58
  private buildDescription;
41
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,QAAQ,EAER,OAAO,EACP,eAAe,EACf,SAAS,EAIV,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAsC;gBAEjD,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAsB1D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,QAAQ;IAoD5D;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE;IAIhE;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6CpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqCzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAEzF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/generate-shot-list/generator/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EACL,QAAQ,EAER,OAAO,EACP,eAAe,EACf,SAAS,EAIV,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAsC;gBAEjD,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAsB1D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,GAAG,QAAQ;IAoD5D;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE;IAIhE;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkEpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CA2DzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,eAAe,CAAC,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAEzF"}