dont-track-me-google
Firefox and Chrome extensions to prevent Google from making links ugly.
DeepTime Mammalia:交互式哺乳纲演化树,3D 螺旋序幕 + D3.js 动态时间树,跨越 2 亿年 | Interactive mammalian phylogeny with 3D spiral intro & D3.j…
中文 | English
从合弓纲的余晖,到新生代的繁盛。
跨越 2 亿年的生命史诗,尽在指尖流转。
DeepTime Mammalia 是一个运行于现代浏览器端的交互式数据可视化作品。不同于枯燥的教科书图表,本项目利用 WebGL 和 CSS3D 技术,试图重构我们对"演化时间"的感知。
项目基于最新的 Mammal Diversity Database (MDD) v2.3 分类系统,将从二叠纪末期的合弓纲祖先到现代哺乳动物的 167 个科、上千个演化节点,通过双螺旋画廊与动态演化树的形式呈现。
🌟 亮点: 本项目不仅包含科学数据,还隐藏了一个关于"祖先"的彩蛋模式,等待你去发现。
如果你想沿着另一条羊膜动物主线继续探索,也可以查看姊妹项目 DeepTime Sauropsida:它聚焦鸟类、鳄类、龟鳖类、喙头类与有鳞类,把现生蜥形纲重新放回约 3 亿年的深时背景中。
👉 GitHub:https://github.com/SeanWong17/Sauropsida-tree
Three.js (CSS3DRenderer) 构建,象征生命的遗传密码。| 3D 螺旋画廊 | 演化树概览 |
|---|---|
![]() |
![]() |
| 资料卡片 | 溯源彩蛋 |
|---|---|
![]() |
![]() |
本项目采用 Vanilla JavaScript (ES6+) 开发,运行时无需构建步骤;第三方依赖固定版本并随项目自托管。
项目采用模块化设计,便于维护和扩展。图片按需加载为独立、内容哈希命名的 WebP,无需后端环境。
Mammalia-tree-main/
├── assets/ # 静态资源
│ ├── images/ # 167 张按需加载的 WebP
│ └── logo.png # 项目 Logo
├── data/ # 数据文件
│ ├── data.js # 演化树拓扑数据 (JSON Object)
│ └── images_manifest.js # 图片内容哈希清单
├── examples/ # 演示截图
├── src/ # 源代码
│ ├── css/
│ │ └── style.css # 主样式文件
│ └── js/
│ ├── config.js # 全局配置(性能、布局等)
│ ├── i18n.js # 国际化配置(中英文)
│ ├── utils.js # 工具函数库
│ ├── easter_egg_data.js # 彩蛋数据
│ ├── gallery.js # WebGL 与 CSS3D 画廊
│ ├── tree.js # D3 演化树
│ └── app.js # 生命周期与 UI 控制器
├── scripts/ # 数据校验、依赖同步和开发服务器
├── tests/ # Node.js 与 Playwright 回归测试
├── vendor/ # 固定版本的浏览器运行时依赖
├── index.html # 入口文件
├── package.json # 开发与测试命令
├── README.md # 中文说明
└── README_EN.md # English Documentation
运行资源均为本地静态文件,项目可直接预览,也可使用内置开发服务器:
index.html 即可在浏览器中流畅运行。npm install npm start
然后访问 http://127.0.0.1:4173。提交前可运行 npm run check 与 npm run test:browser。
项目支持通过 src/js/config.js 进行自定义配置:
// 性能配置
performance: {
particleCount: { desktop: 2000, mobile: 1000 }, // 粒子数量
cardCount: { base: 30, min: 35, max: 80 } // 卡片数量
}
// 3D 场景配置
scene3D: {
helix: { radiusBase: 600, yStep: 30 }, // 螺旋半径和间距
camera: { targetZDesktop: 2000 } // 相机位置
}
// 树形图配置
tree: {
width: { desktop: 2000, mobile: 1200 }, // 树宽度
nodeSpacing: 45, // 节点间距
zoom: { scaleExtent: [0.15, 3] } // 缩放范围
}
本项目的诞生离不开开源社区与 AI 技术的协作:
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
more like this
Firefox and Chrome extensions to prevent Google from making links ugly.
search projects, people, and tags