Package npm Open source
@tryonit/core — Cœur sans dépendance du SDK TryOnIt
Le cœur TypeScript multiplateforme de mon SDK d'essayage virtuel : validation des manifestes, machine à états, calculs de suivi et filtres de lissage.
Présentation
@tryonit/core est la fondation de TryOnIt, le SDK open source que j'ai créé pour permettre aux clients d'essayer maquillage, lunettes, bijoux, montres, colorations et vêtements via leur caméra. Le cœur regroupe tout ce qui ne dépend pas d'un navigateur : les packages web, React et React Native partagent ainsi une seule implémentation des règles au lieu de trois.
Il est écrit en TypeScript pur, sans aucune dépendance et sans DOM. Il compile sans les types DOM, accepte un fetch injectable, ne touche jamais à window, document ou navigator, et un test importe toute l'API publique dans un environnement Node sans globales DOM. C'est cette discipline qui a permis au package React Native de le réutiliser tel quel.
On y trouve un petit constructeur de schémas qui valide les manifestes produits pour 15 types d'assets avec des erreurs lisibles et localisées par chemin, accompagné d'un JSON Schema synchronisé par un test unitaire ; un store immuable avec une machine à états finis pour la session caméra ; les calculs d'ancrage qui transforment les points MediaPipe en poses pour l'arête du nez, les lobes d'oreilles, le poignet et les doigts, avec une échelle métrique basée sur l'iris ; des filtres de lissage One Euro ; et une déformation par homographie pour les vêtements. Il fournit aussi tryonit-validate, une CLI qui vérifie les manifestes et leurs fichiers GLB et PNG en CI. Un import typique pèse environ 5,9 Ko min+gzip.
Fonctionnalités clés
- Validation à l'exécution de 15 types de produits avec erreurs localisées par chemin
- JSON Schema pour l'autocomplétion, synchronisé avec le validateur par un test
- Store de session et machine à états compatibles avec useSyncExternalStore
- Calculs d'ancrage visage, mains et corps avec échelle métrique basée sur l'iris
- Filtres de lissage One Euro et déformation par homographie
- CLI tryonit-validate pour vérifier les catalogues produits en CI
Articles sur ce projet
-
7 min de lecture
How to Create Virtual Try-On Products with JSON Manifests
A practical guide to TryOnIt asset manifests: lipstick shades, makeup looks, face stickers, variants, CORS hosting, CMS or Shopify loading and CI validation.
-
8 min de lecture
Inside TryOnIt: The Architecture of a Client-Side Virtual Try-On SDK
How I structured an open-source virtual try-on SDK as layered TypeScript packages: a DOM-free core, a per-frame fast path, a state machine and renderers.
-
7 min de lecture
Preparing 3D Models for AR Try-On: Millimetres, Origins and glTF Export
How to model, orient and compress glasses, hats, earrings, watches and rings for web AR try-on: real-world units, anchor origins, Blender export, compression.
-
5 min de lecture
Shipping AR Try-On to React Native and Expo Go with a WebView Engine
Why @tryonit/react-native runs the web engine in react-native-webview, how the bridge works, and the native VisionCamera, Skia and Filament engine planned next.