# Cesium 路口信号灯可视化 ## Goal 在 Cesium 预览中加入可直接观察的路口交通信号灯,使已完成的道路、停止线、斑马线、 转向箭头和车辆巡航有清晰的交通控制参照。首轮以可见的灯具和相位切换为目标,不提前 实现车辆等待或交通仿真。 ## Confirmed Facts - `scripts/lib/cesium-preview.js` 目前只加载场景资产、巡航路线与车辆;没有信号灯图层、 模型或相位状态。 - 路线 JSON 包含连续的左、右、直转向曲线,但没有路口 ID 或信号相位字段。 - 现有停止线、斑马线和转向箭头已由区域构建确认,且用户要求暂不触及 QGIS 的人工修补 边界、道路生成与既有连续路线逻辑。 - Cesium 预览是验证层;改动它不应改变主 GLB、Blender 导出或 OSM/QGIS 产物。 ## Requirements - 在道路进口侧、停止线附近呈现简洁而可辨识的交通信号灯,并在不遮挡车道标线的前提下 面向来车方向。 - 红、黄、绿灯应有明确的点亮状态和周期性相位切换,使静态截图与实时预览都能看出其作用。 - 信号灯应能独立显示/隐藏,遵循现有 Cesium 控件的克制设计语言。 - 首轮不改变车辆路线、车速或等待行为;车辆仍按现有路线巡航。 - 首版以主要路口的程序化示意灯覆盖为准:从已生成的停止线和路口面推导进口,缺少可靠 几何锚点时跳过。它不宣称复刻 OSM 中逐节点标注的真实信号设施。 ## Acceptance Criteria - [ ] 重建目标区域的 preview 后,Cesium 中可见至少一组位于路口进口侧的信号灯,位置与停止线/ 斑马线关系清楚,且不会漂浮在道路中央或遮挡车道箭头。 - [ ] 灯组以可见状态呈现红、黄、绿的相位切换;未点亮灯珠明显较暗。 - [ ] 页面提供独立的 Signals 显示开关,关闭后不影响场景、路线与车辆。 - [ ] 不修改 QGIS 工程、道路/标线生成、现有路线 JSON 契约或车辆巡航行为。 ## Notes - Keep `prd.md` focused on requirements, constraints, and acceptance criteria. - Lightweight tasks can remain PRD-only. - For complex tasks, add `design.md` for technical design and `implement.md` for execution planning before `task.py start`.