Desert Ant Labs

Shapes.

VormherkenningBeschikbaar

Vormherkenning op het apparaat die één handgetekende haal omzet in een rechthoek, ellips, driehoek, ster of lijn, in minder dan 10 ms.

Demo

Ruwe schets. Perfecte vorm.

Teken een ruwe cirkel en Shapes klikt hem vast op een strakke. Shapes past precieze vectorgeometrie toe, klikt vast op assen, cirkels, vierkanten en rotaties van 15 graden, en wijst krabbels af die geen vorm zijn.

Op Apple voegt één aanroep slim vastklikken van vormen zoals in Notities toe aan een PencilKit-canvas, en de live preview blijft gewoon staan. “Snap to Shape” van Apple zelf is private API die apps van derden niet kunnen aanroepen; Shapes doet hetzelfde werk in één regel.

Het model is klein genoeg om mee te leveren in de app, zonder download. In de browser draait Shapes via LiteRT.js.

Minder dan 10 ms per haal.

Minder dan 10 ms per haal, uit een model van 0,2 MB op Apple en 1,3 MB op Android en web.

0,2MB
On-device
<10ms
Per herkenning
op het apparaat
5
Vormklassen
rechthoek, ellips, driehoek, ster, lijn
1,3MB
In de browser
eenmalig opgehaald en gecachet

Interne metingen. Core ML op Apple, LiteRT.js in de browser, voorgebouwde native libraries op Node.

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 daarmee vul je het gat dat de private Snap to Shape-API van Apple openlaat.

Een diagram uit de losse hand opschonen

Zet in een diagram- of whiteboardtool ruwe halen om in precieze geometrie. Werkt met de haaldata van tldraw en Excalidraw.

Cross-platform tekenen

Eén herkenner dekt iOS, Android en web, dus je schrijft de code voor het vastklikken maar één keer.

Meegeleverd in de app, geen download

Op Apple is de herkenner 0,2 MB en zit hij in de binary, en het Android-pakket levert hem standaard mee. In de browser haalt de SDK eenmalig 1,3 MB op en bewaart die in de cache.

Inspiratie

Ideeën om te bouwen met Shapes. Kopieer een prompt naar je coding-agent en ga.

Shapes

Build a whiteboard that snaps rough sketches into clean shapes.

Shapes

Clean up a freehand diagram into crisp shapes.

Shapes

Add shape recognition to a web canvas with no download.

Shapes

Snap flowchart boxes and connector lines as you sketch them.

Shapes

Add smart-shape drawing to a kids' learning app.

Shapes

Recognize gesture shapes to trigger app actions.

Wat het model doet

  • Eén haal tegelijk, doorgegeven als zijn [x, y]-punten, vanuit PencilKit, tldraw, Excalidraw of je eigen canvas.
  • Herkent rechthoek, ellips, driehoek, ster en lijn, en wijst niet-vormen af.
  • Klikt vast op assen, cirkels, vierkanten en rotaties van 15 graden.
  • Live vastklikken in PencilKit via één aanroep: canvasView.enableShapeSnapping().
  • Draait via LiteRT.js in de browser. Node gebruikt vooraf gebouwde native libraries.

Aan de slag

Voeg vormherkenning toe aan je iOS or macOS, Android or web-app in een paar regels code. Shapes docs.

iOS, macOS
Installeren
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.1.0")
// target dependency
.product(name: "Shapes", package: "desert-ant-core")
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()
Bouwen met een prompt
Add Shapes from Desert Ant Labs to this Swift project (iOS, macOS).

What it does: on-device vormherkenning met één haal.

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.1.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.
Android
Installeren
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:3.1.0")
Voorbeeld - Kotlin
import ai.desertant.shapes.Shapes

val shapes = Shapes(context)
val shape = shapes.recognize(points)
// Shape? -> rectangle, ellipse, triangle, star, line
Bouwen met een prompt
Add Shapes from Desert Ant Labs to this Kotlin project (Android).

What it does: on-device vormherkenning met één haal.

SDK:

Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:shapes:3.1.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.
Web, Node.js
Installeren
npm i @desert-ant-labs/shapes @litertjs/core
Voorbeeld - TypeScript
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
Bouwen met een prompt
Add Shapes from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js).

What it does: on-device vormherkenning met één haal.

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.

Specs

Vormklassen
Rechthoek, ellips, driehoek, ster, lijn
Grootte op het apparaat
0,2 MB Core ML (Apple); 1,3 MB LiteRT (Android, web)
Snelheid
<10 ms
Web-runtime
LiteRT.js in de browser, native libraries op Node

Shapes leest één haal per keer, dus een vorm die je in twee halen tekent, wordt niet herkend. Heel ruwe of dubbelzinnige halen worden bewust geweigerd, zodat een krabbel nooit vastklikt op een driehoek.

Voor diagrammen met meerdere halen moet je zelf eerst groeperen.

FAQ

Wat is Shapes?

Vormherkenning op het apparaat die één handgetekende haal omzet in een rechthoek, ellips, driehoek, ster of lijn, in minder dan 10 ms.

Draait Shapes op het apparaat?

Ja. Shapes draait op het apparaat, zonder serveraanroep, dus de data blijft bij de gebruiker.

Welke platforms ondersteunt Shapes?

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

Hoeveel kost Shapes?

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

Hoe nauwkeurig of snel is Shapes?

Minder dan 10 ms per haal, uit een model van 0,2 MB op Apple en 1,3 MB op Android en web.

Bronnen