#230 by GitHub stars

alchaincyf/huashu-art-motion

艺术与视频动画:拆解复刻动画;36种既有实做风格+16种可迁移研究配方;9种解说动画语法,8种可按口播参数渲片段;含口播整片参考代码及框景检查;人用AI生帧;可选已有录音、系统声音与语音复刻,按需配置。

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

8a0d7d72ca65 → 8a0d7d72ca65

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 8a0d7d72ca65

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 8a0d7d72ca65fcce6f8ba82c4a6c8dfe35b8422c

6.4kGitHub stars
535stars in 7 days
1skill in this repository
20commits in 30 days

Heat

8.3
  • Star growth, last 7 daysAhead of 98% of tracked repositories
  • Star growth, last 24 hoursAhead of 98% of tracked repositories
  • Rank movement, last 7 daysAhead of 93% of tracked repositories
  • Commits, last 30 daysAhead of 83% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 4, 2026Nov 6, 20266,360

Individual skills in this repository

How it works

huashu-art-motion

When your agent uses it

艺术与视频动画:拆解复刻动画;36种既有实做风格+16种可迁移研究配方;9种解说动画语法,8种可按口播参数渲片段;含口播整片参考代码及框景检查;人用AI生帧;可选已有录音、系统声音与语音复刻,按需配置。

What it loads into context

Frontmatter

149 tokens

Always available to the agent

SKILL.md

7,293 tokens

When the skill is activated

Reference documents

221,663 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 先分档:你按哪一档读
  2. 你是谁
  3. 导演的要求:镜头怎么用
  4. 导演的要求:画风怎么选
  5. 最常见的六种做坏方式(开工前、交付前各对一遍)
  6. 平面卡通风格入口
  7. 先判断任务
  8. 可选口播:按需配置
  9. 可选图片:当前工具与现有素材
  10. 窄桥:照字面做
  11. 开阔地:当起点,不当配额
  12. 工程
  13. 验收
  14. 回流
  15. 关于作者
  16. 版本检查

Scripts executed separately

  • scripts/analyze/breakdown.py
  • scripts/analyze/fetch_reference.py
  • scripts/analyze/regress_clips.py
  • scripts/analyze/side_by_side.py
  • scripts/analyze/stress_clip.py
  • scripts/audio/synth_艺术史速通.py
  • scripts/capabilities.py
  • scripts/check_release.py
  • scripts/clip_lint.py
  • scripts/deliver.py
  • scripts/engine/audit_clip.py
  • scripts/engine/clip.js
  • scripts/engine/clips/t1_3b1b.js
  • scripts/engine/clips/t2_keynote_ui.js
  • scripts/engine/clips/t3_finance_chart.js
  • scripts/engine/clips/y1_kurzgesagt.js
  • scripts/engine/clips/y2_vox.js
  • scripts/engine/clips/y3_whiteboard.js
  • scripts/engine/clips/y4_storytime.js
  • scripts/engine/clips/y5_kinetic_type.js
  • scripts/engine/compare.py
  • scripts/engine/demos/_shared/hero.js
  • scripts/engine/demos/long_scroll/eras.js
  • scripts/engine/demos/long_scroll/lib/acts.js
  • scripts/engine/demos/long_scroll/lib/crossing.js
  • scripts/engine/demos/long_scroll/lib/world.js
  • scripts/engine/demos/long_scroll/lib/xing2_ding.js
  • scripts/engine/demos/long_scroll/lib/xing2_jia.js
  • scripts/engine/demos/long_scroll/lib/xing2_yi.js
  • scripts/engine/demos/long_scroll/segments/02_egypt.js
  • scripts/engine/demos/long_scroll/segments/14_8bit.js
  • scripts/engine/demos/long_scroll/segments/28_monet.js
  • scripts/engine/demos/t1_3b1b/eras.js
  • scripts/engine/demos/t1_3b1b/t1_s1.js
  • scripts/engine/demos/t1_3b1b/t1_s2.js
  • scripts/engine/demos/t1_3b1b/t1_s3.js
  • scripts/engine/demos/t2_keynote_ui/eras.js
  • scripts/engine/demos/t2_keynote_ui/t2_s1.js
  • scripts/engine/demos/t2_keynote_ui/t2_s2.js
  • scripts/engine/demos/t2_keynote_ui/t2_s3.js
  • scripts/engine/demos/t3_finance_chart/eras.js
  • scripts/engine/demos/t3_finance_chart/t3_s1.js
  • scripts/engine/demos/t3_finance_chart/t3_s2.js
  • scripts/engine/demos/t3_finance_chart/t3_s3.js
  • scripts/engine/demos/y1_kurzgesagt/eras.js
  • scripts/engine/demos/y1_kurzgesagt/kurzgesagt.js
  • scripts/engine/demos/y2_vox/eras.js
  • scripts/engine/demos/y2_vox/vox.js
  • scripts/engine/demos/y3_whiteboard/eras.js
  • scripts/engine/demos/y3_whiteboard/whiteboard.js
  • scripts/engine/demos/y4_storytime/eras.js
  • scripts/engine/demos/y4_storytime/s1_desk.js
  • scripts/engine/demos/y4_storytime/s2_screen.js
  • scripts/engine/demos/y4_storytime/s3_react.js
  • scripts/engine/demos/y4_storytime/s4_wide.js
  • scripts/engine/demos/y4_storytime/s5_close.js
  • scripts/engine/demos/y4_storytime/story.js
  • scripts/engine/demos/y4_storytime/vo_env.js
  • scripts/engine/demos/y4_storytime/world.js
  • scripts/engine/demos/y5_kinetic_type/eras.js
  • scripts/engine/demos/y5_kinetic_type/k1_title.js
  • scripts/engine/demos/y5_kinetic_type/k2_complete.js
  • scripts/engine/demos/y5_kinetic_type/k3_chat.js
  • scripts/engine/demos/y5_kinetic_type/k4_agent.js
  • scripts/engine/demos/y5_kinetic_type/kinetic.js
  • scripts/engine/engine.js
  • scripts/engine/eras.js
  • scripts/engine/eras_gallery.js
  • scripts/engine/eras_style_studies.js
  • scripts/engine/lib/brush.js
  • scripts/engine/lib/camera.js
  • scripts/engine/lib/chart.js
  • scripts/engine/lib/collage.js
  • scripts/engine/lib/diagram.js
  • scripts/engine/lib/finish.js
  • scripts/engine/lib/fonts.js
  • scripts/engine/lib/kit.js
  • scripts/engine/lib/media.js
  • scripts/engine/lib/medium.js
  • scripts/engine/lib/motion.js
  • scripts/engine/lib/paint.js
  • scripts/engine/lib/palettes.js
  • scripts/engine/lib/post.js
  • scripts/engine/lib/render.js
  • scripts/engine/lib/rig.js
  • scripts/engine/lib/rig_huashu.js
  • scripts/engine/lib/three.min.js
  • scripts/engine/lib/toon.js
  • scripts/engine/lib/typo.js
  • scripts/engine/lib/ui.js
  • scripts/engine/lib/util.js
  • scripts/engine/reference_films/rick_morty/render.py
  • scripts/engine/reference_films/rick_morty/room.js
  • scripts/engine/reference_films/rick_morty/svg-kit.js
  • scripts/engine/reference_films/spacex/eras_lin.js
  • scripts/engine/reference_films/spacex/eras_spacex.js
  • scripts/engine/reference_films/spacex/eras_vox.js
  • scripts/engine/reference_films/spacex/eras_wbx.js
  • scripts/engine/reference_films/spacex/spacex/rockets.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s01.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s02.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s03.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s04.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s05.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s06.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s07.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s08.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s09.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s10.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s11.js
  • scripts/engine/reference_films/spacex/spacex/scenes/s12.js
  • scripts/engine/reference_films/spacex/spacex/timing.js
  • scripts/engine/reference_films/spacex/spacex/tm.js
  • scripts/engine/reference_films/spacex/spacex_lin/common.js
  • scripts/engine/reference_films/spacex/spacex_lin/presenter_meta.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s01.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s02.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s03.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s04.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s05.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s06.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s07.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s08.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s09.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s10.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s11.js
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s12.js
  • scripts/engine/reference_films/spacex/spacex_lin/tools/prep_presenter.py
  • scripts/engine/reference_films/spacex/spacex_vox/common.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s01.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s02.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s03.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s04.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s05.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s06.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s07.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s08.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s09.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s10.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s11.js
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s12.js
  • scripts/engine/reference_films/spacex/spacex_wb/assets/make_hand.py
  • scripts/engine/reference_films/spacex/spacex_wb/assets/strokes.js
  • scripts/engine/reference_films/spacex/spacex_wb/common.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s01.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s02.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s03.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s04.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s05.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s06.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s07.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s08.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s09.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s10.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s11.js
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s12.js
  • scripts/engine/reference_films/spacex/transitions/cardFlip.js
  • scripts/engine/reference_films/spacex/transitions/deskPullOut.js
  • scripts/engine/reference_films/spacex/transitions/kzBloom.js
  • scripts/engine/reference_films/spacex/transitions/lin_page.js
  • scripts/engine/reference_films/spacex/transitions/paperSlide.js
  • scripts/engine/reference_films/spacex/transitions/vox_pull.js
  • scripts/engine/reference_films/spacex/transitions/vox_slap.js
  • scripts/engine/render.py
  • scripts/engine/scenes/01_cave.js
  • scripts/engine/scenes/02_egypt.js
  • scripts/engine/scenes/03_greek.js
  • scripts/engine/scenes/04_roman.js
  • scripts/engine/scenes/05_gothic.js
  • scripts/engine/scenes/06_renaissance.js
  • scripts/engine/scenes/08_impressionism.js
  • scripts/engine/scenes/09_postimp.js
  • scripts/engine/scenes/10_nouveau.js
  • scripts/engine/scenes/11_cubism.js
  • scripts/engine/scenes/12_bauhaus.js
  • scripts/engine/scenes/13_pop.js
  • scripts/engine/scenes/14_8bit.js
  • scripts/engine/scenes/15_raytrace.js
  • scripts/engine/scenes/16_2026.js
  • scripts/engine/scenes/17_ink.js
  • scripts/engine/scenes/18_klimt.js
  • scripts/engine/scenes/19_munch.js
  • scripts/engine/scenes/20_dunhuang.js
  • scripts/engine/scenes/21_kusama.js
  • scripts/engine/scenes/22_constructivism.js
  • scripts/engine/scenes/23_dali.js
  • scripts/engine/scenes/24_hopper.js
  • scripts/engine/scenes/25_ghibli.js
  • scripts/engine/scenes/26_vaporwave.js
  • scripts/engine/scenes/27_kirby.js
  • scripts/engine/scenes/28_monet.js
  • scripts/engine/scenes/29_seurat.js
  • scripts/engine/scenes/30_matisse.js
  • scripts/engine/scenes/31_haring.js
  • scripts/engine/scenes/32_rembrandt.js
  • scripts/engine/scenes/33_rubberhose.js
  • scripts/engine/scenes/34_shadowpuppet.js
  • scripts/engine/scenes/35_shinkai.js
  • scripts/engine/scenes/36_picasso_blue.js
  • scripts/engine/scenes/38_giotto.js
  • scripts/engine/scenes/39_piero.js
  • scripts/engine/scenes/40_raphael.js
  • scripts/engine/scenes/41_michelangelo.js
  • scripts/engine/scenes/42_guardi.js
  • scripts/engine/scenes/43_lorenzetti.js
  • scripts/engine/scenes/44_cortona.js
  • scripts/engine/scenes/45_renoir.js
  • scripts/engine/scenes/46_pissarro.js
  • scripts/engine/scenes/47_sisley.js
  • scripts/engine/scenes/48_gauguin.js
  • scripts/engine/scenes/49_chagall.js
  • scripts/engine/scenes/50_ma_yuan.js
  • scripts/engine/scenes/51_persian_miniature.js
  • scripts/engine/scenes/52_south_park.js
  • scripts/engine/scenes/53_pixar.js
  • scripts/engine/scenes/54_ghibli_lab.js
  • scripts/engine/scenes/55_dunhuang.js
  • scripts/engine/scenes/index.js
  • scripts/engine/spec_assets.py
  • scripts/engine/transitions.js
  • scripts/film_gate.py
  • scripts/font_subset.py
  • scripts/images.py
  • scripts/key_green.py
  • scripts/key_split.py
  • scripts/koubo.py
  • scripts/qa.py
  • scripts/storyboard_lint.py
  • scripts/subzone_gate.py
  • scripts/voice_review.py
  • tests/test_capabilities.py
  • tests/test_clip_theme.py
  • tests/test_clip_world.py
  • tests/test_film_gate.py
  • tests/test_film_gate_blank.py
  • tests/test_film_gate_color.py
  • tests/test_images.py
  • tests/test_local_server.py
  • tests/test_release.py
  • tests/test_storyboard_lint.py
  • tests/test_voice_review.py

