AI测试记录

每组提示词与当次测试放在一起,编号管理,方便对照。

3 threejs太空战略游戏▾
请使用原生 JavaScript + Three.js 制作一个可运行的“银河战略地图”Demo。

视觉上类似科幻太空战略游戏。

银河包含:
- 10,000 个恒星系统
- 多条旋臂
- 星云
- 银河中心
- 不同颜色恒星

性能:
- 恒星不能分别创建 Mesh
- 使用 InstancedMesh / Points / Shader 中合理的方案
- 支持 Level of Detail
- 大尺度视图保持流畅

交互:
- OrbitControls
- 鼠标 hover 恒星时显示名称
- 点击恒星:
  - 摄像机平滑飞过去
  - 从银河视图切换到恒星系统视图
- 再次缩小时回到银河视图

恒星系统:
- 恒星
- 3~8 个行星
- 程序化轨道
- 行星公转
- 行星自转
- 随机卫星

战略系统:
- 随机生成 5 个文明
- 文明占领不同恒星
- 使用不同颜色显示势力范围
- 相邻恒星之间生成航线
- 使用 Dijkstra/A* 计算两个恒星之间最短航线
- 点击两个恒星后显示路径

视觉:
- 星空
- Bloom
- 星云 Shader
- 恒星 Shader
- 银河尘埃
- 摄像机动画

架构:
请拆分:
GalaxyGenerator
StarRenderer
GalaxyCamera
SolarSystem
CivilizationSystem
PathfindingSystem
InteractionManager
PostProcessingManager

要求:
1. 先给出架构设计。
2. 给出核心数据结构。
3. 分析性能瓶颈。
4. 再写完整代码。
5. 不允许用伪代码替代核心逻辑。
6. 如果单文件过长,可以拆成多个 JS module,但所有文件必须完整输出。

额外要求:
假设目标机器是 Apple M 系列和主流 PC,解释如何尽量保持 60 FPS。
1 墨卡托投影和高斯投影▾
请直接完成当前 Next.js 项目中的页面:

```text
src/app/[locale]/ai-lab/tests/x.tsx
```

不要新建项目,不要修改与该页面无关的业务代码。

## 目标

制作一个高质量、可交互的 GIS 可视化页面,用于直观展示和比较:

* 墨卡托投影 Mercator / Web Mercator
* 高斯-克吕格投影 Gauss-Krüger / Transverse Mercator

你可以自由选择最合适的前端技术方案,包括但不限于:

* Three.js
* Canvas / SVG
* D3
* Cesium
* MapLibre
* proj4
* 项目现有的组件和依赖

优先复用当前项目已有技术栈。

## 页面要求

页面应该具有较强的视觉表现力,类似一个现代化的:

**Projection Lab / 地图投影实验室**

核心是可视化和交互,而不是大量文字说明。

至少需要体现:

* 同一份地理数据在两种投影下的不同表现
* 经纬网
* 地图轮廓
* 墨卡托投影高纬度地区的形变
* 高斯投影的中央经线
* 高斯投影离中央经线越远形变越明显
* 中央经线可调整,并真正重新计算投影
* 鼠标或交互点的经纬度与投影后坐标
* 至少一种能够直观表现投影形变的交互方式

可以自行加入你认为有价值的功能,例如:

* Tissot 变形圆
* 投影动画
* 2D / 3D 切换
* 城市定位
* 距离比较
* Split / Overlay 对比
* 投影参数调节
* 坐标转换
* 图表

不要求全部实现,请自行判断哪些功能最能提升页面质量。

## GIS 正确性

这是重要评分项。

不要:

* 用 CSS 拉伸冒充地图投影
* 用两张静态图片进行比较
* 把 Gauss-Krüger 简单等同于 UTM
* 让两个投影实际上使用相同坐标
* 忽略高斯投影的中央经线

投影应由程序真实计算。

## UI

请检查当前项目已有页面和组件风格,并保持一致。

希望页面具有:

* 专业 GIS / 科研可视化风格
* 大面积可视化区域
* 良好的信息层级
* 流畅动画与交互
* 良好的桌面端响应式体验

不要做成普通后台管理页面。

## 工程要求

开始前先阅读当前项目结构、package.json 和目标页面附近的代码。

允许:

* 修改该 TSX 页面
* 为该页面新增少量必要组件或工具文件
* 在确有必要时增加依赖

不要进行无关重构。

完成后自行运行项目已有的 lint / typecheck / build 等检查,并修复由你的修改产生的问题。

## 工作方式

不要只告诉我应该怎么实现。

直接读取当前代码仓库并完成页面。

请充分发挥你的前端设计、GIS、数学可视化和工程能力,自行决定具体实现方案。