@milenyumai/film-kit 1.0.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.
- package/LICENSE +21 -0
- package/README.md +89 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +1 -0
- package/build/lib/configure.d.ts +2 -0
- package/build/lib/configure.js +119 -0
- package/build/lib/defaults.d.ts +2 -0
- package/build/lib/defaults.js +12 -0
- package/build/lib/fs.d.ts +3 -0
- package/build/lib/fs.js +23 -0
- package/build/lib/templates.d.ts +2 -0
- package/build/lib/templates.js +583 -0
- package/build/lib/types.d.ts +25 -0
- package/build/lib/types.js +1 -0
- package/build/postinstall.js +22 -0
- package/content/ARCHITECTURE.md +132 -0
- package/content/FILM-KIT-INFO.md +116 -0
- package/content/MASTER.md +689 -0
- package/content/RULES.md +233 -0
- package/content/agents/prompt-engineer.md +258 -0
- package/content/skills/audio-design/SKILL.md +307 -0
- package/content/skills/coverage-system/SKILL.md +681 -0
- package/content/skills/frame-chaining/SKILL.md +342 -0
- package/content/skills/prompt-structure/SKILL.md +429 -0
- package/content/skills/reference-locking/SKILL.md +303 -0
- package/content/skills/safety-compliance/SKILL.md +242 -0
- package/content/skills/visual-modes/SKILL.md +294 -0
- package/content/workflows/chain.md +106 -0
- package/content/workflows/finish.md +108 -0
- package/content/workflows/generate.md +207 -0
- package/content/workflows/safety-check.md +149 -0
- package/package.json +58 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frame-chaining
|
|
3
|
+
description: Mandatory shot continuity protocol. Ensures every shot's last frame becomes the next shot's first frame for seamless visual flow. Critical for professional-grade video sequences.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frame Chaining System
|
|
7
|
+
|
|
8
|
+
> **Philosophy:** Cinema is continuous. Every cut must flow. Every frame must connect.
|
|
9
|
+
> **Core Principle:** LAST FRAME → FIRST FRAME. Always. No exceptions unless declared.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🔗 Core Principle (Non-Negotiable)
|
|
14
|
+
|
|
15
|
+
**MANDATORY CHAINING RULE:**
|
|
16
|
+
|
|
17
|
+
Every shot's LAST FRAME (SHOTNN_END) MUST become the next shot's FIRST FRAME (SHOT[NN+1]_START).
|
|
18
|
+
|
|
19
|
+
This is REQUIRED for seamless visual transitions.
|
|
20
|
+
|
|
21
|
+
**Default:** 95% of shots MUST be chained.
|
|
22
|
+
|
|
23
|
+
**P2 Priority:** Chain Continuity (mandatory chaining > convenience)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Naming Convention
|
|
28
|
+
|
|
29
|
+
| Frame Type | Naming | Usage |
|
|
30
|
+
|------------|--------|-------|
|
|
31
|
+
| First frame of Shot NN | `SHOTNN_START` | Only for FIRST SHOT or CHAIN BREAK |
|
|
32
|
+
| Last frame of Shot NN | `SHOTNN_END` | ALWAYS generated |
|
|
33
|
+
| Chained first frame | Use `SHOT(prev)_END` | Standard chained shot |
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Workflow Logic
|
|
38
|
+
|
|
39
|
+
### FIRST SHOT OF PROJECT (SHOT01)
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
1. Create Image: SHOT01_START prompt → Save as SHOT01_START.png
|
|
43
|
+
2. Create Image: SHOT01_END prompt → Save as SHOT01_END.png
|
|
44
|
+
3. Frames to Video: SHOT01_START → SHOT01_END + full video prompt
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Output:**
|
|
48
|
+
- Generate BOTH first frame and last frame prompts
|
|
49
|
+
- Last frame must be designed for continuation
|
|
50
|
+
|
|
51
|
+
### ALL SUBSEQUENT SHOTS (CHAINED)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
1. REUSE previous shot's end frame: SHOT(prev)_END becomes SHOTNN_START
|
|
55
|
+
2. Create Image: ONLY SHOTNN_END prompt → Save as SHOTNN_END.png
|
|
56
|
+
3. Frames to Video: SHOT(prev)_END → SHOTNN_END + full video prompt
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Output:**
|
|
60
|
+
- DO NOT generate first frame prompt
|
|
61
|
+
- Instruct: "→ Use SHOT[prev]_END as first frame"
|
|
62
|
+
- Generate ONLY last frame prompt
|
|
63
|
+
|
|
64
|
+
### CHAIN BREAK (Rare Exceptions Only)
|
|
65
|
+
|
|
66
|
+
**Permitted ONLY for:**
|
|
67
|
+
- Location Change (different place)
|
|
68
|
+
- Time Jump (hours/days later)
|
|
69
|
+
- Dream/Flashback sequence
|
|
70
|
+
- Character Transformation
|
|
71
|
+
- Extreme Camera Reset (180° flip)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
1. Explicitly state: "CHAIN BREAK - [Reason]"
|
|
75
|
+
2. **Specify transition type** (see below)
|
|
76
|
+
3. Create Image: SHOTNN_START (new first frame)
|
|
77
|
+
4. Create Image: SHOTNN_END (new last frame)
|
|
78
|
+
5. Frames to Video: SHOTNN_START → SHOTNN_END
|
|
79
|
+
6. Chain RESUMES from SHOTNN_END into next shot
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Scene Transition Types (Sahne Geçişleri)
|
|
83
|
+
|
|
84
|
+
Her chain break'te geçiş türü belirtilmelidir:
|
|
85
|
+
|
|
86
|
+
| Geçiş | İngilizce | Anlam | Ne Zaman |
|
|
87
|
+
|-------|-----------|-------|----------|
|
|
88
|
+
| **Sert kesme** | Hard Cut | Aniden kes | Standart, tempo, şok |
|
|
89
|
+
| **Kararmaya** | Fade to Black | Karanlığa kaybet | Zaman atlama, bölüm sonu |
|
|
90
|
+
| **Çapraz erime** | Cross-Dissolve | İki görüntü üst üste erir | Nostalji, rüya, geçiş |
|
|
91
|
+
| **Eşleştirme kesme** | Match Cut | Benzer şekil/hareketle kes | En sinematik geçiş |
|
|
92
|
+
| **Şok kesme** | Smash Cut | Sakin → şok | Korku, komedi |
|
|
93
|
+
| **Beyaza** | Fade to White | Beyazlığa kaybet | Ölüm, rüya, flashback |
|
|
94
|
+
|
|
95
|
+
**Prompt'ta kullanım:**
|
|
96
|
+
```
|
|
97
|
+
CHAIN BREAK - Location change (bunker → shore)
|
|
98
|
+
Transition: FADE TO BLACK → NEW SCENE
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**End frame tasarımı geçiş türüne göre değişir:**
|
|
102
|
+
| Geçiş | End Frame Nasıl Olmalı |
|
|
103
|
+
|-------|----------------------|
|
|
104
|
+
| Hard Cut | Normal end frame, next shot'a uygun |
|
|
105
|
+
| Fade to Black | Karanlık/gölgeli biten frame, düşük ışık |
|
|
106
|
+
| Cross-Dissolve | Her iki sahneye uyumlu orta tonda frame |
|
|
107
|
+
| Match Cut | Bir sonraki sahneyle **benzer şekil/kompozisyon** |
|
|
108
|
+
| Smash Cut | Sakin, huzurlu bir frame (kontrast için) |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## End Frame Composition Rules
|
|
113
|
+
|
|
114
|
+
Every END FRAME must satisfy these criteria:
|
|
115
|
+
|
|
116
|
+
### ✅ MUST HAVE
|
|
117
|
+
|
|
118
|
+
| Requirement | Why |
|
|
119
|
+
|-------------|-----|
|
|
120
|
+
| Camera angle allows natural continuation | Next shot needs starting point |
|
|
121
|
+
| Subject positioned for logical next action | Action must flow |
|
|
122
|
+
| Framing has "room" for next shot's movement | Space for camera to go |
|
|
123
|
+
| Lighting direction consistent | No jarring light jumps |
|
|
124
|
+
| Sharp focus (no motion blur) | Clean frame for Flow |
|
|
125
|
+
| Stable composition | Flow needs clear reference |
|
|
126
|
+
|
|
127
|
+
### ❌ MUST AVOID
|
|
128
|
+
|
|
129
|
+
| Avoid | Why |
|
|
130
|
+
|-------|-----|
|
|
131
|
+
| Extreme close-ups | Traps next shot, no room to move |
|
|
132
|
+
| Off-balance compositions | Hard to continue naturally |
|
|
133
|
+
| Motion blur | Flow can't read the frame |
|
|
134
|
+
| Unusual angles | Limits continuation options |
|
|
135
|
+
| Character exiting frame | Breaks continuity |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 🎯 FRAME CONTINUITY CHECKLIST (CRITICAL)
|
|
140
|
+
|
|
141
|
+
> **This section addresses the most common error:** First frame and last frame not matching visually.
|
|
142
|
+
|
|
143
|
+
### The Problem (User Example)
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
❌ WRONG:
|
|
147
|
+
Frame 1: Wide shot from BEHIND soldiers, everyone facing FORWARD
|
|
148
|
+
Frame 2: Close-up from SIDE, soldier with binoculars facing LEFT
|
|
149
|
+
|
|
150
|
+
→ Camera jumped 90°, subject changed, gaze direction changed = FAIL
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### The Rules
|
|
154
|
+
|
|
155
|
+
**RULE 1: Camera Position Must Be Compatible**
|
|
156
|
+
|
|
157
|
+
| First Frame Camera | Last Frame Camera | Valid? |
|
|
158
|
+
|--------------------|-------------------|--------|
|
|
159
|
+
| Behind subjects | Behind subjects (closer/further) | ✅ YES |
|
|
160
|
+
| Behind subjects | Side of subjects | ❌ NO (90° jump) |
|
|
161
|
+
| Side (left) | Side (right) | ❌ NO (180° jump) |
|
|
162
|
+
| Front facing | Front facing (zoom in/out) | ✅ YES |
|
|
163
|
+
|
|
164
|
+
**RULE 2: Subject Gaze/Facing Must Match**
|
|
165
|
+
|
|
166
|
+
| First Frame Gaze | Last Frame Gaze | Valid? |
|
|
167
|
+
|------------------|-----------------|--------|
|
|
168
|
+
| Looking forward | Looking forward | ✅ YES |
|
|
169
|
+
| Looking forward | Looking backward | ❌ NO |
|
|
170
|
+
| Looking left | Still looking left | ✅ YES |
|
|
171
|
+
| Group facing sea | Individual facing camera | ❌ NO |
|
|
172
|
+
|
|
173
|
+
**RULE 3: Subject Consistency**
|
|
174
|
+
|
|
175
|
+
| First Frame Subject | Last Frame Subject | Valid? |
|
|
176
|
+
|---------------------|-------------------|--------|
|
|
177
|
+
| Group of 6 soldiers | Same 6 soldiers (closer) | ✅ YES |
|
|
178
|
+
| Group of 6 soldiers | 1 soldier only | ⚠️ MAYBE (if smooth zoom) |
|
|
179
|
+
| Soldier A as focus | Soldier B as focus | ❌ NO |
|
|
180
|
+
|
|
181
|
+
### How to Fix (Correct Approach)
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
✅ CORRECT:
|
|
185
|
+
Frame 1: Wide shot from BEHIND soldiers, everyone facing FORWARD toward ships
|
|
186
|
+
Frame 2: Medium shot from BEHIND (closer), same soldiers, same direction,
|
|
187
|
+
one soldier's hand BEGINNING to raise binoculars
|
|
188
|
+
|
|
189
|
+
→ Same camera axis, same gaze direction, smooth transition = SUCCESS
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Frame Design Template (Continuity-Safe)
|
|
193
|
+
|
|
194
|
+
When writing END frame prompts, explicitly state:
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
Camera: [Same position as start / Slightly closer from same angle]
|
|
198
|
+
Subject: [Same characters in frame, consistency note]
|
|
199
|
+
Gaze Direction: [Still facing X / Eyes remain on Y]
|
|
200
|
+
Action State: [Beginning of action that continues in next shot]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Example Continuity-Safe Prompt
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
Ottoman soldiers at artillery position, camera behind them at medium distance.
|
|
207
|
+
All soldiers still facing the sea, watching the approaching ships.
|
|
208
|
+
The officer on the right is BEGINNING to raise binoculars to his eyes.
|
|
209
|
+
Same smoke, same lighting angle, same composition axis as first frame.
|
|
210
|
+
Stable, no motion blur, ready for next shot to push in on the officer.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Chain Status Declaration
|
|
216
|
+
|
|
217
|
+
Every shot output must clearly state chain status:
|
|
218
|
+
|
|
219
|
+
| Status | Icon | Meaning |
|
|
220
|
+
|--------|------|---------|
|
|
221
|
+
| `FIRST SHOT` | 🔗 | First shot of project |
|
|
222
|
+
| `CHAINED from SHOT[prev]_END` | 🔗 | Continuing from previous |
|
|
223
|
+
| `CHAIN BREAK - [Reason]` | ⛓️💥 | Intentional break |
|
|
224
|
+
|
|
225
|
+
### Format Example
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
**SHOT05** | 8s | 🔗 CHAINED from SHOT04_END
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
**SHOT08** | 4s | ⛓️💥 CHAIN BREAK - Location change to British ship
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Scene Transition Strategies
|
|
238
|
+
|
|
239
|
+
### Within Same Location (Always Chain)
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
Shot 1: Wide establishing → END on medium shot of soldier
|
|
243
|
+
Shot 2: START reuses Shot 1 END → push in to close-up → END on face
|
|
244
|
+
Shot 3: START reuses Shot 2 END → slight pull back → END with room for action
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Location Change (Chain Break)
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
Shot 7: In Ottoman bunker → END on commander's face
|
|
251
|
+
Shot 8: CHAIN BREAK - Cut to British ship bridge → START new on Admiral
|
|
252
|
+
Shot 9: CHAINS from Shot 8 END on bridge → continues...
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Time Jump (Chain Break)
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
Shot 12: Sunset scene → END on silhouette
|
|
259
|
+
Shot 13: CHAIN BREAK - Time jump to next morning → START on sunrise
|
|
260
|
+
Shot 14: CHAINS from Shot 13 → continues...
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## End Frame Design Templates
|
|
266
|
+
|
|
267
|
+
### For Action Continuation
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
[Character] in [position], framing allows natural movement [direction].
|
|
271
|
+
Camera angle at [degrees] enables smooth transition. Composition balanced with
|
|
272
|
+
[amount]% negative space on [side] for next shot's action.
|
|
273
|
+
No motion blur, crisp focus, stable lighting from [direction].
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### For Dialogue Continuation
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
[Character] in medium shot, slight [direction] angle. Expression [state],
|
|
280
|
+
mouth closed (ready for next line). Eye-line at [direction].
|
|
281
|
+
Framing leaves headroom for emotional continuation.
|
|
282
|
+
Lighting soft, no harsh shadows to maintain across cut.
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### For Dramatic Transition
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
[Character/scene] at moment of [peak/pause]. Composition centered,
|
|
289
|
+
allowing next shot to push in or pull back. Dramatic lighting locked.
|
|
290
|
+
Sharp focus on [subject], background [in/out of focus].
|
|
291
|
+
Frame composition stable for next shot's emotional beat.
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Quick Reference: First Frame Rules
|
|
297
|
+
|
|
298
|
+
| Shot Type | First Frame |
|
|
299
|
+
|-----------|-------------|
|
|
300
|
+
| First of project | Generate SHOT01_START |
|
|
301
|
+
| Chained | "→ Use SHOT[prev]_END as first frame" |
|
|
302
|
+
| Chain Break | Generate new SHOTNN_START |
|
|
303
|
+
|
|
304
|
+
## Quick Reference: Last Frame Rules
|
|
305
|
+
|
|
306
|
+
| Any Shot | Last Frame |
|
|
307
|
+
|----------|------------|
|
|
308
|
+
| ALL shots | ALWAYS generate SHOTNN_END |
|
|
309
|
+
| Must be chain-ready | Design for continuation |
|
|
310
|
+
| Exception | Only if explicitly end of sequence |
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Çanakkale Scenario Example
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
Shot 1 (FIRST): Bunker interior, soldiers praying
|
|
318
|
+
- SHOT01_START: Wide shot, soldiers huddled
|
|
319
|
+
- SHOT01_END: Medium on officer picking up phone (ready for Shot 2)
|
|
320
|
+
|
|
321
|
+
Shot 2 (CHAINED from SHOT01_END): Officer on phone
|
|
322
|
+
- First frame: USE SHOT01_END
|
|
323
|
+
- SHOT02_END: Officer's face, expression changing to hope
|
|
324
|
+
|
|
325
|
+
Shot 3 (CHAINED from SHOT02_END): Officer announces to soldiers
|
|
326
|
+
- First frame: USE SHOT02_END
|
|
327
|
+
- SHOT03_END: Soldiers beginning to rise (allows Shot 4 action)
|
|
328
|
+
|
|
329
|
+
Shot 4 (CHAINED from SHOT03_END): Soldiers rushing to positions
|
|
330
|
+
- First frame: USE SHOT03_END
|
|
331
|
+
- SHOT04_END: Wide on artillery position (ready for battle shots)
|
|
332
|
+
|
|
333
|
+
...
|
|
334
|
+
|
|
335
|
+
Shot 8 (CHAIN BREAK - Location Change): British ship bridge
|
|
336
|
+
- SHOT08_START: NEW - Admiral on bridge observing
|
|
337
|
+
- SHOT08_END: Admiral's shocked expression
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
> **Remember:** Chaining is not optional. It's the foundation of cinematic flow. Every end frame is a promise to the next shot. Keep that promise.
|