当前仓库新增了一个第一版可复用入口:
src/lib/index.tssrc/lib/components/RobotCanvas.tsxpackages/react-robot-canvas
把“可导入 URDF / MJCF 的 3D 画布核心”先从应用 feature 中抽出来,形成独立可构建的库入口。
import { RobotCanvas } from '@/lib';
<RobotCanvas
source={{
format: 'auto',
content: xmlContent,
sourceFilePath: '/robots/arm/robot.urdf',
}}
assets={assetMap}
lang="en"
theme="dark"
mode="editor"
groundPlaneOffset={0}
display={{
showVisual: true,
showCollision: false,
highlightMode: 'link',
}}
onSelectionChange={(selection) => {
console.log(selection);
}}
onHoverChange={(selection) => {
console.log(selection);
}}
onJointAnglesChange={(jointAngles) => {
console.log(jointAngles);
}}
/>;- 新增 headless 组件
RobotCanvas - 支持
URDF / MJCF内容加载,并尊重source.format - 支持外部控制
selection / jointAngles / display - 画布主题改成可通过 props 注入,不再强依赖 UI store
- 地面对齐偏移改成可通过 props 注入,不再强依赖 UI store
- 新增独立库构建配置:
vite.lib.config.tsnpm run build:robot-canvas-libnpm run build:robot-canvas-lib:types
- 新增可发布包目录:
packages/react-robot-canvas/package.jsonpackages/react-robot-canvas/vite.config.tspackages/react-robot-canvas/tsconfig.types.jsonnpm run build:package:react-robot-canvasnpm run pack:package:react-robot-canvas
- 当前包按现代前端生态发布为
ESM-only
assets目前仍是Record<string, string>,后续应升级为assetResolver- 类型声明现在已切到
tsc自动生成,并对产物里的@/别名做发布前重写 editor子域能力仍属于应用内壳,尚未抽成独立可发布子包
npm run build:package:react-robot-canvas
npm run pack:package:react-robot-canvas
cd packages/react-robot-canvas
npm publish@urdf-studio/robot-format-core@urdf-studio/react-robot-canvas@urdf-studio/react-robot-panels