Files

  • .github/workflows/tests.ymlasset1,414 bytes
  • .gitignoreasset388 bytes
  • CHANGELOG.mddoc15,673 bytes
  • CONTRIBUTING.mddoc2,209 bytes
  • LICENSEasset1,086 bytes
  • README.en.mddoc19,397 bytes
  • README.mddoc19,153 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • SKILL.mdcore24,220 bytes
  • assets/showcase/clawd-clips.mddoc1,703 bytes
  • assets/showcase/clawd-dawn.gifasset3,410,125 bytes
  • assets/showcase/clawd-trex.gifasset7,498,304 bytes
  • assets/showcase/clawd-vangogh.gifasset7,699,296 bytes
  • assets/showcase/egypt.gifasset4,965,668 bytes
  • assets/showcase/hero.pngasset1,668,625 bytes
  • assets/showcase/mario-claude.gifasset2,110,438 bytes
  • assets/showcase/mario-clips.mddoc1,112 bytes
  • assets/showcase/mario-combo.gifasset3,094,450 bytes
  • assets/showcase/mario-pipe.gifasset4,054,279 bytes
  • assets/showcase/monet.gifasset5,351,144 bytes
  • assets/showcase/pixel.gifasset2,652,588 bytes
  • assets/全风格总览.jpgasset1,615,447 bytes
  • assets/动画语法/t1_3b1b_总览.jpgasset229,006 bytes
  • assets/动画语法/t2_keynote_ui_总览.jpgasset202,632 bytes
  • assets/动画语法/t3_finance_chart_总览.jpgasset185,012 bytes
  • assets/动画语法/y1_kurzgesagt_总览.jpgasset176,587 bytes
  • assets/动画语法/y2_vox_总览.jpgasset318,800 bytes
  • assets/动画语法/y3_whiteboard_总览.jpgasset143,612 bytes
  • assets/动画语法/y4_storytime_总览.jpgasset152,838 bytes
  • assets/动画语法/y5_kinetic_type_总览.jpgasset135,213 bytes
  • assets/新风格v2_证据/38_giotto.jpgasset399,772 bytes
  • assets/新风格v2_证据/40_raphael.jpgasset511,721 bytes
  • assets/新风格v2_证据/41_michelangelo.jpgasset306,909 bytes
  • assets/新风格v2_证据/43_lorenzetti.jpgasset458,294 bytes
  • assets/新风格v2_证据/44_cortona.jpgasset323,199 bytes
  • assets/新风格v2_证据/46_pissarro.jpgasset501,444 bytes
  • assets/新风格v2_证据/47_sisley.jpgasset363,684 bytes
  • assets/新风格v2_证据/48_gauguin.jpgasset455,536 bytes
  • assets/新风格v2_证据/50_ma_yuan.jpgasset369,048 bytes
  • assets/新风格v2_证据/51_persian_miniature.jpgasset391,204 bytes
  • assets/新风格v2_证据/总览.jpgasset587,345 bytes
  • assets/角色/花叔形象_对比.jpgasset298,446 bytes
  • assets/长卷穿越_总览.jpgasset483,780 bytes
  • defaults/media.jsonasset916 bytes
  • references/01-拆解.mddoc4,692 bytes
  • references/02-机制.mddoc5,087 bytes
  • references/03-一帧先行四条路线.mddoc4,671 bytes
  • references/04-纯代码绘制.mddoc11,302 bytes
  • references/05-节奏与配乐.mddoc1,495 bytes
  • references/06-口播驱动的艺术短片.mddoc2,786 bytes
  • references/07-正面经验.mddoc21,682 bytes
  • references/08-风格作者规范.mddoc5,711 bytes
  • references/09-视频动画语法.mddoc54,763 bytes
  • references/10-角色.mddoc3,819 bytes
  • references/11-长卷穿越片.mddoc4,250 bytes
  • references/12-口播整片与经验回流.mddoc2,224 bytes
  • references/13-口播与语音复刻.mddoc587 bytes
  • references/15-跨场景风格提炼.mddoc4,996 bytes
  • references/16-风格演示95分协议.mddoc8,981 bytes
  • references/about-author.mddoc9,941 bytes
  • references/capabilities.mddoc7,346 bytes
  • references/compatibility.mddoc3,011 bytes
  • references/images.mddoc5,788 bytes
  • references/voice-model-review.mddoc2,084 bytes
  • references/动画语法/t1_3b1b.mddoc14,138 bytes
  • references/动画语法/t2_keynote_ui.mddoc14,824 bytes
  • references/动画语法/t3_finance_chart.mddoc13,534 bytes
  • references/动画语法/y1_kurzgesagt.mddoc17,571 bytes
  • references/动画语法/y2_vox.mddoc16,708 bytes
  • references/动画语法/y3_whiteboard.mddoc15,286 bytes
  • references/动画语法/y4_storytime.mddoc18,371 bytes
  • references/动画语法/y5_kinetic_type.mddoc17,165 bytes
  • references/动画语法/y6_presenter_explainer.mddoc1,899 bytes
  • references/口播API.mddoc5,603 bytes
  • references/色板.mddoc3,422 bytes
  • references/角色精细度.mddoc5,338 bytes
  • references/镜头表模板.mddoc9,530 bytes
  • references/镜头语言.mddoc10,583 bytes
  • references/风格配方/01_cave.mddoc7,125 bytes
  • references/风格配方/02_egypt.mddoc8,952 bytes
  • references/风格配方/03_greek.mddoc8,933 bytes
  • references/风格配方/04_roman.mddoc12,334 bytes
  • references/风格配方/05_gothic.mddoc4,211 bytes
  • references/风格配方/06_renaissance.mddoc4,144 bytes
  • references/风格配方/08_impressionism.mddoc4,210 bytes
  • references/风格配方/09_postimp.mddoc1,507 bytes
  • references/风格配方/10_nouveau.mddoc5,103 bytes
  • references/风格配方/11_cubism.mddoc5,405 bytes
  • references/风格配方/12_bauhaus.mddoc4,435 bytes
  • references/风格配方/13_pop.mddoc4,293 bytes
  • references/风格配方/14_8bit.mddoc2,831 bytes
  • references/风格配方/15_raytrace.mddoc3,206 bytes
  • references/风格配方/16_2026.mddoc5,808 bytes
  • references/风格配方/17_ink.mddoc4,442 bytes
  • references/风格配方/18_klimt.mddoc2,845 bytes
  • references/风格配方/19_munch.mddoc2,838 bytes
  • references/风格配方/20_dunhuang.mddoc3,072 bytes
  • references/风格配方/21_kusama.mddoc2,268 bytes
  • references/风格配方/22_constructivism.mddoc3,959 bytes
  • references/风格配方/23_dali.mddoc3,479 bytes
  • references/风格配方/24_hopper.mddoc2,865 bytes
  • references/风格配方/25_ghibli.mddoc6,769 bytes
  • references/风格配方/26_vaporwave.mddoc3,140 bytes
  • references/风格配方/27_kirby.mddoc3,396 bytes
  • references/风格配方/28_monet.mddoc2,837 bytes
  • references/风格配方/29_seurat.mddoc2,963 bytes
  • references/风格配方/30_matisse.mddoc2,509 bytes
  • references/风格配方/31_haring.mddoc1,994 bytes
  • references/风格配方/32_rembrandt.mddoc2,900 bytes
  • references/风格配方/33_rubberhose.mddoc2,483 bytes
  • references/风格配方/34_shadowpuppet.mddoc3,133 bytes
  • references/风格配方/35_shinkai.mddoc3,345 bytes
  • references/风格配方/36_picasso_blue.mddoc2,739 bytes
  • references/风格配方/37_rick_morty.mddoc4,654 bytes
  • references/风格配方/38_giotto.mddoc5,255 bytes
  • references/风格配方/39_piero.mddoc3,982 bytes
  • references/风格配方/40_raphael.mddoc4,671 bytes
  • references/风格配方/41_michelangelo.mddoc4,938 bytes
  • references/风格配方/42_guardi.mddoc4,418 bytes
  • references/风格配方/43_lorenzetti.mddoc5,101 bytes
  • references/风格配方/44_cortona.mddoc4,892 bytes
  • references/风格配方/45_renoir.mddoc4,894 bytes
  • references/风格配方/46_pissarro.mddoc4,609 bytes
  • references/风格配方/47_sisley.mddoc4,586 bytes
  • references/风格配方/48_gauguin.mddoc4,445 bytes
  • references/风格配方/49_chagall.mddoc3,909 bytes
  • references/风格配方/50_ma_yuan.mddoc5,092 bytes
  • references/风格配方/51_persian_miniature.mddoc4,818 bytes
  • references/风格配方/52_south_park.mddoc4,708 bytes
  • references/风格配方/53_pixar.mddoc4,545 bytes
  • references/风格配方/55_dunhuang.mddoc3,489 bytes
  • references/风格配方/INDEX.mddoc13,399 bytes
  • references/风格配方/_转场_迁移测试.mddoc7,063 bytes
  • references/风格配方/_重做进度.mddoc4,832 bytes
  • references/风格配方/_音轨_艺术史速通.mddoc11,844 bytes
  • release-manifest.jsonasset59,909 bytes
  • schemas/media.schema.jsonasset4,916 bytes
  • scripts/analyze/breakdown.pyruns6,457 bytes
  • scripts/analyze/fetch_reference.pyruns4,911 bytes
  • scripts/analyze/regress_clips.pyruns4,152 bytes
  • scripts/analyze/side_by_side.pyruns2,261 bytes
  • scripts/analyze/stress_clip.pyruns4,783 bytes
  • scripts/audio/synth_艺术史速通.pyruns31,431 bytes
  • scripts/capabilities.pyruns22,788 bytes
  • scripts/check_release.pyruns6,159 bytes
  • scripts/clip_lint.pyruns5,872 bytes
  • scripts/deliver.pyruns12,431 bytes
  • scripts/engine/audit_clip.pyruns3,871 bytes
  • scripts/engine/clip.htmlasset1,299 bytes
  • scripts/engine/clip.jsruns10,907 bytes
  • scripts/engine/clip_schema.jsonasset2,869 bytes
  • scripts/engine/clips/t1_3b1b.jsruns18,940 bytes
  • scripts/engine/clips/t2_keynote_ui.jsruns36,870 bytes
  • scripts/engine/clips/t3_finance_chart.jsruns21,116 bytes
  • scripts/engine/clips/y1_kurzgesagt.jsruns20,497 bytes
  • scripts/engine/clips/y2_vox.jsruns14,618 bytes
  • scripts/engine/clips/y3_whiteboard.jsruns21,759 bytes
  • scripts/engine/clips/y4_storytime.jsruns22,039 bytes
  • scripts/engine/clips/y5_kinetic_type.jsruns13,321 bytes
  • scripts/engine/compare.pyruns1,304 bytes
  • scripts/engine/demos/_shared/hero.jsruns8,115 bytes
  • scripts/engine/demos/_shared/hero/c1_0.pngasset264,291 bytes
  • scripts/engine/demos/_shared/hero/c1_1.pngasset263,450 bytes
  • scripts/engine/demos/_shared/hero/c1_2.pngasset285,087 bytes
  • scripts/engine/demos/_shared/hero/c3_line.pngasset1,022,467 bytes
  • scripts/engine/demos/long_scroll/eras.jsruns2,375 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/01.pngasset24,169 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/02.pngasset23,024 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/03.pngasset27,450 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/04.pngasset28,052 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/05.pngasset29,165 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/06.pngasset23,646 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/07.pngasset24,834 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/08.pngasset29,374 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_act/meta.jsonasset839 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/01.pngasset28,692 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/02.pngasset27,408 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/03.pngasset27,940 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/04.pngasset27,401 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/05.pngasset28,635 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/06.pngasset27,057 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/07.pngasset28,038 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/08.pngasset27,144 bytes
  • scripts/engine/demos/long_scroll/frames/8bit_walk/meta.jsonasset835 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/01.pngasset30,890 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/02.pngasset35,408 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/03.pngasset33,549 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/04.pngasset36,543 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/05.pngasset36,224 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/06.pngasset33,737 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/07.pngasset30,857 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/08.pngasset32,654 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_dodge/meta.jsonasset837 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/01.pngasset35,765 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/02.pngasset33,656 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/03.pngasset33,987 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/04.pngasset36,599 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/05.pngasset35,190 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/06.pngasset32,390 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/07.pngasset34,317 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/08.pngasset35,166 bytes
  • scripts/engine/demos/long_scroll/frames/egypt_walk8/meta.jsonasset835 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/01.pngasset56,420 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/02.pngasset61,815 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/03.pngasset57,115 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/04.pngasset58,886 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/05.pngasset58,946 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/06.pngasset58,014 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/07.pngasset57,998 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/08.pngasset58,969 bytes
  • scripts/engine/demos/long_scroll/frames/monet_throw/meta.jsonasset873 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/01.pngasset53,133 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/02.pngasset51,650 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/03.pngasset51,494 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/04.pngasset49,533 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/05.pngasset53,114 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/06.pngasset52,009 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/07.pngasset51,289 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/08.pngasset49,630 bytes
  • scripts/engine/demos/long_scroll/frames/monet_walk/meta.jsonasset873 bytes
  • scripts/engine/demos/long_scroll/lib/acts.jsruns7,665 bytes
  • scripts/engine/demos/long_scroll/lib/crossing.jsruns46,063 bytes
  • scripts/engine/demos/long_scroll/lib/world.jsruns11,814 bytes
  • scripts/engine/demos/long_scroll/lib/xing2_ding.jsruns3,423 bytes
  • scripts/engine/demos/long_scroll/lib/xing2_jia.jsruns10,243 bytes
  • scripts/engine/demos/long_scroll/lib/xing2_yi.jsruns12,966 bytes
  • scripts/engine/demos/long_scroll/segments/02_egypt.jsruns26,396 bytes
  • scripts/engine/demos/long_scroll/segments/14_8bit.jsruns13,608 bytes
  • scripts/engine/demos/long_scroll/segments/28_monet.jsruns9,223 bytes
  • scripts/engine/demos/t1_3b1b/eras.jsruns864 bytes
  • scripts/engine/demos/t1_3b1b/t1_s1.jsruns6,281 bytes
  • scripts/engine/demos/t1_3b1b/t1_s2.jsruns5,606 bytes
  • scripts/engine/demos/t1_3b1b/t1_s3.jsruns5,186 bytes
  • scripts/engine/demos/t2_keynote_ui/eras.jsruns772 bytes
  • scripts/engine/demos/t2_keynote_ui/t2_s1.jsruns3,846 bytes
  • scripts/engine/demos/t2_keynote_ui/t2_s2.jsruns4,962 bytes
  • scripts/engine/demos/t2_keynote_ui/t2_s3.jsruns4,939 bytes
  • scripts/engine/demos/t3_finance_chart/eras.jsruns907 bytes
  • scripts/engine/demos/t3_finance_chart/t3_s1.jsruns4,313 bytes
  • scripts/engine/demos/t3_finance_chart/t3_s2.jsruns3,433 bytes
  • scripts/engine/demos/t3_finance_chart/t3_s3.jsruns4,151 bytes
  • scripts/engine/demos/y1_kurzgesagt/eras.jsruns1,049 bytes
  • scripts/engine/demos/y1_kurzgesagt/kurzgesagt.jsruns30,396 bytes
  • scripts/engine/demos/y2_vox/eras.jsruns909 bytes
  • scripts/engine/demos/y2_vox/vox.jsruns20,625 bytes
  • scripts/engine/demos/y3_whiteboard/eras.jsruns936 bytes
  • scripts/engine/demos/y3_whiteboard/whiteboard.jsruns12,143 bytes
  • scripts/engine/demos/y4_storytime/eras.jsruns1,356 bytes
  • scripts/engine/demos/y4_storytime/s1_desk.jsruns1,179 bytes
  • scripts/engine/demos/y4_storytime/s2_screen.jsruns7,495 bytes
  • scripts/engine/demos/y4_storytime/s3_react.jsruns2,681 bytes
  • scripts/engine/demos/y4_storytime/s4_wide.jsruns974 bytes
  • scripts/engine/demos/y4_storytime/s5_close.jsruns1,187 bytes
  • scripts/engine/demos/y4_storytime/story.jsruns1,796 bytes
  • scripts/engine/demos/y4_storytime/vo_env.jsruns3,238 bytes
  • scripts/engine/demos/y4_storytime/world.jsruns6,164 bytes
  • scripts/engine/demos/y5_kinetic_type/eras.jsruns1,306 bytes
  • scripts/engine/demos/y5_kinetic_type/k1_title.jsruns2,542 bytes
  • scripts/engine/demos/y5_kinetic_type/k2_complete.jsruns3,989 bytes
  • scripts/engine/demos/y5_kinetic_type/k3_chat.jsruns3,492 bytes
  • scripts/engine/demos/y5_kinetic_type/k4_agent.jsruns3,659 bytes
  • scripts/engine/demos/y5_kinetic_type/kinetic.jsruns3,716 bytes
  • scripts/engine/engine.jsruns17,491 bytes
  • scripts/engine/eras.jsruns6,119 bytes
  • scripts/engine/eras_gallery.jsruns14,906 bytes
  • scripts/engine/eras_style_studies.jsruns4,147 bytes
  • scripts/engine/examples/assets/K线图_横屏.pngasset136,588 bytes
  • scripts/engine/examples/assets/终端_for循环求和.pngasset45,181 bytes
  • scripts/engine/examples/assets/终端_sum求和.pngasset42,757 bytes
  • scripts/engine/examples/assets/营收图_竖屏.pngasset94,276 bytes
  • scripts/engine/examples/assets/财经图表_横屏.pngasset104,272 bytes
  • scripts/engine/examples/t1_3b1b.jsonasset1,156 bytes
  • scripts/engine/examples/t2_fullbleed_pulse.jsonasset733 bytes
  • scripts/engine/examples/t2_keynote_ui.jsonasset752 bytes
  • scripts/engine/examples/t3_finance_chart.jsonasset945 bytes
  • scripts/engine/examples/y1_kurzgesagt.jsonasset498 bytes
  • scripts/engine/examples/y2_vox.jsonasset508 bytes
  • scripts/engine/examples/y3_whiteboard.jsonasset688 bytes
  • scripts/engine/examples/y4_storytime.jsonasset1,079 bytes
  • scripts/engine/examples/y5_kinetic_type.jsonasset598 bytes
  • scripts/engine/index.htmlasset2,039 bytes
  • scripts/engine/lib/THREE_LICENSE.txtdoc1,081 bytes
  • scripts/engine/lib/brush.jsruns11,947 bytes
  • scripts/engine/lib/camera.jsruns9,762 bytes
  • scripts/engine/lib/chart.jsruns10,870 bytes
  • scripts/engine/lib/collage.jsruns8,972 bytes
  • scripts/engine/lib/diagram.jsruns20,080 bytes
  • scripts/engine/lib/finish.jsruns5,150 bytes
  • scripts/engine/lib/fonts.jsruns4,442 bytes
  • scripts/engine/lib/fonts/AlfaSlabOne-400.woffasset41,728 bytes
  • scripts/engine/lib/fonts/Anton-400.woffasset61,460 bytes
  • scripts/engine/lib/fonts/ArchivoBlack-400.woffasset38,316 bytes
  • scripts/engine/lib/fonts/Bangers-400.woffasset43,808 bytes
  • scripts/engine/lib/fonts/Caveat-600.woffasset132,264 bytes
  • scripts/engine/lib/fonts/Cinzel-400.woffasset22,812 bytes
  • scripts/engine/lib/fonts/Cinzel-700.woffasset24,288 bytes
  • scripts/engine/lib/fonts/CormorantGaramond-500.woffasset90,464 bytes
  • scripts/engine/lib/fonts/CormorantGaramond-500i.woffasset93,400 bytes
  • scripts/engine/lib/fonts/CormorantGaramond-700.woffasset87,248 bytes
  • scripts/engine/lib/fonts/EBGaramond-400.woffasset162,740 bytes
  • scripts/engine/lib/fonts/EBGaramond-400i.woffasset151,904 bytes
  • scripts/engine/lib/fonts/EBGaramond-600.woffasset179,028 bytes
  • scripts/engine/lib/fonts/Exo2-800i.woffasset60,124 bytes
  • scripts/engine/lib/fonts/GochiHand-400.woffasset23,640 bytes
  • scripts/engine/lib/fonts/IMFellEnglish-400.woffasset108,052 bytes
  • scripts/engine/lib/fonts/IMFellEnglish-400i.woffasset111,628 bytes
  • scripts/engine/lib/fonts/Inter-var.woffasset126,688 bytes
  • scripts/engine/lib/fonts/JosefinSans-700.woffasset26,564 bytes
  • scripts/engine/lib/fonts/Kalam-700.woffasset186,044 bytes
  • scripts/engine/lib/fonts/LICENSES.mddoc4,498 bytes
  • scripts/engine/lib/fonts/LXGWWenKai-500.woffasset2,098,296 bytes
  • scripts/engine/lib/fonts/LibreBaskerville-400.woffasset46,628 bytes
  • scripts/engine/lib/fonts/LibreBaskerville-700.woffasset47,524 bytes
  • scripts/engine/lib/fonts/LilitaOne-400.woffasset14,372 bytes
  • scripts/engine/lib/fonts/Marcellus-400.woffasset22,320 bytes
  • scripts/engine/lib/fonts/NotoSansSC-500.woffasset1,416,188 bytes
  • scripts/engine/lib/fonts/NotoSansSC-700.woffasset1,425,340 bytes
  • scripts/engine/lib/fonts/NotoSansSC-800.woffasset1,426,988 bytes
  • scripts/engine/lib/fonts/NotoSansSC-900.woffasset1,394,104 bytes
  • scripts/engine/lib/fonts/NotoSansSC-sub.woffasset331,188 bytes
  • scripts/engine/lib/fonts/NotoSerifJP-600.woffasset4,415,000 bytes
  • scripts/engine/lib/fonts/NotoSerifSC-sub.woffasset435,560 bytes
  • scripts/engine/lib/fonts/OFL.txtdoc4,430 bytes
  • scripts/engine/lib/fonts/PlayfairDisplay-400i.woffasset50,928 bytes
  • scripts/engine/lib/fonts/PlayfairDisplay-700.woffasset55,652 bytes
  • scripts/engine/lib/fonts/PlayfairDisplay-700i.woffasset53,612 bytes
  • scripts/engine/lib/fonts/Poppins-600.woffasset66,232 bytes
  • scripts/engine/lib/fonts/Poppins-700.woffasset65,616 bytes
  • scripts/engine/lib/fonts/Poppins-800.woffasset65,344 bytes
  • scripts/engine/lib/fonts/PressStart2P-400.woffasset36,184 bytes
  • scripts/engine/lib/fonts/Righteous-400.woffasset21,028 bytes
  • scripts/engine/lib/fonts/RobotoCondensed-var.woffasset94,036 bytes
  • scripts/engine/lib/fonts/Rye-400.woffasset62,848 bytes
  • scripts/engine/lib/fonts/UnifrakturMaguntia-400.woffasset39,076 bytes
  • scripts/engine/lib/fonts/cmunrm.woffasset123,340 bytes
  • scripts/engine/lib/fonts/cmunti.woffasset158,668 bytes
  • scripts/engine/lib/fonts/index.jsonasset1,972 bytes
  • scripts/engine/lib/kit.jsruns6,639 bytes
  • scripts/engine/lib/media.jsruns9,419 bytes
  • scripts/engine/lib/medium.jsruns23,833 bytes
  • scripts/engine/lib/motion.jsruns9,402 bytes
  • scripts/engine/lib/paint.jsruns15,436 bytes
  • scripts/engine/lib/palettes.jsruns4,876 bytes
  • scripts/engine/lib/post.jsruns10,036 bytes
  • scripts/engine/lib/render.jsruns17,477 bytes
  • scripts/engine/lib/rig.jsruns34,246 bytes
  • scripts/engine/lib/rig_huashu.jsruns13,708 bytes
  • scripts/engine/lib/three.min.jsruns669,884 bytes
  • scripts/engine/lib/toon.jsruns16,043 bytes
  • scripts/engine/lib/typo.jsruns11,258 bytes
  • scripts/engine/lib/ui.jsruns10,548 bytes
  • scripts/engine/lib/util.jsruns7,402 bytes
  • scripts/engine/reference_films/rick_morty/index.htmlasset1,593 bytes
  • scripts/engine/reference_films/rick_morty/render.pyruns3,408 bytes
  • scripts/engine/reference_films/rick_morty/room.jsruns14,498 bytes
  • scripts/engine/reference_films/rick_morty/svg-kit.jsruns6,488 bytes
  • scripts/engine/reference_films/spacex/README.mddoc2,422 bytes
  • scripts/engine/reference_films/spacex/eras_lin.jsruns787 bytes
  • scripts/engine/reference_films/spacex/eras_spacex.jsruns539 bytes
  • scripts/engine/reference_films/spacex/eras_vox.jsruns708 bytes
  • scripts/engine/reference_films/spacex/eras_wbx.jsruns952 bytes
  • scripts/engine/reference_films/spacex/spacex/rockets.jsruns11,307 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s01.jsruns13,607 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s02.jsruns7,510 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s03.jsruns19,757 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s04.jsruns20,912 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s05.jsruns18,291 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s06.jsruns17,280 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s07.jsruns30,204 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s08.jsruns12,727 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s09.jsruns19,544 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s10.jsruns21,966 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s11.jsruns27,766 bytes
  • scripts/engine/reference_films/spacex/spacex/scenes/s12.jsruns26,464 bytes
  • scripts/engine/reference_films/spacex/spacex/timing.jsruns15,196 bytes
  • scripts/engine/reference_films/spacex/spacex/tm.jsruns1,038 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/common.jsruns41,164 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/presenter_meta.jsruns6,341 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s01.jsruns15,145 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s02.jsruns6,637 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s03.jsruns12,056 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s04.jsruns8,281 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s05.jsruns12,074 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s06.jsruns6,997 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s07.jsruns9,524 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s08.jsruns13,954 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s09.jsruns9,393 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s10.jsruns11,043 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s11.jsruns24,016 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/scenes/s12.jsruns10,956 bytes
  • scripts/engine/reference_films/spacex/spacex_lin/tools/prep_presenter.pyruns3,147 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/common.jsruns37,950 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s01.jsruns10,514 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s02.jsruns6,000 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s03.jsruns8,153 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s04.jsruns9,816 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s05.jsruns11,097 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s06.jsruns7,485 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s07.jsruns8,324 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s08.jsruns10,058 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s09.jsruns6,252 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s10.jsruns12,772 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s11.jsruns12,871 bytes
  • scripts/engine/reference_films/spacex/spacex_vox/scenes/s12.jsruns10,265 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/ARPHICPL.TXTdoc6,900 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/hand_1.pngasset155,292 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/hand_2.pngasset157,688 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/hand_3.pngasset165,164 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/make_hand.pyruns1,628 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/assets/strokes.jsruns56,562 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/common.jsruns54,226 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s01.jsruns6,837 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s02.jsruns4,793 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s03.jsruns7,160 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s04.jsruns4,133 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s05.jsruns6,525 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s06.jsruns4,969 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s07.jsruns6,076 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s08.jsruns8,827 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s09.jsruns4,461 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s10.jsruns11,234 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s11.jsruns7,559 bytes
  • scripts/engine/reference_films/spacex/spacex_wb/scenes/s12.jsruns6,028 bytes
  • scripts/engine/reference_films/spacex/transitions/cardFlip.jsruns2,370 bytes
  • scripts/engine/reference_films/spacex/transitions/deskPullOut.jsruns535 bytes
  • scripts/engine/reference_films/spacex/transitions/kzBloom.jsruns1,812 bytes
  • scripts/engine/reference_films/spacex/transitions/lin_page.jsruns6,035 bytes
  • scripts/engine/reference_films/spacex/transitions/paperSlide.jsruns1,079 bytes
  • scripts/engine/reference_films/spacex/transitions/vox_pull.jsruns591 bytes
  • scripts/engine/reference_films/spacex/transitions/vox_slap.jsruns771 bytes
  • scripts/engine/render.pyruns10,543 bytes
  • scripts/engine/scenes/01_cave.jsruns31,417 bytes
  • scripts/engine/scenes/02_egypt.jsruns50,018 bytes
  • scripts/engine/scenes/03_greek.jsruns40,744 bytes
  • scripts/engine/scenes/04_roman.jsruns47,611 bytes
  • scripts/engine/scenes/05_gothic.jsruns40,426 bytes
  • scripts/engine/scenes/06_renaissance.jsruns31,437 bytes
  • scripts/engine/scenes/08_impressionism.jsruns20,908 bytes
  • scripts/engine/scenes/09_postimp.jsruns16,299 bytes
  • scripts/engine/scenes/10_nouveau.jsruns30,381 bytes
  • scripts/engine/scenes/11_cubism.jsruns27,428 bytes
  • scripts/engine/scenes/12_bauhaus.jsruns17,535 bytes
  • scripts/engine/scenes/13_pop.jsruns24,647 bytes
  • scripts/engine/scenes/14_8bit.jsruns17,139 bytes
  • scripts/engine/scenes/15_raytrace.jsruns25,794 bytes
  • scripts/engine/scenes/16_2026.jsruns50,054 bytes
  • scripts/engine/scenes/17_ink.jsruns22,782 bytes
  • scripts/engine/scenes/18_klimt.jsruns20,835 bytes
  • scripts/engine/scenes/19_munch.jsruns13,393 bytes
  • scripts/engine/scenes/20_dunhuang.jsruns21,588 bytes
  • scripts/engine/scenes/21_kusama.jsruns11,935 bytes
  • scripts/engine/scenes/22_constructivism.jsruns16,305 bytes
  • scripts/engine/scenes/23_dali.jsruns20,846 bytes
  • scripts/engine/scenes/24_hopper.jsruns13,619 bytes
  • scripts/engine/scenes/25_ghibli.jsruns22,700 bytes
  • scripts/engine/scenes/26_vaporwave.jsruns17,070 bytes
  • scripts/engine/scenes/27_kirby.jsruns21,894 bytes
  • scripts/engine/scenes/28_monet.jsruns17,322 bytes
  • scripts/engine/scenes/29_seurat.jsruns11,060 bytes
  • scripts/engine/scenes/30_matisse.jsruns13,787 bytes
  • scripts/engine/scenes/31_haring.jsruns10,315 bytes
  • scripts/engine/scenes/32_rembrandt.jsruns20,786 bytes
  • scripts/engine/scenes/33_rubberhose.jsruns18,226 bytes
  • scripts/engine/scenes/34_shadowpuppet.jsruns18,052 bytes
  • scripts/engine/scenes/35_shinkai.jsruns22,142 bytes
  • scripts/engine/scenes/36_picasso_blue.jsruns11,565 bytes
  • scripts/engine/scenes/38_giotto.jsruns14,558 bytes
  • scripts/engine/scenes/39_piero.jsruns6,042 bytes
  • scripts/engine/scenes/40_raphael.jsruns11,723 bytes
  • scripts/engine/scenes/41_michelangelo.jsruns13,168 bytes
  • scripts/engine/scenes/42_guardi.jsruns8,462 bytes
  • scripts/engine/scenes/43_lorenzetti.jsruns16,651 bytes
  • scripts/engine/scenes/44_cortona.jsruns11,362 bytes
  • scripts/engine/scenes/45_renoir.jsruns10,562 bytes
  • scripts/engine/scenes/46_pissarro.jsruns10,752 bytes
  • scripts/engine/scenes/47_sisley.jsruns11,580 bytes
  • scripts/engine/scenes/48_gauguin.jsruns13,350 bytes
  • scripts/engine/scenes/49_chagall.jsruns9,024 bytes
  • scripts/engine/scenes/50_ma_yuan.jsruns12,880 bytes
  • scripts/engine/scenes/51_persian_miniature.jsruns17,844 bytes
  • scripts/engine/scenes/52_south_park.jsruns10,629 bytes
  • scripts/engine/scenes/53_pixar.jsruns9,970 bytes
  • scripts/engine/scenes/54_ghibli_lab.jsruns12,034 bytes
  • scripts/engine/scenes/55_dunhuang.jsruns20,713 bytes
  • scripts/engine/scenes/index.jsruns2,439 bytes
  • scripts/engine/spec_assets.pyruns3,643 bytes
  • scripts/engine/transitions.jsruns69,549 bytes
  • scripts/engine/时代作者规范.mddoc4,719 bytes
  • scripts/film_gate.pyruns44,401 bytes
  • scripts/font_subset.pyruns7,542 bytes
  • scripts/images.pyruns15,603 bytes
  • scripts/key_green.pyruns1,930 bytes
  • scripts/key_split.pyruns1,632 bytes
  • scripts/koubo.pyruns18,331 bytes
  • scripts/qa.pyruns27,060 bytes
  • scripts/storyboard_lint.pyruns32,309 bytes
  • scripts/subzone_gate.pyruns1,811 bytes
  • scripts/voice_review.pyruns1,954 bytes
  • tests/fixtures/y4_storytime_test_frames.jsonasset985 bytes
  • tests/test_capabilities.pyruns12,435 bytes
  • tests/test_clip_theme.pyruns9,382 bytes
  • tests/test_clip_world.pyruns4,219 bytes
  • tests/test_film_gate.pyruns11,354 bytes
  • tests/test_film_gate_blank.pyruns5,326 bytes
  • tests/test_film_gate_color.pyruns3,039 bytes
  • tests/test_images.pyruns8,353 bytes
  • tests/test_local_server.pyruns4,198 bytes
  • tests/test_release.pyruns4,339 bytes
  • tests/test_storyboard_lint.pyruns18,881 bytes
  • tests/test_voice_review.pyruns1,464 bytes
