打开就能看全部 517 条知识点与 92 个 3D 场景,不弹登录框。收藏与播放进度写 localStorage。
邮箱 + 6 位验证码登录,只买一件事:跨设备记住收藏、历史和看到第几拍第几秒。
拿到与用户完全相同、但已是服务端渲染好的 HTML:完整正文、面包屑、JSON-LD、hreflang。
HTML + JS + GLB + mp3,无源站、无数据库直连。CSP 只允许 self;X-Content-Type-Options、Referrer-Policy、Permissions-Policy 全开。three.min.js 687KB、单 GLB < 2MB,均 immutable 一年。/math/7a/01/05/),首屏即有完整正文、面包屑、重点难点,不依赖 JS。LearningResource + BreadcrumbList + FAQPage,让搜索与 AI 直接引用。/zh/… 与 /en/… 并行,互挂 hreflang,缺译文时自动回退中文并标注。sitemap.xml、robots.txt、llms.txt、RSS —— 全部由构建脚本生成,不手写。mount / scrub(beat, t) / setLanguage / destroy。页面只认这四个方法,不认引擎。t 的纯函数,可任意拖拽停顿;拍长由 mp3 真实时长反推,不手写常量。users / favorites / history 三表,自带邮箱 OTP,不自建服务器。feedback:纠错 / 想看的知识点 / 体验建议。投票直接回流排期。output/01~03_知识点总纲.md
加 data/scenes.yaml(92 场景)
加 locales/*.json
空节 / 空知识点 / 重复 ID 立即 exit(1);场景未挂节数必须为 0;公式噪声白名单
build_data.py → curriculum.js
同时生成 137 个静态 HTML、sitemap、JSON-LD、llms.txt
一条 python tools/check_all.py 跑完 16 项检查,退出码即结论;CI 可直接接
产物目录整体上传 CDN,原子切换;回滚 = 换回上一个产物版本
内容 / 编译 / 渲染 / 状态四层单向依赖;加一节内容只改 Markdown,加一个场景只加一个文件 + 一条 yaml。
色板字号全在 ds.css 的变量里;文案全部进数据,场景代码里不出现大段教学文本。
137 个真实 URL + JSON-LD + 语义正文;3D 只是增强,爬虫拿到的和用户读到的是同一份文字。
/zh/ 与 /en/ 并列,hreflang 互指;译文缺失自动回退并标注,不阻塞上线。
登录只解锁"跨设备记住"。全站任何一个 URL 都不存在登录墙;本地记录登录后可合并。
详情页每节都有"这节没讲清"入口;愿望单列出 52 节尚无 3D 的内容供投票,票数回流排期。
内容全静态,CDN 吸收流量;只有 3 个动态接口,全限流 + 验证码;CSP 禁一切第三方脚本。
不做服务端个性化推荐、不做实时协作、不做评论区。孩子来这里是学知识,不是来社交。