请为对遗传和环境适应感兴趣的中文用户制作一件可自由操作的科学交互作品：**2.5D“进化孤岛观察站”**。两座兔群小岛同时可见，用户分别改变地表、捕食压力和突变概率，用共享时钟逐代推进，对照基因型、毛色与等位基因频率的变化，也能查看已发生的历史代。

参考《Plague Inc.》的环境地图与趋势反馈和《SimEarth》的生态观察台，以固定斜俯视、具有厚度的岛屿地形、清楚的棕白兔轮廓与仪表构成统一场景。让人愿意改变条件并继续观察，而不是只读一排统计表。环境编辑影响下一代，当前群体与历史各有清楚身份；用户自由选择条件和观察时长，不设置目标频率、指定代数任务、实验提交、记录配额或关卡。

## 1. 科学模型与可操作范围

采用单座位、二倍体、常染色体、完全显性教学模型。B为棕毛显性等位基因，b为白毛隐性等位基因，BB/Bb为棕毛、bb为白毛。显性描述表型表达，不代表更适应或更常见。

计算理想大种群的确定性频率期望，不做有限个体抽样，不模拟数量增长、灭绝或遗传漂变。兔图标仅表示组成，不是逐只生死的清单；模型说明容易找到。只研究毛色，不增加牙齿、耳长、多基因、迁入迁出或定向投放突变体。

每代出生时x=f(BB)、y=f(Bb)、z=f(bb)，x+y+z=1；b频率q=z+y/2，B频率p=1−q。白毛比例为z，棕毛比例为x+y，不能将q当成白毛比例。频率、概率、选择强度与代数无量纲。

| 控制 | 合法范围与步长 | 默认值及作用范围 |
| --- | --- | --- |
| 地表 | 草地、雪地 | 两岛均草地，各岛独立 |
| 捕食选择强度s | 0–0.80，步长0.05，滑块与精确输入 | 两岛均0，各岛独立 |
| 双向突变概率μ | 0–0.010，步长0.001，滑块与精确输入 | 两岛均0，各岛独立 |
| 初始组成 | 混合(0.25,0.50,0.25)、全杂合棕毛(0,1,0)、仅BB(1,0,0) | 混合，两岛共享 |
| 自动推进节奏 | 每秒1、2或4代 | 每秒1代，两岛共享 |

s=0时无毛色选择，地表本身不改变基因频率。s>0时，雪地BB/Bb/bb存活权重为(1−s,1−s,1)，草地为(1,1,1−s)；这些是相对存活的教学参数，不是野外实测值。每次完整代际更新按下列次序：

1. 亲代选择：W=x·wBB+y·wBb+z·wbb，选择后各基因型频率为原频率乘相应权重再除以W；qₛ=(y·wBb/2+z·wbb)/W。
2. 配子形成与双向突变：q′=(1−μ)qₛ+μ(1−qₛ)，B与b以相同概率相互转换，概率与环境需求无关；上限是观察用放大值，不代表真实兔类突变率。
3. 随机配子结合：下一代出生组成x′=(1−q′)²、y′=2q′(1−q′)、z′=q′²。出生状态与选择后亲代分开，后者不必满足随机结合比例。

以上是模型更新顺序，不是用户必须依次执行的实验路线。

## 2. 交互行为与动态反馈

**调节单岛环境。** 每岛附近有地表、s和μ控制，只影响对应岛，操作时突出该岛、条件标签及其图线。草地/雪地可通过环境牌拖放或点选切换；拖放期间显示候选岛，取消或落到无效区域不改变条件。两岛参数独立，初始组成、下一代、自动运行/暂停和重新开始是共享控制，位置及标签明确作用范围。

运行或暂停时均可编辑环境。地表与压力即时预览，尚未参与计算的条件标为待生效，当前已出生组成和读数保持原状；下一次更新使用各岛当时最新设置，多次编辑以最后选择为准。整代完成后，场景组成、频率读数、基因型条与曲线同步更新，条件变化标记落在实际生效代。若只改变条件而未推进，不改写已有曲线或制造新代。

**推进与暂停。** 首次打开为共享混合初态的第0代、暂停状态，立即允许编辑。逐代与自动推进共用同一模型，每次两岛一起更新，代数对齐；每秒1/2/4代只改变展示节奏。完成整代后才增加代数和数据点，记录用于生成该出生代的实际条件。暂停立即停止新的代际更新，继续从保留的最新状态推进；重复点击不并发产生多代，过渡动效不重复计算。当前读数明确对应已经完成的出生代。

**观察组成与趋势。** 两岛场景、基因型条、毛色比例、q与趋势来自同一状态，曲线共享代数和0–1频率标尺；q与白毛比例使用不同线型、图例并分列。点选BB/Bb/bb图例或组成示意，联动突出相关代表图标、表型映射与定量读数，再次操作可退出强调。兔图标可以近似比例，但精确频率保留足够小数或科学记数法，微小非零量不因取整被说成不存在。环境变化不使成年兔瞬间变色；捕食反馈只表达相对存活，图标数量、移动和装饰不决定更新结果，不编造个体谱系或真实出生死亡数。

