@biunow/agent-biuart 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/bin/server.mjs +575 -0
  2. package/data/styles.json +533 -0
  3. package/engine/audit_clip.py +46 -0
  4. package/engine/clip.html +24 -0
  5. package/engine/clip.js +104 -0
  6. package/engine/clip_schema.json +19 -0
  7. package/engine/clips/t1_3b1b.js +203 -0
  8. package/engine/clips/t2_keynote_ui.js +347 -0
  9. package/engine/clips/t3_finance_chart.js +206 -0
  10. package/engine/clips/y1_kurzgesagt.js +183 -0
  11. package/engine/clips/y2_vox.js +150 -0
  12. package/engine/clips/y3_whiteboard.js +209 -0
  13. package/engine/clips/y4_storytime.js +194 -0
  14. package/engine/clips/y5_kinetic_type.js +134 -0
  15. package/engine/compare.py +19 -0
  16. package/engine/demos/_shared/hero/c1_0.png +0 -0
  17. package/engine/demos/_shared/hero/c1_1.png +0 -0
  18. package/engine/demos/_shared/hero/c1_2.png +0 -0
  19. package/engine/demos/_shared/hero/c3_line.png +0 -0
  20. package/engine/demos/_shared/hero.js +96 -0
  21. package/engine/demos/long_scroll/eras.js +23 -0
  22. package/engine/demos/long_scroll/frames/8bit_act/01.png +0 -0
  23. package/engine/demos/long_scroll/frames/8bit_act/02.png +0 -0
  24. package/engine/demos/long_scroll/frames/8bit_act/03.png +0 -0
  25. package/engine/demos/long_scroll/frames/8bit_act/04.png +0 -0
  26. package/engine/demos/long_scroll/frames/8bit_act/05.png +0 -0
  27. package/engine/demos/long_scroll/frames/8bit_act/06.png +0 -0
  28. package/engine/demos/long_scroll/frames/8bit_act/07.png +0 -0
  29. package/engine/demos/long_scroll/frames/8bit_act/08.png +0 -0
  30. package/engine/demos/long_scroll/frames/8bit_act/meta.json +69 -0
  31. package/engine/demos/long_scroll/frames/8bit_walk/01.png +0 -0
  32. package/engine/demos/long_scroll/frames/8bit_walk/02.png +0 -0
  33. package/engine/demos/long_scroll/frames/8bit_walk/03.png +0 -0
  34. package/engine/demos/long_scroll/frames/8bit_walk/04.png +0 -0
  35. package/engine/demos/long_scroll/frames/8bit_walk/05.png +0 -0
  36. package/engine/demos/long_scroll/frames/8bit_walk/06.png +0 -0
  37. package/engine/demos/long_scroll/frames/8bit_walk/07.png +0 -0
  38. package/engine/demos/long_scroll/frames/8bit_walk/08.png +0 -0
  39. package/engine/demos/long_scroll/frames/8bit_walk/meta.json +69 -0
  40. package/engine/demos/long_scroll/frames/egypt_dodge/01.png +0 -0
  41. package/engine/demos/long_scroll/frames/egypt_dodge/02.png +0 -0
  42. package/engine/demos/long_scroll/frames/egypt_dodge/03.png +0 -0
  43. package/engine/demos/long_scroll/frames/egypt_dodge/04.png +0 -0
  44. package/engine/demos/long_scroll/frames/egypt_dodge/05.png +0 -0
  45. package/engine/demos/long_scroll/frames/egypt_dodge/06.png +0 -0
  46. package/engine/demos/long_scroll/frames/egypt_dodge/07.png +0 -0
  47. package/engine/demos/long_scroll/frames/egypt_dodge/08.png +0 -0
  48. package/engine/demos/long_scroll/frames/egypt_dodge/meta.json +69 -0
  49. package/engine/demos/long_scroll/frames/egypt_walk8/01.png +0 -0
  50. package/engine/demos/long_scroll/frames/egypt_walk8/02.png +0 -0
  51. package/engine/demos/long_scroll/frames/egypt_walk8/03.png +0 -0
  52. package/engine/demos/long_scroll/frames/egypt_walk8/04.png +0 -0
  53. package/engine/demos/long_scroll/frames/egypt_walk8/05.png +0 -0
  54. package/engine/demos/long_scroll/frames/egypt_walk8/06.png +0 -0
  55. package/engine/demos/long_scroll/frames/egypt_walk8/07.png +0 -0
  56. package/engine/demos/long_scroll/frames/egypt_walk8/08.png +0 -0
  57. package/engine/demos/long_scroll/frames/egypt_walk8/meta.json +69 -0
  58. package/engine/demos/long_scroll/frames/monet_throw/01.png +0 -0
  59. package/engine/demos/long_scroll/frames/monet_throw/02.png +0 -0
  60. package/engine/demos/long_scroll/frames/monet_throw/03.png +0 -0
  61. package/engine/demos/long_scroll/frames/monet_throw/04.png +0 -0
  62. package/engine/demos/long_scroll/frames/monet_throw/05.png +0 -0
  63. package/engine/demos/long_scroll/frames/monet_throw/06.png +0 -0
  64. package/engine/demos/long_scroll/frames/monet_throw/07.png +0 -0
  65. package/engine/demos/long_scroll/frames/monet_throw/08.png +0 -0
  66. package/engine/demos/long_scroll/frames/monet_throw/meta.json +71 -0
  67. package/engine/demos/long_scroll/frames/monet_walk/01.png +0 -0
  68. package/engine/demos/long_scroll/frames/monet_walk/02.png +0 -0
  69. package/engine/demos/long_scroll/frames/monet_walk/03.png +0 -0
  70. package/engine/demos/long_scroll/frames/monet_walk/04.png +0 -0
  71. package/engine/demos/long_scroll/frames/monet_walk/05.png +0 -0
  72. package/engine/demos/long_scroll/frames/monet_walk/06.png +0 -0
  73. package/engine/demos/long_scroll/frames/monet_walk/07.png +0 -0
  74. package/engine/demos/long_scroll/frames/monet_walk/08.png +0 -0
  75. package/engine/demos/long_scroll/frames/monet_walk/meta.json +71 -0
  76. package/engine/demos/long_scroll/lib/acts.js +87 -0
  77. package/engine/demos/long_scroll/lib/crossing.js +463 -0
  78. package/engine/demos/long_scroll/lib/world.js +143 -0
  79. package/engine/demos/long_scroll/lib/xing2_ding.js +42 -0
  80. package/engine/demos/long_scroll/lib/xing2_jia.js +114 -0
  81. package/engine/demos/long_scroll/lib/xing2_yi.js +133 -0
  82. package/engine/demos/long_scroll/segments/02_egypt.js +234 -0
  83. package/engine/demos/long_scroll/segments/14_8bit.js +118 -0
  84. package/engine/demos/long_scroll/segments/28_monet.js +86 -0
  85. package/engine/demos/t1_3b1b/eras.js +11 -0
  86. package/engine/demos/t1_3b1b/t1_s1.js +101 -0
  87. package/engine/demos/t1_3b1b/t1_s2.js +74 -0
  88. package/engine/demos/t1_3b1b/t1_s3.js +65 -0
  89. package/engine/demos/t2_keynote_ui/eras.js +10 -0
  90. package/engine/demos/t2_keynote_ui/t2_s1.js +57 -0
  91. package/engine/demos/t2_keynote_ui/t2_s2.js +70 -0
  92. package/engine/demos/t2_keynote_ui/t2_s3.js +61 -0
  93. package/engine/demos/t3_finance_chart/eras.js +11 -0
  94. package/engine/demos/t3_finance_chart/t3_s1.js +48 -0
  95. package/engine/demos/t3_finance_chart/t3_s2.js +42 -0
  96. package/engine/demos/t3_finance_chart/t3_s3.js +51 -0
  97. package/engine/demos/y1_kurzgesagt/eras.js +10 -0
  98. package/engine/demos/y1_kurzgesagt/kurzgesagt.js +347 -0
  99. package/engine/demos/y2_vox/eras.js +10 -0
  100. package/engine/demos/y2_vox/vox.js +240 -0
  101. package/engine/demos/y3_whiteboard/eras.js +10 -0
  102. package/engine/demos/y3_whiteboard/whiteboard.js +162 -0
  103. package/engine/demos/y4_storytime/eras.js +14 -0
  104. package/engine/demos/y4_storytime/s1_desk.js +18 -0
  105. package/engine/demos/y4_storytime/s2_screen.js +82 -0
  106. package/engine/demos/y4_storytime/s3_react.js +39 -0
  107. package/engine/demos/y4_storytime/s4_wide.js +16 -0
  108. package/engine/demos/y4_storytime/s5_close.js +18 -0
  109. package/engine/demos/y4_storytime/story.js +25 -0
  110. package/engine/demos/y4_storytime/vo_env.js +2 -0
  111. package/engine/demos/y4_storytime/world.js +73 -0
  112. package/engine/demos/y5_kinetic_type/eras.js +16 -0
  113. package/engine/demos/y5_kinetic_type/k1_title.js +38 -0
  114. package/engine/demos/y5_kinetic_type/k2_complete.js +55 -0
  115. package/engine/demos/y5_kinetic_type/k3_chat.js +47 -0
  116. package/engine/demos/y5_kinetic_type/k4_agent.js +49 -0
  117. package/engine/demos/y5_kinetic_type/kinetic.js +52 -0
  118. package/engine/engine.js +277 -0
  119. package/engine/eras.js +60 -0
  120. package/engine/eras_gallery.js +115 -0
  121. package/engine/eras_style_studies.js +20 -0
  122. package/engine/examples/assets/K/347/272/277/345/233/276_/346/250/252/345/261/217.png +0 -0
  123. package/engine/examples/assets//347/273/210/347/253/257_for/345/276/252/347/216/257/346/261/202/345/222/214.png +0 -0
  124. package/engine/examples/assets//347/273/210/347/253/257_sum/346/261/202/345/222/214.png +0 -0
  125. package/engine/examples/assets//350/220/245/346/224/266/345/233/276_/347/253/226/345/261/217.png +0 -0
  126. package/engine/examples/assets//350/264/242/347/273/217/345/233/276/350/241/250_/346/250/252/345/261/217.png +0 -0
  127. package/engine/examples/t1_3b1b.json +19 -0
  128. package/engine/examples/t2_fullbleed_pulse.json +15 -0
  129. package/engine/examples/t2_keynote_ui.json +15 -0
  130. package/engine/examples/t3_finance_chart.json +29 -0
  131. package/engine/examples/y1_kurzgesagt.json +16 -0
  132. package/engine/examples/y2_vox.json +14 -0
  133. package/engine/examples/y3_whiteboard.json +17 -0
  134. package/engine/examples/y4_storytime.json +52 -0
  135. package/engine/examples/y5_kinetic_type.json +14 -0
  136. package/engine/index.html +42 -0
  137. package/engine/lib/THREE_LICENSE.txt +21 -0
  138. package/engine/lib/brush.js +149 -0
  139. package/engine/lib/camera.js +99 -0
  140. package/engine/lib/chart.js +152 -0
  141. package/engine/lib/collage.js +97 -0
  142. package/engine/lib/diagram.js +264 -0
  143. package/engine/lib/finish.js +70 -0
  144. package/engine/lib/fonts/AlfaSlabOne-400.woff +0 -0
  145. package/engine/lib/fonts/Anton-400.woff +0 -0
  146. package/engine/lib/fonts/ArchivoBlack-400.woff +0 -0
  147. package/engine/lib/fonts/Bangers-400.woff +0 -0
  148. package/engine/lib/fonts/Caveat-600.woff +0 -0
  149. package/engine/lib/fonts/Cinzel-400.woff +0 -0
  150. package/engine/lib/fonts/Cinzel-700.woff +0 -0
  151. package/engine/lib/fonts/CormorantGaramond-500.woff +0 -0
  152. package/engine/lib/fonts/CormorantGaramond-500i.woff +0 -0
  153. package/engine/lib/fonts/CormorantGaramond-700.woff +0 -0
  154. package/engine/lib/fonts/EBGaramond-400.woff +0 -0
  155. package/engine/lib/fonts/EBGaramond-400i.woff +0 -0
  156. package/engine/lib/fonts/EBGaramond-600.woff +0 -0
  157. package/engine/lib/fonts/Exo2-800i.woff +0 -0
  158. package/engine/lib/fonts/GochiHand-400.woff +0 -0
  159. package/engine/lib/fonts/IMFellEnglish-400.woff +0 -0
  160. package/engine/lib/fonts/IMFellEnglish-400i.woff +0 -0
  161. package/engine/lib/fonts/Inter-var.woff +0 -0
  162. package/engine/lib/fonts/JosefinSans-700.woff +0 -0
  163. package/engine/lib/fonts/Kalam-700.woff +0 -0
  164. package/engine/lib/fonts/LICENSES.md +40 -0
  165. package/engine/lib/fonts/LXGWWenKai-500.woff +0 -0
  166. package/engine/lib/fonts/LibreBaskerville-400.woff +0 -0
  167. package/engine/lib/fonts/LibreBaskerville-700.woff +0 -0
  168. package/engine/lib/fonts/LilitaOne-400.woff +0 -0
  169. package/engine/lib/fonts/Marcellus-400.woff +0 -0
  170. package/engine/lib/fonts/NotoSansSC-500.woff +0 -0
  171. package/engine/lib/fonts/NotoSansSC-700.woff +0 -0
  172. package/engine/lib/fonts/NotoSansSC-800.woff +0 -0
  173. package/engine/lib/fonts/NotoSansSC-900.woff +0 -0
  174. package/engine/lib/fonts/NotoSansSC-sub.woff +0 -0
  175. package/engine/lib/fonts/NotoSerifJP-600.woff +0 -0
  176. package/engine/lib/fonts/NotoSerifSC-sub.woff +0 -0
  177. package/engine/lib/fonts/OFL.txt +94 -0
  178. package/engine/lib/fonts/PlayfairDisplay-400i.woff +0 -0
  179. package/engine/lib/fonts/PlayfairDisplay-700.woff +0 -0
  180. package/engine/lib/fonts/PlayfairDisplay-700i.woff +0 -0
  181. package/engine/lib/fonts/Poppins-600.woff +0 -0
  182. package/engine/lib/fonts/Poppins-700.woff +0 -0
  183. package/engine/lib/fonts/Poppins-800.woff +0 -0
  184. package/engine/lib/fonts/PressStart2P-400.woff +0 -0
  185. package/engine/lib/fonts/Righteous-400.woff +0 -0
  186. package/engine/lib/fonts/RobotoCondensed-var.woff +0 -0
  187. package/engine/lib/fonts/Rye-400.woff +0 -0
  188. package/engine/lib/fonts/UnifrakturMaguntia-400.woff +0 -0
  189. package/engine/lib/fonts/cmunrm.woff +0 -0
  190. package/engine/lib/fonts/cmunti.woff +0 -0
  191. package/engine/lib/fonts/index.json +1 -0
  192. package/engine/lib/fonts.js +56 -0
  193. package/engine/lib/kit.js +91 -0
  194. package/engine/lib/media.js +118 -0
  195. package/engine/lib/medium.js +258 -0
  196. package/engine/lib/motion.js +111 -0
  197. package/engine/lib/paint.js +200 -0
  198. package/engine/lib/palettes.js +57 -0
  199. package/engine/lib/post.js +108 -0
  200. package/engine/lib/render.js +189 -0
  201. package/engine/lib/rig.js +390 -0
  202. package/engine/lib/rig_huashu.js +171 -0
  203. package/engine/lib/three.min.js +7 -0
  204. package/engine/lib/toon.js +186 -0
  205. package/engine/lib/typo.js +136 -0
  206. package/engine/lib/ui.js +141 -0
  207. package/engine/lib/util.js +92 -0
  208. package/engine/render.py +157 -0
  209. package/engine/scenes/01_cave.js +364 -0
  210. package/engine/scenes/02_egypt.js +524 -0
  211. package/engine/scenes/03_greek.js +448 -0
  212. package/engine/scenes/04_roman.js +555 -0
  213. package/engine/scenes/05_gothic.js +522 -0
  214. package/engine/scenes/06_renaissance.js +338 -0
  215. package/engine/scenes/08_impressionism.js +206 -0
  216. package/engine/scenes/09_postimp.js +183 -0
  217. package/engine/scenes/10_nouveau.js +334 -0
  218. package/engine/scenes/11_cubism.js +265 -0
  219. package/engine/scenes/12_bauhaus.js +214 -0
  220. package/engine/scenes/13_pop.js +269 -0
  221. package/engine/scenes/14_8bit.js +238 -0
  222. package/engine/scenes/15_raytrace.js +300 -0
  223. package/engine/scenes/16_2026.js +565 -0
  224. package/engine/scenes/17_ink.js +273 -0
  225. package/engine/scenes/18_klimt.js +227 -0
  226. package/engine/scenes/19_munch.js +153 -0
  227. package/engine/scenes/20_dunhuang.js +215 -0
  228. package/engine/scenes/21_kusama.js +124 -0
  229. package/engine/scenes/22_constructivism.js +205 -0
  230. package/engine/scenes/23_dali.js +221 -0
  231. package/engine/scenes/24_hopper.js +150 -0
  232. package/engine/scenes/25_ghibli.js +251 -0
  233. package/engine/scenes/26_vaporwave.js +191 -0
  234. package/engine/scenes/27_kirby.js +255 -0
  235. package/engine/scenes/28_monet.js +176 -0
  236. package/engine/scenes/29_seurat.js +104 -0
  237. package/engine/scenes/30_matisse.js +151 -0
  238. package/engine/scenes/31_haring.js +109 -0
  239. package/engine/scenes/32_rembrandt.js +217 -0
  240. package/engine/scenes/33_rubberhose.js +219 -0
  241. package/engine/scenes/34_shadowpuppet.js +195 -0
  242. package/engine/scenes/35_shinkai.js +197 -0
  243. package/engine/scenes/36_picasso_blue.js +123 -0
  244. package/engine/scenes/38_giotto.js +133 -0
  245. package/engine/scenes/39_piero.js +53 -0
  246. package/engine/scenes/40_raphael.js +96 -0
  247. package/engine/scenes/41_michelangelo.js +112 -0
  248. package/engine/scenes/42_guardi.js +70 -0
  249. package/engine/scenes/43_lorenzetti.js +145 -0
  250. package/engine/scenes/44_cortona.js +86 -0
  251. package/engine/scenes/45_renoir.js +86 -0
  252. package/engine/scenes/46_pissarro.js +82 -0
  253. package/engine/scenes/47_sisley.js +94 -0
  254. package/engine/scenes/48_gauguin.js +107 -0
  255. package/engine/scenes/49_chagall.js +60 -0
  256. package/engine/scenes/50_ma_yuan.js +131 -0
  257. package/engine/scenes/51_persian_miniature.js +149 -0
  258. package/engine/scenes/52_south_park.js +105 -0
  259. package/engine/scenes/53_pixar.js +60 -0
  260. package/engine/scenes/54_ghibli_lab.js +68 -0
  261. package/engine/scenes/55_dunhuang.js +161 -0
  262. package/engine/scenes/index.js +28 -0
  263. package/engine/spec_assets.py +76 -0
  264. package/engine/transitions.js +929 -0
  265. package/engine//346/227/266/344/273/243/344/275/234/350/200/205/350/247/204/350/214/203.md +49 -0
  266. package/lib/host.mjs +754 -0
  267. package/lib/render-bridge.mjs +543 -0
  268. package/lib/render-cli.mjs +98 -0
  269. package/lib/storyboard-lint.mjs +54 -0
  270. package/manifest.json +52 -0
  271. package/package.json +8 -4
  272. package/runtime/package.json +8 -0
  273. package/skills/biuart/SKILL.md +154 -0
  274. package/skills/biuart/references/01-/346/213/206/350/247/243.md +55 -0
  275. package/skills/biuart/references/02-/346/234/272/345/210/266.md +41 -0
  276. package/skills/biuart/references/03-/344/270/200/345/270/247/345/205/210/350/241/214/345/233/233/346/235/241/350/267/257/347/272/277.md +39 -0
  277. package/skills/biuart/references/04-/347/272/257/344/273/243/347/240/201/347/273/230/345/210/266.md +92 -0
  278. package/skills/biuart/references/05-/350/212/202/345/245/217/344/270/216/351/205/215/344/271/220.md +19 -0
  279. package/skills/biuart/references/06-/345/217/243/346/222/255/351/251/261/345/212/250/347/232/204/350/211/272/346/234/257/347/237/255/347/211/207.md +31 -0
  280. package/skills/biuart/references/07-/346/255/243/351/235/242/347/273/217/351/252/214.md +196 -0
  281. package/skills/biuart/references/08-/351/243/216/346/240/274/344/275/234/350/200/205/350/247/204/350/214/203.md +61 -0
  282. package/skills/biuart/references/09-/350/247/206/351/242/221/345/212/250/347/224/273/350/257/255/346/263/225.md +382 -0
  283. package/skills/biuart/references/10-/350/247/222/350/211/262.md +34 -0
  284. package/skills/biuart/references/11-/351/225/277/345/215/267/347/251/277/350/266/212/347/211/207.md +43 -0
  285. package/skills/biuart/references/12-/345/217/243/346/222/255/346/225/264/347/211/207/344/270/216/347/273/217/351/252/214/345/233/236/346/265/201.md +25 -0
  286. package/skills/biuart/references/13-/345/217/243/346/222/255/344/270/216/350/257/255/351/237/263/345/244/215/345/210/273.md +7 -0
  287. package/skills/biuart/references/15-/350/267/250/345/234/272/346/231/257/351/243/216/346/240/274/346/217/220/347/202/274.md +48 -0
  288. package/skills/biuart/references/16-/351/243/216/346/240/274/346/274/224/347/244/27295/345/210/206/345/215/217/350/256/256.md +103 -0
  289. package/skills/biuart/references/about-author.md +99 -0
  290. package/skills/biuart/references/capabilities.md +91 -0
  291. package/skills/biuart/references/compatibility.md +34 -0
  292. package/skills/biuart/references/images.md +97 -0
  293. package/skills/biuart/references/voice-model-review.md +18 -0
  294. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t1_3b1b.md +122 -0
  295. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t2_keynote_ui.md +117 -0
  296. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t3_finance_chart.md +116 -0
  297. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y1_kurzgesagt.md +193 -0
  298. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y2_vox.md +195 -0
  299. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y3_whiteboard.md +190 -0
  300. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y4_storytime.md +166 -0
  301. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y5_kinetic_type.md +158 -0
  302. package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y6_presenter_explainer.md +24 -0
  303. package/skills/biuart/references//345/217/243/346/222/255API.md +125 -0
  304. package/skills/biuart/references//350/211/262/346/235/277.md +38 -0
  305. package/skills/biuart/references//350/247/222/350/211/262/347/262/276/347/273/206/345/272/246.md +61 -0
  306. package/skills/biuart/references//351/225/234/345/244/264/350/241/250/346/250/241/346/235/277.md +80 -0
  307. package/skills/biuart/references//351/225/234/345/244/264/350/257/255/350/250/200.md +73 -0
  308. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/01_cave.md +46 -0
  309. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/02_egypt.md +64 -0
  310. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/03_greek.md +50 -0
  311. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/04_roman.md +99 -0
  312. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/05_gothic.md +32 -0
  313. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/06_renaissance.md +41 -0
  314. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/08_impressionism.md +34 -0
  315. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/09_postimp.md +17 -0
  316. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/10_nouveau.md +31 -0
  317. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/11_cubism.md +30 -0
  318. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/12_bauhaus.md +30 -0
  319. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/13_pop.md +29 -0
  320. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/14_8bit.md +27 -0
  321. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/15_raytrace.md +32 -0
  322. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/16_2026.md +55 -0
  323. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/17_ink.md +50 -0
  324. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/18_klimt.md +37 -0
  325. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/19_munch.md +42 -0
  326. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/20_dunhuang.md +49 -0
  327. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/21_kusama.md +32 -0
  328. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/22_constructivism.md +35 -0
  329. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/23_dali.md +29 -0
  330. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/24_hopper.md +30 -0
  331. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/25_ghibli.md +55 -0
  332. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/26_vaporwave.md +27 -0
  333. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/27_kirby.md +30 -0
  334. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/28_monet.md +39 -0
  335. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/29_seurat.md +31 -0
  336. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/30_matisse.md +26 -0
  337. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/31_haring.md +22 -0
  338. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/32_rembrandt.md +29 -0
  339. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/33_rubberhose.md +31 -0
  340. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/34_shadowpuppet.md +40 -0
  341. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/35_shinkai.md +34 -0
  342. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/36_picasso_blue.md +25 -0
  343. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/37_rick_morty.md +48 -0
  344. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/38_giotto.md +67 -0
  345. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/39_piero.md +59 -0
  346. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/40_raphael.md +65 -0
  347. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/41_michelangelo.md +65 -0
  348. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/42_guardi.md +65 -0
  349. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/43_lorenzetti.md +69 -0
  350. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/44_cortona.md +66 -0
  351. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/45_renoir.md +66 -0
  352. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/46_pissarro.md +66 -0
  353. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/47_sisley.md +67 -0
  354. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/48_gauguin.md +66 -0
  355. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/49_chagall.md +59 -0
  356. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/50_ma_yuan.md +68 -0
  357. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/51_persian_miniature.md +66 -0
  358. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/52_south_park.md +65 -0
  359. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/53_pixar.md +61 -0
  360. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/55_dunhuang.md +41 -0
  361. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/INDEX.md +89 -0
  362. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/_/350/275/254/345/234/272_/350/277/201/347/247/273/346/265/213/350/257/225.md +53 -0
  363. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/_/351/207/215/345/201/232/350/277/233/345/272/246.md +37 -0
  364. package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/_/351/237/263/350/275/250_/350/211/272/346/234/257/345/217/262/351/200/237/351/200/232.md +135 -0
  365. package/studio/app.js +380 -0
  366. package/studio/assert-panel-permit.mjs +67 -0
  367. package/studio/composer.css +465 -0
  368. package/studio/composer.js +480 -0
  369. package/studio/index.html +97 -0
  370. package/studio/optimize-prompt.mjs +84 -0
  371. package/studio/optimize-prompt.test.mjs +47 -0
  372. package/studio/recipes.mjs +87 -0
  373. package/studio/select-menu.js +450 -0
  374. package/studio/styles.css +71 -0
  375. package/studio/to-english-prompt.mjs +149 -0
  376. package/studio/to-english-prompt.test.mjs +72 -0
  377. package/README.md +0 -3
