Ethscriptions commited on
Commit
c2d12fe
·
1 Parent(s): 7c91470

solana-clock: 计划与大纲 (README)

Browse files
Files changed (2) hide show
  1. README.md +114 -1
  2. index.html +1 -0
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: 知识动画工作室 · 四部动画
3
  emoji: 🐒
4
  colorFrom: yellow
5
  colorTo: red
@@ -8,6 +8,119 @@ app_file: index.html
8
  pinned: false
9
  ---
10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  # 🐒 收猴子的故事 —— 网页动画视频项目(shouhouzi)
12
 
13
  > 用知识区博主「子木土土」式的讲法(口语化、设问开场、手绘涂鸦画风、算账拆解、最后升华),
 
1
  ---
2
+ title: 知识动画工作室 · 五部动画
3
  emoji: 🐒
4
  colorFrom: yellow
5
  colorTo: red
 
8
  pinned: false
9
  ---
10
 
11
+ <!-- solana-clock:start -->
12
+ # ⏱️ 项目五(全新制作):SOLANA —— 给区块链装上时钟的人(solana-clock/)
13
+
14
+ > 用一支 **约 5 分钟** 的网页动画视频,讲完 Solana / SOL 从 2017 年一个深夜的灵感,到 2026 年的完整发展历程。
15
+ > **全新制作**:文案、分镜、画面代码、音乐、音效、旁白全部从零编写,**不参考**仓库中任何旧目录(包括旧的 `solana/`)。
16
+ > 新作品全部位于 **`solana-clock/`** 目录,打开 `solana-clock/index.html` 即可播放。
17
+
18
+ ## 0. 进度看板(每完成一个大动作就推送一次到 Ethscriptions/POLS)
19
+
20
+ | # | 阶段 | 状态 |
21
+ |---|------|------|
22
+ | 1 | 写计划 / 大纲 / 步骤(本节) | ✅ 完成 |
23
+ | 2 | 旁白文案定稿 + TTS 配音 + 时长清单 + 字体子集 + SOL 真实价格数据 | ⏳ 进行中 |
24
+ | 3 | 动画引擎 + 全部场景(横屏 16:9 / 竖屏 9:16 双布局 + 烧录字幕 + 安全区) | ⬜ 待做 |
25
+ | 4 | 程序化音乐 + 合成音效 + 旁白闪避混音 | ⬜ 待做 |
26
+ | 5 | 播放器 UI + 浏览器本地 MP4 导出(24 / 30 / 60 fps,横屏 / 竖屏) | ⬜ 待做 |
27
+ | 6 | 抖音 / B站 发布标题、简介、标签(一键复制) | ⬜ 待做 |
28
+ | 7 | 横屏 1920×1080 / 竖屏 1080×1920 封面图 | ⬜ 待做 |
29
+ | 8 | 无头浏览器自动化测试 + 修复 + 最终推送 | ⬜ 待做 |
30
+
31
+ ## 1. 创意核心
32
+
33
+ **一句话主题:** Solana 的第一个发明是「证明时间」(Proof of History);而它最终需要的,也是「时间」来证明自己。
34
+
35
+ 整支片子用 **「时钟 / 时间」** 作为视觉母题贯穿:
36
+ 开场是滴答声与一条不断自我哈希的光链;每一章用一个巨大的「年份时钟」翻页转场;
37
+ 价格曲线、宕机、FTX 崩塌、重生,全部挂在这条「时间链」上;结尾时钟停在 2026 年,回扣主题。
38
+
39
+ 视觉风格:**深空霓虹 + 数据可视化**。Solana 品牌渐变(紫 #9945FF → 青绿 #14F195),
40
+ 发光粒子、哈希光链、等距节点网络、真实价格曲线动画、故障风(宕机)、碎裂坍塌(FTX)、凤凰式重生(2023)、烟花(ATH)。
41
+
42
+ ## 2. 分镜大纲(15 个场景,约 5 分钟)
43
+
44
+ | # | 场景 ID | 时间点 | 内容 | 关键画面 | 音乐情绪 |
45
+ |---|---|---|---|---|---|
46
+ | 1 | hook | — | 设问开场:一条链凭什么这么快?又凭什么摔得那么惨还能爬回来? | 黑屏 → 滴答 → 光链点亮 → Solana 三道杠 Logo 组装 | 悬念脉冲 |
47
+ | 2 | night | 2017.11 | 高通老兵 Anatoly Yakovenko,深夜两杯咖啡一杯啤酒,想到「给区块链装时钟」 | 深夜书桌、台灯、咖啡杯、白板公式 | 低保真夜曲 |
48
+ | 3 | poh | 原理 | 历史证明:SHA-256 一环套一环,事件插进链里就带上了时间戳 | 哈希珠串流动、事件插入、对比「没有时钟的会议」 | 电子律动 |
49
+ | 4 | name | 2018 | 原名 Loom,撞名后改为 Solana —— 圣地亚哥北边的海滨小镇 Solana Beach | 海浪夕阳、文字 Loom → Solana 变形 | 温暖合成器 |
50
+ | 5 | build | 2018-19 | 联合创始人团队(Raj Gokal、Greg Fitzgerald、Stephen Akridge),测试网,2019 年 Multicoin 领投 A 轮 | 节点网络逐个点亮 | 推进 |
51
+ | 6 | mainnet | 2020.3 | 「312」大暴跌后四天,主网 Beta 上线(3 月 16 日) | 红色暴跌背景 + 倒计时发射 + 创世区块 | 紧张→释放 |
52
+ | 7 | rise | 2021 | 生态爆发:Serum、Raydium、Phantom、Magic Eden、NFT;SOL 从 1.5 美元到 259 美元 | 真实价格曲线攀升,生态气泡涌现 | 高能合成波 |
53
+ | 8 | outage | 2021-22 | 2021.9.14 机器人交易洪水导致约 17 小时停摆,此后多次宕机 | 故障风、节点熄灭、OFFLINE 警报 | 故障电子 |
54
+ | 9 | ftx | 2022.11 | FTX 崩塌,SOL 跌至 9.69 美元(2022.12.30 收盘),一年跌超 94% | 高塔碎裂、曲线跳水 | 低沉崩塌 |
55
+ | 10 | rebuild | 2023 | 社区自救:OpenBook 分叉、BONK 空投、Firedancer、状态压缩、Helium 迁移、Saga 手机 | 碎片重组、凤凰升起 | 希望渐强 |
56
+ | 11 | meme | 2024 | Jupiter 空投、pump.fun、Meme 狂潮,DEX 交易量多次超越以太坊 | Meme 气泡、交易量对比柱 | 欢快狂热 |
57
+ | 12 | ath | 2025.1 | 2025.1.19 SOL 收盘 262 美元,创历史新高 | 烟花 + 数字滚动 | 高潮 |
58
+ | 13 | wall | 2025 | 华尔街入场:现货 SOL ETF、上市公司储备、Alpenglow 共识升级 | 大楼、K 线、闪电 | 庄重 |
59
+ | 14 | now | 2026 | 全程真实价格曲线回放 + 截至 2026.10.7 约 117 美元 | 2020→2026 全曲线 + 里程碑标注 | 回顾 |
60
+ | 15 | outro | — | 主题升华 + 互动引导 + 免责声明 | 时钟停摆、Logo、三连 | 余韵 |
61
+
62
+ ## 3. 技术方案
63
+
64
+ | 模块 | 方案 |
65
+ |---|---|
66
+ | 画面 | 原生 Canvas 2D,**纯函数式渲染 `render(t)`**:任意��间点都能精确重绘 → 预览与导出完全一致、可逐帧离线渲染 |
67
+ | 布局 | 横屏 1920×1080(B站)与竖屏 1080×1920(抖音)两套布局,所有元素按「安全区」排布 |
68
+ | 竖屏安全区 | 顶部 ≈ 230px(刘海/状态栏/抖音顶栏),底部 ≈ 440px(标题文案/音乐条/底部导航),右侧 ≈ 150px(点赞评论按钮栏);预览中可开启参考线 |
69
+ | 字幕 | 烧录进画面,横屏在底部,竖屏在底部安全线之上 |
70
+ | 旁白 | Edge 神经网络 TTS(zh-CN-YunxiNeural 主旁白 + zh-CN-XiaoxiaoNeural 新闻播报腔)预生成 MP3,附时长清单;画面动画按旁白每句的起点对齐 |
71
+ | 音乐 | Web Audio 程序化合成(Pad / 琶音 / 贝斯 / 鼓组 / 上升音效),按场景切换情绪与和弦;固定随机种子保证每次一致 |
72
+ | 音效 | 合成:滴答、哈希嘀嗒、嗖、冲击、故障、警报、碎裂、硬币、烟花、翻页等 |
73
+ | 混音 | OfflineAudioContext 分窗渲染 → 旁白侧链闪避(ducking)→ 软限幅,生成整条立体声音轨;播放和导出共用同一条音轨 |
74
+ | 导出 MP4 | 浏览器本地:WebCodecs + mediabunny 封装;H.264 + AAC,不支持时自动回退;**24 / 30 / 60 fps** 可选;横/竖屏可选;带进度条与取消 |
75
+ | 数据 | SOL 历史日线价格来自 Surf 数据 API 的真实快照(2020-04-10 → 2026-10-07),打包为静态 JS |
76
+ | 字体 | Noto Sans SC 按全片用字做子集(woff2),保证导出画面在任何电脑上字形一致 |
77
+ | 发布文案 | 抖音 / B站 标题、简介(B站自动生成章节时间戳)、标签,一键复制 |
78
+ | 封面 | 网页内实时绘制并下载 PNG;同时提供静态 `covers/cover-landscape.png`、`covers/cover-portrait.png` |
79
+
80
+ ## 4. 目录结构
81
+
82
+ ```
83
+ solana-clock/
84
+ ├── index.html 播放器页面
85
+ ├── css/app.css
86
+ ├── js/
87
+ │ ├── main.js 播放器 UI / 控制
88
+ │ ├── timeline.js 旁白时长 → 场景时间轴
89
+ │ ├── script.js 旁白文案 + 场景表
90
+ │ ├── draw.js 绘图工具(发光、文字、缓动、粒子)
91
+ │ ├── scenes.js 15 个场景的渲染函数
92
+ │ ├── audio.js 音乐 + 音效 + 混音
93
+ │ ├── exporter.js MP4 导出
94
+ │ ├── publish.js 发布文案
95
+ │ └── data-sol.js SOL 真实价格数据
96
+ ├── audio/ 旁白 MP3 + manifest.json
97
+ ├── fonts/ 子集字体
98
+ ├── covers/ 横竖屏封面 PNG
99
+ ├── vendor/mediabunny.min.mjs
100
+ └── tools/ 配音生成 / 字体子集 / 截图测试脚本
101
+ ```
102
+
103
+ ## 5. 执行步骤
104
+
105
+ 1. 写本计划并推送。
106
+ 2. 定稿旁白 → `tools/build_voice.py` 生成 MP3 与时长 → 拉取 SOL 真实价格 → 字体子集化 → 推送。
107
+ 3. 写动画引擎和 15 个场景,横竖屏都逐场截图检查 → 推送。
108
+ 4. 写音乐/音效/混音 → 推送。
109
+ 5. 播放器、导出 MP4(帧率、方向选择、进度)→ 推送。
110
+ 6. 发布文案 + 封面 → 推送。
111
+ 7. 无头 Chromium 自动测试:逐场截图、导出一段 MP4 校验 → 修复 → 最终推送。
112
+
113
+ ## 6. 事实核查说明
114
+
115
+ - 价格均为 **日收盘价**(Surf 数据快照),盘中最高价会更高(例如 2025-01-19 盘中约 295 美元)。
116
+ - 内容仅为科普回顾,**不构成任何投资建议**。
117
+
118
+ ---
119
+
120
+
121
+ <!-- solana-clock:end -->
122
+
123
+
124
  # 🐒 收猴子的故事 —— 网页动画视频项目(shouhouzi)
125
 
126
  > 用知识区博主「子木土土」式的讲法(口语化、设问开场、手绘涂鸦画风、算账拆解、最后升华),
index.html CHANGED
@@ -12,6 +12,7 @@ a.card div{padding:14px 16px}a.card b{font-size:19px}a.card span{display:block;o
12
  </style></head><body>
13
  <h1>知识动画工作室</h1><p>网页即播 · 浏览器本地导出 MP4 · 横屏 B站 / 竖屏抖音</p>
14
  <div class="grid">
 
15
  <a class="card" href="ethereum/index.html"><img src="ethereum/covers/cover-landscape.png" alt="以太坊简史" onerror="this.style.visibility='hidden'"><div><b>⟠ 以太坊简史:从一份白皮书到世界计算机</b><span>2013 → 2026 · 深空光之晶体风格 · 约 7 分钟</span></div></a>
16
  <a class="card" href="guozu/index.html"><img src="guozu/covers/cover-landscape.png" alt="国足投注模拟器" onerror="this.style.visibility='hidden'"><div><b>⚽ 国足投注模拟器:每场押 ¥100,23 年后还剩多少?</b><span>2002 → 2026.10 · 149 场正式比赛 + 8 场友谊赛彩蛋 · 8-bit 像素街机风 · 约 5 分 50 秒 · 数据模拟,远离赌博</span></div></a>
17
  <a class="card" href="shouhouzi/index.html"><img src="shouhouzi/covers/cover-landscape.png" alt="收猴子的故事"><div><b>🐒 收猴子的故事</b><span>经济学寓言 · 手绘涂鸦风格 · 6 分 22 秒</span></div></a>
 
12
  </style></head><body>
13
  <h1>知识动画工作室</h1><p>网页即播 · 浏览器本地导出 MP4 · 横屏 B站 / 竖屏抖音</p>
14
  <div class="grid">
15
+ <a class="card" href="solana-clock/index.html"><img src="solana-clock/covers/cover-landscape.png" alt="SOLANA 给区块链装上时钟的人" onerror="this.style.visibility='hidden'"><div><b>⏱️ SOLANA:给区块链装上时钟的人</b><span>2017 → 2026 · 全新制作 · 时间之链霓虹风 · 约 5 分钟</span></div></a>
16
  <a class="card" href="ethereum/index.html"><img src="ethereum/covers/cover-landscape.png" alt="以太坊简史" onerror="this.style.visibility='hidden'"><div><b>⟠ 以太坊简史:从一份白皮书到世界计算机</b><span>2013 → 2026 · 深空光之晶体风格 · 约 7 分钟</span></div></a>
17
  <a class="card" href="guozu/index.html"><img src="guozu/covers/cover-landscape.png" alt="国足投注模拟器" onerror="this.style.visibility='hidden'"><div><b>⚽ 国足投注模拟器:每场押 ¥100,23 年后还剩多少?</b><span>2002 → 2026.10 · 149 场正式比赛 + 8 场友谊赛彩蛋 · 8-bit 像素街机风 · 约 5 分 50 秒 · 数据模拟,远离赌博</span></div></a>
18
  <a class="card" href="shouhouzi/index.html"><img src="shouhouzi/covers/cover-landscape.png" alt="收猴子的故事"><div><b>🐒 收猴子的故事</b><span>经济学寓言 · 手绘涂鸦风格 · 6 分 22 秒</span></div></a>