@oh-story/dsh 0.1.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 (488) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/cordis.patch.yml +3 -0
  4. package/lib/client.js +1201 -0
  5. package/lib/client.js.map +7 -0
  6. package/lib/drama/LICENSE.upstream +21 -0
  7. package/lib/drama/manifest.json +1012 -0
  8. package/lib/drama/skills/short-drama/SKILL.md +153 -0
  9. package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
  10. package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  11. package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  12. package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
  13. package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  14. package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
  15. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
  16. package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
  17. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
  18. package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
  19. package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
  20. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  21. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
  22. package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
  23. package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
  24. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
  25. package/lib/drama/skills/short-drama/references/look-development.md +52 -0
  26. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
  27. package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
  28. package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
  29. package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
  30. package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
  31. package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
  32. package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
  33. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
  34. package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  35. package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  36. package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  37. package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  38. package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  39. package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  40. package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  41. package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  42. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
  43. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
  44. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
  45. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
  46. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
  47. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
  48. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
  49. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
  50. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
  51. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
  52. package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
  53. package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
  54. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
  55. package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  56. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
  57. package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  58. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
  59. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  60. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  61. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  62. package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
  63. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  64. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
  65. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
  66. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
  67. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
  68. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
  69. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
  70. package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
  71. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
  72. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
  73. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
  74. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
  75. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
  76. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
  77. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  78. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  79. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
  80. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  81. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  82. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
  83. package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
  84. package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  85. package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
  86. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
  87. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  88. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  89. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
  90. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  91. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
  92. package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  93. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
  94. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
  95. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
  96. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
  97. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
  98. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
  99. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  100. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
  101. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  102. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
  103. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  104. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
  105. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
  106. package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  107. package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  108. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  109. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  110. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  111. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
  112. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  113. package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  114. package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  115. package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
  116. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
  117. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
  118. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  119. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  120. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
  121. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
  122. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
  123. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
  124. package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
  125. package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
  126. package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
  127. package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  128. package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  129. package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
  130. package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  131. package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  132. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
  133. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
  134. package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
  135. package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
  136. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
  137. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  138. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
  139. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
  140. package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
  141. package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
  142. package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
  143. package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
  144. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  145. package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  146. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  147. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
  148. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  149. package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  150. package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  151. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  152. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
  153. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
  154. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
  155. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
  156. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
  157. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
  158. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
  159. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
  160. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
  161. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
  162. package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  163. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  164. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
  165. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  166. package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  167. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  168. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
  169. package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  170. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  171. package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  172. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
  173. package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  174. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
  175. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
  176. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
  177. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
  178. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
  179. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
  180. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
  181. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
  182. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  183. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  184. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  185. package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  186. package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
  187. package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
  188. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
  189. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  190. package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
  191. package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
  192. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  193. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
  194. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
  195. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
  196. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  197. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
  198. package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
  199. package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
  200. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
  201. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  202. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  203. package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
  204. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  205. package/lib/index.js +756 -0
  206. package/lib/index.js.map +7 -0
  207. package/lib/oh-story/LICENSE.upstream +21 -0
  208. package/lib/oh-story/manifest.json +1351 -0
  209. package/lib/oh-story/roles/chapter-extractor.md +314 -0
  210. package/lib/oh-story/roles/character-designer.md +169 -0
  211. package/lib/oh-story/roles/consistency-checker.md +190 -0
  212. package/lib/oh-story/roles/narrative-writer.md +294 -0
  213. package/lib/oh-story/roles/story-architect.md +195 -0
  214. package/lib/oh-story/roles/story-explorer.md +364 -0
  215. package/lib/oh-story/roles/story-researcher.md +304 -0
  216. package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
  217. package/lib/oh-story/skills/story/SKILL.md +116 -0
  218. package/lib/oh-story/skills/story/VERSION +1 -0
  219. package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
  220. package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
  221. package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
  222. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
  223. package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
  224. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
  225. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
  226. package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
  227. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
  228. package/lib/oh-story/skills/story-import/SKILL.md +634 -0
  229. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
  230. package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
  231. package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
  232. package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
  233. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
  234. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
  235. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
  236. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
  237. package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
  238. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
  239. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
  240. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
  241. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
  242. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
  243. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
  244. package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
  245. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
  246. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
  247. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
  248. package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
  249. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
  250. package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
  251. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
  252. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
  253. package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
  254. package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
  255. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
  256. package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
  257. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
  258. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
  259. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
  260. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
  261. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
  262. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
  263. package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
  264. package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
  265. package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
  266. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
  267. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
  268. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
  269. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
  270. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
  271. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
  272. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
  273. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
  274. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
  275. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  277. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  278. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
  279. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
  280. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
  281. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
  282. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
  283. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
  284. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
  285. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
  286. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
  287. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
  288. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
  289. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
  290. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
  291. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
  292. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
  293. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
  294. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
  295. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
  296. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
  297. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
  298. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
  299. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
  300. package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
  301. package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
  302. package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
  303. package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
  304. package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
  305. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
  306. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
  307. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
  308. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
  309. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
  310. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
  311. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
  312. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
  313. package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
  314. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
  315. package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
  316. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
  317. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
  318. package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
  319. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
  320. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
  321. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
  322. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
  323. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
  324. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
  325. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
  326. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
  327. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
  328. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
  329. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
  330. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
  331. package/lib/oh-story/skills/story-review/SKILL.md +483 -0
  332. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
  333. package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
  334. package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
  335. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
  336. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
  337. package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
  338. package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
  339. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
  340. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
  341. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
  342. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
  343. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
  344. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
  345. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
  346. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
  347. package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
  348. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
  349. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
  350. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
  351. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
  352. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
  353. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
  354. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
  355. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
  356. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
  357. package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
  358. package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
  359. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
  360. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
  361. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
  362. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
  363. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
  364. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
  365. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
  366. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
  367. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
  368. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
  369. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  370. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  371. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
  372. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
  373. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
  374. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
  375. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
  376. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
  377. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
  378. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
  379. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
  380. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
  381. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
  382. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
  383. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
  384. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
  385. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
  386. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
  387. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
  388. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
  389. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
  390. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
  391. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
  392. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
  393. package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
  394. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
  395. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
  396. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
  397. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
  398. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
  399. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
  400. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
  401. package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
  402. package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
  403. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
  404. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
  405. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
  406. package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
  407. package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
  408. package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
  409. package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
  410. package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
  411. package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
  412. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
  413. package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
  414. package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
  415. package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
  416. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
  417. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
  418. package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
  419. package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
  420. package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
  421. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
  422. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
  423. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
  424. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
  425. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
  426. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
  427. package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
  428. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
  429. package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
  430. package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
  431. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
  432. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
  433. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -0
  434. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +159 -0
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
  436. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
  437. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
  438. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
  439. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
  440. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
  441. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
  442. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
  443. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +210 -0
  444. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
  445. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
  446. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
  447. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
  448. package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
  449. package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
  450. package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
  451. package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
  452. package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
  453. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
  454. package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
  455. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
  456. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
  457. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
  458. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
  459. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
  460. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
  461. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
  462. package/lib/types/client/file-activity.d.ts +30 -0
  463. package/lib/types/client/file-activity.d.ts.map +1 -0
  464. package/lib/types/client/file-tree.d.ts +20 -0
  465. package/lib/types/client/file-tree.d.ts.map +1 -0
  466. package/lib/types/client/index.d.ts +12 -0
  467. package/lib/types/client/index.d.ts.map +1 -0
  468. package/lib/types/client/jsonl-preview.d.ts +15 -0
  469. package/lib/types/client/jsonl-preview.d.ts.map +1 -0
  470. package/lib/types/client/markdown-preview.d.ts +38 -0
  471. package/lib/types/client/markdown-preview.d.ts.map +1 -0
  472. package/lib/types/index.d.ts +25 -0
  473. package/lib/types/index.d.ts.map +1 -0
  474. package/lib/types/native-hooks.d.ts +16 -0
  475. package/lib/types/native-hooks.d.ts.map +1 -0
  476. package/lib/types/role-provider.d.ts +6 -0
  477. package/lib/types/role-provider.d.ts.map +1 -0
  478. package/lib/types/role-tool.d.ts +10 -0
  479. package/lib/types/role-tool.d.ts.map +1 -0
  480. package/lib/types/skill-provider.d.ts +15 -0
  481. package/lib/types/skill-provider.d.ts.map +1 -0
  482. package/lib/types/workspace-request-trust.d.ts +13 -0
  483. package/lib/types/workspace-request-trust.d.ts.map +1 -0
  484. package/lib/types/workspace-route.d.ts +10 -0
  485. package/lib/types/workspace-route.d.ts.map +1 -0
  486. package/lib/types/workspace-security.d.ts +9 -0
  487. package/lib/types/workspace-security.d.ts.map +1 -0
  488. package/package.json +107 -0
