Перейти к содержимому

SDK расширений

Расширения drawtonomy — это веб-приложения в iframe, которые общаются с редактором через postMessage. SDK даёт типизированного клиента; dev-сервер даёт локальный редактор для разработки.

Эта страница — быстрая ориентация. Полное руководство — схема манифеста, список capabilities, протокол сообщений — в публичном репозитории:

Extension Development Guide (日本語)

Окно терминала
# Редактор на :3000
pnpm add -g @drawtonomy/dev-server
drawtonomy-dev-server
# Ваше расширение на :3001
cd my-extension && pnpm dev --port 3001
open "http://localhost:3000/?ext=http://localhost:3001/manifest.json"
my-extension/
manifest.json
index.html
src/
manifest.json
{
"id": "my-extension",
"name": "My Extension",
"version": "1.0.0",
"entry": "./index.html",
"capabilities": ["shapes:read", "shapes:write", "ui:panel"]
}
src/main.ts
import { ExtensionClient, createVehicle } from '@drawtonomy/sdk'
const client = new ExtensionClient()
await client.ready()
document.getElementById('add')!.addEventListener('click', async () => {
await client.addShapes([createVehicle(0, 0, { templateId: 'sedan' })])
})

Встроенные расширения — это полноценные образцы:

  • ai-scene-generator — генерация сцен из естественного языка и OpenSCENARIO.
  • template-preview — превью шаблона фигуры.
  • exporter-playground — отработка экспортёра против живого холста.
  • path-footprint-lab — экспериментирование с Path Footprint.