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 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 is klein genoeg om mee te leveren in de app zonder model-download, en de web-build draait pure-JS-inferentie zonder ONNX- of WASM-runtime.

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().
  • Pure-JS-inferentie op het web: geen ONNX- of WASM-runtime.

Platforms en installatie

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

let shape = try ShapeRecognizer().recognize(points: stroke)
// Shape? -> rectangle, ellipse, triangle, star, line
KotlinAndroid
Installeren
// build.gradle.kts (via JitPack)
implementation("com.github.Desert-Ant-Labs:shapes-kotlin:0.1.0")
Voorbeeld
import ai.desertant.shapes.Shapes

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

const shape = await recognize(points);
// { type: "ellipse", center: [120, 90], ... } or null

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
Geen; pure-JS-inferentie

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