/** * [INPUT]: 依赖 react;props: geo(buildStarMap 输出的几何)、onNodeClick(i) * [OUTPUT]: 对外提供 StarMapSvg 组件——740×400 星图 SVG(星点/连线/脉冲光晕节点/站点文字) * [POS]: components/v4 共享原语,学习星图 A·B 变体共用;逐字还原 DC 模板(源行 208-222) * [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md */ export function StarMapSvg({ geo, onNodeClick }) { return ( {geo.stars.map((t, i) => ( ))} {geo.edges.map((e, i) => ( ))} {geo.nodes.map((n, i) => ( onNodeClick?.(i)}> {n.haloR ? ( ) : null} {n.stn} {n.mark} {n.label} {n.lessons.map((ln, j) => ( {ln.t} ))} ))} ) }