Desert Ant Labs

Shapes: on-device vormherkenning met één streek

VormherkenningBeschikbaar

On-device vormherkenning die je handgetekende streek in één keer omzet in een strakke rechthoek, ellips, driehoek, ster of lijn.

Shapes neemt één handgetekende streek, een lijst van [x, y]-punten, en geeft strakke geometrie terug: rechthoek, ellips, driehoek, ster of lijn. Het model past precieze vectorvormen in, klikt vast op assen, cirkels, vierkanten en rotaties van 15 graden, en verwerpt krabbels die geen vorm zijn.

Op Apple voegt het slim vastklikken van vormen zoals in Notities toe aan PencilKit met één aanroep, met behoud van live preview. Apple's eigen “Snap to Shape” is private API die apps van derden niet kunnen aanroepen, dus Shapes vult dat gat. Het model is klein genoeg om mee te leveren in de app zonder model-download, en de web-build gebruikt een lokale WebAssembly-pipeline met LiteRT.js-inferentie.

Demo

Prestaties

Minder dan 10 ms per streek, uit een model van 0,2 MB zonder inferentie-runtime op het web.

0,2 MB
On-device
<10 ms
Per herkenning
5
Vormklassen

Interne metingen. Pure-JS-inferentie op het web, Core ML op Apple.

Toepassingen

Slimme vormen zoals in Notities

Voeg snap-to-shape toe aan een PencilKit-canvas met canvasView.enableShapeSnapping(). Live preview, undo en redo blijven behouden, en het vult het gat dat Apple's private Snap to Shape-API achterlaat.

Diagram- en whiteboard-tools

Zet vrije-handstreken om in precieze geometrie. Werkt met streekdata van tldraw en Excalidraw.

Cross-platform tekenen

Dezelfde herkenner draait op iOS, Android en web, zodat een tekenfunctie zich overal identiek gedraagt.

Geen model-download

Met ongeveer 0,2 MB wordt het meegeleverd in de app. Anders dan Google ML Kit Digital Ink is er geen model van ~20 MB dat tijdens runtime moet worden opgehaald.

Wat het doet

  • Herkent rechthoek, ellips, driehoek, ster en lijn, en verwerpt niet-vormen.
  • Klikt vast op assen, cirkels, vierkanten en rotaties van 15 graden.
  • Live vastklikken in PencilKit via één aanroep: canvasView.enableShapeSnapping().
  • Web-inferentie via een lokale WebAssembly-pipeline met LiteRT.js.

Platforms en installatie

iOS, macOS
Installeren
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/shapes", from: "0.5.0")
Voorbeeld - Swift
import Shapes

let shapes = Shapes()
let shape = try await shapes.recognize(points: stroke)
// Shape? -> rectangle, ellipse, triangle, star, line
Voorbeeld - PencilKit
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()
Android
Installeren
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:0.5.0")
Voorbeeld - Kotlin
import ai.desertant.shapes.Shapes

val shapes = Shapes(context)
val shape = shapes.recognize(points)
// Shape? -> rectangle, ellipse, triangle, star, line
Web, Node.js
Installeren
npm i @desert-ant-labs/shapes @litertjs/core
Voorbeeld - TypeScript
import { Shapes } from "@desert-ant-labs/shapes";

const shapes = await Shapes.load();
const shape = await shapes.recognize(points);
// { kind: "ellipse", center: {...}, ... } or null
Voeg Shapes toe met je AI-coding-assistent
Prompt
Add Shapes from Desert Ant Labs to this project.

On-device vormherkenning die je handgetekende streek in één keer omzet in een strakke rechthoek, ellips, driehoek, ster of lijn.

SDKs (use the one that matches this project's platform):

Swift (iOS, macOS)
Repo: https://github.com/Desert-Ant-Labs/shapes
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/shapes", from: "0.5.0")

Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/shapes
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:0.5.0")

JavaScript / TypeScript (Web, Node.js)
Repo: https://github.com/Desert-Ant-Labs/shapes
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 that matches this project's platform, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.

Specs

Vormen
Rechthoek, ellips, driehoek, ster, lijn
Grootte op het apparaat
0,2 MB (4-bit Core ML op Apple)
Latency
<10 ms
Web-runtime
WebAssembly + LiteRT.js

FAQ

Wat is Shapes?

On-device vormherkenning die je handgetekende streek in één keer omzet in een strakke rechthoek, ellips, driehoek, ster of lijn.

Draait Shapes op het apparaat?

Ja. Shapes draait volledig op het apparaat: inferentie gebeurt lokaal, zonder serveraanroep, dus data verlaat nooit het apparaat.

Welke platforms ondersteunt Shapes?

Shapes wordt geleverd als native on-device SDK's voor Swift, Kotlin, JavaScript / TypeScript.

Hoeveel kost Shapes?

Elk model is gratis voor maximaal 100k maandelijks actieve apparaten per SDK. Onbeperkte inferentie per gebruiker. Neem contact op voor aangepaste licenties.

Hoe nauwkeurig of snel is Shapes?

Minder dan 10 ms per streek, uit een model van 0,2 MB zonder inferentie-runtime op het web.

Bronnen