**查看只读历史。** 悬停曲线只显示指定代两岛的数值与条件提示，主场景保持当前。点击或触屏点按历史代时暂停自动推进，让两岛场景、组成条和详情共同呈现该代，醒目标注“历史·第g代”；最新模拟状态保留，最新代位置与“回到当前”入口清楚。历史条件对应生成该代的记录，第0代标为初始组成；历史不采用当前待生效配置重算。回到当前后保持暂停。历史查看中编辑环境、下一代或启动自动运行时，先退出历史，再作用于最新状态；环境仍从下一次更新生效，不从旧代悄悄分叉。

**解释与重新开始。** 解释跟随当前岛、条件或所选历史代，展示出生组成、q、白毛比例及相对前一代变化；第0代没有前代时明确不适用。可展开“亲代选择—配子—后代”的当前关系。两岛比较先说明条件差异，同时改多个因素时保留实际标记，不将结果强归因于一个因素。解释显性与适应性的区别、杂合子携带b、环境筛选已有差异，以及μ=0时缺失等位基因不能凭改变地表恢复。开启突变表示变异来源，不代表环境要求产生有利突变；平缓、静止或反向趋势按实际组成与条件说明，不将确定性期望说成现实有限种群每代必然发生的轨迹。

“重新开始”保留各岛当前选择的环境，以共享初始组成回到第0代，清空本次曲线、条件标记和历史选择并暂停；切换初始组成执行同样重启，当前条件从随后第一次推进参与计算。输入为空、非数或越界时保留最近合法条件并解释范围。无需保存卡、提交或启动实验阶段，查看历史与调参始终服务自由观察。

## 3. 游戏风格与视觉设计

**游戏风格：《Plague Inc.》的环境地图与趋势反馈 ×《SimEarth》的生态观察台，呈现为2.5D双岛研究装置。** 固定斜俯视下，岛屿有可见海岸侧壁、起伏地表、抬升标牌与接触投影，两岛和共用观察台形成前后层次；不以两张平面卡片加阴影代替场景。频率条和趋势图保持清楚平面读数，不以透视制造比例差异。角色与素材自行创作，不继承疾病传播、经营或灾害玩法。

- **场景与材质**：手绘感海岸、草地和雪地有可辨表面，海水、木质观察站标牌与岛体边缘形成整体。草雪材质变化不遮盖兔群，棕白兔有清楚轮廓，BB/Bb通过纹理或符号进一步区分。两岛空间可分辨又属于同一海域，较低对比的背景和克制光影让组成及环境牌成为视觉重点。
- **科学操作的游戏化呈现**：地表牌、岛边捕食调节器和单独标明的突变条件像观察站工具，抓取、候选岛、确认和选中有局部反馈。共享代际控制具有稳定位置，各岛条件贴近对象；环境牌不包装为升级兔子，突变不表现为定向染色。字体、图标、标牌和趋势图使用协调语言。
- **观察层次与交互重点**：首屏同时看见两岛、主要条件和共享代际操作；群体场景为第一视觉层，组成读数及趋势承接比较，遗传细节按需展开。当前、待生效和历史状态有稳定的标记位置，选择和历史查看不重排整个观察台。两岛差异通过场景、条件和图线共同追溯，不被等权面板切碎。
- **颜色与信息层级**：A/B身份稳定，棕白表型配文字或形状，BB/Bb/bb符号与图例一致。q与白毛比例名称、数值和线型不同，代数、节奏、运行状态及待生效标记易扫读。历史使用明确文字与轮廓，不能只靠变暗判断；条件调整后的新地表预览与该代实际条件有清楚区别。
- **反馈动效**：地表切换平滑，捕食压力以边缘狼影或相对存活权重表达，不用猎杀遮挡数据。整代完成时组成重排、读数和曲线一起更新，新一代更替不画成同一成年兔变色。岛上装饰运动不产生代数，历史中的群体不继续演化；波浪、光影等可减弱，不干扰条件与曲线判断。

默认、环境待生效、运行及只读历史画面都应保持完整而有吸引力的生态观察台美感。默认1440×900下，两岛、主要控制和核心趋势无需横向滚动即可观察操作；窄屏可上下排列并纵向滚动。环境牌有点击替代，参数可精确输入，图表可点选历史，主要入口有可见焦点。解释可收起，单位和状态清楚，音效可选且可静音，装饰动效可减弱。布局、器具造型、绘图技术与代码组织自行选择。

## 4. 交付要求

交付完整可运行的纯前端网页，以`index.html`为入口，通过本地HTTP服务即可打开。源码、依赖和资源随项目提供，核心流程不依赖后端或外部网络。

界面中文，频率、概率、选择强度和代数含义明确。附运行说明和实际完成的自检说明，未完成或未验证部分如实记录。框架、内部命名、算法与代码组织自行选择。
