@crystaldesign/planner-2d-core

中文文档
26.12.4发布于 2026/10/23COMMERCIALTypeScriptESM + CJS近 30 天下载 6198

浏览器无2D平面图核心: 第SVG条解析,对接逻辑,对接转换数学和相撞几何.

中文使用文档
文档目录3 节
  1. 模块
  2. 节点使用
  3. 测试

@ crystaldesign/planner-2d-core (英语)

2D规划器的无浏览器核心: 第SVG条解析,对接逻辑,码头转换数学和相撞几何. 没有织物.js,没有引擎,没有目录 API——在浏览器和平地节点运行(后端服务,单位测试,代理测试床).

采掘概念和阶段计划: docs/2d -- -- 规划人员 -- -- 重新工作/国家环境保护委员会。 。 。 . 移植逻辑是一种行为诚实的提取 web-planner-logic是因为 DockingPointHandler无织物 SVGUtils 方法和对接数学 DivaStandardPlanner.updateWorldPos (P1阶段——网络规划员-记录员仍保留) 携带自己的副本,直到P2将其切换到这个包.

模块

模块目录
svg/getDockingPointLines, (中文(简体) ), getPolygonPoints, (中文(简体) ), getOltGeometry编号 :getOlfGeometry, (中文(简体) ), removeOlf编号 :removeMask, (中文(简体) ), getMinBorder (基于DOM,节点安全), pathBoundingBox (完整的指令集 ML H V C S Q T A Z incl.). Bezier extrema and arcs) 红外线和红外线
stretch/stretchArticleSvg ——同步的SAH/SAV拉伸引擎,行为忠实地重写后遗症 ccCheckStretchAreas (OLT-then-OLF双通,圆形规则,全局尺度模式) 有轴取出元件/路径变压器和 a warnings[] 报告; 偏差: 未知路径命令存活, 不支持的拉伸区域被忽略, 视图框缩放被精确应用一次
docking/DockingPoint, (中文(简体) ), DockingPointHandler (补偿规则, checkDPsDoMatch 公共、狭义 PlannerElement2D 接口
transform/computeDockedTransform ——对接元素的纯世界变数
collision/segmentsIntersect (结构等同),多边形相交/闭合, outlinesCollide
testbed/DockingScene + 键 SimplePlannerElement —— SVG 出入口、对接点/铺设/世界位置

节点使用

解析器需要一个DOM. 在浏览器中不需要什么; 在节点中, jsdom窗口被懒得装入回落 (单位:千美元)configureDom(new JSDOM('').window) 仅在使用自定义 DOM 时:

import { DockingScene } from '@crystaldesign/planner-2d-core';

const scene = new DockingScene();
const sofa = scene.addArticle(sofaSvg, { layer: 20 });
const extension = scene.addArticle(extensionSvg, { layer: 20 });
const result = scene.tryDock(extension, sofa); // -> { docked, dockingType, rotDeg, worldPosCorner }

日志默认为禁用;通过 setPlanner2DLogger (例如DivaUtils/diva-后端-commons日志).

测试

ctra test @crystaldesign/planner-2d-core

套房在下面运行 testEnvironment: node 带有明确配置的jsdom——在每次运行时证明无浏览器合同.

版本与发布记录

@crystaldesign/planner-2d-core 共发布 134 个版本,首次发布于 2026/08/24;过去 12 个月发布了 134 个版本。

版本发布日期距今
26.12.4latest2026/10/2318 天前
26.12.4-rc.1rc2026/10/2318 天前
26.13.0-beta.33beta2026/10/2219 天前
26.13.0-beta.322026/10/2219 天前
26.13.0-beta.312026/10/2219 天前
26.13.0-beta.302026/10/2220 天前

关于 @crystaldesign/planner-2d-core 的常见问题

@crystaldesign/planner-2d-core 是什么?

浏览器无2D平面图核心: 第SVG条解析,对接逻辑,对接转换数学和相撞几何.

如何安装 @crystaldesign/planner-2d-core?

在项目目录运行 npm install @crystaldesign/planner-2d-core,或使用 pnpm add / yarn add / bun add。

@crystaldesign/planner-2d-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@crystaldesign/planner-2d-core 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@crystaldesign/planner-2d-core 可以商用吗?

@crystaldesign/planner-2d-core 使用 COMMERCIAL 许可。声明的许可为 COMMERCIAL,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@crystaldesign/planner-2d-core 的下载量有多少?

根据 npm 官方下载统计,@crystaldesign/planner-2d-core 在 2026/10/11 – 2026/11/09 这 30 天内被下载 6,198 次,日均约 207 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@crystaldesign/planner-2d-core 还在维护吗?

最新版本 26.12.4 发布于 2026/10/23(18 天前);至今共发布 134 个版本,其中过去 12 个月发布了 134 个;首次发布于 2026/08/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。