Read SKILL.md

# 艺术动画

## 先分档:你按哪一档读

- **开阔档**:你是 Claude Opus 5.5 或更强的模型。全文都适用:路由表、窄桥、开阔地;库可以自己组合,渲染器可以自己写;交付同样走 `scripts/deliver.py`,红灯不交付。开工前也建议先写一张镜头表(`references/镜头表模板.md`),lint 可跑可不跑。
- **轨道档**:其它模型,或判断不出自己是谁。只走下面这一条路,先镜头表,再动手;只读这条路点名的文件,其余 reference 先不读:
  1. **写镜头表**:照 `references/镜头表模板.md` 写 `<项目>/镜头表.md`。表前先锁画风,三行:画风(一句话,全片只用这一种)、色板(`references/色板.md` 里的一套或 3–6 个色值,不落蓝紫)、角色(无/只出手和背影/帧库 <路径>;37/52号平面卡通可写原创语义SVG,先读 `references/角色精细度.md`)。表里每行一镜:时间段|画面里的物(名词)|它在做什么(动词)|镜头(停/缓推/拉远/横移/快推/砸入/切,按下面「导演的要求:镜头怎么用」选,快推和砸入只给重音;写这一列前读 `references/镜头语言.md` 第一到四节)|屏上字(≤8 字,可空)|做法。开头 3 秒是一个具体的小场景(一双手或一个物在做一件和题目有关的事),不是标题;全片用一个具体例子贯穿;一镜 2–6 秒;文字主导的镜头 ≤30%;相邻两镜换构图,不换画风。
  2. **过 lint**:`uv run <skill>/scripts/storyboard_lint.py <项目>/镜头表.md`(有口播稿加 `--script <项目>/文稿.txt`,查屏上数字和口播是不是同一个数)。有红灯就改镜头表、重跑,红灯没清不许开始写代码。
  3. **按镜头表逐镜做**:`cp -R <skill>/scripts/engine <项目>/代码工程`,每一镜出一个 `镜NN.mp4`,所有镜同宽高、同 fps(默认 1920×1080@30)。
     - 参数化片段:读 `references/09-视频动画语法.md` 第二节选型表和用到的 `references/动画语法/<语法>.md`「起手必查」,从 `examples/<语法>.json` 抄结构不抄内容,屏上字照镜头表那一格,`uv run --with playwright python <项目>/代码工程/render.py --spec 镜NN.json --out 镜NN.mp4`。**单个参数化片段最多撑 8 秒**,超了拆成几镜。
     - scenes:艺术风格画面(梵高、像素……)或片段语法画不出的物,读 `references/风格配方/INDEX.md` 和一张风格卡;研究卡或首次迁移先读 `references/15-跨场景风格提炼.md`,没有实现时先创作和验证,不能把卡名当已注册场景。实做时写 `scenes/<id>.js` 并登记进 `eras.js`,`render.py --solo <id> --from 0 --to <秒> --fps 30 --no-counter --out 镜NN.mp4`。
     - 全片一套画风:所有片段 spec 写同一个 `"theme"`(镜头表色板那一行,写法见 `references/色板.md`),最多 2 种片段语法;scenes 也只用这套色板。每镜加 `--stills 0.5,2 --out 静帧/镜NN` 抽帧,排成一排对着镜头表看:哪一镜像从别的片子里拿来的,就按画风重做。
  4. **拼接**:镜与镜硬切,在放 `镜NN.mp4` 的目录里:
     ```sh
View the complete source on GitHub

Skills included

  • huashu-art-motion

Repository facts

License
MIT
Created
Oct 6, 2026
Last pushed
Oct 16, 2026
Forks
637
Open issues
4
Project activity
Active

Rank over the last 12 weeks

Now #230 · best #230 · up 226 in 30 days

  1. #244 on Nov 1
  2. #241 on Nov 2
  3. #239 on Nov 3
  4. #236 on Nov 4
  5. #232 on Nov 5
  6. #230 since Nov 6
23 earlier periods
  1. #918 on Oct 4
  2. #928 on Oct 5
  3. #744 on Oct 6
  4. #456 on Oct 7
  5. #382 on Oct 8
  6. #354 on Oct 9
  7. #316 on Oct 10
  8. #309 on Oct 11
  9. #296 on Oct 12
  10. #287 on Oct 13
  11. #280 on Oct 14
  12. #277 on Oct 15
  13. #271 on Oct 16
  14. #273 on Oct 17
  15. #269 on Oct 18
  16. #266 on Oct 19
  17. #264 on Oct 20
  18. #261 on Oct 21
  19. #259 on Oct 22
  20. #256 from Oct 23 to Oct 24
  21. #257 on Oct 25
  22. #245 on Oct 28
  23. #246 from Oct 29 to Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 11 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • scripts/engine/lib/three.min.js:7 Analysis incomplete: physical or joined line exceeds character limit
  • scripts/engine/lib/three.min.js:5 Analysis incomplete: physical or joined line exceeds character limit
  • scripts/engine/reference_films/spacex/spacex/timing.js:2 Analysis incomplete: physical or joined line exceeds character limit
  • scripts/engine/reference_films/spacex/spacex_lin/presenter_meta.js:2 Analysis incomplete: physical or joined line exceeds character limit
  • scripts/engine/reference_films/spacex/spacex_wb/assets/strokes.js:2 Analysis incomplete: physical or joined line exceeds character limit
Show all 564 signals by file

.github/workflows/tests.yml

  • Dangerous shell operationline 19
    - run: sudo apt-get update && sudo apt-get install -y ffmpeg

.gitignore

  • Access to secretsline 14
    [Credential-related source omitted]

README.en.md

  • Network accessline 17
    [Watch animations](#animation-showcase) · [Explore styles](#see-the-results) · [Get started](#whats-included) · [Download full demos](https://github.com/alchaincyf/huashu-art-motion/releases/latest)
  • Network accessline 25
    - 2026-10: [Open Design](https://github.com/nexu-io/open-design), an open-source AI design workspace from nexu-io, lists huashu-art-motion as a design source in its [motion-design skill](https://github.com/nexu-io/open-design/blob/main/skil
  • Network accessline 57
    The darkness is rendered as a charcoal night scene; color appears only where the flashlight shines. The five paintings Clawd enters—by Van Gogh, Seurat, Vermeer, Rembrandt, and Leutze—are CC0 originals from The Met's Open Access collection,
  • Network accessline 80
    👉 [Download the all-style demo (MP4)](https://github.com/alchaincyf/huashu-art-motion/releases/latest)
  • Network accessline 141
    Requires [uv](https://docs.astral.sh/uv/), ffmpeg, and Playwright Chromium. Install Chromium before the first render:
  • Network accessline 159
    In early October 2026, I saw a 15-second animation on X by Tak ([@cherry_mx_reds](https://x.com/cherry_mx_reds/status/2106095190285144331)): a girl and a cat travel through 40,000 years of art history. Each era lasts only about a second, ye
  • Network accessline 169
    - **Tak ([@cherry_mx_reds](https://x.com/cherry_mx_reds))** and his *Art History Speedrun* inspired this skill. The scene compositions for 16 art eras and the girl-and-cat journey follow the original's ideas. Every image here is redrawn in 
  • Network accessline 177
    | | | |:---|:---| | 🌐 Websites | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) |
  • Network accessline 178
    |:---|:---| | 🌐 Websites | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) | | 𝕏 Twitter | [@AlchainHust](https://x.com/AlchainHust) |
  • Network accessline 179
    | 🌐 Websites | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) |
  • Network accessline 180
    | 𝕏 Twitter | [@AlchainHust](https://x.com/AlchainHust) |
  • Network accessline 181
    | 📺 Bilibili | [花叔v](https://space.bilibili.com/14097567) |
  • Network accessline 182
    | ▶<U+FE0F> YouTube | [@Alchain](https://www.youtube.com/@Alchain) |
  • Network accessline 183
    | 📕 Xiaohongshu | [花叔](https://www.xiaohongshu.com/user/profile/5abc6f17e8ac2b109179dfdf) |
  • Network accessline 198
    **[Nuwa](https://github.com/alchaincyf/nuwa-skill)** creates skills. **[Darwin](https://github.com/alchaincyf/darwin-skill)** helps skills evolve. **Art in Motion** makes paintings move.
  • Network accessline 200
    MIT License © [花叔 Huashu](https://github.com/alchaincyf)
  • Network accessline 209
    [![FanBox · A cockpit for coding agents](https://raw.githubusercontent.com/alchaincyf/fanbox/master/assets/promo-banner.jpg)](https://github.com/alchaincyf/fanbox)
  • Network accessline 228
    Thanks to [@ismilewolf-eng](https://github.com/ismilewolf-eng) ([PR #1](https://github.com/alchaincyf/huashu-art-motion/pull/1)) and [@noahark](https://github.com/noahark) ([PR #2](https://github.com/alchaincyf/huashu-art-motion/pull/2)) fo

README.md

  • Network accessline 17
    [看动画](#动画样片) · [看风格](#看效果) · [开始使用](#里面有什么) · [下载完整样片](https://github.com/alchaincyf/huashu-art-motion/releases/latest)
  • Network accessline 23
    - 2026-10:[Open Design](https://github.com/nexu-io/open-design)(nexu-io 出品的开源 AI 设计工作区)的 [motion-design skill](https://github.com/nexu-io/open-design/blob/main/skills/motion-design/SOURCES.md) 把 huashu-art-motion 列为设计来源之一,并在 [skills/huashu-
  • Network accessline 55
    暗处是炭笔夜景,只有手电照到的地方显出颜色;入画的五幅(梵高、修拉、维米尔、伦勃朗、勒茨)都是大都会开放获取的CC0原作,按各自画家的笔法用代码重画。完整成片在[Releases](https://github.com/alchaincyf/huashu-art-motion/releases/latest),[片段时间点与说明](assets/showcase/clawd-clips.md)。
  • Network accessline 78
    👉 [下载全风格样片(MP4)](https://github.com/alchaincyf/huashu-art-motion/releases/latest)
  • Network accessline 140
    依赖:[uv](https://docs.astral.sh/uv/)、ffmpeg、Playwright Chromium(第一次跑 `uv run --with playwright playwright install chromium`)。试一下:
  • Network accessline 152
    2026 年 10 月初,我在 X 上看到 Tak([@cherry_mx_reds](https://x.com/cherry_mx_reds/status/2106095190285144331))的一支 15 秒动画:一位少女和一只猫穿过 40000 年艺术史,每个时代只有一秒左右,但画里的东西都在动。
  • Network accessline 162
    - **Tak([@cherry_mx_reds](https://x.com/cherry_mx_reds))** 的《Art History Speedrun》是这个 skill 的起点。16 个艺术时代的场景构图和「少女+猫穿越」的设定沿用了原片的思路,画面全部用代码重新画,配乐脚本里是原创示例乐谱(只保留拆解方法,不保留对原曲的转录);仓库里不含原片的帧、截图或音频文件。想看原作请去他的 X。
  • Network accessline 170
    | | | |:---|:---| | 🌐 官网 | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) |
  • Network accessline 171
    |:---|:---| | 🌐 官网 | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) | | 𝕏 Twitter | [@AlchainHust](https://x.com/AlchainHust) |
  • Network accessline 172
    | 🌐 官网 | [bookai.top](https://bookai.top) · [huasheng.ai](https://www.huasheng.ai) |
  • Network accessline 173
    | 𝕏 Twitter | [@AlchainHust](https://x.com/AlchainHust) |
  • Network accessline 174
    | 📺 B站 | [花叔v](https://space.bilibili.com/14097567) |
  • Network accessline 175
    | ▶<U+FE0F> YouTube | [@Alchain](https://www.youtube.com/@Alchain) |
  • Network accessline 176
    | 📕 小红书 | [花叔](https://www.xiaohongshu.com/user/profile/5abc6f17e8ac2b109179dfdf) |
  • Network accessline 191
    **[女娲](https://github.com/alchaincyf/nuwa-skill)** 造 Skill。**[达尔文](https://github.com/alchaincyf/darwin-skill)** 让 Skill 进化。**艺术动画** 让画动起来。
  • Network accessline 193
    MIT License © [花叔 Huashu](https://github.com/alchaincyf)
  • Network accessline 202
    [![FanBox · Coding Agent 的驾驶舱](https://raw.githubusercontent.com/alchaincyf/fanbox/master/assets/promo-banner.jpg)](https://github.com/alchaincyf/fanbox)
  • Network accessline 210
    **News (2026-10):** [Open Design](https://github.com/nexu-io/open-design), an open-source AI design workspace from nexu-io, lists huashu-art-motion as a design source in its [motion-design skill](https://github.com/nexu-io/open-design/blob/
  • Network accessline 214
    It started as a code-only recreation of Tak's ([@cherry_mx_reds](https://x.com/cherry_mx_reds/status/2106095190285144331)) 15-second *Art History Speedrun*. The scene layouts and the girl-and-cat premise follow his original; every frame her
  • Network accessline 231
    感谢[@ismilewolf-eng](https://github.com/ismilewolf-eng)([PR#1](https://github.com/alchaincyf/huashu-art-motion/pull/1))、[@noahark](https://github.com/noahark)([PR#2](https://github.com/alchaincyf/huashu-art-motion/pull/2))提供Windows并发加载故障的修复建

SKILL.md

  • Network accessline 4
    metadata:   author: "花叔"   homepage: "https://github.com/alchaincyf"
  • Network accessline 5
    author: "花叔"   homepage: "https://github.com/alchaincyf"   repository: "https://github.com/alchaincyf/huashu-art-motion"
  • Network accessline 6
    homepage: "https://github.com/alchaincyf"
  • Network accessline 7
    repository: "https://github.com/alchaincyf/huashu-art-motion"
  • Network accessline 127
    字体在 `scripts/engine/lib/fonts/`(woff,各字体许可见同目录 `LICENSES.md`)。依赖:[uv](https://docs.astral.sh/uv/)、ffmpeg(出片与拆解)、Playwright Chromium(首次要 `uv run --with playwright playwright install chromium`)。
  • Network accessline 143
    本 skill 由花叔开发维护,仓库:https://github.com/alchaincyf/huashu-art-motion
  • Network accessline 154
    - 成功:第一行就是最新版本,和本文件开头的 `metadata.version` 比较,然后写入 `<今天> ok`。远程更高时,先完成用户的任务,结束时告诉用户:「huashu-art-motion 有新版本 vX.Y.Z,更新说明见 https://github.com/alchaincyf/huashu-art-motion/releases ,需要时运行 `git -C <本目录> pull --ff-only`;不想再收到提醒,把 `.last-update-ch

