Commit Graph
14 Commits
Author SHA1 Message Date
fukunee 89d51a7f59 便签不拦截事件:滚轮/右键穿透,左键改为canvas命中选中 2026-09-19 17:10:07 +08:00
fukunee 906e53f1d5 发布:完整项目代码(三视图 + 词条数据 + 加载页等) 2026-09-19 16:53:18 +08:00
fukunee 86ee03f4a6 重写选中便签的黑边为干净的外描边 2026-09-19 14:13:25 +08:00
fukunee f701862e5a 性能优化:Cesium 懒加载+后台预载、按需渲染、射线检测节流、城市标签 primitive 化、时间轴纹理跟随可视区域
- Cesium 改为动态加载(vite 插件不再注入 6MB 脚本),首屏零 Cesium 请求
- 首帧渲染后后台预载地理视图,loading 展示 8 秒期间并行,就绪前地理按钮置灰
- Three.js 按需渲染:静止停止重绘,动画/交互/状态变化时渲染
- 射线检测合帧节流,binder 只测当前页±1、时间轴只测可视窗口
- 移除 vignette 的 mix-blend-mode 全屏合成
- 7342 个城市从 entity 改为 PointPrimitiveCollection + LabelCollection
- 时间轴懒加载窗口跟随可视区域(拖拽/缩放实时跟随)
2026-09-19 03:21:27 +08:00
fukunee 213b2fe7a1 导航栏等 HUD 元素置顶(z-index 40) 2026-09-19 02:33:42 +08:00
fukunee 159b98d232 信息卡片置顶(z-index 30) 2026-09-19 02:29:25 +08:00
fukunee fade9eedc2 标记便签改为 DOM 覆盖层,修复近距离缩放漂移 2026-09-19 02:25:05 +08:00
fukunee 32bb48cc0b Add loading overlay while scenes initialize
- Show a spinner overlay that fades out once Cesium globe
  data is ready, with a 1s minimum and 8s timeout
- Expose a ready promise on CesiumGlobe resolved after country
  and city data load
- Remove temporary inspect script
2026-09-19 01:18:15 +08:00
fukunee 58bc998c6e Lazily create and toggle Cesium globe visibility
The globe container now uses a `visible` class instead of
`display`, allowing the Cesium viewer to be pre-created on page
load while remaining hidden until the geographic view is selected.
2026-09-19 01:12:45 +08:00
fukunee 71750e5dad Expand chronicle to 300 entries with world data
Add a generator script that produces the entries dataset, dedupe
entries sharing coordinates, and ship world city and country
GeoJSON assets for the globe view.

Make the timeline card spacing derive from entry count, move the
view switcher into the bottom bar, and align card and label fonts
with the timeline titles.
2026-09-19 01:07:41 +08:00
fukunee 9a1a3685ce Tune camera and timeline controls, add globe fly-to
- Clamp binder/timeline zoom ranges and disable OrbitControls zoom,
  using custom smooth zoom instead
- Disable middle/right mouse buttons; reduce rotate speed
- Fly camera to picked marker on globe click
- Rebuild leather surfaces with a regular grid for smooth curvature
- Refine suede and kraft paper textures, punch real page holes
- Reposition axis, time labels, and detail card; speed up iris fade
2026-09-18 22:46:26 +08:00
fukunee 94fde7942f Prevent text selection and restrict globe/camera controls
Disable copy, cut, and context menu site-wide, and limit Cesium
camera input to left-drag rotation and wheel zoom only. Also speed
up page flip animation from 1.3s to 0.6s with an ease-out curve for
a snappier feel.
2026-09-18 21:39:11 +08:00
fukunee 13d3ef180a Replace Three.js globe with Cesium
Migrate the globe view to a Cesium viewer with Esri satellite
imagery and terrain, dropping the custom blue-marble texture and
dot-bead rendering. Add vite-plugin-cesium and a container element
for the viewer.

Also rework the binder leather and suede materials with dedicated
normal maps, and refine timeline labels and page hole sizing.
2026-09-18 21:29:30 +08:00
fukunee 4e818d53e3 Add 3D loose-leaf chronicle of human civilisation
A Three.js site presenting 20 world history milestones as
double-sided loose-leaf pages, with three views: a leather
binder with page-flip animation, a golden timeline, and a
dotted globe with great-circle arcs.

All textures (paper, leather, registration cards, and 18
hand-drawn sketches) are generated procedurally via Canvas
2D, so no external image assets are needed beyond the Earth
map. Includes dev helper scripts for screenshots, ASCII
previews, and headless verification.
2026-09-18 19:19:53 +08:00