node_t2d
v0.1.5
Published
TimeQQ (node_t2d): moteur temporel 2D unifié (MetaShape, générateur aléatoire, événements, métriques) pour Node et navigateur.
Maintainers
Readme
🕒 Du temps linéaire à time2d — node_t2d
node_t2d étend le temps linéaire (1D) en une surface (2D) où des empreintes (slots) sont disposées sur un support (cercle, polygone, MetaShape) et activées par un mobile qui circule avec une vitesse (service_time). Chaque empreinte reste “valide” un certain temps (ENVIRONNMENT_CORPSE_TIME) avant de s’éteindre.
Ce modèle rend visibles les dépendances, les latences et les collisions que le planning linéaire cache.
❗ Limites du temps linéaire (et erreurs fréquentes)
- Granularité trompeuse : un bloc “30 min” masque setup/latence (amorce, cooldown).
- Dépendances invisibles : la tâche B dépend d’un état produit par A dans une fenêtre précise.
- Lectures ambiguës : fuseaux/DST/arrondis + interprétations humaines différentes.
- Single-thread implicite : changement de contexte supposé instantané ⇒ sur-booking.
- Traces inexploitables : difficile de savoir “où” le temps réel a été déposé.
✅ Extension time2d (node_t2d)
- Support 2D : cercle, polygone, MetaShape (sommets = empreintes).
- Mobile : circule avec
service_time_ticks(quantum → vitesse) et allume les empreintes. - Fenêtre d’usage :
ENVIRONNMENT_CORPSE_TIME= durée de validité après passage. - Séquençage :
drawOrderet/ouedgesstructurent l’ordre de visite. - Multi-mobiles : plusieurs utilisateurs/équipes superposés pour voir conflits et chevauchements.
Mapping (agenda ↔ time2d)
| Agenda / Projet | node_t2d |
|-------------------------|----------------------------------|
| Tâche / Slot | Empreinte (sommet) |
| Dépendance | Edge (liaison) |
| Ordre imposé | drawOrder |
| Vitesse d’exécution | service_time_ticks |
| Fenêtre d’usage | ENVIRONNMENT_CORPSE_TIME |
| Ressource / utilisateur | Mobile (1 par utilisateur) |
| Conflit de ressources | Collision sur une même empreinte |
🚀 Installation
npm i node_t2d
# ou
pnpm add node_t2d