Desert Ant Labs

Shapes: Einstrich-Formerkennung auf dem Gerät

FormerkennungVerfügbar

Einstrich-Formerkennung auf dem Gerät, die eine einzige Handzeichnung in ein sauberes Rechteck, eine Ellipse, ein Dreieck, einen Stern oder eine Linie verwandelt.

Shapes nimmt einen handgezeichneten Strich, eine Liste von [x, y]-Punkten, und gibt saubere Geometrie zurück: Rechteck, Ellipse, Dreieck, Stern oder Linie. Es passt präzise Vektorformen an, rastet an Achsen, Kreisen, Quadraten und 15-Grad-Drehungen ein und verwirft Gekritzel, das keine Form ist.

Auf Apple ergänzt es PencilKit mit einem einzigen Aufruf um Smart-Shape-Einrasten im Stil von Notizen, bei erhaltener Live-Vorschau. Apples eigenes „Snap to Shape“ ist eine private API, die Drittanbieter-Apps nicht aufrufen können, und Shapes schließt diese Lücke. Es ist klein genug, um ohne Modell-Download in der App ausgeliefert zu werden, und der Web-Build führt die Inferenz in reinem JS aus, ohne ONNX- oder WASM-Laufzeit.

Demo

Leistung

Unter 10 ms pro Strich, aus einem Modell von 0,2 MB, ohne Inferenz-Laufzeit im Web.

0.2 MB
Auf dem Gerät
<10 ms
Pro Erkennung
5
Formklassen

Interne Messungen. Inferenz in reinem JS im Web, Core ML auf Apple.

Anwendungsfälle

Smart Shapes im Stil von Notizen

Fügen Sie einer PencilKit-Zeichenfläche mit canvasView.enableShapeSnapping() Einrasten auf Formen hinzu. Live-Vorschau, Rückgängig und Wiederholen bleiben erhalten und schließen die Lücke, die Apples private Snap-to-Shape-API hinterlässt.

Diagramm- und Whiteboard-Tools

Bereinigen Sie Freihandstriche zu präziser Geometrie. Funktioniert mit Strichdaten von tldraw und Excalidraw.

Plattformübergreifendes Zeichnen

Derselbe Erkenner läuft auf iOS, Android und im Web, sodass sich eine Zeichenfunktion überall identisch verhält.

Kein Modell-Download

Mit etwa 0,2 MB wird es in der App ausgeliefert. Anders als bei Google ML Kit Digital Ink muss kein ~20 MB großes Modell zur Laufzeit geladen werden.

Was es macht

  • Erkennt Rechteck, Ellipse, Dreieck, Stern und Linie und verwirft Nicht-Formen.
  • Rastet an Achsen, Kreisen, Quadraten und 15-Grad-Drehungen ein.
  • PencilKit-Live-Einrasten über einen Aufruf: canvasView.enableShapeSnapping().
  • Web-Inferenz in reinem JS: keine ONNX- oder WASM-Laufzeit.

Plattformen und Installation

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

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

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

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

Technische Daten

Formen
Rechteck, Ellipse, Dreieck, Stern, Linie
Größe auf dem Gerät
0,2 MB (4-Bit Core ML auf Apple)
Latenz
< 10 ms
Web-Laufzeit
Keine; Inferenz in reinem JS

FAQ

Was ist Shapes?

Einstrich-Formerkennung auf dem Gerät, die eine einzige Handzeichnung in ein sauberes Rechteck, eine Ellipse, ein Dreieck, einen Stern oder eine Linie verwandelt.

Läuft Shapes auf dem Gerät?

Ja. Shapes läuft vollständig auf dem Gerät: Die Inferenz erfolgt lokal ohne Serveraufruf, sodass keine Daten das Gerät verlassen.

Welche Plattformen unterstützt Shapes?

Shapes wird als native On-Device-SDKs für Swift, Kotlin, JavaScript / TypeScript ausgeliefert.

Was kostet Shapes?

Jedes Modell ist für bis zu 100k monatlich aktive Geräte pro SDK kostenlos. Unbegrenzte Inferenz pro Nutzer. Kontaktieren Sie uns für individuelle Lizenzen.

Wie genau oder schnell ist Shapes?

Unter 10 ms pro Strich, aus einem Modell von 0,2 MB, ohne Inferenz-Laufzeit im Web.

Ressourcen