Shapes
Formigenkänning på enheten som gör ett handritat streck till rektangel, ellips, triangel, stjärna eller linje på under 10 ms.

Demo
Grov skiss. Perfekt form.
Rita en grov cirkel och Shapes fäster den till en ren. Shapes passar in exakt vektorgeometri, fäster mot axlar, cirklar, kvadrater och 15-gradersrotationer, och avvisar klotter som inte är former.
På Apple lägger ett enda anrop till smart formfästning i Notes-stil på en PencilKit-yta, och live-förhandsvisningen finns kvar. Apples egen ”Snap to Shape” är ett privat API som appar från tredje part inte kan anropa; Shapes gör samma jobb på en rad.
Modellen är liten nog att levereras inuti appen, utan någon nedladdning. I webbläsaren körs Shapes via LiteRT.js.
Under 10 ms per penndrag.
Under 10 ms per penndrag, från en modell på 0,2 MB på Apple och 1,3 MB på Android och webben.
Interna mätningar. Core ML på Apple, LiteRT.js i webbläsaren och förbyggda nativa bibliotek i Node.
Användningsfall
Grov skiss. Perfekt form.
Smarta former i Notes-stil
Lägg till formfästning på en PencilKit-canvas med canvasView.enableShapeSnapping(). Live-förhandsvisning, ångra och gör om bevaras. Shapes fyller luckan efter Apples privata Snap to Shape-API.
Städa upp en frihandsskiss
Gör om grova streck till exakt geometri i ett diagram- eller whiteboardverktyg. Fungerar med streckdata från tldraw och Excalidraw.
Plattformsoberoende ritande
En igenkännare täcker iOS, Android och webben, så du skriver koden för formfästningen en enda gång.
Levereras i appen, inte som en nedladdning
På Apple är igenkännaren 0,2 MB och följer med inuti binären, och Android-paketet har den med som standard. I webbläsaren hämtar SDK:n 1,3 MB en gång och cachar det.
Inspiration
Idéer att bygga med Shapes. Kopiera en prompt till din kodningsagent och kör.
Build a whiteboard that snaps rough sketches into clean shapes.
Clean up a freehand diagram into crisp shapes.
Add shape recognition to a web canvas with no download.
Snap flowchart boxes and connector lines as you sketch them.
Add smart-shape drawing to a kids' learning app.
Recognize gesture shapes to trigger app actions.
Vad modellen gör
- Ett penndrag i taget, skickat som sina
[x, y]-punkter, från PencilKit, tldraw, Excalidraw eller din egen canvas. - Känner igen rektangel, ellips, triangel, stjärna och linje, och avvisar sådant som inte är former.
- Fäster mot axlar, cirklar, kvadrater och 15-gradersrotationer.
- PencilKit-formfästning i realtid via ett anrop:
canvasView.enableShapeSnapping(). - Körs via LiteRT.js i webbläsaren. Node använder förbyggda nativa bibliotek.
Kom igång
Lägg till formigenkänning i din iOS or macOS, Android or web-app med några rader kod. Shapes-dokumentation.
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.5.0")
// target dependency
.product(name: "Shapes", package: "desert-ant-core")
import Shapes
let shapes = Shapes()
let shape = try await shapes.recognize(points: stroke)
// Shape? -> rectangle, ellipse, triangle, star, line
import PencilKit
import Shapes
// Live smart-shape snapping on a PencilKit canvas, in one line.
// Pause after a stroke to preview the fit, lift to snap. Undo-safe,
// and it uses the same recognizer, bundled by default.
canvasView.enableShapeSnapping()
Add Shapes from Desert Ant Labs to this Swift project (iOS, macOS). What it does: Formigenkänning med ett penndrag på enheten. SDK: Swift (iOS, macOS) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme // Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.5.0") // target dependency .product(name: "Shapes", package: "desert-ant-core") Reference: - Model page: https://desertant.com/models/shapes/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:3.5.0")
import ai.desertant.shapes.Shapes
val shapes = Shapes(context)
val shape = shapes.recognize(points)
// Shape? -> rectangle, ellipse, triangle, star, line
Add Shapes from Desert Ant Labs to this Kotlin project (Android).
What it does: Formigenkänning med ett penndrag på enheten.
SDK:
Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:3.5.0")
Reference:
- Model page: https://desertant.com/models/shapes/
- Full catalog and other models: https://desertant.com/llms.txt
Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
npm i @desert-ant-labs/shapes @litertjs/core
import { Shapes } from "@desert-ant-labs/shapes"; // browser
// import { Shapes } from "@desert-ant-labs/shapes/native"; // server-side Node
const shapes = await Shapes.load();
const shape = await shapes.recognize(points);
// { kind: "ellipse", center: {...}, ... } or null
Add Shapes from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js). What it does: Formigenkänning med ett penndrag på enheten. SDK: JavaScript / TypeScript (Web, Node.js) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme npm i @desert-ant-labs/shapes @litertjs/core Reference: - Model page: https://desertant.com/models/shapes/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Specifikationer
- Formklasser
- Rektangel, ellips, triangel, stjärna, linje
- Storlek på enheten
- 0,2 MB Core ML (Apple) och 1,3 MB LiteRT (Android, webben)
- Hastighet
- <10 ms
- Runtime på webben
- LiteRT.js i webbläsaren och nativa bibliotek i Node
Shapes läser ett penndrag i taget, så en form som ritas med två drag känns inte igen. Väldigt grova eller tvetydiga streck avvisas medvetet, så att ett klotter aldrig fäster mot en triangel.
Diagram med flera drag kräver att du grupperar strecken själv först.
Vanliga frågor
Vad är Shapes?
Formigenkänning på enheten som gör ett handritat streck till rektangel, ellips, triangel, stjärna eller linje på under 10 ms.
Körs Shapes lokalt på enheten?
Ja. Shapes körs på enheten, utan något serveranrop, så att data stannar hos användaren.
Vilka plattformar stöder Shapes?
Shapes levereras som en nativ SDK på enheten för Swift, Kotlin, JavaScript / TypeScript.
Vad kostar Shapes?
Varje modell är gratis upp till 100k månadsaktiva enheter. Inferensen är obegränsad. Kontakta oss för anpassade licenser.
Hur träffsäker eller snabb är Shapes?
Under 10 ms per penndrag, från en modell på 0,2 MB på Apple och 1,3 MB på Android och webben.