@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.
- package/bin/server.mjs +575 -0
- package/data/styles.json +533 -0
- package/engine/audit_clip.py +46 -0
- package/engine/clip.html +24 -0
- package/engine/clip.js +104 -0
- package/engine/clip_schema.json +19 -0
- package/engine/clips/t1_3b1b.js +203 -0
- package/engine/clips/t2_keynote_ui.js +347 -0
- package/engine/clips/t3_finance_chart.js +206 -0
- package/engine/clips/y1_kurzgesagt.js +183 -0
- package/engine/clips/y2_vox.js +150 -0
- package/engine/clips/y3_whiteboard.js +209 -0
- package/engine/clips/y4_storytime.js +194 -0
- package/engine/clips/y5_kinetic_type.js +134 -0
- package/engine/compare.py +19 -0
- package/engine/demos/_shared/hero/c1_0.png +0 -0
- package/engine/demos/_shared/hero/c1_1.png +0 -0
- package/engine/demos/_shared/hero/c1_2.png +0 -0
- package/engine/demos/_shared/hero/c3_line.png +0 -0
- package/engine/demos/_shared/hero.js +96 -0
- package/engine/demos/long_scroll/eras.js +23 -0
- package/engine/demos/long_scroll/frames/8bit_act/01.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/02.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/03.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/04.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/05.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/06.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/07.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/08.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_act/meta.json +69 -0
- package/engine/demos/long_scroll/frames/8bit_walk/01.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/02.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/03.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/04.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/05.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/06.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/07.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/08.png +0 -0
- package/engine/demos/long_scroll/frames/8bit_walk/meta.json +69 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/01.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/02.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/03.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/04.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/05.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/06.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/07.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/08.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_dodge/meta.json +69 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/01.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/02.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/03.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/04.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/05.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/06.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/07.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/08.png +0 -0
- package/engine/demos/long_scroll/frames/egypt_walk8/meta.json +69 -0
- package/engine/demos/long_scroll/frames/monet_throw/01.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/02.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/03.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/04.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/05.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/06.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/07.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/08.png +0 -0
- package/engine/demos/long_scroll/frames/monet_throw/meta.json +71 -0
- package/engine/demos/long_scroll/frames/monet_walk/01.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/02.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/03.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/04.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/05.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/06.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/07.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/08.png +0 -0
- package/engine/demos/long_scroll/frames/monet_walk/meta.json +71 -0
- package/engine/demos/long_scroll/lib/acts.js +87 -0
- package/engine/demos/long_scroll/lib/crossing.js +463 -0
- package/engine/demos/long_scroll/lib/world.js +143 -0
- package/engine/demos/long_scroll/lib/xing2_ding.js +42 -0
- package/engine/demos/long_scroll/lib/xing2_jia.js +114 -0
- package/engine/demos/long_scroll/lib/xing2_yi.js +133 -0
- package/engine/demos/long_scroll/segments/02_egypt.js +234 -0
- package/engine/demos/long_scroll/segments/14_8bit.js +118 -0
- package/engine/demos/long_scroll/segments/28_monet.js +86 -0
- package/engine/demos/t1_3b1b/eras.js +11 -0
- package/engine/demos/t1_3b1b/t1_s1.js +101 -0
- package/engine/demos/t1_3b1b/t1_s2.js +74 -0
- package/engine/demos/t1_3b1b/t1_s3.js +65 -0
- package/engine/demos/t2_keynote_ui/eras.js +10 -0
- package/engine/demos/t2_keynote_ui/t2_s1.js +57 -0
- package/engine/demos/t2_keynote_ui/t2_s2.js +70 -0
- package/engine/demos/t2_keynote_ui/t2_s3.js +61 -0
- package/engine/demos/t3_finance_chart/eras.js +11 -0
- package/engine/demos/t3_finance_chart/t3_s1.js +48 -0
- package/engine/demos/t3_finance_chart/t3_s2.js +42 -0
- package/engine/demos/t3_finance_chart/t3_s3.js +51 -0
- package/engine/demos/y1_kurzgesagt/eras.js +10 -0
- package/engine/demos/y1_kurzgesagt/kurzgesagt.js +347 -0
- package/engine/demos/y2_vox/eras.js +10 -0
- package/engine/demos/y2_vox/vox.js +240 -0
- package/engine/demos/y3_whiteboard/eras.js +10 -0
- package/engine/demos/y3_whiteboard/whiteboard.js +162 -0
- package/engine/demos/y4_storytime/eras.js +14 -0
- package/engine/demos/y4_storytime/s1_desk.js +18 -0
- package/engine/demos/y4_storytime/s2_screen.js +82 -0
- package/engine/demos/y4_storytime/s3_react.js +39 -0
- package/engine/demos/y4_storytime/s4_wide.js +16 -0
- package/engine/demos/y4_storytime/s5_close.js +18 -0
- package/engine/demos/y4_storytime/story.js +25 -0
- package/engine/demos/y4_storytime/vo_env.js +2 -0
- package/engine/demos/y4_storytime/world.js +73 -0
- package/engine/demos/y5_kinetic_type/eras.js +16 -0
- package/engine/demos/y5_kinetic_type/k1_title.js +38 -0
- package/engine/demos/y5_kinetic_type/k2_complete.js +55 -0
- package/engine/demos/y5_kinetic_type/k3_chat.js +47 -0
- package/engine/demos/y5_kinetic_type/k4_agent.js +49 -0
- package/engine/demos/y5_kinetic_type/kinetic.js +52 -0
- package/engine/engine.js +277 -0
- package/engine/eras.js +60 -0
- package/engine/eras_gallery.js +115 -0
- package/engine/eras_style_studies.js +20 -0
- package/engine/examples/assets/K/347/272/277/345/233/276_/346/250/252/345/261/217.png +0 -0
- 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
- package/engine/examples/assets//347/273/210/347/253/257_sum/346/261/202/345/222/214.png +0 -0
- package/engine/examples/assets//350/220/245/346/224/266/345/233/276_/347/253/226/345/261/217.png +0 -0
- 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
- package/engine/examples/t1_3b1b.json +19 -0
- package/engine/examples/t2_fullbleed_pulse.json +15 -0
- package/engine/examples/t2_keynote_ui.json +15 -0
- package/engine/examples/t3_finance_chart.json +29 -0
- package/engine/examples/y1_kurzgesagt.json +16 -0
- package/engine/examples/y2_vox.json +14 -0
- package/engine/examples/y3_whiteboard.json +17 -0
- package/engine/examples/y4_storytime.json +52 -0
- package/engine/examples/y5_kinetic_type.json +14 -0
- package/engine/index.html +42 -0
- package/engine/lib/THREE_LICENSE.txt +21 -0
- package/engine/lib/brush.js +149 -0
- package/engine/lib/camera.js +99 -0
- package/engine/lib/chart.js +152 -0
- package/engine/lib/collage.js +97 -0
- package/engine/lib/diagram.js +264 -0
- package/engine/lib/finish.js +70 -0
- package/engine/lib/fonts/AlfaSlabOne-400.woff +0 -0
- package/engine/lib/fonts/Anton-400.woff +0 -0
- package/engine/lib/fonts/ArchivoBlack-400.woff +0 -0
- package/engine/lib/fonts/Bangers-400.woff +0 -0
- package/engine/lib/fonts/Caveat-600.woff +0 -0
- package/engine/lib/fonts/Cinzel-400.woff +0 -0
- package/engine/lib/fonts/Cinzel-700.woff +0 -0
- package/engine/lib/fonts/CormorantGaramond-500.woff +0 -0
- package/engine/lib/fonts/CormorantGaramond-500i.woff +0 -0
- package/engine/lib/fonts/CormorantGaramond-700.woff +0 -0
- package/engine/lib/fonts/EBGaramond-400.woff +0 -0
- package/engine/lib/fonts/EBGaramond-400i.woff +0 -0
- package/engine/lib/fonts/EBGaramond-600.woff +0 -0
- package/engine/lib/fonts/Exo2-800i.woff +0 -0
- package/engine/lib/fonts/GochiHand-400.woff +0 -0
- package/engine/lib/fonts/IMFellEnglish-400.woff +0 -0
- package/engine/lib/fonts/IMFellEnglish-400i.woff +0 -0
- package/engine/lib/fonts/Inter-var.woff +0 -0
- package/engine/lib/fonts/JosefinSans-700.woff +0 -0
- package/engine/lib/fonts/Kalam-700.woff +0 -0
- package/engine/lib/fonts/LICENSES.md +40 -0
- package/engine/lib/fonts/LXGWWenKai-500.woff +0 -0
- package/engine/lib/fonts/LibreBaskerville-400.woff +0 -0
- package/engine/lib/fonts/LibreBaskerville-700.woff +0 -0
- package/engine/lib/fonts/LilitaOne-400.woff +0 -0
- package/engine/lib/fonts/Marcellus-400.woff +0 -0
- package/engine/lib/fonts/NotoSansSC-500.woff +0 -0
- package/engine/lib/fonts/NotoSansSC-700.woff +0 -0
- package/engine/lib/fonts/NotoSansSC-800.woff +0 -0
- package/engine/lib/fonts/NotoSansSC-900.woff +0 -0
- package/engine/lib/fonts/NotoSansSC-sub.woff +0 -0
- package/engine/lib/fonts/NotoSerifJP-600.woff +0 -0
- package/engine/lib/fonts/NotoSerifSC-sub.woff +0 -0
- package/engine/lib/fonts/OFL.txt +94 -0
- package/engine/lib/fonts/PlayfairDisplay-400i.woff +0 -0
- package/engine/lib/fonts/PlayfairDisplay-700.woff +0 -0
- package/engine/lib/fonts/PlayfairDisplay-700i.woff +0 -0
- package/engine/lib/fonts/Poppins-600.woff +0 -0
- package/engine/lib/fonts/Poppins-700.woff +0 -0
- package/engine/lib/fonts/Poppins-800.woff +0 -0
- package/engine/lib/fonts/PressStart2P-400.woff +0 -0
- package/engine/lib/fonts/Righteous-400.woff +0 -0
- package/engine/lib/fonts/RobotoCondensed-var.woff +0 -0
- package/engine/lib/fonts/Rye-400.woff +0 -0
- package/engine/lib/fonts/UnifrakturMaguntia-400.woff +0 -0
- package/engine/lib/fonts/cmunrm.woff +0 -0
- package/engine/lib/fonts/cmunti.woff +0 -0
- package/engine/lib/fonts/index.json +1 -0
- package/engine/lib/fonts.js +56 -0
- package/engine/lib/kit.js +91 -0
- package/engine/lib/media.js +118 -0
- package/engine/lib/medium.js +258 -0
- package/engine/lib/motion.js +111 -0
- package/engine/lib/paint.js +200 -0
- package/engine/lib/palettes.js +57 -0
- package/engine/lib/post.js +108 -0
- package/engine/lib/render.js +189 -0
- package/engine/lib/rig.js +390 -0
- package/engine/lib/rig_huashu.js +171 -0
- package/engine/lib/three.min.js +7 -0
- package/engine/lib/toon.js +186 -0
- package/engine/lib/typo.js +136 -0
- package/engine/lib/ui.js +141 -0
- package/engine/lib/util.js +92 -0
- package/engine/render.py +157 -0
- package/engine/scenes/01_cave.js +364 -0
- package/engine/scenes/02_egypt.js +524 -0
- package/engine/scenes/03_greek.js +448 -0
- package/engine/scenes/04_roman.js +555 -0
- package/engine/scenes/05_gothic.js +522 -0
- package/engine/scenes/06_renaissance.js +338 -0
- package/engine/scenes/08_impressionism.js +206 -0
- package/engine/scenes/09_postimp.js +183 -0
- package/engine/scenes/10_nouveau.js +334 -0
- package/engine/scenes/11_cubism.js +265 -0
- package/engine/scenes/12_bauhaus.js +214 -0
- package/engine/scenes/13_pop.js +269 -0
- package/engine/scenes/14_8bit.js +238 -0
- package/engine/scenes/15_raytrace.js +300 -0
- package/engine/scenes/16_2026.js +565 -0
- package/engine/scenes/17_ink.js +273 -0
- package/engine/scenes/18_klimt.js +227 -0
- package/engine/scenes/19_munch.js +153 -0
- package/engine/scenes/20_dunhuang.js +215 -0
- package/engine/scenes/21_kusama.js +124 -0
- package/engine/scenes/22_constructivism.js +205 -0
- package/engine/scenes/23_dali.js +221 -0
- package/engine/scenes/24_hopper.js +150 -0
- package/engine/scenes/25_ghibli.js +251 -0
- package/engine/scenes/26_vaporwave.js +191 -0
- package/engine/scenes/27_kirby.js +255 -0
- package/engine/scenes/28_monet.js +176 -0
- package/engine/scenes/29_seurat.js +104 -0
- package/engine/scenes/30_matisse.js +151 -0
- package/engine/scenes/31_haring.js +109 -0
- package/engine/scenes/32_rembrandt.js +217 -0
- package/engine/scenes/33_rubberhose.js +219 -0
- package/engine/scenes/34_shadowpuppet.js +195 -0
- package/engine/scenes/35_shinkai.js +197 -0
- package/engine/scenes/36_picasso_blue.js +123 -0
- package/engine/scenes/38_giotto.js +133 -0
- package/engine/scenes/39_piero.js +53 -0
- package/engine/scenes/40_raphael.js +96 -0
- package/engine/scenes/41_michelangelo.js +112 -0
- package/engine/scenes/42_guardi.js +70 -0
- package/engine/scenes/43_lorenzetti.js +145 -0
- package/engine/scenes/44_cortona.js +86 -0
- package/engine/scenes/45_renoir.js +86 -0
- package/engine/scenes/46_pissarro.js +82 -0
- package/engine/scenes/47_sisley.js +94 -0
- package/engine/scenes/48_gauguin.js +107 -0
- package/engine/scenes/49_chagall.js +60 -0
- package/engine/scenes/50_ma_yuan.js +131 -0
- package/engine/scenes/51_persian_miniature.js +149 -0
- package/engine/scenes/52_south_park.js +105 -0
- package/engine/scenes/53_pixar.js +60 -0
- package/engine/scenes/54_ghibli_lab.js +68 -0
- package/engine/scenes/55_dunhuang.js +161 -0
- package/engine/scenes/index.js +28 -0
- package/engine/spec_assets.py +76 -0
- package/engine/transitions.js +929 -0
- package/engine//346/227/266/344/273/243/344/275/234/350/200/205/350/247/204/350/214/203.md +49 -0
- package/lib/host.mjs +754 -0
- package/lib/render-bridge.mjs +543 -0
- package/lib/render-cli.mjs +98 -0
- package/lib/storyboard-lint.mjs +54 -0
- package/manifest.json +52 -0
- package/package.json +8 -4
- package/runtime/package.json +8 -0
- package/skills/biuart/SKILL.md +154 -0
- package/skills/biuart/references/01-/346/213/206/350/247/243.md +55 -0
- package/skills/biuart/references/02-/346/234/272/345/210/266.md +41 -0
- 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
- package/skills/biuart/references/04-/347/272/257/344/273/243/347/240/201/347/273/230/345/210/266.md +92 -0
- package/skills/biuart/references/05-/350/212/202/345/245/217/344/270/216/351/205/215/344/271/220.md +19 -0
- 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
- package/skills/biuart/references/07-/346/255/243/351/235/242/347/273/217/351/252/214.md +196 -0
- 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
- 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
- package/skills/biuart/references/10-/350/247/222/350/211/262.md +34 -0
- package/skills/biuart/references/11-/351/225/277/345/215/267/347/251/277/350/266/212/347/211/207.md +43 -0
- 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
- 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
- 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
- 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
- package/skills/biuart/references/about-author.md +99 -0
- package/skills/biuart/references/capabilities.md +91 -0
- package/skills/biuart/references/compatibility.md +34 -0
- package/skills/biuart/references/images.md +97 -0
- package/skills/biuart/references/voice-model-review.md +18 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t1_3b1b.md +122 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t2_keynote_ui.md +117 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/t3_finance_chart.md +116 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y1_kurzgesagt.md +193 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y2_vox.md +195 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y3_whiteboard.md +190 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y4_storytime.md +166 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y5_kinetic_type.md +158 -0
- package/skills/biuart/references//345/212/250/347/224/273/350/257/255/346/263/225/y6_presenter_explainer.md +24 -0
- package/skills/biuart/references//345/217/243/346/222/255API.md +125 -0
- package/skills/biuart/references//350/211/262/346/235/277.md +38 -0
- package/skills/biuart/references//350/247/222/350/211/262/347/262/276/347/273/206/345/272/246.md +61 -0
- package/skills/biuart/references//351/225/234/345/244/264/350/241/250/346/250/241/346/235/277.md +80 -0
- package/skills/biuart/references//351/225/234/345/244/264/350/257/255/350/250/200.md +73 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/01_cave.md +46 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/02_egypt.md +64 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/03_greek.md +50 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/04_roman.md +99 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/05_gothic.md +32 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/06_renaissance.md +41 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/08_impressionism.md +34 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/09_postimp.md +17 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/10_nouveau.md +31 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/11_cubism.md +30 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/12_bauhaus.md +30 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/13_pop.md +29 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/14_8bit.md +27 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/15_raytrace.md +32 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/16_2026.md +55 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/17_ink.md +50 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/18_klimt.md +37 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/19_munch.md +42 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/20_dunhuang.md +49 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/21_kusama.md +32 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/22_constructivism.md +35 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/23_dali.md +29 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/24_hopper.md +30 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/25_ghibli.md +55 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/26_vaporwave.md +27 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/27_kirby.md +30 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/28_monet.md +39 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/29_seurat.md +31 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/30_matisse.md +26 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/31_haring.md +22 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/32_rembrandt.md +29 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/33_rubberhose.md +31 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/34_shadowpuppet.md +40 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/35_shinkai.md +34 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/36_picasso_blue.md +25 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/37_rick_morty.md +48 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/38_giotto.md +67 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/39_piero.md +59 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/40_raphael.md +65 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/41_michelangelo.md +65 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/42_guardi.md +65 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/43_lorenzetti.md +69 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/44_cortona.md +66 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/45_renoir.md +66 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/46_pissarro.md +66 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/47_sisley.md +67 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/48_gauguin.md +66 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/49_chagall.md +59 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/50_ma_yuan.md +68 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/51_persian_miniature.md +66 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/52_south_park.md +65 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/53_pixar.md +61 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/55_dunhuang.md +41 -0
- package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/INDEX.md +89 -0
- 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
- 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
- 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
- package/studio/app.js +380 -0
- package/studio/assert-panel-permit.mjs +67 -0
- package/studio/composer.css +465 -0
- package/studio/composer.js +480 -0
- package/studio/index.html +97 -0
- package/studio/optimize-prompt.mjs +84 -0
- package/studio/optimize-prompt.test.mjs +47 -0
- package/studio/recipes.mjs +87 -0
- package/studio/select-menu.js +450 -0
- package/studio/styles.css +71 -0
- package/studio/to-english-prompt.mjs +149 -0
- package/studio/to-english-prompt.test.mjs +72 -0
- package/README.md +0 -3
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/29_seurat.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# 29_seurat · 1884 修拉《大碗岛的星期天下午》(点彩:视觉混色渲染器)
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 C(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/29_seurat.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/k3_seurat.js`(136 行)。每帧约 100ms,帧差 7.4%(静穆,相邻帧均差 0.45)。
|
|
6
|
+
|
|
7
|
+
**渲染器(重点,可抽进 paint.js)**
|
|
8
|
+
1. 整幅平涂底稿,角色也包含在内(每帧 ~3ms)。底层铺一遍 `blur(4px) saturate(.85) brightness(1.06)` 的底稿,当打底色,点与点之间的缝会露出它。
|
|
9
|
+
2. **固定六角网格,点等大**:pitch 10、行距 8.66、r 4.5,每个点有 ±1.2px 的静态抖动。约 2.4 万个点。按颜色把点攒进 21 个 Path2D,每种颜色只 fill 一次。
|
|
10
|
+
3. **视觉混色取色**:21 色纯色板。
|
|
11
|
+
- 14 个饱和色:`#1a2058 #2a3a9a #3f6fd0 #6aaee6 #1f6a52 #2f9a5a #a8c83a #f2cf3a #f08a2a #e0432a #c0306a #7a4aa8 #f8f4e8 #e8b48a`
|
|
12
|
+
- 7 个淡色(修拉的「和白混过的色」):`#f6e49a #f6c48a #cfe08a #b0cff0 #f2b8c8 #c99a4a #9a7ac8`
|
|
13
|
+
- 对每一对 (i,j),把目标色**投影**到线段 Pj→Pi 上,得到连续比例 w,clamp 到 [.2,.8]。距离再加上 `0.004·|Pi−Pj|²`,惩罚相差太远的配对,免得用黑白点混出灰。取距离最小的一对;每个点按 `hash(i,j) < w` 决定用 Pi 还是 Pj。
|
|
14
|
+
- 结果按 15bit 量化色缓存进 Map。
|
|
15
|
+
4. **取色前给目标色加 ±20 的哈希抖动**(R+dj、G+0.8dj、B−0.6dj)。配对色的切换边界因此变成交错的点,不会出现竖向色带。
|
|
16
|
+
5. **补色点**:8% 的点换成对比色(蓝↔橙、绿↔红紫、黄↔紫……共 21 条映射)。**光渗**:和右下方 14px 处比较,亮度差 >45 时,45% 的概率在亮侧放白点、暗侧放深蓝点。
|
|
17
|
+
6. **修拉自己画的边框**:四周 28px 深蓝带,也过点彩渲染,所以带里会出现橙色补色点。
|
|
18
|
+
|
|
19
|
+
**母题动画**:
|
|
20
|
+
- 窗内塞纳河:帆船漂(40px/s)、汽船冒烟、撑伞女士的侧影+小猴。
|
|
21
|
+
- 河面的点 6fps 重掷哈希=波光。
|
|
22
|
+
- 室内一只橙红蝴蝶绕桌上方飞(`sin(2.6t)·120`),扑翅 `|sin(20t)|`。
|
|
23
|
+
- 6fps 让 7% 的点换成配对色,表现光在点之间颤。第一版用 4fps/3%,独立审片判「基本定格」(相邻帧均差 0.1–0.2);改成 6fps/7% 后升到 0.45。
|
|
24
|
+
|
|
25
|
+
**角色**:1880 年代深蓝紫长裙+腰后裙撑(`back` 钩子里一块弧形)+白高领+橙色纽扣+小圆帽配红羽毛。椅背上靠一把收拢的红阳伞。
|
|
26
|
+
**坑**(两个都是渲染器层面的)
|
|
27
|
+
- 偏好单一纯色(加了惩罚项)会把渐变墙切成几条竖色带。
|
|
28
|
+
- 比例换成连续值以后,配对色在边界整列切换,还是会出带。要靠第 4 步的目标色抖动解决。
|
|
29
|
+
- 第一版色板里没有淡色,亮墙被分解成白+肤色+零散蓝点,看起来像雪花噪声。
|
|
30
|
+
|
|
31
|
+
---
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/30_matisse.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 30_matisse · 1947 马蒂斯《爵士》剪纸
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 C(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/30_matisse.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/k4_matisse.js`(167 行)。每帧约 25ms,帧差 9.3%。
|
|
6
|
+
|
|
7
|
+
**构图**:墙=《波利尼西亚》双蓝棋盘(`#1d4fb8 / #4f95dc`,每格 240×236 剪纸块),窗=《伊卡洛斯》(钴蓝底、黑人形、红心、黄星),地=翠绿 `#1f9a5a` 加黑踢脚条,桌面是黑剪纸,椅子是黄剪纸。
|
|
8
|
+
|
|
9
|
+
**手法**
|
|
10
|
+
1. **剪刀折线 `cut(pts)`**:沿轮廓每 14–24px 取一个点,加 ±2–2.5px 种子抖动,点与点直线相连。自己生成的形状一律这样处理。
|
|
11
|
+
2. **海藻(关键)**:一根锥形茎,加 2×lobes 根左右交替的**圆头胶囊手指**。手指角度 `±(1.05−0.55u)`,长 `width·(1−0.45u)`,宽 `width·(0.34−0.12u)`。所有子路径 `addPath` 进同一个 Path2D,用 nonzero 一次填充,得到并集,投影也只算一次。**不要用「沿脊线调制宽度」**:第一版这样做,出来的是毛毛虫和 Z 字闪电。
|
|
12
|
+
3. **RIG 角色手剪边**:RIG 不给点列,所以角色层整层做像素位移。静态位移场是 `fbm(0.028x, 0.028y, 2)·9`,dx、dy 各一套,只处理 bbox (330,470)-(1600,980),约 15ms。
|
|
13
|
+
4. **纸的投影**:shadow 偏移 (5,6)、blur 4、`rgba(10,20,40,.3)`,表现钉在墙上的纸。
|
|
14
|
+
5. **水粉刷痕**:缓存 2600 道长条笔痕(60–300px、宽 6–22、黑白各半、α .04–.13、倾斜 −0.25rad),整幅 `overlay`。
|
|
15
|
+
|
|
16
|
+
**母题动画**:
|
|
17
|
+
- 海藻像纸片一样绕根部摆 `sin(2.8t+φ)·0.13`,卷边用 `scaleX 0.93–1.0` 呼吸。
|
|
18
|
+
- 伊卡洛斯:7 颗不规则黄星,转着闪(scale `.82+.22sin(7t+1.9k)`);黑人形上下漂;红心跳(`1+.18·max(0,sin 9t)`)。
|
|
19
|
+
- 两只白鸟扑翅(scaleY `.55+.45cos 13t`)。
|
|
20
|
+
- 一片粉纸翻飞落下(scaleX=cos 6t)。
|
|
21
|
+
- 热气是两根白色小剪纸。
|
|
22
|
+
|
|
23
|
+
**角色**:马蒂斯《罗马尼亚衬衫》。白宽袖衫,前襟一条钴蓝刺绣带(红黄交错的小三角),袖上随手臂旋转的红/蓝刺绣横带(clip 在 upperArm 里),红长裙+黑腰带,金发是 5 个剪纸卷团。五官只用剪纸碎片:黑杏仁眼、红唇三角、粉腮圆片。
|
|
24
|
+
**坑**:飘落的纸片第一版轨迹划过少女的脸,改到左墙。计数器底下垫一张白剪纸片,否则黑字压在钴蓝上看不清。
|
|
25
|
+
|
|
26
|
+
---
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/31_haring.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 31_haring · 1982 凯斯·哈林
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 C(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/31_haring.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/k5_haring.js`(109 行)。每帧约 4ms,帧差 11.5%。
|
|
6
|
+
|
|
7
|
+
**手法**
|
|
8
|
+
- 纯色底:黄墙 `#ffd51c`、绿地 `#16a54a`、14px 黑地平线。
|
|
9
|
+
- 一切都是 13px 圆头黑线+平涂,用 `X.girl / X.cat` 逐部件「填→描」。
|
|
10
|
+
- **跳舞小人**:用修正版 `X.limb` 的胶囊做 7 段肢体+圆头,**先全部描 2×LW 黑,再统一填色**,得到并集轮廓。4 个姿势(局部关键点,原点在脚底)**8fps 硬切、不插值**,这才是哈林的跳法;手旁加动作弧。
|
|
11
|
+
- **放射动作线**:物体外围椭圆上的 n 根短直线(长 22–34、线宽 7–9),8fps 换角度。用在猫、少女头、杯、茶壶、红心、右侧小人上。
|
|
12
|
+
- **一切跟拍**:`bounce=|sin(t·128/60·π)|^0.6`。少女 dy=−12·bb,猫错半拍。桌子以脚底为轴挤压拉伸(sy 1−0.07(1−bb)、sx 1+0.05(1−bb)),桌腿弯;茶壶跳 26px;窗框摇 ±0.025rad;地上的「跳起」横线长度随拍变。
|
|
13
|
+
|
|
14
|
+
**母题动画**:
|
|
15
|
+
- 窗里的光芒宝宝:白色并集剪影,两帧交替爬;14 根光芒,长短 8fps 交替。
|
|
16
|
+
- 墙上 3 个跳舞小人(红/蓝/粉,相位不同,有一个镜像)。
|
|
17
|
+
- 桌上方的红心,跳动并带放射线。
|
|
18
|
+
|
|
19
|
+
**角色**:80 年代纽约少女。宽大红毛衣(下摆一道罗纹线)、牛仔蓝长裙、白高帮球鞋。脸上只留一个眼点和一道红唇(哈林的人物本来没有五官,留这一点是为了认人)。耳朵的粗黑圈看起来像随身听耳机,正好合年代。
|
|
20
|
+
**坑**:`RIG.limb` 的反向端帽在粗描边下会在关节处留洞(见②-1)。窗户横档要画在宝宝下面。RIG 的 hairLines 是细线,在哈林里违背「等粗线」,而且喝茶仰头时会穿过脸,所以去掉了。
|
|
21
|
+
|
|
22
|
+
---
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/32_rembrandt.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 32_rembrandt · 1642 伦勃朗明暗法
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 D(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/32_rembrandt.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/r1_rembrandt.js`,每帧约 47ms。
|
|
6
|
+
|
|
7
|
+
**管线**:亮态底稿(按"全亮"时的颜色画房间、铅条菱格窗、土耳其桌毯)→ 褐色大笔触重画背景,再糊 2.2px 叠 75%(揉开的底子)→ 桌毯单独一层、细笔触 → 角色平涂+体积渐变+细笔触 → 角色"失边"处理 → **光照图 multiply** → 窗玻璃 screen 提亮+云影掠过 → 鬃毛厚涂 → 烛焰、光柱浮尘、热气 → 龟裂、颗粒、暗角缓存层+soft-light 金褐釉。
|
|
8
|
+
|
|
9
|
+
**关键参数**
|
|
10
|
+
- 光照图:底色 rgb(30,21,13),相当于环境光 0.13。用 lighter 叠:
|
|
11
|
+
- 光柱:楔形多边形,模糊 40px,缓存,α 0.8–0.95。
|
|
12
|
+
- 窗本身:r330。
|
|
13
|
+
- 脸池:r250 α0.95。胸:r230 α0.55。猫:r240 α0.8。桌面:r280 α0.6。
|
|
14
|
+
- 烛光:r190+40·fc,α 0.6+0.4·fc。
|
|
15
|
+
- 少女背后墙面的"分离光":r300 α0.35。伦勃朗常在人物暗侧后面把墙打亮,好把人从背景里分出来。
|
|
16
|
+
- 叠完整幅 multiply。
|
|
17
|
+
- 摇曳:`flick(t) = 0.5·noise(2.2t) + 0.25·noise(6.5t)`;光池中心随 noise(0.9t) 漂移 ±14px;云影 `cloud = 0.5 + 0.5·sin(2.2t − 0.6)` 让窗光 ×(1 − 0.35·cloud),同时一团暗色径向斑以 260px/s 横穿玻璃。
|
|
18
|
+
- 背景笔触:cell18、len54、w16,jitter 6,角度 −0.9 + 1.6·noise(0.003);色板 mixBase 0.7。
|
|
19
|
+
- 失边:角色层先 blur(2.4px) 全不透明画一遍,再叠 α0.62 的清晰层。暗侧会融进背景,五官还认得出。
|
|
20
|
+
- 厚涂(鬃毛笔):一笔 = round(w/1.3) 条平行细鬃,每条亮度 ±17、两端随机缩 0–25%、线宽 1.4–2.6;下侧一条 α0.28 的投影;上侧撒 2+w/3 个亮点。只用在受光处:金发、领口、瓷杯、珍珠、猫白胸、猫头顶。
|
|
21
|
+
- 罩层:龟裂 α0.28×0.28;颗粒 density 0.05 α0.12;暗角 0.75;soft-light rgba(200,140,60,.35)。
|
|
22
|
+
|
|
23
|
+
**母题动画**:烛焰(noise 驱动左右倾、高度跳)、窗光被云影遮暗再恢复、光柱里 70 颗浮尘(只在光柱内显示,24 帧闪烁)、端杯、热气。运动面积 8.0%(0.45↔1.0s)。
|
|
24
|
+
|
|
25
|
+
**坑**
|
|
26
|
+
- 厚涂第一版画成"暗影偏移+主笔+亮脊"三条整齐的线,读出来像白色贴纸/创可贴。改成鬃毛笔才像颜料。
|
|
27
|
+
- 拷回原图的局部区域(`drawImage(b, x,y,w,h…)`)会把未刷笔触的背景一起带回来,形成矩形补丁。道具应该单独一层画在笔触之后,不要拷区域。
|
|
28
|
+
- 颗粒 density 0.12 / α0.22 会让脸上全是脏点,0.05 / 0.12 刚好。
|
|
29
|
+
- 手要在杯子之前画,不然手的椭圆把瓷杯盖掉了。drawGirl 里的顺序是"手→杯→拇指",自己重画时要照这个顺序。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/33_rubberhose.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# 33_rubberhose · 1930 橡皮管卡通
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 D(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/33_rubberhose.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/r2_rubberhose.js`,每帧约 20ms。
|
|
6
|
+
|
|
7
|
+
**管线**:纸色单色底(墙纸竖条+菱点、地板砖缝、角落水彩压暗,缓存)→ 窗外天空(太阳脸、云、树)→ 窗框和圆点窗帘 → 椅 → 桌(弯腿+跳舞花)→ 少女 → 猫 → `saturation` 灰去色+multiply #f2e8d2 做褪色 → 胶片层。
|
|
8
|
+
|
|
9
|
+
**关键参数**
|
|
10
|
+
- 节拍弹跳:`bnc(tq, ph) = |sin(π(tq/BEAT + ph))|`,BEAT = 60/128。每个物体绕自己的着地点上弹 amp 像素:落地时压扁 sx=1+0.09k、sy=1−0.09k,腾空时拉长约 5%。各物体相位错开 0.25 拍:桌 0.5、少女 0.25、猫 0.75、太阳 0;蝴蝶结 0.05,比身体晚一点,算作跟随。
|
|
11
|
+
- 步进:所有角色和母题用 `tq = floor(t·12)/12`(一拍二);端杯也按 12fps 步进;胶片层用 floor(t·24)。
|
|
12
|
+
- 角色画法:骨架只取锚点。
|
|
13
|
+
- 头:围绕 headC 画半径 82 的大圆脸。
|
|
14
|
+
- 派切眼:白眼眶+黑瞳,黑瞳上用 arc(−1.45..−0.85) 切掉一块楔形;上方 3 根睫毛。
|
|
15
|
+
- 手臂:橡皮管 = 肩到手的一根二次贝塞尔,粗细恒定,黑边 +10px。
|
|
16
|
+
- 白手套:4 指、外翻袖口、手背 3 道线。
|
|
17
|
+
- 波点裙长到脚踝(端庄款)。
|
|
18
|
+
- 猫:身体用 `RIG.smooth(K.bodyPts)`,中灰 #a39a84(=橘),虎斑 #5e574b,白胸白爪 #fbf7ec;尾巴是波浪橡皮管 `sin(7q − 9tq)·26q`。
|
|
19
|
+
- 胶片层:
|
|
20
|
+
- 抖片 ±1.5/±2px。
|
|
21
|
+
- 闪烁:每格叠 α0.02–0.09 白,再叠 0–0.06 黑。
|
|
22
|
+
- 划痕:3 条竖线,按 floor(t·6) 换位置,所以一条划痕能活好几格。
|
|
23
|
+
- 每格 14 个灰尘点+偶尔一根毛发。
|
|
24
|
+
- 颗粒层每格随机平移 ±20px。
|
|
25
|
+
- 圆角片门:roundRect r60,加暗角。
|
|
26
|
+
|
|
27
|
+
**母题动画**:所有物体随拍弹、太阳脸光芒旋转 1.6rad/s 且脸随拍点头、跳舞的花(茎左右 ±0.35rad,叶子当手挥,花瓣转)、烟圈一拍冒一个、窗帘下摆随拍甩、胶片闪烁和划痕。运动面积 40%,但大部分是胶片噪声(见 ② 第 5 条)。
|
|
28
|
+
|
|
29
|
+
**坑**
|
|
30
|
+
- 骨架的猫身体是折线,卡通里一眼看出直边,必须 smooth。
|
|
31
|
+
- 整片要压成单色,必须在角色画完之后统一做一次 saturation 去色,不然手套、杯子会残留暖色。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/34_shadowpuppet.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# 34_shadowpuppet · 中国皮影戏
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 D(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/34_shadowpuppet.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/r3_piying.js`,每帧约 121ms(每块皮件单独离屏,multiply 次数多)。
|
|
6
|
+
|
|
7
|
+
**管线**:影窗(油灯在幕后的径向暖光+screen 灯芯热点+3px 布纹,布纹缓存)→ 道具层(窗棂、桌、瓶花、方背椅,缓存)→ 蝴蝶 → 猫 → 少女,每组一张离屏层 → 每层先印一层偏移软影,再 multiply 本体 → 铆钉 → 操纵杆 → 木框。
|
|
8
|
+
|
|
9
|
+
**关键参数**
|
|
10
|
+
- 皮件函数 `piece(g, path, col, carve)`:
|
|
11
|
+
- 填色。
|
|
12
|
+
- 在 clip 内用 destination-out 刻纹。
|
|
13
|
+
- 在 clip 内描 2×edge 宽的同色"皮边",保证刻纹不会刻穿外轮廓。
|
|
14
|
+
- 描 2.6px 深褐边 #3a160a。
|
|
15
|
+
- 刻纹库:
|
|
16
|
+
- 鱼子纹 dots:s14–22,r3–3.5。
|
|
17
|
+
- 团花 flowers:5 瓣椭圆,s36–46。
|
|
18
|
+
- 云纹 clouds:阿基米德小螺旋,线宽 3.4,s24–40。
|
|
19
|
+
- 方格 lattice:s26–32。
|
|
20
|
+
- 刻线 lines:线宽 3–7。
|
|
21
|
+
- 印到幕布:`stamp(layer)` 先 multiply α0.28、blur 6px、偏移 (7,5),表示皮件没完全贴紧幕布时的虚影;再 multiply 本体。透光 = 幕布色×皮色,重叠的皮件自然变深。
|
|
22
|
+
- 颜色:红 #c0352a、绿 #2f7d4c、琥珀 #d99a2e(金发=琥珀色皮)、黄 #e2bd4a、蓝 #2c5a8a、橘 #d9782a(猫)。
|
|
23
|
+
- 幕布:径向 #fff6d6 → #f2d7a0 → #cf9a58 → #7a4a20;灯焰扰动 `fl = 0.5·noise(3ts) + 0.3·noise(9ts)`,ts 按 15fps 步进。光心漂移 ±26/±18px,热点半径 260+40·fl。
|
|
24
|
+
- 旦角"空脸":头发画完后 destination-out 掉整张脸,只描脸部轮廓,再补凤眼(上挑长线+下眼线+点睛)、柳叶眉、点唇。
|
|
25
|
+
- 橘白猫的映射:橘色 = 橘皮;白胸、白口鼻、白腿白爪 = **整块镂空只留皮边**;虎斑 = 刻线。这条对所有"剪影/镂空类"风格都适用:白色部位直接镂空。
|
|
26
|
+
- 动作:
|
|
27
|
+
- 少女整体绕 (1260,930) 摆 ±0.012rad;头绕颈部铆钉转 ±0.06。
|
|
28
|
+
- 端杯按 10fps 步进。
|
|
29
|
+
- 手腕松:dangle = 0.35·sin(11·ls)·(1 − 0.6·cup),杯子跟着手一起甩。
|
|
30
|
+
- 猫头绕颈点头 0.1·sin(6ts) + 0.05。
|
|
31
|
+
- 尾巴 4 节铰链,每节相对上一节转 0.3·sin(7ts − 0.9i) + 0.38,鞭梢一节节滞后。
|
|
32
|
+
- 步摇珠串甩动。
|
|
33
|
+
- 杆子:5px 深褐线,blur 1.2px multiply,从颈、腕、猫背、猫头、蝴蝶通到画面底边。
|
|
34
|
+
|
|
35
|
+
**母题动画**:灯焰让整块幕布的光斑跳、蝴蝶(翅膀按 12fps 用 scaleX 翻面,带杆子)、手腕甩、猫点头和尾巴鞭梢、步摇。运动面积 6.8%。
|
|
36
|
+
|
|
37
|
+
**坑**
|
|
38
|
+
- 桌腿压在裙子上:multiply 后红×绿接近黑,变成一块黑梯形。皮影里重叠变深是对的,但别把重叠放在视觉焦点上,把桌腿挪开就好。
|
|
39
|
+
- 猫前腿第一版是一整块橘色矩形,盖住了白胸。改成两条几乎全镂空的白腿才读得出"橘白"。
|
|
40
|
+
- 杆子横穿主体会很乱:杆子从皮件往下、往外走,不要跨过别的角色。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/35_shinkai.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 35_shinkai · 2016 新海诚光影
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 D(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/35_shinkai.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/r4_shinkai.js`,每帧约 71ms。
|
|
6
|
+
|
|
7
|
+
**管线**:写实室内(墙面冷暖渐变、木地板透视缝、铝框窗、挂历、书桌,缓存)→ 天空+积雨云+电线杆电线+远处屋顶+飞机拉线+鸟 → 玻璃水珠 → 白纱窗帘 → 地板和墙面的窗形光斑(墙面光斑里有窗帘的影子在摆)→ 盆栽 → 猫、少女(赛璐珞)→ 热气 → 丁达尔光柱+光尘 → 镜头光晕 → 泛光 → soft-light 冷暖分离。
|
|
8
|
+
|
|
9
|
+
**关键参数**
|
|
10
|
+
- 赛璐珞函数 `cel(c, p, base, shade, rim, {sd, rw, lx, ly})`:
|
|
11
|
+
- 阴影 = clip(p) ∩ ¬(p 平移 (lx·sd, ly·sd))。用 evenodd 实现:一个大矩形 + 平移后的 p,作为 clip。
|
|
12
|
+
- 亮边 = clip(p) ∩ ¬(p 反向平移 rw)。
|
|
13
|
+
- 光从窗来,lx=−1、ly=−0.55,所以阴影落在右下侧。sd:大部件 22–30,脸 10,小件 8;rw 3–9。
|
|
14
|
+
- 线色 #6a4632,线宽 2.2。按部件顺序"填 → 影 → 亮边 → 描线",遮挡自然正确,不需要 visibleLines。
|
|
15
|
+
- 猫在窗下是逆光:lx=0.5、ly=1,暗部在下侧,头顶和背上再加一圈 lighter 的暖色亮边 rgba(255,220,160,.55)。
|
|
16
|
+
- 颜色:肤 #ffe8dc/#f2b6a8;金发 #f8d681/#d8a050;白校服 #fbfbfe/#b9c3dc;藏青 #2c3a66/#1b2446。天使环:后脑一道 9px 亮弧 rgba(255,250,226,.85)。
|
|
17
|
+
- 动画眼:白 8×12、虹膜纵向渐变 #1f3f7a → #3f7fd0 → #9fd4ff、两颗高光、上眼睑 3.4px 加一根眼角睫毛。
|
|
18
|
+
- 积雨云:70+12 团。①所有团块画蓝灰剪影(线性渐变 #b7c6e6 → #8297c6)②每团在偏向太阳 (+0.22r, −0.3r) 处画一个 0.82r 的白色径向亮球 ③整层 blur 3px,再叠 55% 清晰层。每团半径以 0.05·sin(1.3t) 呼吸,整体以 10px/s 漂移。
|
|
19
|
+
- 光晕:
|
|
20
|
+
- 太阳核:r130。
|
|
21
|
+
- 10 根星芒:长 90/170,以 0.25rad/s 旋转。
|
|
22
|
+
- 横丝:840×4。
|
|
23
|
+
- 5 个六边形光斑:落在太阳 → 画心连线上 0.45/0.75/1.25/1.6/2.0 倍处,α 0.04–0.12。
|
|
24
|
+
- 丁达尔:3 个楔形,模糊 18px 后缓存,screen,α 0.75 + 0.25·sin(3.4t)。光尘 60 颗,径向渐变,闪烁。
|
|
25
|
+
- 泛光:整帧画进 480×270 的小画布 → blur 6px、brightness 1.1 → screen α0.28 放大回叠。
|
|
26
|
+
|
|
27
|
+
**母题动画**:云团翻涌和漂移、飞机拉线、鸟群扇翅、一颗水珠沿玻璃滑下(带水痕)、白纱窗帘和它投在墙上的影子在摆、盆栽叶子摆、发丝被风吹、星芒旋转、光柱明灭、光尘。运动面积 3.0%。
|
|
28
|
+
|
|
29
|
+
**坑**
|
|
30
|
+
- 太阳放在窗框角上时,光晕会溢到墙上,像墙上挂了一盏灯。太阳必须放在玻璃里面,光晕半径 ≤130。
|
|
31
|
+
- 云第一版每团一个径向渐变,再描一圈"受光弧线",结果读成一堆肥皂泡。要"剪影 + 偏移亮球 + 糊/清两层"。
|
|
32
|
+
- 全画面横向光丝第一版有 1800px 长,看起来像一条 bug 线。收到太阳附近 840px,α0.35。
|
|
33
|
+
- 水珠画成实心圆像气泡飘在天上。只画下缘弧线、α0.22 的透明体和一个高光点。
|
|
34
|
+
- 变量名冲突(两个 `const cg`)导致整段场景加载失败,且被静默替换成占位画面(见 ② 第 1 条)。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/36_picasso_blue.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 36_picasso_blue · 1903 毕加索蓝色时期
|
|
2
|
+
|
|
3
|
+
> 来源:迁移测试 D(只读 skill 的独立 agent 实做,2026-10-04)。场景代码由整合后移植到 `scripts/engine/scenes/36_picasso_blue.js`。
|
|
4
|
+
|
|
5
|
+
实验时的文件名:`scenes/r5_bluepicasso.js`,每帧约 24ms。
|
|
6
|
+
|
|
7
|
+
**管线**:蓝单色平涂底稿(墙、地、窗外夜海和月亮)→ 宽而干的笔触重画,再糊 7px 叠 80% → 极淡的干刷细丝 → 窗框原样拷回,加小笔触 → 桌单独一层 → 环境粗轮廓(不抖)→ 海浪、月光碎影、云 → 角色(整体拉长)→ 角色小笔触+冷光渐变 → visibleLines 粗轮廓 → 披肩褶线 → 慢热气 → 画布纹+冷暗角。
|
|
8
|
+
|
|
9
|
+
**关键参数**
|
|
10
|
+
- 色板:#132240 / #1d3866 / #2d5a94 / #6b8fb6 / #b6c8d8 / 青灰 #3b6878,严格单色。
|
|
11
|
+
- 橘白猫用明度区分:橘 = 中蓝 #4f719a,虎斑 #273f66,白 = 浅蓝 #b6c8d8。金发 = 最亮的蓝灰 #cbd8e0,肤色 #90a9be,发色要比肤色亮一档才读得出"金"。
|
|
12
|
+
- 墙笔触:cell34、len110、w34,jitter 4,竖向 ±0.5·noise(0.003);色板 mixBase 0.8;之后 blur 7px 叠 α0.8。地面笔触同参,横向。
|
|
13
|
+
- 干刷细丝:900 条,α0.07,长 30–90。
|
|
14
|
+
- 拉长:少女 `DOMMatrix().translate(1240,932).scale(0.84,1.12)`,以脚底为轴;猫 scale(0.82,1.14),以 (540,905) 为轴。同一个矩阵用在三处:Path2D.addPath、离屏 setTransform、visibleLines 回调里的 setTransform。
|
|
15
|
+
- 披肩:从 forehead/headTop 罩下,经 nape、back,落到 waist+70,色 #6b8fb6,褶线 rgba(20,40,80,.6) 4px。长指:3 个细长椭圆 22×4.5 绕杯。
|
|
16
|
+
- 轮廓:普鲁士蓝 #0c1830,5px,不沸腾。蓝色时期的轮廓线是笃定的,不该抖。
|
|
17
|
+
- 慢:呼吸 sin(1.8t)·0.026(幅度约为共享编舞的 2 倍、频率约 0.45 倍);端杯用 1.25s 举起(共享编舞是 0.9s);热气按 0.5 倍时间升。
|
|
18
|
+
|
|
19
|
+
**母题动画**:窗外海浪横移(越近越快,速度 20 + 0.25·(y − 400))、月光碎影 14 条闪烁、一条苍白长云横过月亮、缓慢呼吸(人和猫)、端杯、热气。运动面积 3.2%。
|
|
20
|
+
|
|
21
|
+
**坑**
|
|
22
|
+
- 第一版给猫和头发留了一点赭色(想参考《老吉他手》),独立审片判定破坏单色。蓝色时期就该全蓝,用明度区分。
|
|
23
|
+
- cell16、len40、w14 满墙竖刷读成"下雨/毛毯",是印象派,不是蓝色时期。要宽、长、低对比,再糊一层。
|
|
24
|
+
- 宽笔的圆头密排成"人头阵"(见 ② 第 11 条)。用糊 7px 压住了,根治要给 strokes 加 cap 参数。
|
|
25
|
+
- 桌子区域如果用矩形 mask 排除在大笔触之外,地面上会留下一块平涂矩形补丁。桌子要单独成层画在笔触之后,不要在笔触里挖洞。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/37_rick_morty.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 37_rick_morty · Rick & Morty扁平描边卡通
|
|
2
|
+
|
|
3
|
+
镜头表使用代码角色时写`画风:37_rick_morty Rick & Morty式平面卡通`和`角色:原创语义SVG角色`,以启用角色检查的窄例外;y4仍需帧库。
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
来源:2026-10-14的SVG单帧复刻与动画实验。第36种入库风格;内部ID用37_rick_morty,避免覆盖已有36_picasso_blue。是独立画风,穿越其他画派只是可选叙事。
|
|
7
|
+
|
|
8
|
+
## 起手必查
|
|
9
|
+
|
|
10
|
+
- 本例是SVG管线,不能直接加入Canvas引擎的eras.js或用普通render.py录Canvas;否则SVG角色会漏掉。使用本例的render.py截图整页,或先导出视频再作为引擎clip接入。旧35种gallery和总览图保持原样,本例单独预览。
|
|
11
|
+
- 示例只包含代码绘制的房间、少女和猫,不依赖原片截图、Rick/Morty人物资产或声音。迁移新题材时保留画法,重新安排场景。
|
|
12
|
+
- 本画风允许按明确参考用语义SVG绘制角色,这是现有「角色用AI生帧」路线的窄例外;不推广到真人肖像或任意Q版角色。
|
|
13
|
+
|
|
14
|
+
## 可运行起点
|
|
15
|
+
|
|
16
|
+
将`scripts/engine/reference_films/rick_morty/`整个目录复制到项目。直接打开index.html可离线预览、播放和拖时间。Node、API和在线字体均不需要。
|
|
17
|
+
|
|
18
|
+
```sh
|
|
19
|
+
uv run --with playwright playwright install chromium
|
|
20
|
+
uv run --with playwright python render.py --stills 0,1,2 --out 验证
|
|
21
|
+
uv run --with playwright python render.py --from 0 --to 8 --fps 24 --out 风格36.mp4
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
视频导出另需ffmpeg。入口默认8秒无声,--to可指定更长的时间。逐帧接口`window.seek(t,state)`:t是非负秒;省略state自动端杯和转眼;传入state完全控制表演。state包含`look:[x,y]`、`catLook:[x,y]`(各轴-1..1)、`sip`、`catJump`、`gBlink`、`cBlink`(均0..1)。seek不累计状态,支持乱序渲染;自动眨眼和摆尾取决于t。
|
|
25
|
+
|
|
26
|
+
文件分工:svg-kit.js提供圆角描边图元、曲线、种子纹理;room.js绘制分层角色及场景,颜色集中在C对象;index.html负责预览与seek;render.py负责整页逐帧截图和编码。
|
|
27
|
+
|
|
28
|
+
## 画法与运动
|
|
29
|
+
|
|
30
|
+
1920×1088原始坐标,viewBox为`0 4 1920 1080`。描边#222323、默认2.35px,圆端圆接;细节线1.6–2.6px。暖灰墙#cdbf96、木地#9b7752、肤色#efc4a0、天空#a7d6ea;硬边平涂,少量同色系暗面,低对比斑驳留在背景。人物和道具共用描边,不用写实光照补质感。
|
|
31
|
+
|
|
32
|
+
脸靠轮廓比例、眼睑和嘴的少量曲线;大眼白、小点瞳孔,不画高光玻璃眼。头发尖角用mixedPath,脸颊与四肢用smoothPath。身体、头、手臂杯子、眼皮、瞳孔分组;先定静帧,再用原有锚点移动。尾巴用中心线+宽度生成闭合轮廓,禁止每帧换随机形状。
|
|
33
|
+
|
|
34
|
+
默认表演:端杯慢抬、头部小角度转动、目光偏移、确定性眨眼、猫摆尾。catJump是正弦腾空进度,身体和尾巴共用位移;没有落地压缩和行走循环。端杯时肩部锚点保持原位,袖口跟随杯子。
|
|
35
|
+
|
|
36
|
+
## 从参考帧迁移到其他场景
|
|
37
|
+
|
|
38
|
+
先测构图与遮挡,再取区域中位色;深色描边阈值切连通色块可辅助测坐标,不能把自动描摹路径当角色骨架。将手、眼、脸、衣摆、家具按语义分组,静帧就是骨骼第0帧。走路需脚尖驱动两骨IK、按实际距离推进相位;本例没有走路rig,不能据此声称已经支持任意角色行走。
|
|
39
|
+
|
|
40
|
+
正面角色横移容易剪刀腿:两脚基准拉开、缩小步幅、用目光转向;不镜像带不对称服饰的角色。地面物件以脚/底座y排序,墙面纹理用同形状裁剪。SVG与Canvas同页时用IIFE隔离模块;SVG滤镜的userSpaceOnUse区域用真实画布坐标,不能写0,0,1,1。
|
|
41
|
+
|
|
42
|
+
## 验证与后续回流
|
|
43
|
+
|
|
44
|
+
随附render.py使用Chromium的`--disable-partial-raster`,避免SVG局部栅格化带来的抗锯齿差异。2026-10-14独立复验:此配置下冷启动及[1,7,1,1,0,1]乱序取帧的t=1截图为0像素差;普通浏览器只保证DOM状态确定,不能宣称截图逐像素相同。
|
|
45
|
+
|
|
46
|
+
每次修改至少在上述渲染配置下核同一时刻冷启动/乱序seek像素一致、两个时刻画面有变化、0与最大表情无裁切、浏览器无错误;再肉眼检查头身接缝和眼皮。示例质量暂列★★:可运行,造型和复杂动作仍有提升空间;不能把原车库复刻的轮廓分数移作本房间的相似度评分。
|
|
47
|
+
|
|
48
|
+
使用前读本卡的短板;新发现按日期、场景、证据和验证状态写回本卡。旧结论失效先修改原句,单次经验不升级为全风格规则;复现稳定的故障优先改代码并测确定性。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/38_giotto.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# 38_giotto · 乔托:体块与叙事关系
|
|
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
|
+
圣徒、哀悼姿势不是必需;金光环、群青天幕和装饰边框是三幅斯克罗威尼原作的共同签名,v2 演示保留了它们(光环给了搬运工,是玩笑也是辨识度);开裂与褪色是保存状态,不是画风核心。
|
|
23
|
+
|
|
24
|
+
## 与近邻风格的区别
|
|
25
|
+
|
|
26
|
+
区别于皮耶罗:优先手势与人物关系的可读性,不把几何秩序变成主角。区别于拉斐尔:保留更朴素、厚重的体块。
|
|
27
|
+
|
|
28
|
+
## 制作起点(待验证)
|
|
29
|
+
|
|
30
|
+
先把新场景画成可读的剪影与体块,按接触关系分层,再做哑光色面和衣褶;不要用表面龟裂纹替代造型。角色沿10号路线,材质处理必须覆盖角色。
|
|
31
|
+
|
|
32
|
+
动作速度、帧率、镜头和配乐按本次叙事确定;不把画面的安静气质等同慢动作。工程接入遵循[风格作者规范](../08-风格作者规范.md),新渲染器实做后才登记引擎id。
|
|
33
|
+
|
|
34
|
+
## 跨场景验证题(不是固定模板)
|
|
35
|
+
|
|
36
|
+
- 快递站里两人交接一个大箱子:核手势和重量。
|
|
37
|
+
- 维修间内一台拆开的机器:没有古典人物仍应有体块感。
|
|
38
|
+
- 夜班候车室:改变光照与人物数量后,核空间和色面是否仍统一。
|
|
39
|
+
|
|
40
|
+
至少选不同题材/空间尺度/主体类型的测试;不要求每次完整跑一遍。静帧与动态验收分别记,未覆盖的范围继续标为待验证。
|
|
41
|
+
|
|
42
|
+
## 参考与证据边界
|
|
43
|
+
|
|
44
|
+
- [乔托《三博士朝圣》:体量与仰视建筑](https://www.metmuseum.org/art/collection/search/436504)
|
|
45
|
+
- [乔托《宝座圣母》:板画媒介对照](https://www.uffizi.it/en/artworks/virgin-and-child-enthroned-surrounded-by-angels-and-saints-ognissanti-maesta)
|
|
46
|
+
- [《哀悼基督》:叙事壁画对照](https://en.wikipedia.org/wiki/Lamentation_(The_Mourning_of_Christ))
|
|
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
|
+
- 原作锚定:斯克罗威尼礼拜堂《哀悼基督》《金门相会》《逃往埃及》(`fetch_reference.py`)。稳定签名:群青天幕带金星、土红/赭/橄榄绿袍、重量感的钟形袍、人物视线互相咬合、斜置的灰粉建筑体块、画框内一条红金装饰带。
|
|
64
|
+
- 路线:`scenes/38_giotto.js`。形层=天(群青软斑)→岩坡→建筑(垛口+檐下红白菱格带+拱门)→地面→`MEDIUM.figure` 三位人物(袍、半披风、粗袖、大头、杏仁眼+视线)→木箱;媒介层=`MEDIUM.fresco`(轻糊+石灰罩+灰泥相乘+针孔接缝)+装饰边框。
|
|
65
|
+
- 题材:码头仓库门口两位搬运工交接木箱,第三人低头看箱角;动态=箱子交接弧线、衣摆微摆、落地灰、鸟横过天。
|
|
66
|
+
- 实测:qa 确定性 ✓、无跳变、36ms/帧;静止帧对 27%(壁画本来静,动作集中在交接)。
|
|
67
|
+
- 仍可改进:脸与手仍简;缺光环、天使、群像密度;衣褶明暗层次不及原作的多层罩染;草簇过匀。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# 39_piero · 皮耶罗:几何秩序与清明体积
|
|
2
|
+
|
|
3
|
+
状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/39_piero.js`,用`render.py --film style_studies --solo 39_piero --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.nationalgallery.org.uk/paintings/piero-della-francesca-the-baptism-of-christ)
|
|
45
|
+
- [《耶稣诞生》:油画色彩与叙事](https://www.nationalgallery.org.uk/paintings/piero-della-francesca-the-nativity)
|
|
46
|
+
- [《基督受鞭笞》:前后空间对照](https://en.wikipedia.org/wiki/The_Flagellation_of_Christ_(Piero_della_Francesca))
|
|
47
|
+
|
|
48
|
+
一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
|
|
49
|
+
|
|
50
|
+
## 使用后回流
|
|
51
|
+
|
|
52
|
+
使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### 2026-10-15 · 单场景试作回流
|
|
56
|
+
|
|
57
|
+
- 场景:天文工作室;事件:仪器环转与几何秩序;路线:代码绘制与动画。
|
|
58
|
+
- 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
|
|
59
|
+
- 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/40_raphael.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 40_raphael · 拉斐尔:和谐组织与自然联系
|
|
2
|
+
|
|
3
|
+
状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/40_raphael.js`,用`render.py --film style_studies --solo 40_raphael --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.nationalgallery.org.uk/artists/raphael)
|
|
45
|
+
- [《粉红色圣母》:亲密动作](https://www.nationalgallery.org.uk/paintings/raphael-the-madonna-of-the-pinks-la-madonna-dei-garofani)
|
|
46
|
+
- [《雅典学院》:群组对照](https://en.wikipedia.org/wiki/The_School_of_Athens)
|
|
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/40_raphael.js`。拱顶按层数 N=9 几何级数退向消失点,每层按角度切藻井格,侧墙交替壁柱/壁龛,地面按层与列画棋盘;人物用 `MEDIUM.figure` 并按手眼互指(书、星盘、手卷);远处三个小人沿地面走。
|
|
65
|
+
- 仍可改进:人物钟形袍与雷同的脸;壁龛雕像像蜡烛;缺肤色与衣料的光泽。
|
package/skills/biuart/references//351/243/216/346/240/274/351/205/215/346/226/271/41_michelangelo.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# 41_michelangelo · 米开朗基罗:雕塑性与姿态张力
|
|
2
|
+
|
|
3
|
+
状态:研究配方+单场景工程试作;2026-10-15建立并实做。已附`scenes/41_michelangelo.js`,用`render.py --film style_studies --solo 41_michelangelo --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.metmuseum.org/exhibitions/listings/2017/michelangelo/exhibition-galleries)
|
|
45
|
+
- [西斯廷顶画官方资料](https://www.museivaticani.va/content/museivaticani/en/collezioni/musei/cappella-sistina/volta.html)
|
|
46
|
+
|
|
47
|
+
一手馆藏/制作资料用于核查作品与方法;百科入口只辅助定位。开工仍需实际并看多幅原作或不同场景片段,记录稳定特征和例外;作品列表不等于已经完成多图视觉实验。
|
|
48
|
+
|
|
49
|
+
## 使用后回流
|
|
50
|
+
|
|
51
|
+
使用前查看本节最新已验证结论;当前有6秒单场景输出的技术检查;画风忠实度与跨场景视觉验证未完成。后续只记录影响结果的发现:日期、题材、采用路线、参考与输出路径/哈希、问题、修法、验证状态和适用范围。失效结论改原句,不追加矛盾规则。跨场景复现后才把研究假设升为实做配方;可重复的工程问题优先修工具并测试。用户偏好单独进入品味档案,不扩张授权。
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### 2026-10-15 · 单场景试作回流
|
|
55
|
+
|
|
56
|
+
- 场景:石质吊臂;事件:机械关节转动与雕塑般受力;路线:代码绘制与动画。
|
|
57
|
+
- 检查:确定性复测、完整MP4解码及独立抽帧审片;短片快动指标按现有门禁降黄,不能推导长片达标。
|
|
58
|
+
- 边界:这次只证明该工程可运行并可观看;艺术家/工作室风格相似度仍有限,不能把几何、色板或纹理参数当最终标准。
|
|
59
|
+
|
|
60
|
+
## v2 实做(2026-10-16,自评 ~65,不登记为实做)
|
|
61
|
+
|
|
62
|
+
- 原作锚定:《阿特拉斯奴隶》(雕像陷在粗石里的未完成)、《利比亚女先知习作》(红粉笔背身)、《创造亚当》。旧版是机械臂加球,与米开朗基罗的神韵无关,已弃。
|
|
63
|
+
- 路线:`scenes/41_michelangelo.js`。灰度形体图(椭圆光暗叠出肩胛、脊沟、背阔肌;光从左上)→ 按明暗+梯度生成确定性排线(斜 50°为主,暗处交叉)→ 整体剪影边界像素做背光侧加粗、间断的粉笔颗粒轮廓 → 缓存;运行时按 y 从上到下揭示,粉笔跟着扫。右侧是同一人翻转缩小的旧习作;纸有撕边、霉斑、纤维、几行不成字的注记。
|
|
64
|
+
- 要点:部件之间的接缝不能画轮廓(用整体剪影,否则露出「玩偶拼装」);下端渐隐代表「未完成」。
|
|
65
|
+
- 仍可改进:头部过圆、上臂偏短、没有真正的躯干扭转;亮处完全留纸的对比可以再强。
|