Fluera

fluera_engine SDK · v1.0

Un motore 2D
per Flutter.
Pensato per l'inchiostro.

Tredici pennelli pressure-sensitive. Diciassette GPU shader. Un scene graph a 23 nodi. Sei piattaforme native. Lo stesso motore che alimenta Fluera, disponibile per chi costruisce strumenti creativi.

13

Brush engine

pressione · tilt · velocità

17

GPU shader

fragment + compute

23

Nodi scene graph

tratti, forme, PDF, LaTeX

6

Piattaforme native

Vulkan · Metal · OpenGL · D3D11 · WebGPU

<15 ms

Latenza tratto

renderer mobile nativi

60 FPS

Sostenuti

su hardware consumer

Capacità

2D enterprise-grade, su ogni superficie.

Brush engine pressure-sensitive

13 pennelli (penna a sfera, matita, stilografica, pennarello, carboncino, olio, spray, neon, acquerello inchiostrato, acquerello, evidenziatore, penna tecnica, gomma). Ogni pennello è una pipeline programmabile: smoothing One-Euro, semplificazione Douglas-Peucker, fragment shader per pennello, predizione Apple Pencil su iOS.

Scene graph spaziale

R-tree per hit testing e viewport culling in O(log n). 23 tipi di nodo: tratti, path Bézier, forme, raster, rich text, LaTeX, PDF embed, tabelle, istanze di simboli, clip group, adjustment layer, grafici di funzioni, vector network.

Rendering GPU ovunque

Renderer nativi per piattaforma: Vulkan (Android), Metal (iOS/macOS), OpenGL 3.3 (Linux), Direct3D 11 (Windows), WebGPU (web). I live stroke overlay bypassano il Dart canvas per sub-15 ms di latenza su mobile.

Persistenza e sync

SQLite locale con opzionale cifratura SQLCipher (AES-256). L'adapter cloud è un'interfaccia — porti il tuo backend (Firebase, Supabase, S3, REST). CRDT con vector clock per la collaborazione real-time.

Pipeline di export

PNG, JPEG, WebP, SVG, PDF multi-pagina e il formato proprietario .fluera. La rasterizzazione gira in isolate Dart, quindi non blocca mai la UI — anche per export da 5M+ pixel in DPI da stampa.

Zero vendor lock-in

Ogni punto di integrazione (storage, sync, P2P, presenza, permessi, registrazione audio) è un'interfaccia adapter. Collega quello che ti serve, salta il resto. I moduli core si auto-registrano; i moduli enterprise sono package separati.

Quickstart

Cinque righe per un canvas professionale.

  1. 01 Aggiungi fluera_engine al tuo pubspec.
  2. 02 Metti FlueraCanvasScreen nel tuo widget tree.
  3. 03 Inietta solo gli adapter che ti servono. Tutto il resto è opzionale.
canvas_screen.dart
import 'package:fluera_engine/fluera_engine.dart';

Widget build(BuildContext context) {
  return FlueraCanvasScreen(
    config: FlueraCanvasConfig(
      storageAdapter: MyStorageAdapter(),   // SQLite di default
      cloudAdapter:   MyCloudAdapter(),     // opzionale
      realtimeAdapter: MyRealtimeAdapter(), // opzionale
      permissions:    FlueraPermissions.defaults(),
      brushes:        FlueraBrushSet.pro(), // 13 pennelli
    ),
  );
}

Showcase

Costruito con fluera_engine.

Fluera

L'app cognitiva di studio che ha fatto nascere il motore. Quaderni scritti a mano, tutor AI, ciclo di apprendimento in 12 passi.

Scopri Fluera →

Stai costruendo qualcosa con fluera_engine? Scrivici — lo presentiamo qui.

Licenze

Open core, commercial-friendly.

Source-available

Leggi il codice, fork per uso personale ed educativo, contribuisci upstream. Licenza completa su GitHub.

Licenza commerciale

Stai costruendo un prodotto a pagamento su fluera_engine? Prendi una licenza commerciale — fee annuale fissa, niente per-seat.

Parliamone →

Inizia a costruire.

Il motore è su GitHub, la documentazione su fluera.dev, la demo live gira nel browser.