# 星图交互与绘制(0.4.6) 主页星图与独立星图使用同一个控件,均支持左键拖动旋转、右键拖动平移、滚轮以鼠标所在位置为中心缩放、点击选择星系。主页选择与独立星图共享,拖动捕获指针并标记事件已处理,防止与外层页面滚动争抢输入。取消拖动或指针捕获丢失会清理拖动状态。 旧实现每次 PointerMoved 都清空 Canvas 并重建 82 条网格、全部可见星点与文字,重复排序星系列表和创建画刷。现在使用保留的 Composition ShapeVisual、线段和圆形几何,星点池最多 1,800 个,名字池最多 40 个。拖动仅更新图形坐标与必要的标签位置,文字和样式仅在其对应星系变化时更新,标签重叠时隐藏。不同星系的排序只在坐标数据、中心、当前星系、选择或航线变化时重建。 鼠标输入只累计相机变化,由 CompositionTarget.Rendering 在下一帧统一更新;同一帧内的多个输入不会产生多次绘制。没有数据或视角变化时取消渲染订阅,切换页面也会暂停。没有增加持续刷新的定时器。星图只使用 Journal、市场及公共目录已有的真实坐标,星点显示上限沿用原实现,未生成虚构银河数据。 `--smoke-map` 为内部验收入口,不显示于软件界面。探针使用控件的同一拖动、缩放、选择方法,无电脑操作技能或系统鼠标键盘注入。测试包含真实本地坐标和明确标记为性能夹具的 1,800/25,000 个合成坐标;合成数据不写入用户星图、文件或设置。报告记录每帧 CPU 更新耗时、分配量、图形/文字节点是否复用、拖动时是否重复排序、按帧合并输入、空闲暂停及交互结果。CPU 更新耗时包含布局更新,不等于显示器实际帧率。 验收文件位于 `artifacts/map-qa`。`galaxy-layout.png` 是工具箱自身 RenderTargetBitmap 对真实 XAML/Composition 矢量内容的抓取,没有拍摄桌面。