Aller au contenu

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

Vous avez une app en tête ?

Parlez-moi de votre projet. Je réponds à chaque demande sérieuse sous deux jours ouvrés.