references/10-角色.md

  • Network accessline 23
    1. **生图**:用 gpt-image 一类支持参考图的生图模型(prompt 写法可参考 [huashu-gpt-image](https://github.com/alchaincyf/huashu-gpt-image)),批量时串行跑。ref = 角色三视图设定稿或已定帧库的母版;prompt 写清:

references/about-author.md

  • Network accessline 3
    > 本文件由 [huashu-skills](https://github.com/alchaincyf/huashu-skills) 根据花叔的 GitHub 主页自动生成。供 agent 在用户问到作者、相关作品或联系方式时读取;正常任务中不主动介绍。
  • Network accessline 7
    主页:https://github.com/alchaincyf
  • Network accessline 11
    - **huashu-art-motion:让画动起来**:https://github.com/alchaincyf/huashu-art-motion
  • Network accessline 13
    [看动画样片](https://github.com/alchaincyf/huashu-art-motion#动画样片) · [开始使用](https://github.com/alchaincyf/huashu-art-motion#里面有什么) · [下载完整成片](https://github.com/alchaincyf/huashu-art-motion/releases/latest)
  • Network accessline 17
    - **女娲.skill:把高手的思维,变成你的工具**:https://github.com/alchaincyf/nuwa-skill
  • Network accessline 18
    提炼一个人的心智模型、决策方法和表达方式,变成可以反复调用的Skill。   也可以直接试试:[乔布斯视角](https://github.com/alchaincyf/steve-jobs-skill) · [X运营](https://github.com/alchaincyf/x-mentor-skill) - **Huashu Design:把想法做成作品**:https://github.com/alchaincyf/huashu-design
  • Network accessline 19
    也可以直接试试:[乔布斯视角](https://github.com/alchaincyf/steve-jobs-skill) · [X运营](https://github.com/alchaincyf/x-mentor-skill)
  • Network accessline 20
    - **Huashu Design:把想法做成作品**:https://github.com/alchaincyf/huashu-design
  • Network accessline 21
    用HTML做原型、幻灯片、动画和信息图,从定方向到检查成品。 - **FanBox:Coding Agent的驾驶舱**:https://github.com/alchaincyf/fanbox   把文件、终端和每一次改动放在一起,看清Agent做了什么,随时接手。
  • Network accessline 22
    - **FanBox:Coding Agent的驾驶舱**:https://github.com/alchaincyf/fanbox
  • Network accessline 27
    - **达尔文.skill:让Skill在实测中进化**:https://github.com/alchaincyf/darwin-skill
  • Network accessline 28
    评估、改进、测试,保留有效改动,回滚退步。女娲造Skill,达尔文磨Skill。 - **huashu-chrome:让Agent用上你的浏览器**:https://github.com/alchaincyf/huashu-chrome   使用你自己的Chrome和已有登录态操作网页,把站点经验留下来。
  • Network accessline 29
    - **huashu-chrome:让Agent用上你的浏览器**:https://github.com/alchaincyf/huashu-chrome
  • Network accessline 30
    使用你自己的Chrome和已有登录态操作网页,把站点经验留下来。 - **huashu-mac-use:让Agent操作Mac原生应用**:https://github.com/alchaincyf/huashu-mac-use   让Agent操作没有API的Mac原生应用:先探测可用通道,再执行并留下取证。
  • Network accessline 31
    - **huashu-mac-use:让Agent操作Mac原生应用**:https://github.com/alchaincyf/huashu-mac-use
  • Network accessline 36
    - **橙皮书:从真实项目里长出来的AI指南**:https://bookai.top
  • Network accessline 38
    [阅读橙皮书](https://bookai.top) · [Claude Code](https://github.com/alchaincyf/claude-code-orange-book) · [Hermes Agent](https://github.com/alchaincyf/hermes-agent-orange-book) · [Obsidian AI](https://github.com/alchaincyf/obsidian-ai-orange-boo
  • Network accessline 42
    完整目录、安装方法和机器可读的 skills.json:https://github.com/alchaincyf/huashu-skills
  • Network accessline 44
    | skill | 适合什么需求 | 仓库 | |---|---|---| | huashu-design | HTML 原生设计系统:高保真原型/幻灯片/动画/可视化,20 种设计哲学 + 5 维专家评审 + MP4 导出 | https://github.com/alchaincyf/huashu-design |
  • Network accessline 45
    |---|---|---| | huashu-design | HTML 原生设计系统:高保真原型/幻灯片/动画/可视化,20 种设计哲学 + 5 维专家评审 + MP4 导出 | https://github.com/alchaincyf/huashu-design | | huashu-mac-use | 让 agent 操控 Mac 上没有 API 的原生 app:探测选层(CDP / AX / 坐标 / 像素)、读后台写过闸不打扰用户、每步回读与取证、收工回流进档案;
  • Network accessline 46
    | huashu-design | HTML 原生设计系统:高保真原型/幻灯片/动画/可视化,20 种设计哲学 + 5 维专家评审 + MP4 导出 | https://github.com/alchaincyf/huashu-design |
  • Network accessline 47
    | huashu-mac-use | 让 agent 操控 Mac 上没有 API 的原生 app:探测选层(CDP / AX / 坐标 / 像素)、读后台写过闸不打扰用户、每步回读与取证、收工回流进档案;含 Swift 内核与 CDP 工具 | https://github.com/alchaincyf/huashu-mac-use |
  • Network accessline 48
    | huashu-gpt-image | GPT-image 的 prompt 工程方法论:真实参考名替代形容词,含单图 playbook、批量网格生成、失败模式树 | https://github.com/alchaincyf/huashu-gpt-image |
  • Network accessline 49
    | huashu-icon-set | 端到端为项目生成风格统一的图标集:4×4 网格批量生成 + 逐个精度兜底 + 智能抠图(豆包环境专用,依赖内置 image_gen) | https://github.com/alchaincyf/huashu-icon-set |
  • Network accessline 50
    | huashu-slide-doubao | 豆包环境专用视觉物料生产:slides + 公众号封面 + 视频封面,走内置 image_gen 零 API 费用 | https://github.com/alchaincyf/huashu-slide-doubao |
  • Network accessline 51
    | huashu-slide-codex | Codex 环境专用视觉物料生产:slides + 公众号封面 + 视频封面,走 Codex 内置 image_gen | https://github.com/alchaincyf/huashu-slide-codex |
  • Network accessline 52
    | huashu-excel | 数据分析全流程:体检脏表→清洗→定口径→算指标→对账→报告,依赖仅 openpyxl | https://github.com/alchaincyf/huashu-excel |
  • Network accessline 53
    | huashu-md-html | md 流水线:万物(PDF/DOCX/EPUB/网页/音频)转干净 md,md 加工成出版级 HTML/DOCX,四套反 AI slop 主题 | https://github.com/alchaincyf/huashu-md-html |
  • Network accessline 54
    | seedance-skill | 白模驱动的 AI 视频工作台:白模参考视频与提示词出自同一份 scene.json,渲染前做几何体检 | https://github.com/alchaincyf/seedance-skill |
  • Network accessline 55
    | tramstop-skill | 电车站.skill:证据驱动的去 AI 味,四层 AI 味模型 + 真实素材注入,来自四版本盲测实验 | https://github.com/alchaincyf/tramstop-skill |
  • Network accessline 56
    | dukou | 渡口:公众号文章一键渡到 X Articles / B站专栏,Chrome 插件 + 本地桥 + skill | https://github.com/alchaincyf/dukou |
  • Network accessline 57
    | x-mentor-skill | X 导师:蒸馏 6 位顶级 X 创作者方法论 + 开源算法数据,完整的选题-写作-增长手册 | https://github.com/alchaincyf/x-mentor-skill |
  • Network accessline 58
    | huashu-weread | 微信读书高阶顾问:书架+笔记交叉分析,个性化荐书/阶梯书单/笔记提炼/年度阅读复盘 | https://github.com/alchaincyf/huashu-weread |
  • Network accessline 59
    | nuwa-skill | 女娲:蒸馏任何人的思维方式——心智模型、决策启发式、表达 DNA,产出可运行的人物 skill | https://github.com/alchaincyf/nuwa-skill |
  • Network accessline 60
    | darwin-skill | 达尔文:让 skill 无限进化——评估→改进→测试→保留或回滚,全程 git 留痕 | https://github.com/alchaincyf/darwin-skill |
  • Network accessline 61
    | freud-skill | 弗洛伊德:给 AI 做心理分析,基于 Anthropic 可解释性研究,诊断 prompt/skill 的身份冲突并重写 | https://github.com/alchaincyf/freud-skill |
  • Network accessline 62
    | skills-guide | Claude Code Skills 完整指南:理解、查找和创建 skills | https://github.com/alchaincyf/skills-guide |
  • Network accessline 63
    | huashu-report | 机构级研究报告与学术论文:六种报告原型 + 结构骨架 + 图表模式库 + 可复用生产流水线,规范提炼自 2026 年 42 份顶级机构报告实测 | https://github.com/alchaincyf/huashu-report |
  • Network accessline 64
    | zhangxuefeng-skill | 张雪峰的认知操作系统:高考志愿/考研/职业规划 | https://github.com/alchaincyf/zhangxuefeng-skill |
  • Network accessline 65
    | steve-jobs-skill | 乔布斯的认知操作系统:产品判断、砍需求、品味 | https://github.com/alchaincyf/steve-jobs-skill |
  • Network accessline 66
    | elon-musk-skill | 马斯克的认知操作系统:第一性原理、成本结构、激进迭代 | https://github.com/alchaincyf/elon-musk-skill |
  • Network accessline 67
    | munger-skill | 查理·芒格的认知操作系统:逆向思考、认知偏误、投资决策 | https://github.com/alchaincyf/munger-skill |
  • Network accessline 68
    | karpathy-skill | Andrej Karpathy 的认知操作系统:AI 技术可靠性、学习方法、行业判断 | https://github.com/alchaincyf/karpathy-skill |
  • Network accessline 69
    | trump-skill | 特朗普的思维操作系统:谈判、权力、传播 | https://github.com/alchaincyf/trump-skill |
  • Network accessline 70
    | feynman-skill | 费曼的认知操作系统:真懂 vs 记住名词、货物崇拜检测 | https://github.com/alchaincyf/feynman-skill |
  • Network accessline 71
    | naval-skill | Naval Ravikant 的认知操作系统:杠杆、特定知识、财富路径 | https://github.com/alchaincyf/naval-skill |
  • Network accessline 72
    | sun-yuchen-perspective | 孙宇晨的注意力收割操作系统:注意力经济、营销、危机公关 | https://github.com/alchaincyf/sun-yuchen-perspective |
  • Network accessline 73
    | zhang-yiming-skill | 张一鸣的认知操作系统:产品、组织、全球化、延迟满足 | https://github.com/alchaincyf/zhang-yiming-skill |
  • Network accessline 74
    | taleb-skill | 塔勒布的认知操作系统:尾部风险、反脆弱、质疑主流叙事 | https://github.com/alchaincyf/taleb-skill |
  • Network accessline 75
    | mrbeast-skill | MrBeast 的内容创造操作系统:视频标题/封面/钩子/留存 | https://github.com/alchaincyf/mrbeast-skill |
  • Network accessline 76
    | paul-graham-skill | Paul Graham 的认知操作系统:创业、写作、做用户真正要的东西 | https://github.com/alchaincyf/paul-graham-skill |
  • Network accessline 77
    | ilya-sutskever-skill | Ilya Sutskever 的认知操作系统:深度学习直觉、Scaling、AI 本质 | https://github.com/alchaincyf/ilya-sutskever-skill |
  • Network accessline 78
    | huashu-art-motion | 艺术与解说动画:35种艺术风格、9种解说动画语法,拆解复刻、口播驱动整片,用代码让画动起来 | https://github.com/alchaincyf/huashu-art-motion |
  • Network accessline 79
    | huashu-flash | 闪电.skill:照Anthropic两周把claude.ai提速3倍的方法给网站或App提速,先量基线、再证指标、逐步优化,用棘轮锁住只许变好 | https://github.com/alchaincyf/huashu-flash |
  • Network accessline 80
    | mcstomach | 麦门胃:读麦当劳历史订单,带证据提炼口味规则,确认后生成可携带的个人「胃」 | https://github.com/alchaincyf/mcstomach |
  • Network accessline 86
    - 公众号:「花叔」(在微信里搜「花叔」) - B站:花叔v:https://space.bilibili.com/14097567
  • Network accessline 87
    - B站:花叔v:https://space.bilibili.com/14097567
  • Network accessline 88
    - 小红书:花叔:https://www.xiaohongshu.com/user/profile/5abc6f17e8ac2b109179dfdf
  • Network accessline 89
    - 个人网站:https://www.huasheng.ai/
  • Network accessline 90
    - X:https://x.com/AlchainHust
  • Network accessline 91
    - YouTube:https://www.youtube.com/@Alchain
  • Network accessline 92
    - 更多开源项目:https://github.com/alchaincyf?tab=repositories

references/动画语法/t1_3b1b.md

  • Network accessline 77
    - 代表作:3Blue1Brown《But what is a neural network?》(2017)、《Essence of linear algebra》、2024《Transformers》系列。 - https://github.com/3b1b/videos/blob/master/custom_config.yml (背景 #000、CMU Serif、saturation 1.5)
  • Network accessline 78
    - https://github.com/3b1b/videos/blob/master/custom_config.yml (背景 #000、CMU Serif、saturation 1.5)
  • Network accessline 79
    - https://github.com/3b1b/manim/blob/master/manimlib/default_config.yml (色值)
  • Network accessline 80
    - https://github.com/3b1b/manim/blob/master/manimlib/utils/rate_functions.py (smooth 等)
  • Network accessline 81
    - https://github.com/3b1b/manim/blob/master/manimlib/animation/creation.py (Write/ShowCreation 参数)
  • Network accessline 82
    - https://github.com/3b1b/videos/blob/master/_2017/nn/part1.py 、part2.py (神经元与权重画法)
  • Network accessline 83
    - https://github.com/ManimCommunity/manim/blob/main/manim/utils/rate_functions.py (CE 版对照)
  • Network accessline 84
    - https://www.3blue1brown.com/faq ("Avoid pointless animations")
  • Network accessline 85
    - https://www.dwarkesh.com/p/grant-sanderson (先排动画后录口播)

references/动画语法/t2_keynote_ui.md

  • Network accessline 73
    - 代表作:Apple iPhone/Apple Intelligence 发布片与 apple.com 产品页;OpenAI GPT-4o / o 系列发布视频;Linear 官网与 Linear Release 视频;Stripe 2020–21 官网渐变。 - https://developer.apple.com/videos/play/wwdc2023/10158/ (Animate with springs:duration/bounce)
  • Network accessline 74
    - https://developer.apple.com/videos/play/wwdc2023/10158/ (Animate with springs:duration/bounce)
  • Network accessline 75
    - https://developer.apple.com/videos/play/wwdc2018/803/ (Designing Fluid Interfaces:从 100% 阻尼起步)
  • Network accessline 76
    - https://developer.apple.com/videos/play/wwdc2025/219/ (Meet Liquid Glass)
  • Network accessline 77
    - https://developer.apple.com/design/human-interface-guidelines/materials 、/motion 、/typography
  • Network accessline 78
    - https://www.nngroup.com/articles/glassmorphism/
  • Network accessline 79
    - https://web.archive.org/web/20211015000000/https://stripe.com/ (渐变色值)
  • Network accessline 80
    - https://stripe.com/blog/connect-front-end-experience (<500ms、曲线)
  • Network accessline 81
    - https://linear.app/now/how-we-redesigned-the-linear-ui (LCH 色彩、Inter)

references/动画语法/t3_finance_chart.md

  • Network accessline 73
    - 代表作:The Economist 网页图表与视频;FT 图表;Bloomberg Originals / Quicktake 的数据段;Flourish 的 bar chart race。 - Economist 图表风格指南 2017(镜像):https://sa.ipaa.org.au/wp-content/uploads/2026/02/Economist-CHARTstyleguide_20170505.pdf
  • Network accessline 74
    - Economist 图表风格指南 2017(镜像):https://sa.ipaa.org.au/wp-content/uploads/2026/02/Economist-CHARTstyleguide_20170505.pdf
  • Network accessline 75
    - FT 色板源码:https://unpkg.com/@financial-times/o-colors/src/scss/_palette.scss
  • Network accessline 76
    - Heer & Robertson 2007, Animated Transitions in Statistical Data Graphics:https://idl.cs.washington.edu/files/2007-AnimatedTransitions-InfoVis.pdf
  • Network accessline 77
    - D3 bar chart race:https://observablehq.com/@d3/bar-chart-race-explained
  • Network accessline 78
    - Correll 等 2020(截断坐标轴的夸大效应,断轴标记也救不回来):https://arxiv.org/abs/1907.02035
  • Network accessline 79
    - Datawrapper:柱从零 https://www.datawrapper.de/academy/why-our-column-and-bar-charts-start-at-zero ;双轴 https://www.datawrapper.de/blog/dualaxis ;色盲 https://www.datawrapper.de/blog/colorblindness-part2
  • Network accessline 80
    - 红涨绿跌的文化差异:https://onlinelibrary.wiley.com/doi/10.1002/bdm.1800
  • Network accessline 81
    - CountUp.js(easeOutExpo、2s):https://github.com/inorganik/countUp.js

references/动画语法/y1_kurzgesagt.md

  • Network accessline 140
    - 样片:   - How Are Memories Stored Inside Your Brain?(2025)https://www.youtube.com/watch?v=PqtggjVAi8M
  • Network accessline 141
    - How Are Memories Stored Inside Your Brain?(2025)https://www.youtube.com/watch?v=PqtggjVAi8M
  • Network accessline 142
    - Why Humanity Will Never Leave The Solar System(2025)https://www.youtube.com/watch?v=Cyl3X88KEgg
  • Network accessline 143
    - The Immune System Explained I(2014)https://www.youtube.com/watch?v=zQGOcOUBi6s
  • Network accessline 144
    - 官方课(缓动、循环、鸟、角色动法逐字稿):   - Skillshare《Motion Graphics with Kurzgesagt》Part 1 https://www.skillshare.com/en/classes/motion-graphics-with-kurzgesagt-part-1/631970755   - Part 3 https://www.skillshare.com/en/classes/motion-graphics-with-kurzg
  • Network accessline 145
    - Skillshare《Motion Graphics with Kurzgesagt》Part 1 https://www.skillshare.com/en/classes/motion-graphics-with-kurzgesagt-part-1/631970755
  • Network accessline 146
    - Part 3 https://www.skillshare.com/en/classes/motion-graphics-with-kurzgesagt-part-3/140140401
  • Network accessline 147
    - 官方幕后:   - 1200 小时一支片:https://www.youtube.com/watch?v=uFk0mgljtns   - 官方自述:https://kurzgesagt.org/what-we-do?visit=videos
  • Network accessline 148
    - 1200 小时一支片:https://www.youtube.com/watch?v=uFk0mgljtns
  • Network accessline 149
    - 官方自述:https://kurzgesagt.org/what-we-do?visit=videos
  • Network accessline 150
    - 配乐:Epic Mountain https://www.epic-mountain.com

references/动画语法/y2_vox.md

  • Network accessline 144
    - 样片:   - Missing Chapter《The case to rename this famous Christmas plant》https://www.youtube.com/watch?v=lLSUjl4WatY
  • Network accessline 145
    - Missing Chapter《The case to rename this famous Christmas plant》https://www.youtube.com/watch?v=lLSUjl4WatY
  • Network accessline 146
    - 《Where the 1960s "psychedelic" look came from》https://www.youtube.com/watch?v=9vuqI2v2IRs
  • Network accessline 147
    - Vox Borders《China is erasing its border with Hong Kong》https://www.youtube.com/watch?v=MQyxG4vTyZ8
  • Network accessline 148
    - Johnny Harris《The Internet Didn't Fail. It Was Taken.》https://www.youtube.com/watch?v=0rKDo3hKbVk
  • Network accessline 149
    - 一手:   - Vox 美术总监 Joey Sendaydiego 访谈 https://www.storybench.org/how-vox-uses-animation-to-make-complicated-topics-digestible-for-everyone/   - Joss Fong 访谈 https://www.theopennotebook.com/2020/01/07/videogram-how-a-vox-video-explains-the-
  • Network accessline 150
    - Vox 美术总监 Joey Sendaydiego 访谈 https://www.storybench.org/how-vox-uses-animation-to-make-complicated-topics-digestible-for-everyone/
  • Network accessline 151
    - Joss Fong 访谈 https://www.theopennotebook.com/2020/01/07/videogram-how-a-vox-video-explains-the-science-behind-the-first-photo-of-a-black-hole/
  • Network accessline 152
    - Johnny Harris《How I Make My Maps》https://www.youtube.com/watch?v=GsojLuJpe_0
  • Network accessline 153
    - 二手:PremiumBeat《Replicating Vox motion graphic》https://www.premiumbeat.com/blog/replicating-vox-motion-graphic/
  • Network accessline 154
    - 示范片事实:   - Le et al., ICML 2012, arXiv:1112.6209 https://arxiv.org/abs/1112.6209   - Google 官方博客 2012-06-26 https://blog.google/innovation-and-ai/products/using-large-scale-brain-simulations-for/
  • Network accessline 155
    - Le et al., ICML 2012, arXiv:1112.6209 https://arxiv.org/abs/1112.6209
  • Network accessline 156
    - Google 官方博客 2012-06-26 https://blog.google/innovation-and-ai/products/using-large-scale-brain-simulations-for/

references/动画语法/y3_whiteboard.md

  • Network accessline 138
    - 样片:   - RSA ANIMATE: Changing Education Paradigms https://www.youtube.com/watch?v=zDZFcDGpL4U
  • Network accessline 139
    - RSA ANIMATE: Changing Education Paradigms https://www.youtube.com/watch?v=zDZFcDGpL4U
  • Network accessline 140
    - MinutePhysics: Why is it Dark at Night? https://www.youtube.com/watch?v=gxJ4M7tyLRE
  • Network accessline 141
    - Andrew Park 访谈(Sketchnote Army 2025)https://sketchnotearmy.com/blog/2025/11/18/andrew-park
  • Network accessline 142
    - Cognitive Media「毛手」https://www.hairyhand.co/about
  • Network accessline 143
    - VideoScribe 官方文档:   - 相机与 Zoom at end https://help.videoscribe.co/knowledge/use-zoom-and-set-the-camera   - Draw 入场 https://help.videoscribe.co/knowledge/draw
  • Network accessline 144
    - 相机与 Zoom at end https://help.videoscribe.co/knowledge/use-zoom-and-set-the-camera
  • Network accessline 145
    - Draw 入场 https://help.videoscribe.co/knowledge/draw
  • Network accessline 146
    - 入场动画 https://help.videoscribe.co/knowledge/entrance-animations
  • Network accessline 147
    - Doodly 默认值 https://support.voomly.com/en/articles/12735753-doodly-how-do-i-customize-video-settings
  • Network accessline 148
    - 学习效果研究(转引)https://en.wikipedia.org/wiki/Whiteboard_animation

references/动画语法/y4_storytime.md

  • Network accessline 121
    - TheOdd1sOut 频道:https://www.youtube.com/@theodd1sout ;本次实测的转载「老妈的惩罚」:https://www.bilibili.com/video/BV14s411M7x4
  • Network accessline 122
    - Jaiden Animations 频道:https://www.youtube.com/@JaidenAnimations ;本次实测「Being Not Straight」转载:https://www.bilibili.com/video/BV1xu411r734
  • Network accessline 123
    - Domics 频道:https://www.youtube.com/@Domics
  • Network accessline 124
    - Toon Boom × Atomic Cartoons,《Oddballs》从 YouTube 到剧集(「pose-to-pose,动画极少」「他在 YouTube 上从没做过口型」「太软、太慢」):https://www.toonboom.com/atomic-cartoons-on-bringing-oddballs-from-youtube-to-series
  • Network accessline 125
    - Konstantinos Pappis, *The Odd Ones Out: The Rise of YouTube Storytime Animation*(Animation Studies,类型史与视觉语法:圆脸化身、白底、无逐帧、更像动态分镜):https://journal.animationstudies.org/article/id/135/
  • Network accessline 126
    - TheOdd1sOut 维基(「棉花糖人」的说法):https://en.wikipedia.org/wiki/TheOdd1sOut
  • Network accessline 127
    - Dan Ebberts 惯性回弹表达式(freq 3、decay 5 的出处):http://www.motionscript.com/articles/bounce-and-overshoot.html
  • Network accessline 128
    - 制作者经验帖「换姿势时加一点 bounce」:https://forum.wickeditor.com/t/whoever-wants-to-make-a-storytime-animation/5940

references/动画语法/y5_kinetic_type.md

  • Network accessline 114
    - Saul Bass 片头档案(Art of the Title):https://www.artofthetitle.com/designer/saul-bass/
  • Network accessline 115
    - 维基「Kinetic typography」(motion typography / fluid typography 两类、Bass 是长片先驱):https://en.wikipedia.org/wiki/Kinetic_typography
  • Network accessline 116
    - School of Motion《Kinetic Typography in After Effects》Part 2(帧数:小词滑入 4 帧、主词甩入 6 帧+2 帧过冲回正、镜头推 6 帧+2 帧回拉;「镜头要晚一点动,像是被声音推着走」):https://www.schoolofmotion.com/blog/kinetic-typography-after-effects-part-2
  • Network accessline 117
    - School of Motion Part 3(下落要加速不要缓停、撞击时整个合成放大再回 100%):https://schoolofmotion.com/blog/kinetic-typography-after-effects-part-3
  • Network accessline 118
    - Dan Ebberts 惯性回弹表达式(`amp·sin(2πft)/e^(decay·t)`,默认 freq 3 / decay 5):http://www.motionscript.com/articles/bounce-and-overshoot.html
  • Network accessline 119
    - Lee, Forlizzi, Hudson,《The Kinetic Typography Engine》(UIST 2002,动态字表达情绪与语气):https://dl.acm.org/doi/10.1145/571985.571997
  • Network accessline 120
    - 视频文字停留时间:https://www.ssw.com.au/rules/post-production-do-you-give-enough-time-to-read-texts-in-your-videos
  • Network accessline 121
    - 本次实测的两支转载:DISCORD [Kinetic Typography] https://www.bilibili.com/video/BV1ts411S7Xa ;Charlie Puth – We Don't Talk Anymore (Kinetic Typography) https://www.bilibili.com/video/BV1by4y1r74Y

references/口播API.md

  • Network accessline 28
    Host 一律 `https://openspeech.bytedance.com`。

references/风格配方/25_ghibli.md

  • Network accessline 8
    **先定范围。**《龙猫》《魔女宅急便》《千与千寻》可用于研究不同环境中的人物、手绘背景与生活动作;《辉夜姬物语》有明显不同的线条与留白组织,不能把它强塞进同一水彩背景配方。制作时选与本次内容相符的影片/作者范围,比较不同场所、光照和动作的片段,不只挑森林远景。官方[作品与场面写真](https://www.ghibli.jp/works/)可定位参考;[场面写真发布说明](https://www.ghibli.jp/info/013344/)不等于所有素材取得无限使用许可。

references/风格配方/38_giotto.md

  • Network accessline 44
    - [乔托《三博士朝圣》:体量与仰视建筑](https://www.metmuseum.org/art/collection/search/436504)
  • Network accessline 45
    - [乔托《宝座圣母》:板画媒介对照](https://www.uffizi.it/en/artworks/virgin-and-child-enthroned-surrounded-by-angels-and-saints-ognissanti-maesta)
  • Network accessline 46
    - [《哀悼基督》:叙事壁画对照](https://en.wikipedia.org/wiki/Lamentation_(The_Mourning_of_Christ))

references/风格配方/39_piero.md

  • Network accessline 44
    - [《基督受洗》:蛋彩与几何关系](https://www.nationalgallery.org.uk/paintings/piero-della-francesca-the-baptism-of-christ)
  • Network accessline 45
    - [《耶稣诞生》:油画色彩与叙事](https://www.nationalgallery.org.uk/paintings/piero-della-francesca-the-nativity)
  • Network accessline 46
    - [《基督受鞭笞》:前后空间对照](https://en.wikipedia.org/wiki/The_Flagellation_of_Christ_(Piero_della_Francesca))

references/风格配方/40_raphael.md

  • Network accessline 44
    - [国家美术馆拉斐尔馆藏:不同阶段与题材](https://www.nationalgallery.org.uk/artists/raphael)
  • Network accessline 45
    - [《粉红色圣母》:亲密动作](https://www.nationalgallery.org.uk/paintings/raphael-the-madonna-of-the-pinks-la-madonna-dei-garofani)
  • Network accessline 46
    - [《雅典学院》:群组对照](https://en.wikipedia.org/wiki/The_School_of_Athens)

references/风格配方/41_michelangelo.md

  • Network accessline 44
    - [大都会米开朗基罗展厅:素描、雕塑与设计](https://www.metmuseum.org/exhibitions/listings/2017/michelangelo/exhibition-galleries)
  • Network accessline 45
    - [西斯廷顶画官方资料](https://www.museivaticani.va/content/museivaticani/en/collezioni/musei/cappella-sistina/volta.html)

references/风格配方/42_guardi.md

  • Network accessline 44
    - [《带废墟拱门的幻想景观》](https://www.nationalgallery.org.uk/paintings/francesco-guardi-a-caprice-with-a-ruined-arch)
  • Network accessline 45
    - [美国国家美术馆瓜尔迪作品集](https://www.nga.gov/artists/1363-francesco-guardi/artworks)
  • Network accessline 46
    - [《潟湖幻想景观》](https://www.nationalgalleries.org/art-and-artists/13736/lagoon-capriccio)

references/风格配方/43_lorenzetti.md

  • Network accessline 44
    - [意大利文化部:好政府的城市与乡野](https://catalogo.cultura.gov.it/approfondimento/l-allegoria-del-buon-governo-ambrogio-lorenzetti/il-buon-governo-citta-e-campagna)
  • Network accessline 45
    - [乌菲齐《献耶稣于圣殿》:不同空间题材](https://www.uffizi.it/opere/presentazione-al-tempio)
  • Network accessline 46
    - [完整壁画组:不同叙事情绪对照](https://en.wikipedia.org/wiki/The_Allegory_of_Good_and_Bad_Government)

references/风格配方/44_cortona.md

  • Network accessline 44
    - [乌菲齐:皮蒂宫暖室四时代壁画,与天顶作品交叉对照](https://www.uffizi.it/en/artworks/stove-room)
  • Network accessline 45
    - [Museum With No Frontiers:巴贝里尼天顶馆藏条目](https://baroqueart.museumwnf.org/database_item.php?id=monument%3BBAR%3Bit%3BMon11%3B18%3Bit&pageT=N)
  • Network accessline 46
    - [画家与作品目录:继续对照非天顶作品](https://en.wikipedia.org/wiki/Pietro_da_Cortona)

references/风格配方/45_renoir.md

  • Network accessline 44
    - [菲利普斯《船上的午宴》](https://www.phillipscollection.org/collection/luncheon-boating-party)
  • Network accessline 45
    - [芝加哥艺术博物馆《两姐妹》研究](https://publications.artic.edu/api/epub/paintingsanddrawings/135639/print_view)
  • Network accessline 46
    - [芝加哥艺术博物馆《费尔南多马戏团的杂技演员》](https://publications.artic.edu/api/epub/paintingsanddrawings/135637/print_view)

references/风格配方/46_pissarro.md

  • Network accessline 44
    - [《夜晚的蒙马特大道》:城市与系列观察](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-boulevard-montmartre-at-night)
  • Network accessline 45
    - [《西德纳姆大道》:不同城市空间](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-avenue-sydenham)
  • Network accessline 46
    - [《猪肉商》:近距离劳动题材](https://www.nationalgallery.org.uk/paintings/camille-pissarro-the-pork-butcher)

references/风格配方/47_sisley.md

  • Network accessline 44
    - [国家美术馆西斯莱馆藏与生平](https://www.nationalgallery.org.uk/artists/alfred-sisley)
  • Network accessline 45
    - [《马尔利勒鲁瓦的饮马池》及雪景系列](https://www.nationalgallery.org.uk/paintings/alfred-sisley-the-watering-place-at-marly-le-roi)
  • Network accessline 46
    - [苏格兰国家美术馆:雪景对照](https://www.nationalgalleries.org/art-and-artists/artists/alfred-sisley)

references/风格配方/48_gauguin.md

  • Network accessline 44
    - [大都会高更专题:跨媒介与象征主义](https://www.metmuseum.org/essays/paul-gauguin-1848-1903)
  • Network accessline 45
    - [《午休》:人物与平面空间](https://www.metmuseum.org/art/collection/search/436449)
  • Network accessline 46
    - [高更纽约馆藏展:绘画、雕塑、版画的差别](https://www.metmuseum.org/exhibitions/listings/2002/gauguin)

references/风格配方/49_chagall.md

  • Network accessline 44
    - [MoMA《我与村庄》](https://www.moma.org/collection/works/78984)
  • Network accessline 45
    - [MoMA《生日》](https://www.moma.org/collection/works/79360/)
  • Network accessline 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)

references/风格配方/50_ma_yuan.md

  • Network accessline 44
    - [大都会《月下赏梅》:视觉诗与情境](https://www.metmuseum.org/art/collection/search/44638)
  • Network accessline 45
    - [故宫《山径春行》馆藏展示](https://south.npm.gov.tw/SelectionsDetailC004100.aspx?Cond=c693cd84-df8f-4e6f-8724-d7025ac43c20)
  • Network accessline 46
    - [大都会《桃花源》图录:继续核对不同花鸟山水](https://resources.metmuseum.org/resources/metpublications/pdf/Peach_Blossom_Spring_Gardens_and_Flowers_in_Chinese_Painting.pdf)

references/风格配方/51_persian_miniature.md

  • Network accessline 44
    - [大都会:沙阿塔赫马斯普《列王纪》研究](https://www.metmuseum.org/essays/the-shahnama-of-shah-tahmasp)
  • Network accessline 45
    - [大都会:《列王纪》跨时期馆藏说明](https://www.metmuseum.org/art/collection/search/446551)
  • Network accessline 46
    - [大都会宫廷艺术教学材料:不同页画对照](https://www.metmuseum.org/learn/educators/curriculum-resources/~/media/Files/Learn/For%20Educators/Publications%20for%20Educators/Islamic%20Teacher%20Resource/Unit5.pdf)

references/风格配方/52_south_park.md

  • Network accessline 44
    - [South Park Studios:数字重建剪纸官方FAQ](https://southpark.cc.com/news/712d55/faq-do-you-still-use-construction-paper-to-animate-the-show)
  • Network accessline 45
    - [官方剧集入口:制作时选择不同场所与动作的片段对照](https://southpark.cc.com/)

references/风格配方/53_pixar.md

  • Network accessline 44
    - [Pixar RenderMan:风格化贯穿造型、材质、光和特效](https://prod.renderman.pixar.com/stories/stylization-at-pixar)
  • Network accessline 45
    - [Pixar《Luca》:影片级美术范围](https://www.pixar.com/luca)
  • Network accessline 46
    - [Pixar《Soul》:现实环境分支](https://www.pixar.com/soul)
  • Network accessline 47
    - [Pixar RenderMan:《Soul》的摄影、材质与光](https://renderman.pixar.com/stories/cinematography-with-soul)

schemas/media.schema.json

  • Network accessline 216
    },   "additionalProperties": false,   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 217
    "additionalProperties": false,   "$schema": "https://json-schema.org/draft/2020-12/schema",   "title": "Huashu media configuration"
  • Network accessline 218
    "$schema": "https://json-schema.org/draft/2020-12/schema",

scripts/analyze/breakdown.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/analyze/fetch_reference.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    UA = {'User-Agent': 'art-motion-research/1.0 (https://github.com/alchaincyf/huashu-art-motion)'}
  • Network accessline 25
    for k in range(tries):         try:             with urllib.request.urlopen(urllib.request.Request(url, headers=UA), timeout=timeout) as r:
  • Network accessline 26
    try:             with urllib.request.urlopen(urllib.request.Request(url, headers=UA), timeout=timeout) as r:                 return r.read()
  • Network accessline 27
    with urllib.request.urlopen(urllib.request.Request(url, headers=UA), timeout=timeout) as r:
  • Network accessline 35
    def api(**kw):     return json.loads(get('https://commons.wikimedia.org/w/api.php?' + urllib.parse.urlencode({**kw, 'format': 'json'})))
  • Network accessline 36
    return json.loads(get('https://commons.wikimedia.org/w/api.php?' + urllib.parse.urlencode({**kw, 'format': 'json'})))

scripts/analyze/regress_clips.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/analyze/side_by_side.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/analyze/stress_clip.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/audio/synth_艺术史速通.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/capabilities.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]

scripts/check_release.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 37
    [Credential-related source omitted]

scripts/clip_lint.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/deliver.py

  • Executable scriptline 1
    Executable file

scripts/engine/audit_clip.py

  • Executable scriptline 1
    Executable file

scripts/engine/clip.js

  • Executable scriptline 1
    Executable file
  • Network accessline 34
    const u = new URLSearchParams(location.search).get('spec');     if (!u) return fail('没有 spec:render.py --spec 会注入 window.CLIP_SPEC;预览用 clip.html?spec=examples/<名>.json');     spec = await (await fetch(u)).json();
  • Network accessline 35
    if (!u) return fail('没有 spec:render.py --spec 会注入 window.CLIP_SPEC;预览用 clip.html?spec=examples/<名>.json');     spec = await (await fetch(u)).json();     const base = u.replace(/[^/]*$/, '');
  • Network accessline 36
    spec = await (await fetch(u)).json();

scripts/engine/clips/t1_3b1b.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/t2_keynote_ui.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/t3_finance_chart.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/y1_kurzgesagt.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/y2_vox.js

  • Executable scriptline 1
    Executable file
  • Network accessline 50
    items.forEach((it, i) => {       if (it.kind === 'image') { it.done = it.q.at + 0.6; return; }       const nC = [...(it.q.text || '')].length, next = items[i + 1] ? items[i + 1].q.at : ctx.dur;
  • Network accessline 51
    if (it.kind === 'image') { it.done = it.q.at + 0.6; return; }       const nC = [...(it.q.text || '')].length, next = items[i + 1] ? items[i + 1].q.at : ctx.dur;       it.cps = clamp(nC / Math.max(0.3, next - it.q.at - 0.95 - 0.5), 13, 40);
  • Network accessline 52
    const nC = [...(it.q.text || '')].length, next = items[i + 1] ? items[i + 1].q.at : ctx.dur;
  • Network accessline 53
    it.cps = clamp(nC / Math.max(0.3, next - it.q.at - 0.95 - 0.5), 13, 40);
  • Network accessline 54
    it.done = it.q.at + nC / it.cps + 0.5;

scripts/engine/clips/y3_whiteboard.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/y4_storytime.js

  • Executable scriptline 1
    Executable file

scripts/engine/clips/y5_kinetic_type.js

  • Executable scriptline 1
    Executable file

scripts/engine/compare.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/engine/demos/_shared/hero.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/acts.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/crossing.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/world.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/xing2_ding.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/xing2_jia.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/lib/xing2_yi.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/segments/02_egypt.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/segments/14_8bit.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/long_scroll/segments/28_monet.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t1_3b1b/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t1_3b1b/t1_s1.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t1_3b1b/t1_s2.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t1_3b1b/t1_s3.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t2_keynote_ui/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t2_keynote_ui/t2_s1.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t2_keynote_ui/t2_s2.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t2_keynote_ui/t2_s3.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t3_finance_chart/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t3_finance_chart/t3_s1.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t3_finance_chart/t3_s2.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/t3_finance_chart/t3_s3.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y1_kurzgesagt/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y1_kurzgesagt/kurzgesagt.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y2_vox/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y2_vox/vox.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y3_whiteboard/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y3_whiteboard/whiteboard.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/s1_desk.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/s2_screen.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/s3_react.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/s4_wide.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/s5_close.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/story.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/vo_env.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y4_storytime/world.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/k1_title.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/k2_complete.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/k3_chat.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/k4_agent.js

  • Executable scriptline 1
    Executable file

scripts/engine/demos/y5_kinetic_type/kinetic.js

  • Executable scriptline 1
    Executable file

scripts/engine/engine.js

  • Executable scriptline 1
    Executable file

scripts/engine/eras.js

  • Executable scriptline 1
    Executable file

scripts/engine/eras_gallery.js

  • Executable scriptline 1
    Executable file

scripts/engine/eras_style_studies.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/brush.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/camera.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/chart.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/collage.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/diagram.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/finish.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/fonts.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/fonts/OFL.txt

  • Network accessline 4
    This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
  • Network accessline 6
    http://scripts.sil.org/OFL

scripts/engine/lib/kit.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/media.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/medium.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/motion.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/paint.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/palettes.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/post.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/render.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/rig.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/rig_huashu.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/three.min.js

  • Network accessline 1
    console.warn('Scripts "build/three.js" and "build/three.min.js" are deprecated with r150+, and will be removed with r160. Please use ES Modules or alternatives: https://threejs.org/docs/index.html#manual/en/introduction/Installation'),
  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 7
    function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).THREE={})}(this,(function(t){"use strict";cons

scripts/engine/lib/toon.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/typo.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/ui.js

  • Executable scriptline 1
    Executable file

scripts/engine/lib/util.js

  • Executable scriptline 1
    Executable file
  • Network accessline 46
    const inflate = async (buf) => new Uint8Array(await new Response(new Blob([buf]).stream().pipeThrough(new DecompressionStream('deflate'))).arrayBuffer()); async function readCmap(url) {   const ab = await (await fetch(url)).arrayBuffer(), d
  • Network accessline 47
    async function readCmap(url) {   const ab = await (await fetch(url)).arrayBuffer(), dv = new DataView(ab), sig = dv.getUint32(0);   let tab = null;
  • Network accessline 48
    const ab = await (await fetch(url)).arrayBuffer(), dv = new DataView(ab), sig = dv.getUint32(0);

scripts/engine/reference_films/rick_morty/index.html

  • Network accessline 2
    <html lang="zh-CN"><meta charset="utf-8"><title>Rick & Morty · 风格36</title> <style>html,body{margin:0;background:#222323}#stage{width:100vw;aspect-ratio:16/9}svg{display:block;width:100%;height:100%}nav{position:fixed;bottom:10px;left:10px;
  • Network accessline 3
    <style>html,body{margin:0;background:#222323}#stage{width:100vw;aspect-ratio:16/9}svg{display:block;width:100%;height:100%}nav{position:fixed;bottom:10px;left:10px;background:#eee6cf;padding:8px;font:14px sans-serif}input{width:240px}</styl
  • Network accessline 4
    <div id="stage"><svg id="scene" xmlns="http://www.w3.org/2000/svg" viewBox="0 4 1920 1080"></svg></div>

scripts/engine/reference_films/rick_morty/render.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 36
    pg.on('console', lambda m: (print('[page]', m.text), errors.append(m.text)) if m.type == 'error' else None)     pg.on('pageerror', lambda e: (print('[pageerror]', e), errors.append(str(e))))     pg.goto(f'http://127.0.0.1:{port}/index.html?
  • Network accessline 37
    pg.on('pageerror', lambda e: (print('[pageerror]', e), errors.append(str(e))))     pg.goto(f'http://127.0.0.1:{port}/index.html?render=1')     pg.wait_for_function('window.__ready === true', timeout=120000)
  • Network accessline 38
    pg.goto(f'http://127.0.0.1:{port}/index.html?render=1')

scripts/engine/reference_films/rick_morty/room.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/rick_morty/svg-kit.js

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    const INK = '#222323', LW = 2.35; const STILL = location.hash.includes('still'); const NS = 'http://www.w3.org/2000/svg';
  • Network accessline 6
    const NS = 'http://www.w3.org/2000/svg';

scripts/engine/reference_films/spacex/README.md

  • Network accessline 23
    上游:https://github.com/chanind/hanzi-writer-data/tree/v2.0.1
  • Network accessline 24
    原始数据项目:https://github.com/skishore/makemeahanzi
  • Network accessline 25
    许可原文:https://github.com/chanind/hanzi-writer-data/blob/master/ARPHICPL.TXT

scripts/engine/reference_films/spacex/eras_lin.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/eras_spacex.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/eras_vox.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/eras_wbx.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/rockets.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s01.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s02.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s03.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s04.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s05.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s06.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s07.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s08.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s09.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s10.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s11.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/scenes/s12.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/timing.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex/tm.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/common.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/presenter_meta.js

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 2
    window.LIN_META = {"bust": [{"src": "spacex_lin/assets/p_bust_0.png", "w": 640, "h": 705, "ax": 319.7, "ay": 705, "top": 8, "body": 697}, {"src": "spacex_lin/assets/p_bust_1.png", "w": 639, "h": 705, "ax": 319.1, "ay": 705, "top": 8, "body"

scripts/engine/reference_films/spacex/spacex_lin/scenes/s01.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s02.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s03.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s04.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s05.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s06.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s07.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s08.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s09.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s10.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s11.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/scenes/s12.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_lin/tools/prep_presenter.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/engine/reference_films/spacex/spacex_vox/common.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s01.js

  • Executable scriptline 1
    Executable file
  • Network accessline 43
    const tNote = G('最后'), tCirc = G('一发'); const NC = V.circle('s01note', 170, 58, 7);
  • Network accessline 44
    const NC = V.circle('s01note', 170, 58, 7);

scripts/engine/reference_films/spacex/spacex_vox/scenes/s02.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s03.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s04.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s05.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s06.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s07.js

  • Executable scriptline 1
    Executable file
  • Network accessline 69
    }); const SP = (() => { const g = PAINT.scratch('vxmeasure').getContext('2d'); return [V.span(g, T.h0 + T.h1, '第一次', 56, 70, F.serif), V.span(g, T.h0 + T.h1, '私人公司的飞船', 56, 70, F.serif)]; })(); const NC = V.circle('s07first', 128, 56, 31);
  • Network accessline 70
    const SP = (() => { const g = PAINT.scratch('vxmeasure').getContext('2d'); return [V.span(g, T.h0 + T.h1, '第一次', 56, 70, F.serif), V.span(g, T.h0 + T.h1, '私人公司的飞船', 56, 70, F.serif)]; })(); const NC = V.circle('s07first', 128, 56, 31); V.it
  • Network accessline 71
    const NC = V.circle('s07first', 128, 56, 31);

scripts/engine/reference_films/spacex/spacex_vox/scenes/s08.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s09.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s10.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_vox/scenes/s11.js

  • Executable scriptline 1
    Executable file
  • Network accessline 62
    const news = () => V.spr('s11news', NW, NH, (g, w, h) => { V.paper(g, w, h, 107, { amp: 5 }); V.text(g, T.kick, 56, 66, 34, F.type, C.ink2); g.fillStyle = C.ink; g.fillRect(56, 84, w - 112, 3); V.serifBold(g, T.head, 56, 190, 92); g.fillSty
  • Network accessline 63
    const HS = (() => { const g = PAINT.scratch('vxmeasure').getContext('2d'); return [V.span(g, T.head, '史上最大', 56, 92, F.serif), V.span(g, T.head, '最大', 56, 92, F.serif)]; })(); const NC = V.circle('s11big', 120, 70, 37); V.item({ key: 's11ne
  • Network accessline 64
    const NC = V.circle('s11big', 120, 70, 37);

scripts/engine/reference_films/spacex/spacex_vox/scenes/s12.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/assets/make_hand.py

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/assets/strokes.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/common.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s01.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s02.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s03.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s04.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s05.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s06.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s07.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s08.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s09.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s10.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s11.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/spacex_wb/scenes/s12.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/cardFlip.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/deskPullOut.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/kzBloom.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/lin_page.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/paperSlide.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/vox_pull.js

  • Executable scriptline 1
    Executable file

scripts/engine/reference_films/spacex/transitions/vox_slap.js

  • Executable scriptline 1
    Executable file

scripts/engine/render.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 103
    pg.add_init_script('window.CLIP_SPEC = ' + json.dumps(spec, ensure_ascii=False) + ';')         if a.audit: pg.add_init_script(AUDIT_JS)         pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')
  • Network accessline 104
    if a.audit: pg.add_init_script(AUDIT_JS)         pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')     else:
  • Network accessline 105
    pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')
  • Network accessline 108
    if not (a.width and a.height): raise SystemExit('--width 和 --height 要一起写')             pg.set_viewport_size({'width': a.width, 'height': a.height})         pg.goto(f'http://127.0.0.1:{port}/index.html?render=1' + (f'&film={a.film}' if a.fil
  • Network accessline 109
    pg.set_viewport_size({'width': a.width, 'height': a.height})         pg.goto(f'http://127.0.0.1:{port}/index.html?render=1' + (f'&film={a.film}' if a.film else '') + (f'&w={a.width}&h={a.height}' if a.width else ''))     pg.wait_for_functio
  • Network accessline 110
    pg.goto(f'http://127.0.0.1:{port}/index.html?render=1' + (f'&film={a.film}' if a.film else '') + (f'&w={a.width}&h={a.height}' if a.width else ''))
  • Possible obfuscationline 130
    (out / f't{float(s):06.2f}.png').write_bytes(base64.b64decode(pg.evaluate(grab, float(s))))
  • Possible obfuscationline 144
    ff.stdin.write(base64.b64decode(pg.evaluate(grab, i / a.fps)))

scripts/engine/scenes/01_cave.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/02_egypt.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/03_greek.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/04_roman.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/05_gothic.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/06_renaissance.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/08_impressionism.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/09_postimp.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/10_nouveau.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/11_cubism.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/12_bauhaus.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/13_pop.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/14_8bit.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/15_raytrace.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/16_2026.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/17_ink.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/18_klimt.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/19_munch.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/20_dunhuang.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/21_kusama.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/22_constructivism.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/23_dali.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/24_hopper.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/25_ghibli.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/26_vaporwave.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/27_kirby.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/28_monet.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/29_seurat.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/30_matisse.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/31_haring.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/32_rembrandt.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/33_rubberhose.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/34_shadowpuppet.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/35_shinkai.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/36_picasso_blue.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/38_giotto.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/39_piero.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/40_raphael.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/41_michelangelo.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/42_guardi.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/43_lorenzetti.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/44_cortona.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/45_renoir.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/46_pissarro.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/47_sisley.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/48_gauguin.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/49_chagall.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/50_ma_yuan.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/51_persian_miniature.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/52_south_park.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/53_pixar.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/54_ghibli_lab.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/55_dunhuang.js

  • Executable scriptline 1
    Executable file

scripts/engine/scenes/index.js

  • Executable scriptline 1
    Executable file

scripts/engine/spec_assets.py

  • Executable scriptline 1
    Executable file

scripts/engine/transitions.js

  • Executable scriptline 1
    Executable file

scripts/film_gate.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 444
    [Credential-related source omitted]
  • Access to secretsline 445
    [Credential-related source omitted]
  • Access to secretsline 607
    [Credential-related source omitted]

scripts/font_subset.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    默认字体:霞鹜文楷 Medium(LXGW WenKai,SIL Open Font License 1.1,可商用、可再分发、可嵌入), 没有源文件就从 https://github.com/lxgw/LxgwWenKai/releases 下 LXGWWenKai-Medium.ttf,用 --font 指过去。
  • Network accessline 21
    没有源文件就从 https://github.com/lxgw/LxgwWenKai/releases 下 LXGWWenKai-Medium.ttf,用 --font 指过去。

scripts/images.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/key_green.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/key_split.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/koubo.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 25
    HOST = "https://openspeech.bytedance.com"
  • Network accessline 54
    from capabilities import effective     config = ACTIVE_CONFIG or effective()[0]     session = requests.Session()
  • Network accessline 55
    config = ACTIVE_CONFIG or effective()[0]     session = requests.Session()     session.trust_env = config["bindings"]["volcengine"]["trust_env"]
  • Network accessline 56
    session = requests.Session()
  • Possible obfuscationline 154
    chunks.append(base64.b64decode(obj["data"]))

scripts/qa.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 209
    def img(b64, w=480): return np.asarray(Image.open(io.BytesIO(base64.b64decode(b64))).convert('RGB').resize((w, round(w * VH / VW)))).astype(np.int16)   # 按画幅缩,竖屏不压扁
  • Network accessline 234
    if spec:         pg.add_init_script('window.CLIP_SPEC = ' + json.dumps(spec, ensure_ascii=False) + ';')         pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')
  • Network accessline 235
    pg.add_init_script('window.CLIP_SPEC = ' + json.dumps(spec, ensure_ascii=False) + ';')         pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')     else:
  • Network accessline 236
    pg.goto(f'http://127.0.0.1:{port}/clip.html?render=1')
  • Network accessline 237
    else:         pg.goto(f'http://127.0.0.1:{port}/index.html?render=1' + (f'&film={a.film}' if a.film else ''))     pg.wait_for_function('window.__ready === true || !!window.__bootFailed', timeout=180000)
  • Network accessline 238
    pg.goto(f'http://127.0.0.1:{port}/index.html?render=1' + (f'&film={a.film}' if a.film else ''))

scripts/storyboard_lint.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/subzone_gate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/voice_review.py

  • Executable scriptline 1
    Executable file

tests/test_capabilities.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]

tests/test_clip_theme.py

  • Executable scriptline 1
    Executable file

tests/test_clip_world.py

  • Executable scriptline 1
    Executable file

tests/test_film_gate.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]

tests/test_film_gate_blank.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 35
    [Credential-related source omitted]

tests/test_film_gate_color.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 27
    [Credential-related source omitted]

tests/test_images.py

  • Executable scriptline 1
    Executable file

tests/test_local_server.py

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 36
    exec(compile(ast.Module(body=nodes, type_ignores=[]), str(ROOT / relative), 'exec'), namespace)
  • Network accessline 53
    worker = threading.Thread(target=server.serve_forever, daemon=True)                     worker.start()                     idle = socket.create_connection(server.server_address, timeout=3)
  • Network accessline 54
    worker.start()                     idle = socket.create_connection(server.server_address, timeout=3)                     self.assertTrue(accepted.wait(3), 'idle connection was not accepted')
  • Network accessline 55
    idle = socket.create_connection(server.server_address, timeout=3)
  • Network accessline 56
    self.assertTrue(accepted.wait(3), 'idle connection was not accepted')                     url = 'http://127.0.0.1:%s/asset.js' % server.server_address[1]                     def fetch(_):
  • Network accessline 57
    url = 'http://127.0.0.1:%s/asset.js' % server.server_address[1]
  • Network accessline 58
    def fetch(_):

tests/test_release.py

  • Executable scriptline 1
    Executable file

tests/test_storyboard_lint.py

  • Executable scriptline 1
    Executable file

tests/test_voice_review.py

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 3 facts
Signal confidence: 497 facts

and 447 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

alchaincyf/huashu-art-motion: #230 on hotskills, 6.4k stars

[![alchaincyf/huashu-art-motion on hotskills](https://hotskills.dev/badge/alchaincyf-huashu-art-motion.svg)](https://hotskills.dev/skill/alchaincyf-huashu-art-motion/)