@@ -0,0 +1,65 @@
1
+ # 42_guardi · 瓜尔迪:空气、碎光与松动边缘
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评与独立复核均未达 80,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以城市景观与幻想建筑画中的空气和笔触为主;避免用一张威尼斯图概括其所有时期。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 笔触:短促、松动、点簇式亮笔,轮廓有断续,关键结构仍可辨认。
16
+ - 色光:银灰或暖灰中保留局部亮色,空气把建筑、人物和远景联系起来。
17
+ - 空间:远近层次和小尺度人物建立环境体量;准确测绘不是唯一目标。
18
+ - 材质:建筑、水、天空各有不同笔触方向,不能整屏盖同一种颗粒。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 威尼斯、贡多拉、运河和废墟不是风格必要条件;不强制每景有水。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于卡纳莱托的清晰测绘感;区别于西斯莱,不能只换成晴蓝绿调的通用印象派。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先建立可读的城市/室内/工业空间,再让边缘和亮笔随深度松动。纹理绑定世界或物体坐标,运动中不能全屏重洗随机数。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 雨后高架车站的客流。
37
+ - 干燥机库里打开检修门:没有水仍有空气。
38
+ - 冬日社区广场的集市:更换季节与主体尺度。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [《带废墟拱门的幻想景观》](https://www.nationalgallery.org.uk/paintings/francesco-guardi-a-caprice-with-a-ruined-arch)
45
+ - [美国国家美术馆瓜尔迪作品集](https://www.nga.gov/artists/1363-francesco-guardi/artworks)
46
+ - [《潟湖幻想景观》](https://www.nationalgalleries.org/art-and-artists/13736/lagoon-capriccio)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:旧港帆艇;事件:帆船穿过碎光与松动建筑边缘;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,自评 ~78,品味项待花叔)
62
+
63
+ - 原作锚定:《威尼斯潟湖》《大运河与里亚托桥》。注意搜索结果里混入了现代照片(Salute 教堂),已弃用。签名:低地平线、银灰绿巨大空气、细长舢板、人小到只剩黑身加一两点白与红、笔干而快、边缘松动。
64
+ - 路线:`scenes/42_guardi.js`。天(宽幅积云,暖亮冷暗)/岛塔/水(天光长条+岛塔倒影)各自过 `MEDIUM.broken`(细长干笔、低饱和);舢板与撑篙人小画布重绘并拉长压暗倒影;水面逐行位移;云漂;鸟。
65
+ - 仍可改进:塔的笔触偏叠砖;人物仅剪影;缺 Guardi 特有的闪烁白点。
@@ -0,0 +1,69 @@
1
+ # 43_lorenzetti · 安布罗焦·洛伦采蒂:可阅读的社会空间
2
+
3
+ 状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/43_lorenzetti.js`,用`render.py --film style_studies --solo 43_lorenzetti --from 0 --to 6`运行;尚未通过画风忠实度或跨场景验证,不能借此升级为成熟画风。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以城市叙事与其他空间性作品互相对照;不是把所有题材画成锡耶纳市政壁画。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 空间:建筑、道路、门洞和场所把多种生活活动连接起来;局部视点可服务阅读。
16
+ - 造型:人物虽小但动作与职业关系清楚,建筑有体积而非扁平图标。
17
+ - 色光:土色、矿物色与细节明暗保持整体统一,避免旧纸滤镜压暗所有信息。
18
+ - 叙事:多个事件可以同时存在,但有主次、路径和清楚的因果联系。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制横长卷、城墙、中世纪服饰或密密麻麻的人;复杂度来自本次内容。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于波斯细密画:空间更强调城镇实体与生活活动的连续;不靠满铺几何花纹建立密度。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 从本次场所的连接关系搭世界画布,为人物活动安排可见路径,再分层绘制。视线引导可用局部动作与镜头,不做一排彼此无关的小卡片。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 现代物流园:卸货、分拣、派送彼此关联。
37
+ - 单间诊所:小空间里也有可读的协作。
38
+ - 无人温室管网:没有人物时以实际设施连接叙事。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [意大利文化部:好政府的城市与乡野](https://catalogo.cultura.gov.it/approfondimento/l-allegoria-del-buon-governo-ambrogio-lorenzetti/il-buon-governo-citta-e-campagna)
45
+ - [乌菲齐《献耶稣于圣殿》:不同空间题材](https://www.uffizi.it/opere/presentazione-al-tempio)
46
+ - [完整壁画组:不同叙事情绪对照](https://en.wikipedia.org/wiki/The_Allegory_of_Good_and_Bad_Government)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:剖面图书馆;事件:红书下滑、落入书车、随车驶离;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+ - 实修:取消书的取模复位,书车先停住接书,书绑定车架后再驶离;复核未再出现飞回入口。
61
+
62
+ ## v2 实做(2026-10-16,自评 ~72,不登记为实做)
63
+
64
+ - 人物重做(用户反馈「人物还需疯狂优化」):头小身长、窄肩外撇长袍、褶线、左亮右暗、前脚探出下摆、3/4 侧;街上 20 人循环行走,近大远小。
65
+
66
+ - 原作锚定:《良政的效果·城市》《良政寓言》(仅两幅不同作品)。签名:建筑一栋叠一栋占上半、粉/灰/赭墙成排小拱窗、垛口塔、底层拱廊剖开露出作坊、街上一带小人各干各的、深褐边带。
67
+ - 路线:`scenes/43_lorenzetti.js`。形层(天→中景低楼→左右主楼→剖开的鞋匠作坊→街→台阶)→ `MEDIUM.fresco`;小人每帧后画(圈舞、驮骡、脚手架吊石、鞋匠、旗)。
68
+ - 第二轮修了:中间露出空白灰泥、人伸双臂像卡通、骡子压圈舞。
69
+ - 仍可改进:街面人流要翻几倍;墙面要有颜料层;小人需要更自然的比例与衣褶;加透视退远的街道。
@@ -0,0 +1,66 @@
1
+ # 44_cortona · 彼得罗·达·科尔托纳:巴洛克体量与流动群组
2
+
3
+ 状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/44_cortona.js`,用`render.py --film style_studies --solo 44_cortona --from 0 --to 6`运行;尚未通过画风忠实度或跨场景验证,不能借此升级为成熟画风。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以宏大装饰绘画和叙事画中的群组组织、色光与空间为主;天顶效果是应用分支。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 形体:饱满人物、织物和环境体量形成相互推拉的群组。
16
+ - 空间:斜向联系、前后穿插和局部越框造成连续感;构图为新事件重新生成。
17
+ - 色光:丰富暖色和冷色相互支撑,以亮暗把繁复内容分成可读层次。
18
+ - 材料:建筑、绘画与装饰可以接续,但要保留各自边界和物理触感。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制满屏天使、云团、徽章、金边、仰拍或螺旋;日常场景也须先有清楚的事情。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于米开朗基罗的单体张力;区别于波佐以建筑透视错觉为主的路线。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先画三层大群组及其受光关系,用遮挡和色光控制密度;再加细节。若做越框与天顶,测观察点,不能让装饰盖住动作。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 大型剧场幕后同时换景:用真实活动形成群组。
37
+ - 维修厂起吊设备:主次体量与对角关系。
38
+ - 两人餐桌小场景:缩小规模后仍有丰沛但克制的组织。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [乌菲齐:皮蒂宫暖室四时代壁画,与天顶作品交叉对照](https://www.uffizi.it/en/artworks/stove-room)
45
+ - [Museum With No Frontiers:巴贝里尼天顶馆藏条目](https://baroqueart.museumwnf.org/database_item.php?id=monument%3BBAR%3Bit%3BMon11%3B18%3Bit&pageT=N)
46
+ - [画家与作品目录:继续对照非天顶作品](https://en.wikipedia.org/wiki/Pietro_da_Cortona)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:剧场换景;事件:悬吊道具与层叠幕布运动;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,自评 ~70,不登记为实做)
62
+
63
+ - 原作锚定:《神意的寓言》巴贝里尼天顶、《劫掠萨宾妇女》(只有两幅不同作品,第三条与第一条同幅被去重丢弃)。签名:灰泥画框加镀金圆章、中心暖金放射光、云团堆体积、人群绕中心旋转、衣带与人漫出框。
64
+ - 路线:`scenes/44_cortona.js`。三层灰泥带+蛋形纹+四角金圆章 → 开口天空渐变加放射光 → 云团(整体凹凸轮廓,沿朝向中心的方向打光,外侧弧线勾团块)→ 人群(M.figure 旋转着绕中心)+沿椭圆法线展开的红蓝绸带 → 中心白衣者与金光呼吸 → MEDIUM.fresco。
65
+ - 教训:逐个球形径向渐变叠云会读成肥皂泡;云要先成一个凹凸整体,再沿光向打光。衣带宽度要沿路径法线展开,固定角度会变成头发丝。
66
+ - 仍可改进:人物仍是钟形袍;缺强短缩与强明暗;高光弧线偏卡通。
@@ -0,0 +1,66 @@
1
+ # 45_renoir · 雷诺阿:暖冷交织与有温度的人物
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评 ~58、未经独立复核,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 优先1870年代至1880年代初的印象派语言;1880年代较线性的转向及晚期不同塑形须另注明,不强称全生涯统一。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 笔触:软硬边缘互相转换,色触可见但不把脸和手打碎。
16
+ - 色光:暖肤色与冷色反光相互作用,阴影保留色彩,不给整张画加统一橙色。
17
+ - 造型:圆润、具有触感的身体与衣料;亲近感来自人物关系,不是统一微笑脸。
18
+ - 空间:主体与环境共享光色,远近差异仍清楚;室内外按实际光照重新配置。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制午宴、草帽、斑驳树影、法国花园、粉色肤色或特定人群;夜景也可研究迁移。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 相较毕沙罗更强调人物、肤色与柔软塑形;相较西斯莱,风景空气不是唯一组织中心。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先用可靠角色素材建立结构,分区域做较细的肤色/手部笔触与较松的环境笔触;色光统一但保留材质差异。光斑只在光源和遮挡成立时使用。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 不同肤色的同事在办公室整理设备。
37
+ - 无人早餐桌:靠色彩与触感而非漂亮人物识别。
38
+ - 夜间小店的一次急促交接:避免暖光等于慢动作。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [菲利普斯《船上的午宴》](https://www.phillipscollection.org/collection/luncheon-boating-party)
45
+ - [芝加哥艺术博物馆《两姐妹》研究](https://publications.artic.edu/api/epub/paintingsanddrawings/135639/print_view)
46
+ - [芝加哥艺术博物馆《费尔南多马戏团的杂技演员》](https://publications.artic.edu/api/epub/paintingsanddrawings/135637/print_view)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:太空舱维修;事件:生成底稿上的手臂、管线局部形变与泄漏减弱;路线:生成底稿+代码局部变形。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+ - 明确不足:局部网格位移不等于完整抓握/换手/转阀表演;复杂角色互动需姿态帧或层级绑定,不能依靠好看的底稿掩盖动作不足。
61
+
62
+ ## v2 实做(2026-10-16,自评 ~58,未经独立复核)
63
+
64
+ - 路线:`scenes/45_renoir.js`。旧版是外部位图+网格变形,已换成代码画法并备份旧版。形层=树冠/叶隙天光/树干/沙地/桌/远景人群;`MEDIUM.broken` 重绘:树冠与地面斜向短笔、人群单独一层竖向细笔(人群若和地面共用横笔,会被抹成躺倒的样子);光斑层(暖黄亮斑/蓝紫影)单独重绘缓存,两份错位淡入淡出摇曳,并以低透明度再落到人身上;近景一对舞者每帧小画布重绘。
65
+ - 教训:人与背景必须分层重绘、各用各的笔向;光斑层盖在人上要降透明度,否则人被盖成半截。
66
+ - 仍可改进:人像偏玩偶;缺暖粉肤色与衣料高光;中景人群太整齐。
@@ -0,0 +1,66 @@
1
+ # 46_pissarro · 毕沙罗:生活流动与环境中的人物
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评与独立复核均未达 80,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 优先其印象派城市、乡野语言;新印象派点彩阶段单独标注,不与松散笔触混在同一镜里。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 笔触:小而有方向的色触建立道路、建筑、植被和人物,不只是随机噪声。
16
+ - 色光:天气与时段统筹局部颜色;明暗中仍有环境反光。
17
+ - 空间:从较高观察点到地面视点都可使用,行人和活动嵌在可信环境中。
18
+ - 造型:人物常是生活事件的参与者,有位置、尺度和动作,而非散落装饰点。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制巴黎林荫大道、鸟瞰、马车、农民或下雨;不同场景重定观察点。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于雷诺阿的人物柔软塑形,和西斯莱以天空/地面大关系统摄的风景;本卡关注环境中发生的生活活动。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 让街道/室内表面笔触随方向和深度变化,人物运动保留稳定种子和区域遮罩;拥挤度来自故事,不靠加人掩盖空画面。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 共享办公区里多人收拾行李。
37
+ - 冬日仓库自动分拣:用设备活动替代行人。
38
+ - 乡间临时诊所开门:改变街景题材与视点。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [《夜晚的蒙马特大道》:城市与系列观察](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-boulevard-montmartre-at-night)
45
+ - [《西德纳姆大道》:不同城市空间](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-avenue-sydenham)
46
+ - [《猪肉商》:近距离劳动题材](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-pork-butcher)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:秋日果园;事件:背影推车,人物进入环境色触;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,自评 ~75,品味项待花叔)
62
+
63
+ - 路线:`scenes/46_pissarro.js`。形层(天/远景教堂与丘陵/斑块田/小路/六棵树)→ `MEDIUM.broken`(天水平长笔、地面按地势走向、树冠多向短笔、暖亮冷暗互补抖动)→ 缓存;动态=云漂、树冠顶层飘叶笔、行人(小画布→broken→贴回)沿路走近。
64
+ - 题材:集市日乡间小路,两位挑篮农妇与一个推车人;路把视线带进深处;树影横过路与田。
65
+ - 实测:qa 确定性 ✓、无跳变、18ms/帧。
66
+ - 仍可改进:人物脸是白团;教堂被近树盖住;树冠偏「毛球」,缺枝干透出;与西斯莱(47)的区分主要靠笔短、多向、绿里的橙粉跳动,仍待并排验证。
@@ -0,0 +1,67 @@
1
+ # 47_sisley · 西斯莱:空气、天气与连贯风景
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评与独立复核均未达 80,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以其风景语言为主要已知基础;室内、角色近景和科幻是迁移实验,不称艺术家已有此类成熟范例。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 色光:天空和天气影响地面、建筑与水;不是所有画面都晴蓝绿。
16
+ - 笔触:较轻的断续色触依附表面方向,远处简化而近处仍可辨认。
17
+ - 空间:空气层次连续,地平与道路等结构引导观看,不只是一张水面背景。
18
+ - 造型:小人物和建筑维持风景尺度;大幅人物特写需要单独验证。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制河流、桥、晴天、法国乡间;雪、洪水或阴天可用作变化对照。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于莫奈睡莲的近距离色光场;也不默认毕沙罗式密集活动或瓜尔迪式更松动的城市轮廓。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先统一环境光与深度,再分别处理天空、硬表面和有机物的笔触。新人物扩大时要重做结构与局部笔触密度,不能直接放大小点人。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 没有河水的冬季工业园。
37
+ - 雨后郊区公交站的一次上车。
38
+ - 室内温室维护:作为超出原风景范围的迁移压力测试。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [国家美术馆西斯莱馆藏与生平](https://www.nationalgallery.org.uk/artists/alfred-sisley)
45
+ - [《马尔利勒鲁瓦的饮马池》及雪景系列](https://www.nationalgallery.org.uk/paintings/alfred-sisley-the-watering-place-at-marly-le-roi)
46
+ - [苏格兰国家美术馆:雪景对照](https://www.nationalgalleries.org/art-and-artists/artists/alfred-sisley)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:雪野列车;事件:列车驶过连贯的雪地与天空;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,自评 ~80,品味项待花叔)
62
+
63
+ - 路线:`scenes/47_sisley.js`。三层各自重绘并缓存:天(宽 2600 的积云:暖白本体+淡紫灰阴面+暖黄受光,`MEDIUM.broken` 水平长笔)、水(天光倒影+被镜像压暗的房子/树/杆倒影,水平长笔)、水面之上的景(半淹客栈、白杨、电线杆、远岸)。动态=云慢漂、水面逐行位移越近越大、摆渡船(小画布→broken→贴回)、船尾水纹。
64
+ - 题材:涨水后的村口,摆渡人撑船载木箱。
65
+ - 实测:qa 确定性 ✓、无跳变、14ms/帧。
66
+ - 已修:`broken` 外扩 14px 再糊,水面逐行位移的目标宽度加宽,消除左缘一排缺口小圆点。
67
+ - 仍可改进:房顶读成一块平板;船的倒影偏暗;人物只是剪影。
@@ -0,0 +1,66 @@
1
+ # 48_gauguin · 高更:平面、轮廓与象征色
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评与独立复核均未达 80,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 侧重综合主义和平面象征色的语言;不把布列塔尼、塔希提和不同媒介当作同一套固定题材。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 色彩:大面积色域承担情绪和结构,不机械复制自然色;颜色需有主题依据。
16
+ - 造型:简化形体与较明确轮廓相互支撑,仍能识别新主体。
17
+ - 空间:可压缩深度、提高地面视角或用叠放关系组织,但不是所有物体全平。
18
+ - 表面:大色面保持内部微妙变化,不能退化成统一黑边矢量填色。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制热带植物、棕色皮肤、特定服装或「异域」装饰;文化题材来自用户需求,不作为画风捷径。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于普通扁平插画:色面有情绪与象征关系;区别于夏加尔:不必倒置、漂浮或打碎空间逻辑。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先用少量大色面安排新场景的心理重心,再细化轮廓、层叠和材质。动作可快可慢,色域随物体保持一致,禁止整帧随机换色。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 现代夜班便利店。
37
+ - 一组没有人物的维修工具。
38
+ - 办公室争论中的交接动作:不靠热带题材识别。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [大都会高更专题:跨媒介与象征主义](https://www.metmuseum.org/essays/paul-gauguin-1848-1903)
45
+ - [《午休》:人物与平面空间](https://www.metmuseum.org/art/collection/search/436449)
46
+ - [高更纽约馆藏展:绘画、雕塑、版画的差别](https://www.metmuseum.org/exhibitions/listings/2002/gauguin)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:黄昏染布院;事件:风鼓织物,象征色面相互支撑;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,自评 ~65,品味项待花叔)
62
+
63
+ - 路线:`scenes/48_gauguin.js`。全部形走 `MEDIUM.flat`(同色块里顺笔向的短条+深群青轮廓,宽度 5–8px);朱红色场、黄赭坡、紫褐斜树干把画面劈开,前景三位戴白帽的妇人被画框裁掉,男孩牵山羊缩成远景(缩小是为了不放大幼稚的造型)。
64
+ - 实测:qa 确定性 ✓、无跳变、8ms/帧。
65
+ - 关键教训:折线人物读成表情包,一律用平滑闭合曲线(场景内 `smooth()`);帽翼要画在脸后,脸不能被盖住。
66
+ - 仍可改进:男孩和山羊仍幼稚;树干过直;缺高更的大面积紫褐阴影与象征性小动物。
@@ -0,0 +1,59 @@
1
+ # 49_chagall · 夏加尔:记忆空间与情感色彩
2
+
3
+ 状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/49_chagall.js`,用`render.py --film style_studies --solo 49_chagall --from 0 --to 6`运行;尚未通过画风忠实度或跨场景验证,不能借此升级为成熟画风。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以绘画中的诗性空间为主;早期村庄、后期宗教画和舞台/玻璃媒介分别比较,不抹平其差别。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 空间:方向、尺度和邻接关系可以服从情感,但观众仍需读懂主要行动。
16
+ - 色彩:色域与局部形体共同表达情绪,不必固定某一组高饱和蓝红。
17
+ - 造型:人物、动物和器物保持可辨认的性格,夸张与变形有联系。
18
+ - 叙事:现实细节和记忆意象可以共存;意象来自新故事,而非现成象征清单。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制漂浮情侣、提琴手、山羊、俄式村庄;没有飞行也可以研究这套空间和颜色关系。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于高更的大平面与轮廓;区别于达利的写实幻象,不能仅给写实物体做液化就称夏加尔。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先明确本次现实关系与情感关系,再决定哪里改变尺度或方向;所有变形保持角色身份与物体接触连续。动作节奏由叙事决定。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 两位远程同事跨时区协作。
37
+ - 无人房间里的搬家物品与记忆。
38
+ - 火车站的匆忙告别:避免自动添加飞天情侣。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [MoMA《我与村庄》](https://www.moma.org/collection/works/78984)
45
+ - [MoMA《生日》](https://www.moma.org/collection/works/79360/)
46
+ - [法国国家夏加尔博物馆:宗教主题收藏的边界](https://www.culture.gouv.fr/rechercher-une-publication-du-ministere-de-la-culture/repertoire-des-informations-publiques/Musees-des-Beaux-arts/musee-national-marc-chagall)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:搬家的记忆;事件:旧箱打开,花与信件飞向倒置空间;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
@@ -0,0 +1,68 @@
1
+ # 50_ma_yuan · 马远:偏置重心、留白与精练笔墨
2
+
3
+ 状态:研究配方;2026-10-16 已按 16 号协议重做演示(见文末「v2 实做」),自评与独立复核均未达 80,不登记为实做。
4
+
5
+ ## 起手必查
6
+
7
+ 先读[跨场景风格提炼](../15-跨场景风格提炼.md),再读本卡。作品用于比对视觉语言,人物、物品、构图和镜头不直接搬用。下面的稳定特征是研究归纳,实施与迁移方案是待验证假设;不得伪称官方参数或已实测能力。
8
+
9
+ ## 适用范围
10
+
11
+ 以南宋马远山水和诗意小景为研究范围;「马一角」是组织倾向,不是固定左下角模板,也不等同所有中国水墨。
12
+
13
+ ## 可迁移的视觉语言
14
+
15
+ - 空间:实景与未画出的空间相互建立尺度、方向和情境;空白不是待填背景。
16
+ - 笔墨:有骨力的轮廓、皴擦与浓淡变化形成近景质地,远景更简练。
17
+ - 构图:偏置重心和伸出画面的枝/岩等形成引导;可以更换方向、比例与主体。
18
+ - 色光:墨与节制设色协作;不是整画去色、模糊或加宣纸纹。
19
+
20
+ ## 随需求变化的内容
21
+
22
+ 不强制古人、山水、某一角、孤舟、梅花或大块空屏;现代场景的留白也必须表达空间和事件。
23
+
24
+ ## 与近邻风格的区别
25
+
26
+ 区别于范宽的巨嶂体量与细密皴点;区别于泛水墨写意,不靠墨晕扩散作为唯一识别特征。
27
+
28
+ ## 制作起点(待验证)
29
+
30
+ 先以实体和负形安排新事件,再用有方向的笔锋、干湿和远近浓淡解释结构。留白中的动态只能揭示故事需要,不能加粒子去「填空」。
31
+
32
+ 动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
33
+
34
+ ## 跨场景验证题(不是固定模板)
35
+
36
+ - 冬夜站台上一名等车的人。
37
+ - 无人工作台上被打开的折叠工具。
38
+ - 两人在门口快速传递雨伞:检验动作变化与留白的关系。
39
+
40
+ 至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
41
+
42
+ ## 参考与证据边界
43
+
44
+ - [大都会《月下赏梅》:视觉诗与情境](https://www.metmuseum.org/art/collection/search/44638)
45
+ - [故宫《山径春行》馆藏展示](https://south.npm.gov.tw/SelectionsDetailC004100.aspx?Cond=c693cd84-df8f-4e6f-8724-d7025ac43c20)
46
+ - [大都会《桃花源》图录:继续核对不同花鸟山水](https://resources.metmuseum.org/resources/metpublications/pdf/Peach_Blossom_Spring_Gardens_and_Flowers_in_Chinese_Painting.pdf)
47
+
48
+ 一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
49
+
50
+ ## 使用后回流
51
+
52
+ 使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
53
+
54
+
55
+ ### 2026-10-15 · 单场景试作回流
56
+
57
+ - 场景:崖边雨棚;事件:纸伞随风越过留白;路线:代码绘制与动画。
58
+ - 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
59
+ - 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
60
+
61
+ ## v2 实做(2026-10-16,第二轮自评 ~78,第一轮独立复核 74,品味项待花叔)
62
+
63
+ - 原作锚定:《踏歌图》《梅石溪凫》《山径春行》。签名:绢底泛金褐、一角构图、斧劈皴(宽扁侧锋)、垂柳长枝、渺小的人看向空处、清墨渲远山无轮廓。
64
+ - 路线:`scenes/50_ma_yuan.js`。`MEDIUM.silk` 绢底(经纬线+晕边)→ 远山 blur 渲染 → 岩石(多边形裁剪+宽扁 `P.brush` 斧劈+细硬皴+断续轮廓)→ 老柳干(顿挫粗线)→ 动态:垂条(成簇、弯、长短不一,逐条 `P.brush`,风吹摆动)、书生(背影、一笔衣纹、留绢、抬袖指向远处)、舟、鸟、水纹 → 绢纹相乘罩。
65
+ - 实测:qa 确定性 ✓、无跳变、8ms/帧。
66
+ - 教训:等距竖线的垂条读成栅栏;人物不填满、背影+衣纹最稳;雾带用径向渐变,矩形渐变会在边缘露接缝。
67
+ - 第二轮试验:树干分段变宽读成竹节、斧劈改多边形楔读成箭头,均已回退;现用一气粗线加树皮短笔、短宽毛笔斧劈。
68
+ - 仍可改进:岩石斧劈仍偏密;树干收笔偏钝;落款只有印没有字。