用途:该技能面向 OAS 几何数据的编写与调试,适用于任务涉及坐标、曲线、多边形合法性、单位或角度约定时。这是规范中最大的一节,若怀疑存在几何 bug(如整数毫米违规、多边形未闭合、圆弧绕向错误),应尽早加载。如果问题在于几何归属哪个实体(房间还是墙等),则应优先使用 oas-core 或 oas-layout。
关键类型:Point 为 { x, y },整数毫米,楼梯栏杆可选 z;Polygon 为有序点数组加显式 "closed": true,允许 closed: false 表示开放路径(如栏杆);LineSegment 为起点到终点的直边;Arc 为带 center、radius_mm、start_angle_deg、end_angle_deg 的圆弧;Circle 为完整圆(center、radius_mm);Spiral / Fillet 为用于楼梯和拐角的特殊曲线。
关键规则:坐标不得使用小数,所有 x、y、z、radius、length 均为整数毫米,唯一例外是 area_m2,为平方米的派生小数值。多边形必须显式声明 "closed": true,缺少该标志的按约定不算闭合,不要依赖最后一点与首点重合。绕向必须一致,点序须统一为顺时针或逆时针,不得混用;正旋转为逆时针。圆弧从 start_angle_deg 到 end_angle_deg 按逆时针扫掠;若要顺时针视觉效果,应交换起止角,而不是对角度取负。单位是全局的,整个文档的 units.length 为 "mm"、units.angle 为 "deg",不要引入逐实体的单位覆盖。
完整模式参见 docs/geometry.md,其中包含圆弧参数化、螺旋线构造和圆角规则。相关技能:oas-core 和 oas-layout 是这些几何原语的消费方;oas-render 说明这些原语如何映射到屏幕坐标(Y 通常反转)。