
请使用 React、TypeScript 和 Three.js 开发一个面向机械与航空航天课程教学的“喷气发动机3D互动...
Prompt
请使用 React、TypeScript 和 Three.js 开发一个面向机械与航空航天课程教学的“喷气发动机3D互动教具”单页Web应用,全部几何体必须通过 CylinderGeometry、LatheGeometry 等基础几何程序化构建进气道、压气机(含多级转子与静子叶片)、燃烧室、涡轮和收敛-扩张尾喷管五大独立部件,严禁加载任何外部模型、贴图或音频素材。应用需实现轨道旋转缩放平移、启动停机动画、0%–100%油门联动转速与排气发光、爆炸拆解滑块、轴线剖切开关、外壳透明度调节及基于粒子系统的气流可视化(颜色按温度渐变、速度随油门变化),且各功能可叠加使用;沿发动机轴线设置站位0/1/2/3/4/8的可点击标记点,点击后展示基于简化布雷顿循环动态计算的总压、总温、马赫数、压比、排气速度等参数并附单位与物理解释,同时内置包含发动机原理、部件详解、热力循环解读和操作指南的章节式图文教程。桌面端(≥1024px)采用深色航空实验台风格的三栏布局,左侧为控制面板,中央为自适应3D视口,右侧为站位信息卡与教学导航;移动端(<1024px)全屏显示3D视口,控制面板改为底部可展开抽屉,站位信息改为可折叠浮层,所有控件触控区域不小于44px,并在首次进入时显示可关闭的“建议使用电脑端获得更完整体验”提示条。工程上须保证响应式断点平滑切换与Canvas自适应resize、触控手势不与页面滚动冲突、中端手机≥30fps且桌面≥60fps的性能目标(使用InstancedMesh渲染叶片、粒子数量按设备分级、渲染循环与React状态解耦、组件卸载时正确释放资源)、符合WCAG AA的无障碍支持(aria-label、键盘操作、文本替代颜色编码)、iPhone安全区域适配(env(safe-area-inset-*)与viewport-fit=cover),代码需TypeScript严格类型、组件化拆分、热力计算逻辑独立模块化并附关键注释,最终交付包含项目结构说明、完整代码、运行命令及逐项功能与工程要求的自检清单。
A system prompt was added to support web rendering