@@ -0,0 +1,89 @@
1
+ # 资产拆解审查清单
2
+
3
+ ## Binding gate (`AST-05`)
4
+
5
+ 资产接受前,每个下游 binding 都要解析到已接受的 identity,且 variant
6
+ 必须在引用的剧情范围内有效。未解决的 occurrence 继续保持 unresolved;不得
7
+ 为了让提示词或分镜继续工作,猜一个看似合理的 ID。
8
+
9
+ 按“机械事实 → 语义判断 → 创作者接受”顺序检查。Owner 可按 finding 修订;修订动作本身
10
+ 不等于审查 verdict。需要 verdict 时另起一次审查动作,自检也可以如实记录有证据支持的结论。
11
+
12
+ ## A. 机械检查(`structural_invariant`)
13
+
14
+ - [ ] 每个 production-relevant screenplay block 有 occurrence 或明确
15
+ `no_asset_change` disposition。
16
+ - [ ] 每个文件首行的 `sources` 声明了它用到的全部上游快照,记录里的 `src` 都能解析到
17
+ 其中一条。
18
+ - [ ] occurrence 的 `source_ref` 指向 accepted screenplay/index 快照,并给出 field、
19
+ block、scene。
20
+ - [ ] source pointer、derived visible facts、asset reconciliation、continuity pointer 的
21
+ 数据角色没有混写。
22
+ - [ ] 每个 occurrence 的 decision 恰为 `reuse` / `new_variant` / `new_asset` /
23
+ `unresolved`。
24
+ - [ ] `new_variant` 有 base、differences、cause、valid_from、valid_until/open-ended。
25
+ - [ ] ID 唯一;所有已接受 binding 精确解析到 Character+Look、Location+View 或
26
+ Prop+State。
27
+ - [ ] unresolved 没有伪造 accepted binding,不能流入 prompt/storyboard 编译。
28
+ - [ ] 每条 delta 有 before、after、cause/source、effective range、affected bindings。
29
+ - [ ] linked outgoing/incoming 状态一致,或有明确待处理 reconciliation。
30
+ - [ ] 可读文字政策完整;`exact_readable` 不与 `no_readable_text` 冲突。
31
+
32
+ 机械失败指出具体 record/field、owner 和修复方向,不回显整段创作文本。
33
+
34
+ ## B. 语义审查(`reviewed_invariant`)
35
+
36
+ 逐条引用剧本/设定集 证据回答:
37
+
38
+ - [ ] 含混代词、匿名人、同款多件物没有被猜成某个已有 ID。
39
+ - [ ] Character 身份锚点与服装、伤势、湿污、姿势等临时状态分离。
40
+ - [ ] Location 地理/固定锚点没有因角度、时段、天气、灯光被复制成新地点。
41
+ - [ ] Prop 形制/功能身份没有因 owner、开合、破损、内容或文字状态被复制。
42
+ - [ ] 每个新 asset 有不能复用的持久证据;每个 variant 说明 base 什么保持不变。
43
+ - [ ] 提取没有凭空补脸、品牌、门窗、内容物、伤势、灯光或可读文字。
44
+ - [ ] transfer、伤势、换装、停电、天气/光态和知识变化都有足以支持的剧情原因。
45
+ - [ ] occurrence 的 production disposition 合理:提及不被误当出镜,关键操作物不被
46
+ 降成普通布景。
47
+
48
+ Reviewer finding 应含被引用记录(`src` 与 `record_id`)、evidence、impact、required fix、
49
+ owner、severity、status;不能只说“资产不够细”或“看起来 AI”。
50
+
51
+ ## C. Craft 默认(可覆盖,不单独阻断)
52
+
53
+ - [ ] 身份未变时优先复用或 variant,没有追求“一场一资产”。
54
+ - [ ] 瞬时 pose/camera/framing 留给 storyboard,没有制造 Look/View/State 爆炸。
55
+ - [ ] 设定集 只保留识别、复用、prompt、镜头和连续性所需事实。
56
+ - [ ] Location 先有地理/入口/固定锚点,再有氛围;Prop 有尺度/形制/材料/功能;
57
+ Character 有可观察的区分锚点。
58
+ - [ ] outgoing 精简但足以让下一场/集无脑内补全地继续。
59
+
60
+ Creator 可用制作原因覆盖,例如需要逐件审批背景陈设;记录 override,而非改成硬规则。
61
+
62
+ ## D. Taste 选项(只确认选择)
63
+
64
+ - [ ] 群演按 group 还是个体管理已选择。
65
+ - [ ] 同建筑空间拆分颗粒度能支持当前制作。
66
+ - [ ] 蒙太奇/梦境/主观断裂已声明边界。
67
+ - [ ] 临时可见状态用 delta 还是升为 variant 符合本项目复用策略。
68
+
69
+ 不得仅因 reviewer 偏好另一个选项而判失败。
70
+
71
+ ## E. Creator acceptance(独立 checkpoint)
72
+
73
+ 给创作者看的摘要必须列出:
74
+
75
+ 1. 复用项及匹配证据;
76
+ 2. 新 variant 及 base/difference/cause/validity;
77
+ 3. 新 asset 及持久区分证据;
78
+ 4. unresolved 的原文证据、候选和不同选择的下游影响;
79
+ 5. continuity deltas 与跨集 outgoing;
80
+ 6. 接受后会 stale 的下游文件。
81
+
82
+ 逐项保存 `proposed/accepted/rejected/superseded` 与 creator decision ref。Creator acceptance
83
+ 不自动代表结构检查、审查 verdict 或 delivery-ready;只在对应动作真实发生时分别记录。
84
+
85
+ ## 当前范围完成判据
86
+
87
+ 本次范围内结构检查通过、每个 occurrence 已决定、无 unresolved binding、continuity 可交接,
88
+ 且 creator 接受了新增/复用/变体/delta,即完成当前资产批次。审查与交付是后续独立动作,
89
+ 不作为图片提示词或 storyboard 这两个并列分支的隐式前置门槛。
@@ -0,0 +1,164 @@
1
+ # Character / Look 设计
2
+
3
+ ## 目录
4
+
5
+ 1. 分工
6
+ 2. Character:最小稳定识别集
7
+ 3. Look:一次相容的外观组合
8
+ 4. 可选声音方向:身份锚点不等于本场 delivery
9
+ 5. 制作形态与身份锚点的可表达性
10
+ 6. 合成例:顾禾
11
+ 7. 角色 设定集 的实用检查
12
+
13
+ ## 分工
14
+
15
+ - **Character** 回答“这个人持续是谁、怎样被再次认出”。
16
+ - **Look** 回答“这个人在一个明确时段以怎样的完整外观出现”。
17
+
18
+ 把两者拆开,是为了换装、受伤、湿污和年龄变化时仍能复用人物身份,同时让图片提示
19
+ 词与分镜精确选择一个相容造型。
20
+
21
+ ## Character:最小稳定识别集
22
+
23
+ 从剧本与 creator reference 中选择足以区别此人的持久锚点:
24
+
25
+ - 叙事身份与关系(用于消歧,不是外观替代品);
26
+ - 稳定的面部/头部比例、体态轮廓、永久特征;
27
+ - 基础发质/发际等稳定部分;具体梳法可属于 Look;
28
+ - 永久性饰物仅在确实不随 Look 变化时作为 anchor;
29
+ - 表演/声音的持续事实可写入 设定集,供后续提示词或 casting 参考,但不伪装成可见外观。
30
+
31
+ 锚点要**有区分度且能被观察**。“漂亮年轻女性”“霸总气质”“电影感”都不足以认人。
32
+ 也不要过度指定剧本没有要求的肤色、年龄、五官或身体特征;以
33
+ `creator_decision_needed` 暴露空缺。
34
+
35
+ 锚点集合里至少有一条在**侧面**成立、一条在**背面**成立。很多镜头只给到侧身、背影或
36
+ 远景,只在正脸可读的特征(眉眼间距、瞳色、唇形)不能是唯一识别通道;轮廓与重心、
37
+ 发型剪影与发际形状、肩背线、固定配饰的外形都可以承担这两个方向。写法示例:
38
+ `["方额窄下颌", "后颈发际收成尖角", "右肩比左肩低约两指、起步时先出右肩"]`——第一条正面
39
+ 成立,第二条背面成立,第三条侧面与背影都成立。
40
+
41
+ 同时写出全组**可比较的尺度次序**:谁高于谁、差多少量级,并给一个绝对参照点。示例:
42
+ 「甲最高,乙比甲矮约一个头,丙比乙再矮半头;甲站直时头顶与门框上沿齐平」。这条次序由
43
+ Character 拥有,换鞋、加厚外套、盘发都不改写它(那些属于 Look)。剧本没有给出身高
44
+ 关系时,以 `creator_decision_needed` 暴露,由创作者定,不由角色表模板的默认体型补齐。
45
+
46
+ 人物关系帮助理解谁控制空间、谁观察谁、谁会保护或攻击谁,但**不自动决定美丑、肤色、
47
+ 体型或面部善恶感**。主角不因“主角”字段自动变漂亮,反派也不因“反派”字段自动变丑。
48
+ 需要视觉层级时,从创作者已接受的社会位置、职业使用痕迹、轮廓区别、服装职责、姿态和
49
+ 调度中取证;审美理想化、夸张或反类型都是创作者选择,不能由关系标签偷偷补完。
50
+
51
+ **`reviewed_invariant` AST-04**: 临时淤青、制服、雨水、当天妆容不得成为 Character
52
+ 持久锚点,否则同一人恢复后会被误判成另一身份。
53
+
54
+ ## Look:一次相容的外观组合
55
+
56
+ 一个 Look 只容纳能同时存在的组合:
57
+
58
+ - 服装层次与鞋履;
59
+ - 发型整理、妆容、伪装;
60
+ - 伤势、包扎、污渍、湿度、天气化;
61
+ - 与身体绑定的可见配件;手持道具仍绑定 Prop,不吞进 Look;
62
+ - cause、valid_from、valid_until 和 source refs。
63
+
64
+ 写 Look 时先引用 Character identity,再只写相对 base/前一 Look 的差异。不要复制整段
65
+ 脸部描述形成第二份权威。
66
+
67
+ ## 可选声音方向:身份锚点不等于本场 delivery
68
+
69
+ **`AST-07 · reviewed_invariant`**:项目需要跨集保持声音时,可在 Character 记录 `voice_direction`:语言/方言范围、
70
+ **创作者授权的参考音频绑定**、用于选型与验收的判据、已接受的专名发音。紧张、淋雨、受伤、
71
+ 耳语、某句重音和临时音量属于场景/台词 delivery,不要固化成声音身份;变声、年龄跨度或
72
+ 伪装若跨段持续,则记录有来源和有效范围的变体。
73
+
74
+ 音色的载体是参考音频,不是一段文字描述。没有参考时保持 `reference: null` 并标「待选型」,
75
+ 不要用形容词冒充音色身份。参考绑定要写清这次借用它的什么、哪些内容不能跟着来
76
+ (那条参考里的情绪、录音空间、背景内容永远不进身份),以及证据到了哪一步——
77
+ 详见 [声音方向](voice-direction.md)。它同时给出 `设定集/voice-casting.md` 的渲染规则:
78
+ 那份文本是已接受声音方向的派生投影,不是第二份权威。
79
+
80
+ 文本绑定只能保证角色、台词、声音方向与引用关系没有被改写,不能保证任何真实合成结果、
81
+ 口型或音色复现。引用通过文件首行的 `sources` 绑定本地产物快照,不把网址、外部任务字段或
82
+ 服务参数写进 设定集;
83
+ 参考音频本身留在 `输入/`,不进 设定集,也不进交付包。
84
+
85
+ **资产阶段不生成音频,也不调用任何语音、合成或克隆服务**。 记录先落进文件、由创作者
86
+ 确认;实际 TTS 交给 `$short-drama-produce`,并须对它展示的本次任务预览明确确认。
87
+
88
+ ### 什么时候值得新 Look
89
+
90
+ **`craft_default` AST-03**: 满足任一条件时提议:跨多个 block/scene 持续;会重复使用;
91
+ 需要独立角色参考图;改变观众识别/剧情信息;下游必须精确绑定。瞬时表情、姿势、
92
+ 视线和手位由 shot/continuity 处理,通常不新建 Look。
93
+
94
+ ### 造型不能互相污染
95
+
96
+ - “工作服”和“庆典礼服”如果时空不重叠,就不能在同一 Look 中同时出现;
97
+ - 包扎在 source block 后才生效,前面镜头不能提前绑定;
98
+ - 外套脱下后仍是同一 Character,但应切换 Look 或记录可追踪的 layer delta;
99
+ - 若雨水只造成短暂局部湿痕,可用 delta;若跨集保持并需视觉复现,再升为 Look。
100
+
101
+ ## 制作形态与身份锚点的可表达性
102
+
103
+ 写最小稳定识别集之前,先读 `short-drama.json#/creator_authority/{visual_direction,production_profile}`
104
+ 中状态为 `accepted` 的视觉方向与制作形态;`unset` 时向创作者给出选择,不从对话记忆补造。
105
+ 本阶段需要从制作形态取得哪些输入,见 [阶段契约](stage-contract.md) 的“制作形态需要什么”。
106
+
107
+ 原因很直接:**形态决定观众靠什么通道认人**,因而决定哪些锚点在这个项目里根本可被表达。
108
+
109
+ | 主要识别通道 | 值得写的锚点 | 写了也看不见的锚点 |
110
+ |---|---|---|
111
+ | 面部结构 | 面部比例、眉眼鼻唇相对关系、下颌与颧骨体积 | 只有大远景才成立的体量差 |
112
+ | 剪影与线条 | 轮廓与肩背重心、发型剪影与发际形状、固定配饰外形、服装廓形、步态负重 | 细微的五官不对称、浅色小痣、依赖真实皮肤纹理的痕迹 |
113
+ | 材质与表面 | 皮肤/毛发/布料的可比较表面状态、长期使用痕迹 | 需要柔和过渡才能读出的体积差 |
114
+
115
+ ### 边界:形态选通道,身份定事实
116
+
117
+ - **`reviewed_invariant`**:形态可以改变锚点的**表达通道与颗粒度**,不得改写身份事实本身。
118
+ 不能因为“不好画”把五十岁写成二十五岁、把厚重体格写成修长,也不能为了轮廓好看新增
119
+ 疤痕、异色瞳或不存在的配饰。
120
+ - 已接受身份在当前形态下找不到可靠表达通道时,记 `creator_decision_needed`:由创作者决定
121
+ 换形态还是改身份,资产环节不静默调整。
122
+ - Look 层同理:形态决定服装层次、材质响应能表达到多细,不决定 Look 由哪些单品组成,也不
123
+ 决定 cause、valid_from、valid_until。
124
+ - 形态同样不改写地理、持物归属、可读文字政策与故事状态;这四项分别属于 Location/View、
125
+ Prop/State、text policy 与 write/develop owner。
126
+
127
+ ### 模板槽位不得覆盖身份锚点
128
+
129
+ **`reviewed_invariant`**:模板槽位不得覆盖已接受的身份锚点;当模板默认值与已接受身份冲突时,
130
+ **身份优先,模板让位**。
131
+
132
+ 合成例:角色甲的已接受锚点是五十岁上下、体格厚重、肩背略沉。若角色表模板对每一条记录
133
+ 机械填入“九头身黄金比例、极度修长的双腿”,角色甲的身份就在没有任何创作者决定的情况下被
134
+ 改写;而且因为每个角色都带同一句,下游会把它读成风格统一,不会当成冲突。角色乙即使确实
135
+ 修长,也应由自己的接受快照写出,不由模板默认值代写。
136
+
137
+ 排查方式:把同一批角色记录并排看,找出**逐字重复且与该角色无关**的描述句;不能追溯到某条
138
+ 接受快照的,删除或改写成该角色的真实锚点,并在决定预览里说明改动。
139
+
140
+ ## 合成例:顾禾
141
+
142
+ Character `CHAR-GUHE` 的已接受锚点:窄长脸、左眉尾短缺口、自然卷黑发、肩背略前倾。
143
+ 这些锚点不会因本集换装改变。
144
+
145
+ - `LOOK-GUHE-WORK`:灰绿工作夹克、深色长裤、头发低束;渡站值班期有效。
146
+ - `LOOK-GUHE-RAIN`:在工作装外加橙色旧雨衣,兜帽放下;从 SC004 出门前穿上,
147
+ 到 SC006 脱下。
148
+ - SC005 右肩湿痕:若只维持几镜,作为 delta 指向 `LOOK-GUHE-RAIN`,不是
149
+ `CHAR-GUHE-WET`。
150
+
151
+ 反例:“橙色雨衣女人,湿头发,脸上有伤”被直接写成 Character identity。这样雨衣
152
+ 脱下、头发变干、伤口愈合时,人物就失去所有所谓“身份锚点”。
153
+
154
+ ## 角色 设定集 的实用检查
155
+
156
+ - 去掉本集服装和伤污后,这个人还能与其他角色区分吗?
157
+ - 每个 Look 是否只引用一个 Character,并且内部状态能同时成立?
158
+ - 造型变化是否有 source/cause/validity,而不是凭审美换装?
159
+ - 相同显示名是否误合并,不同称谓是否误拆分?
160
+ - 手持物是否仍由 Prop/State 拥有,未被埋进角色描述?
161
+ - creator 是否接受了新增身份锚点,而不是系统替其补完?
162
+
163
+ 群演可以按制作需要使用 group Character;一旦某个个体有台词、关键交接或跨镜连续,
164
+ 应提议独立身份。此颗粒度是 **`taste_option`**,但选择要能满足故事追踪。
@@ -0,0 +1,123 @@
1
+ # 资产连续性与变化记录
2
+
3
+ ## 目录
4
+
5
+ - [边界匹配](#边界匹配-con-01)
6
+ - [状态表与变化记录](#状态表与变化记录的区别)
7
+ - [各环节负责什么](#各环节负责什么)
8
+ - [需要追踪的状态](#需要追踪的五组状态)
9
+ - [记录步骤](#写变化记录的步骤)
10
+ - [状态链示例](#合成状态链)
11
+ - [非线性时间](#非线性时间与有意断裂)
12
+ - [修订影响](#修订影响)
13
+ - [交接检查](#交接检查)
14
+
15
+ ## 边界匹配 (`CON-01`)
16
+
17
+ 对相连镜头,逐字段比较前一镜已接受的结束状态与下一镜已接受的开始状态。
18
+ 只有上游负责人已经记录变化,或负责人明确提出的修订仍在处理中,差异才有依据;
19
+ 不得靠运动提示词悄悄“补过去”。
20
+
21
+ ## 状态表与变化记录的区别
22
+
23
+ - **状态表**回答某个边界“现在是什么状态”。
24
+ - **变化记录**回答“什么发生了变化、变化前后分别是什么、原因是什么、何时生效、影响谁”。
25
+
26
+ 不要在每场复制完整设定表;只记录下游会依赖的状态和变化。这样既能发现无来源的跳变,
27
+ 也能在剧本修改后准确标记 `stale`,不必重做整个项目。
28
+
29
+ ## 各环节负责什么
30
+
31
+ 资产技能负责身份、资产版本和场景级资产状态变化,例如造型何时切换、道具何时转手、
32
+ 场景光线何时由正常变为停电。故事开发技能负责计划中的故事状态;剧本技能负责已经
33
+ 写出的知情情况、信念、目标、关系与权力、情绪变化及其故事意义。资产状态表只引用
34
+ 这些来源,不得在 `after` 中另写一套故事事实。
35
+
36
+ 分镜技能负责每个镜头的开始和结束边界,包括姿态、位置、目光、双手、持物和可见状态。
37
+ 资产可以引用这些边界,但不能另写一套相冲突的手位和走位。
38
+
39
+ **`structural_invariant` CON-04**: 每条变化记录都要有 `before`、`after`、原因或来源、
40
+ 有效范围,以及指向现有使用方的 `affected_binding_refs` 或指向未来使用方的
41
+ `affected_binding_locators`。没有变化时不能只写“更新了”。
42
+
43
+ **`structural_invariant` CON-06**: `affected_binding_refs` 要覆盖所有已经存在的使用方,
44
+ 每条写 `src` 加 `record_id`;尚未建立的使用方在真正发布前写
45
+ `affected_binding_locators`:`owner`、项目相对路径、`selector` 和 `status`。
46
+
47
+ ## 需要追踪的五组状态
48
+
49
+ 1. **人物的故事状态**:知情情况、信念、目标、关系与权力、情绪。只在它们会影响后续
50
+ 行动或审稿时追踪,并指向故事开发或剧本中的准确来源;它们不属于资产技能自行创造的变化。
51
+ 2. **人物的可见状态**:准确造型、伤势、污湿和场景级携带物。单镜内的姿势由分镜负责。
52
+ 3. **地点状态**:地点、观察视角、可用入口、时段、天气、光线和关键陈设。
53
+ 4. **道具状态**:准确版本、负责人、持有人、位置、状况、内容物和可读文字。
54
+ 5. **场次或集间交接**:上一场或上一集的结束状态、下一场或下一集的进入状态,以及
55
+ 依赖这些状态的提示词和镜头。
56
+
57
+ **`craft_default` CON-03**: 只跟踪后续可能引用的事实。顾禾鞋带的颜色若不影响识别或
58
+ 动作,不必在每场重复;她带走的唯一号牌必须进入结束状态。
59
+
60
+ ## 写变化记录的步骤
61
+
62
+ 1. 在资产出现记录中发现明确变化或边界不一致。
63
+ 2. 读取上一个状态为 `accepted` 的记录,绝不从下游提示词反推。
64
+ 3. 写清单一的 `before` 和 `after`;一个复合事件可以拆成多条同因变化。
65
+ 4. 在首行 `sources` 声明导致变化的剧本快照,`cause_ref` 写 `src` 加 `record_id` 与需要的
66
+ `field`。
67
+ 5. 声明从哪个剧本段、场次或集开始生效,到何时结束;没有明确终点时写 `open_ended`。
68
+ 6. 已经存在的使用方写入 `affected_binding_refs`;尚未生成的镜头或提示词写
69
+ `affected_binding_locators`,等它发布后再改成 `src` 引用。
70
+ 7. 与下一处相连的开始状态比较:一致就通过,不一致就明确提出修订。
71
+
72
+ ### “未知”不等于“恢复默认”
73
+
74
+ 上一集结尾人物仍带伤,本集没有提伤势,不能自动恢复为无伤。保留最后一次确认的状态,
75
+ 并建立 `unresolved` 的连续性问题:仍然带伤、发生了有意省略的治疗,还是剧本遗漏?
76
+
77
+ ### 知道事实不等于知道对方也知道
78
+
79
+ 身份或秘密场景至少区分:甲是否知道事实、乙是否知道事实、甲是否知道乙已经知道。
80
+ 如果本集进入状态已经声明“双方互知身份”,就不能把“他确认对方认出自己”当成本集
81
+ 新的揭示。要么修正进入状态,要么重新说明本场真正改变的是哪种信念或策略。
82
+
83
+ ### 有来源不等于变化合理
84
+
85
+ 引用某个剧本段只能证明变化有文字来源,不能自动证明因果成立。例如“灯闪了一下”
86
+ 不足以解释整栋渡站永久断电。**`reviewed_invariant` CON-02**: 审查者要结合剧本
87
+ 证据,判断伤势、知情情况、道具归属、天气和光线变化是否可信;字段非空不能代替判断。
88
+
89
+ ## 合成状态链
90
+
91
+ SC004 开始:顾禾穿 `LOOK-GUHE-RAIN`;铁皮匣闭合,号牌在里面;值班室灯亮。
92
+
93
+ 1. 她开匣取牌:匣从“闭合、装有号牌”变为“打开、空”;号牌从匣内转到顾禾右手。
94
+ 2. 她把号牌交给魏叔:号牌从顾禾右手转到魏叔右手,原因指向交付动作。
95
+ 3. 配电箱跳闸:场景由正常夜间照明变为停电,直到维修;若集末仍未维修就写 `open_ended`。
96
+ 4. 暴雨从破窗打湿雨衣右肩:人物可见状态变湿;若跨集复用或需要参考图,再建立新造型版本。
97
+
98
+ 结束状态至少声明:魏叔持号牌、铁皮匣空且打开、值班室断电、顾禾雨衣右肩湿。
99
+ 下一集若直接写顾禾手持号牌,必须有归还记录或由创作者接受的修订,不能静默“对齐”。
100
+
101
+ ## 非线性时间与有意断裂
102
+
103
+ 蒙太奇、省略、梦境和主观画面可以不遵守普通的前后相接,但要明确写出断裂类型、
104
+ 进入和退出边界,以及哪些状态仍可信。这属于 **`taste_option` CON-05**,不是逃避记录的
105
+ 理由。闪回不会重写当前时间线的状态表;它在自己的时间分支中使用相应的历史版本。
106
+
107
+ ## 修订影响
108
+
109
+ - 修改伤势开始的剧本段:列出直接读取该段的造型、提示词、镜头或运动规格;需要刷新时由各 owner 重新发布。
110
+ - 只修改道具显示名,ID 和事实不变:通常只更新显示文本,不重做无关分镜。
111
+ - 修改镜头构图:不自动修改资产文件。
112
+ - 修改截图说明或提示词文案:不得反向改写已接受状态。
113
+
114
+ ## 交接检查
115
+
116
+ - 每个相连镜头的结束状态与下一镜开始状态一致,或已有负责人明确提出修订。
117
+ - 转手同时说明从谁手中到谁手中,物件不会在两人手里复制。
118
+ - 伤势、造型、天气和光线不会无原因复位。
119
+ - 道具内容状态与人物知情情况分开记录。
120
+ - 变化的有效范围覆盖所有依赖镜头,而且不会提前生效。
121
+ - `affected_binding_refs` 覆盖所有已经存在的提示词、镜头和运动规格使用方;修订时重新
122
+ 计算实际使用方,不只沿用旧清单。
123
+ - 结束状态足以让下一集继续,不依赖创作者脑内记忆。
@@ -0,0 +1,146 @@
1
+ # 身份、版本与复用判断
2
+
3
+ ## 目录
4
+
5
+ - [三个问题](#三个问题)
6
+ - [身份与状态](#持续身份与可变状态)
7
+ - [判断步骤](#判断步骤)
8
+ - [容易误判的情况](#容易误判的情况)
9
+ - [合成示例](#合成判断例)
10
+ - [决定记录](#决定记录要说明理由)
11
+ - [制作案例](#制作案例说明)
12
+
13
+ ## 三个问题
14
+
15
+ 不要先问“要不要新建文件”,按顺序问:
16
+
17
+ 1. **持续身份是否相同**? 去掉临时状态后,人物、空间或物体仍是不是同一个?
18
+ 2. **下游是否需要区分一个可复用状态**? 变化会持续、再次出现,或影响参考图、
19
+ 分镜绑定和连续性吗?
20
+ 3. **若不建新版本,只写变化记录是否够用**? 一瞬的动作、姿势、表情或摄影机角度,
21
+ 通常交给出现记录、连续性或镜头,不要为它们建立大量资产组合。
22
+
23
+ 结果只能是 `reuse`、`new_variant`、`new_asset` 或 `unresolved`。
24
+ **`structural_invariant`**: 不能用“已处理”代替这四类,也不能让未决项带着假 ID 流入下游。
25
+
26
+ ## 持续身份与可变状态
27
+
28
+ | 类别 | 持续身份通常由什么区分 | 通常属于版本或状态 | 通常不建新版本 |
29
+ |---|---|---|---|
30
+ | 人物 | 同一人物、稳定面部与体态、永久特征、叙事身份 | 服装、发型整理、妆容、伤势、污湿、年龄阶段、伪装 | 瞬时表情、姿势、视线、景别 |
31
+ | 地点 | 同一空间地理、分区关系、入口、固定锚点、主要材料 | 可复用观察视角、陈设阶段、时段、天气、光线状态 | 单一镜头角度、焦段、演员站位 |
32
+ | 道具 | 同一物件或同一可复用型号的形制、尺度、材料、功能、唯一标记 | 持有人、持有手、位置、开闭、破损、内容物、文字、启停 | 被抬起的一瞬、画面左右位置 |
33
+
34
+ 这张表属于 **`craft_default`**,不是见词建档的公式。变化是否值得成为新版本,取决于
35
+ 持续时间、重复使用、故事辨识度和下游绑定需要。
36
+
37
+ ## 判断步骤
38
+
39
+ ### A. 先排除“只属于镜头的事实”
40
+
41
+ “侧脸”“从背后看”“俯拍柜台”“杯子在画面右侧”都不改变资产。若事实只在一个镜头的
42
+ 一瞬成立,就交给分镜边界或关键帧。
43
+
44
+ ### B. 寻找同一身份的证据
45
+
46
+ 用已有 ID 的稳定识别点、剧情连续、来源与去向和唯一标记来对齐,不要只按显示名。
47
+ 两个都叫“值班员”的人不一定是同一个;同一人换了称谓也不会因此变成另一个人。
48
+
49
+ ### C. 判断变化是否值得建立新版本
50
+
51
+ 同时问:
52
+
53
+ - 有明确原因和来源吗?例如换装、受伤、停电、拆封、转交。
54
+ - 有清楚的有效范围吗?从哪个剧本段、场次或集生效,到何时失效或仍未知。
55
+ - 下游需要准确选择吗?角色带伤跨三场时,造型版本值得建立;手指刚沾一滴水又擦掉,
56
+ 一条变化记录可能就够了。
57
+ - 它能否只写差异,而不篡改基础身份?新版本只写变化,不重写成另一个身份。
58
+
59
+ 同一 `looks.jsonl` 或 `location-views.jsonl` 内的基础关系,分别写 `base_look_id` 或
60
+ `base_view_id`。只有基础记录在另一个文件时才用 `base_ref`,它的 `src` 指向那个文件在
61
+ `sources` 中的声明。
62
+
63
+ ### D. 只有持续身份不同才建新资产
64
+
65
+ - 剧本确认是另一个人,即使穿着相同。
66
+ - 空间拥有不同地理、入口或固定锚点,即使同属一个建筑。
67
+ - 两件需要独立追踪的同款物件,或形制、功能、材料身份真正不同。
68
+
69
+ 证据不足时选择 `unresolved`,不要靠常识补齐。
70
+
71
+ ## 容易误判的情况
72
+
73
+ ### 年龄、替身与伪装
74
+
75
+ - 同一人物的少年和成年阶段通常是不同造型版本。即使制作上由不同演员扮演,仍可以
76
+ 保持一个人物身份,并在造型版本中写明表演或演员限制。
77
+ - 剧情中的双胞胎、复制体和冒名者是不同人物,即使视觉识别点近似。
78
+ - 易容或制服伪装是造型版本,不要把“伪装身份”写成真实人物身份。观众暂时不知道时,
79
+ 可以限制显示名,但不能破坏内部事实。
80
+
81
+ ### 同址空间
82
+
83
+ “渡站大厅”和“渡站值班室”若有各自可制作的地理和入口,适合建立两个地点,再用关系
84
+ 引用连接;不要把整栋建筑所有房间塞进一组观察视角。相反,同一值班室停电前后仍是
85
+ 同一地点,不因光线变化新建地点。
86
+
87
+ ### 同款多件道具
88
+
89
+ 两枚外观相同、分别由不同人物保管并且会被交换的号牌,需要两个道具身份;十只没有
90
+ 连续性要求的白杯可以作为一类普通布景。是否逐件建立身份由故事追踪需要决定,不由
91
+ 外观相似决定。
92
+
93
+ ### 损坏与改造
94
+
95
+ 裂纹、血迹、装入文件通常属于道具状态。若物体被不可逆地改造成另一种功能,例如门牌
96
+ 被熔成钥匙,而且之后按新物件使用,可以提出新资产,并保留由原物改造而来的关系。
97
+ 这个决定需要创作者接受。
98
+
99
+ ## 合成判断例
100
+
101
+ 已有 `CHAR-GUHE` 与 `LOOK-GUHE-WORK`。本集顾禾套上橙色雨衣进入渡站,第三场雨衣
102
+ 右肩被淋湿。
103
+
104
+ - 橙色雨衣会跨两场并用于参考图:选择 `new_variant`,基础身份仍是顾禾,不是新角色。
105
+ - 右肩湿痕只持续半场:先写连续性变化,不必自动生成第三个造型版本。
106
+ - 若下一集仍需准确复现湿痕并绑定参考图,再由创作者接受一个湿雨衣造型版本。
107
+
108
+ 若文本只写“穿橙雨衣的人”,且无法证明就是顾禾,决定必须保持 `unresolved`。
109
+
110
+ ## 决定记录要说明理由
111
+
112
+ 每条决定至少展示:来源出现记录、候选、选择、稳定证据、差异、原因、有效范围、
113
+ 下游影响和创作者接受记录。
114
+
115
+ - `new_asset` 要说明为什么不能复用现有资产。
116
+ - `new_variant` 要说明基础身份中哪些内容不变。
117
+ - `reuse` 要说明现有版本怎样覆盖本次事实。
118
+
119
+ 接受前的字段只能叫 `proposed_binding`。只有 `creator_acceptance.status=accepted`,而且
120
+ 对应的设定身份或版本已经发布后,发布事务才能生成 `accepted_binding`。下游只读取
121
+ 后者;不能因为一个 ID 看起来正式,就把提案当成已接受记录。
122
+
123
+ `creator_acceptance.decision_ref` 必须指向一条创作者决策记录,其 `record_id` 以 `CD-`
124
+ 开头——检查器据此判定,不合规会直接拦下发布。指向剧本块或资产记录本身的 `decision_ref`
125
+ 把「已接受」绑到了一条从未记录过创作者决策的东西上。决策记录本身由创作者决策环节发布在 `创作者决策/` 下,本阶段只引用它。
126
+
127
+ **`reviewed_invariant` AST-04**: 审查者检查身份识别点与临时状态是否混写,不以
128
+ “资产越少越好”作为评价标准。
129
+
130
+ ## 制作案例说明
131
+
132
+ 对完整制作链的定性案例阅读表明,下面这些命名和拆分做法可以减少换装、伤势和观察
133
+ 视角变化带来的重复资产。它们属于可调整的常用做法,不是固定格式:
134
+
135
+ - **版本后缀命名**:同一人物的状态或造型放在身份名之后,例如“苏某—火灾后无伤”
136
+ 或“祁某—红色礼服”。下游一眼就能看出身份和当前版本。
137
+ - **空间按观察方向区分**:同一地点可以按方向或分区命名,例如“医院走廊(北)”和
138
+ “办公室(东)”,每个观察视角可以单独绑定参考图。
139
+ - **稳定识别字段**:性别、年龄段和人物类别可以用于制作追踪。少年到成年这样的大跨度,
140
+ 通常用不同造型版本处理。
141
+ - **参考图绑定**:需要稳定识别的人物和空间逐一绑定参考图;没有个体连续性的路人按
142
+ 普通布景处理,不必建立身份。
143
+ - **命名分层**:主角可用实名;功能人物可用姓氏加职务;只作背景的人物可用类型加序号。
144
+ 资产名与描述中的名字必须一致,不能写甲的名字却描述乙。
145
+ - **持续多集的大状态**:被俘或重伤若会持续多集,可以直接建立新的造型参考。若状态只
146
+ 在一镜内发生,就先留在镜头边界或变化记录中,不要提前扩张资产表。
@@ -0,0 +1,84 @@
1
+ # Location / View 设计
2
+
3
+ ## 分工
4
+
5
+ - **Location** 保存空间身份:可行走的地理、分区关系、入口、固定锚点和主要材料。
6
+ - **View** 保存可复用的观看方向/生产状态:面向哪个区域、哪些锚点同时可见,以及
7
+ 陈设阶段、时段、天气、光态。
8
+
9
+ Location 不是场景标题字符串,View 也不是每个相机角度。目标是让参考图、分镜和相邻
10
+ 镜头共享同一空间逻辑,而不是为每镜创建“新场景”。
11
+
12
+ ## 先画脑内平面,再写氛围
13
+
14
+ 读取剧本时先整理:
15
+
16
+ 1. 内/外与可通行边界;
17
+ 2. 区域之间的相对关系;
18
+ 3. 人和道具会使用的入口/出口;
19
+ 4. 不能移动的识别锚点;
20
+ 5. 主要材料、尺度和功能;
21
+ 6. 剧本明确的时间、天气与有因果的光源。
22
+
23
+ “潮湿、压迫、怀旧”可以辅助气氛,却不能替代“北门通走廊、窗口面向河面、配电箱
24
+ 在柜台后”这样的地理事实。也不能为了画面好看新增一扇后来影响追逐路线的门。
25
+
26
+ ## Location 边界
27
+
28
+ ### 新 Location
29
+
30
+ 当空间具有不同、可独立生产的地理/入口/固定锚点时新建。例如同一渡站建筑里的候船
31
+ 厅和值班室各自有完整动作和明确连接,适合两个 Location,并记录 `connected_to`。
32
+
33
+ ### 同一 Location
34
+
35
+ 停电前后、白天夜晚、晴雨、临时布置变化都不改变空间身份。若只因镜头转向就新建
36
+ 地点,会让门窗方向和演员动线互相矛盾。
37
+
38
+ **`reviewed_invariant` AST-04**: 固定地理与临时时段/天气/灯光不得混成两个
39
+ Location identity。
40
+
41
+ ## View 边界
42
+
43
+ View 值得存在,是因为下游要反复引用一种稳定、能说明空间的方向或状态:
44
+
45
+ - 从柜台侧朝北门,能同时看到门、河窗和配电箱;
46
+ - 停电后的同方向,主灯灭、只剩河窗冷光;
47
+ - 暴雨期外景,站牌、台阶和河岸关系保持,天气和地面状态变化。
48
+
49
+ 单纯“低机位”“特写门把手”“35mm”属于 shot/keyframe,不建 View。演员站在左边也
50
+ 不是地点事实。**`craft_default` AST-03**: 一组镜头能共用方向/状态并需要参考 plate
51
+ 时才建 View。
52
+
53
+ ## 光、天气和陈设必须有来源
54
+
55
+ - 剧本写停电,则 View 可从 `normal_night` 变为 `blackout`,cause 指向断电 block;
56
+ - 创作者选择蓝调夜景是 visual direction,可记录 creator source;
57
+ - 不能因 prompt 惯性擅加霓虹、雾、逆光或移动窗户;
58
+ - 临时海报、散落文件、积水若会影响故事/连续性,进入 View state 或 delta;普通可替换
59
+ 装饰可留作 set dressing。
60
+
61
+ ## 合成例:旧渡站值班室
62
+
63
+ `LOC-FERRY-OFFICE`:狭长室内;北门通候船厅;东侧河窗;西侧整面旧柜台;配电箱
64
+ 固定在柜台后墙。Location 不写“夜”“暴雨”“顾禾站在门口”。
65
+
66
+ - `VIEW-FERRY-OFFICE-NORTH-NIGHT`:从柜台内侧朝北门,河窗位于画面右后方;夜间
67
+ 顶灯正常,柜台上只有铁皮匣。
68
+ - `VIEW-FERRY-OFFICE-NORTH-BLACKOUT`:同一地理和方向;断电后顶灯灭,河窗冷光
69
+ 保留,铁皮匣位置不变。它是 View/state 变体,不是“黑暗值班室”新 Location。
70
+
71
+ 如果剧本只需要一次门把手特写,无需 `VIEW-FERRY-OFFICE-DOOR-CLOSEUP`;镜头可以
72
+ 引用 Location/既有 View 后自行拥有 framing。
73
+
74
+ ## 检查问题
75
+
76
+ - 不看氛围词,仍能判断入口、固定锚点和区域关系吗?
77
+ - 同一空间各 View 的门窗/光向是否保持可调和?
78
+ - View 是否错误拥有相机焦段、演员站位或 shot boundary?
79
+ - 时段、天气、光态与陈设变化有 source/cause/validity 吗?
80
+ - 相邻空间该拆 Location 还是做 View,是否依据地理和制作复用,而非名称习惯?
81
+ - creator 是否明确选择空景/含角色政策?该政策由后续 image prompt 具体实现。
82
+
83
+ 空间拆分颗粒度可以是 **`taste_option`**;但无论选粗或细,入口关系和连续性必须可
84
+ 解释,不能用风格选择掩盖矛盾。