Commit Graph
74 Commits
Author SHA1 Message Date
fukunee 2041004bfd 去掉标签显示距离限制与淡出 2026-09-19 16:36:54 +08:00
fukunee bd1618e226 标签1km内不深度测试,避免近处消失 2026-09-19 16:34:49 +08:00
fukunee db1a30cac2 缩放下限降到500m,低空 tilt 时减少碰撞回弹 2026-09-19 16:31:55 +08:00
fukunee 166833338e 移除 tilt 50° 限制 2026-09-19 16:27:58 +08:00
fukunee 53e7b551d0 tilt 50° 限制改用 postUpdate pitch 夹取,避免极限抖动 2026-09-19 16:26:01 +08:00
fukunee 9f1de616ea tilt 最大角度限制为 50° 2026-09-19 16:17:24 +08:00
fukunee c04efa849a 缩放下限从10km放宽到3km 2026-09-19 16:16:51 +08:00
fukunee 7ffcbbcfee 便签:未选中金底黑字带1px黑边,选中黑底金字带金边 2026-09-19 16:16:20 +08:00
fukunee 7f6855d9ae 标签改小;国家名近处不再隐藏 2026-09-19 16:14:41 +08:00
fukunee 2fe14ae09f 国家/城市标签开启深度测试,背面不渲染 2026-09-19 16:13:59 +08:00
fukunee 8ca2e9ebe3 右键原生 tilt 松开后自动回位 2026-09-19 16:08:25 +08:00
fukunee 0cd4018fcf 右键改回 Cesium 原生 tilt,移除自定义环视逻辑 2026-09-19 16:06:41 +08:00
fukunee 114cf32597 右键按下时取消左键惯性余力,避免叠加旋转 2026-09-19 16:01:25 +08:00
fukunee 57747e38c7 恢复北朝上 roll 计算(关闭后确实又转又倾斜) 2026-09-19 15:50:04 +08:00
fukunee 60988c5df8 关闭北朝上限制(roll 固定 0)供对比测试 2026-09-19 15:47:27 +08:00
fukunee 13f8023621 右键环视:计算北朝上所需的 roll,消除倾斜时的附加旋转 2026-09-19 15:45:54 +08:00
fukunee 34e6ce6d5c 恢复左键旋转的惯性(此前误关,非问题根源) 2026-09-19 15:39:53 +08:00
fukunee b0e68f3f32 恢复绕注视点轨道倾倒,用 ENU 直接求 heading/pitch 修复近天底奇点 2026-09-19 15:31:42 +08:00
fukunee 91999e25e5 右键环视改为原地倾倒(直接算 heading/pitch,修复近天底奇点翻转),并关闭相机惯性 2026-09-19 15:21:27 +08:00
fukunee 0cb6e46b92 右键环视球心改为地形表面点,统一视觉中心与旋转中心 2026-09-19 15:05:31 +08:00
fukunee 2dae2d2ff2 对调右键环视两轴:左右=经度方向,上下=纬度方向 2026-09-19 14:59:57 +08:00
fukunee 7a99756fc6 右键环视:左右=纬度方向倾倒,上下=经度方向倾倒,强制北朝上 2026-09-19 14:58:04 +08:00
fukunee 0357bb0fb1 右键环视:up 随方向一起旋转(保留 roll),修复左右拽异常 2026-09-19 14:52:45 +08:00
fukunee ccd3efde17 右键环视旋转中心改为屏幕中心点,消除按下即瞬移 2026-09-19 14:49:54 +08:00
fukunee 66fac3771d 右键环视改为手动绕点击点旋转,精确限制 ±40°/±20°,松开归位 2026-09-19 14:45:22 +08:00
fukunee e8745fa45f 右键环视限制:左右旋转 ±40°、上下倾角 ±20°,松开归位 2026-09-19 14:40:00 +08:00
fukunee 1126f9a79e 右键 tilt 松开后自动归位(记录/恢复相机状态) 2026-09-19 14:36:37 +08:00
fukunee 0dd279f2b5 修复:ImageryLayer rectangle 用构造参数设置 2026-09-19 14:33:07 +08:00
fukunee 67ad4f29af 限制卫星影像到 ±85°,极区改用冰盖底色解决黑洞 2026-09-19 14:32:01 +08:00
fukunee 018d5787da 南北极未覆盖区域改为冰盖浅色,解决黑洞 2026-09-19 14:30:01 +08:00
fukunee 5ab9bce49d 右键环视改用 Cesium 原生 tilt 行为,移除手写实现 2026-09-19 14:27:37 +08:00
fukunee 656f535467 修复右键环视:RIGHT_DRAG 不存在,改用 MOUSE_MOVE 2026-09-19 14:25:29 +08:00
fukunee 3bbfedeefa 地表附近支持右键环视(以点击点为球心,松开归位) 2026-09-19 14:23:31 +08:00
fukunee 0715b38b81 地理视图等瓦片加载完再淡入,避免逐块弹出 2026-09-19 14:20:37 +08:00
fukunee 86ee03f4a6 重写选中便签的黑边为干净的外描边 2026-09-19 14:13:25 +08:00
fukunee b94abe32fa 性能优化:精简便签每帧计算、地理视图跳过 Three.js 每帧逻辑 2026-09-19 14:02:47 +08:00
fukunee 37b7923849 标记便签移除距离控制,仅保留视野内判断 2026-09-19 13:32:42 +08:00
fukunee 199ef8f892 标记便签改用 postUpdate 更新,修复拖拽时闪烁/消失 2026-09-19 13:31:22 +08:00
fukunee dddf622d95 标记便签在地平线附近渐变淡出,修复拖拽闪烁 2026-09-19 13:27:59 +08:00
fukunee b33ffd3b2d 清理 CAMERA_POSES 里无效的 globe 相机配置 2026-09-19 13:25:54 +08:00
fukunee 83de329750 Add stress test generator for 1000 synthetic entries
Adds scripts/gen_entries_stress.py to produce a large synthetic
dataset for performance testing, and notes the texture lazy-loading
plan in the README.
2026-09-19 04:26:55 +08:00
fukunee f4ef046c9a README 增加 TODO:活页本分册、时间轴时期划分、词条结构与排版优化 2026-09-19 04:23:44 +08:00
fukunee e05143ad73 性能优化:精灵降采样、像素比降低、麂皮法线降分辨率
- 时间轴文字精灵超采样 SS 4→2,显存省 75%
- Three.js 像素比上限 2→1.5,Cesium resolutionScale 1.5→1.0
- 麂皮法线贴图 1024×1280→512×640,启动逐像素计算省 75%
2026-09-19 04:12:43 +08:00
fukunee 39d4c728b0 修复翻页闪烁与渲染时序,恢复翻页弯曲
- 恢复翻页弯曲(双几何:顶层高分段/栈内极简),关闭纸张自然弧度
- 翻页开始即预切露出页的几何/亮度/投影,消除完成瞬间跳变
- 纹理懒加载窗口 ±1 扩到 ±2,覆盖向后翻页露出的下一层页
- isSettling 纳入按需渲染判断,修复页面 z 过渡期间不渲染
- 顶层页抬高 TOP_LIFT、翻页 z 起伏 FLIP_LIFT,拉开深度避免穿模
2026-09-19 04:05:24 +08:00
fukunee e10dfed93d binder 几何降级:栈内页用极简几何、封面/环/铆钉降低分段(三角形 357K→24K) 2026-09-19 03:38:50 +08:00
fukunee 6204b17db3 loading 界面展示时长调整为 6 秒 2026-09-19 03:28:01 +08:00
fukunee 4eb61b7aa5 README 补充部署方法 2026-09-19 03:23: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 0c7990a9a8 标记便签字体和尺寸调小 2026-09-19 03:00:27 +08:00
fukunee dac7aefeb4 标记便签可见距离改为 8000km 2026-09-19 02:56:49 +08:00
fukunee eb165d03c5 Lazy-load page textures with LRU cache and double-sided materials
Replace eager texture generation with a reference-counted pool
that loads only the visible window and evicts unused pages, and
swap front/back mesh pairs for single meshes using a two-sided
material to halve draw calls. The timeline now drives its texture
window from the camera's visible world range each frame, and the
binder tracks a current-page window. Flip animations also finalize
immediately so rapid flips chain smoothly.
2026-09-19 02:44:15 +08:00
fukunee 2a173833d0 行政区划数据换回 50m 2026-09-19 02:34:58 +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 2687e5fd95 标记便签:加缩放距离限制并修复背面可见问题 2026-09-19 02:28:21 +08:00
fukunee fade9eedc2 标记便签改为 DOM 覆盖层,修复近距离缩放漂移 2026-09-19 02:25:05 +08:00
fukunee 41d68e087a 行政区划线加粗、中华民国改为中国台湾 2026-09-19 02:17:34 +08:00
fukunee 91d82d27bf 标记便签改为金色(与 logo 同色)、缩小 padding 2026-09-19 02:16:46 +08:00
fukunee 18a2077369 点击标记平移居中,不再重置缩放 2026-09-19 02:16:14 +08:00
fukunee ed7d377eb6 标记便签抬至高空,确保深度排序盖在城市/国家名上层 2026-09-19 02:15:12 +08:00
fukunee 52111b6cce 调整实体渲染顺序:标记便签始终在城市/国家名上层 2026-09-19 02:04:22 +08:00
fukunee 14162ba7d0 标记去掉圆点,改为带左箭头的便签指向坐标 2026-09-19 01:52:13 +08:00
fukunee d4f27f3857 标记改为整张便签图(黄底黑字合成为一张 Billboard) 2026-09-19 01:47:50 +08:00
fukunee b63fc980f9 标记便签改用纸张黄、黑字加粗 2026-09-19 01:42:45 +08:00
fukunee e3a55bfc01 地球词条标记改为黄色便签样式(黄底黑字) 2026-09-19 01:39:41 +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 ac12405bdf Make page curl lift across full width
Replace localized spine curl with whole-page arc so the
free edge rises highest, and float the topic label with the
selected card.
2026-09-18 19:30:34 +08:00
fukunee b79e6c9c03 地球点阵:贴合真实地形采样、加密缩小、海陆精准分类(含极地与西伯利亚) 2026-09-18 19:26:07 +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