THE LINEAGE
Une photo entre. La compétence mesure dix caractéristiques sur la machine de l'utilisateur, détermine à quelle décennie ces traits appartiennent, et construit l'arbre généalogique de la photo : un look par décennie sur le tronc des années 1930 aux années 2020, deux autres à côté comme branches, chacun étant un film, un directeur de la photographie, un photographe, une campagne ou un procédé nommé avec la raison de son appartenance. Elle étudie ensuite la direction du tronc et fait pousser une branche 2027 à l'endroit où la bibliothèque n'a aucun look : un nom, une recette, ce qu'il hérite de qui, et la preuve qu'il s'agit d'une lacune ("Aucun des 107 looks n'est à la fois aussi chaud et aussi granuleux"). Cette phrase de lacune est la signature : c'est ce qui fait de la branche un look que personne n'a encore créé, pas une supposition.
Tout jusqu'à la branche est un calcul local et ne coûte rien. La seule chose qui génère est le re-éclairage final de la propre photo de l'utilisateur dans cette branche, et cela s'exécute sur le compte Higgsfield de l'utilisateur après qu'il a accepté.
Installation
bash install.sh # la compétence, votre dossier studio, une vérification des outils optionnels
bash install.sh --higgsfield # également le CLI Higgsfield + MCP, pour générer sur votre propre compte
Python de la bibliothèque standard uniquement. Les fichiers JPEG et HEIC sont ouverts via sips (macOS) ou ffmpeg ; PNG ne nécessite rien.
Comment l'exécuter
Lorsque l'utilisateur le demande, Claude :
- Trace la photo.
python3 scripts/lineage.py trace "<photo>" --project "<projet>"(tout JPG, PNG ou HEIC ; le projet par défaut estthe-lineage). Il affiche les quatre lectures (lumière, grain, cadrage, couleur), la décennie avec sa part du score et le second, ainsi que le tronc des années 1930 à aujourd'hui avec ce que chaque look partage avec la photo. Dites d'abord la décennie à l'utilisateur, puis les deux ou trois looks du tronc les plus importants. Si le message indique "un cas serré", dites les deux décennies : c'est la lecture honnête. - Crée la branche.
python3 scripts/lineage.py grow latest --project "<projet>". Il affiche la branche 2027 : son nom et son énoncé, la recette (lumière, couleur, noirs, grain, optique, format), ce qu'elle hérite et de quel look, ainsi que la lacune. Si l'utilisateur souhaite une autre option,--seed 1(2, 3…) trouve une autre lacune avec les mêmes règles. - L'exporte.
python3 scripts/lineage.py export latest --project "<projet>"écrittrees/<id>.svg(une affiche imprimable : le tronc qui monte depuis 1930, le bourgeon cramoisi de 2027 au sommet),trees/<id>.json(tous les nombres) ettrees/<id>-branch.md(la fiche de la branche avec la recette). Ouvrez l'affiche (open <fichier>sur Mac) et dites en une ligne ce qu'il faut regarder en premier : le bourgeon et le look du tronc juste en dessous. - S'arrête et demande avant de générer. Uniquement si l'utilisateur souhaite la branche sur sa propre photo :
python3 scripts/lineage.py request latest --project "<projet>"écrit une demande d'édition d'image. Dites-lui qu'il s'agit d'une génération et ce que cela coûte sur son plan Higgsfield, puis attendez un accord. Ensuite, exécutez-la (ci-dessous) et vérifiez avecpython3 scripts/lineage.py status latest --project "<projet>".
Pour expliquer un nœud : python3 scripts/lineage.py node <id> affiche un look complet (pourquoi il est dans la lignée, ce qu'il transmet, les personnes, où le trouver, les parents). python3 scripts/lineage.py library --decade 1970 liste une décennie. Leurs propres références : python3 scripts/lineage.py add --name "..." --year 1994 --why "..." --image ref.jpg mesure l'image et ajoute le look à leur lignée pour tous les arbres suivants (les références sont globales à la machine, pas par projet ; --project est accepté et ignoré).
Essayez avec l'exemple fourni (sans rien dépenser) : python3 scripts/lineage.py example --project demo (ou --photo pool pour le second still). Pour vérifier que cela fonctionne sur cette machine : python3 scripts/selftest.py.
Comment juger le résultat
-
Alertez en cas de base faible. Sans personnes, source lumineuse visible ou éclairage de studio, le compteur a peu de choses sur quoi s'appuyer : des correspondances inférieures à 30 % sur l'ensemble du tronc signifient que la photo est un mauvais candidat, alors dites-le avant que l'utilisateur ne lise l'arbre comme une histoire.
-
La décennie est une lecture, pas un verdict. Une part supérieure à 25 % avec un écart net par rapport au second est une lecture ferme ; moins de 5 points d'écart est un cas serré et les deux décennies sont valables. Recompresser une photo modifie son grain et peut la déplacer.
-
Un look du tronc mérite sa place lorsqu'il partage deux caractéristiques distinctives avec la photo (la ligne
shares), pas seulement une couleur. Une correspondance supérieure à 50 % est une parenté proche ; inférieure à 30 %, la décennie n'avait tout simplement rien de plus proche, alors dites-le. -
Une branche est bonne lorsque sa phrase de lacune nomme une paire de traits forts qu'aucun look de la bibliothèque ne possède ensemble, que son look existant le plus proche est à 70 % ou moins, et qu'elle conserve toujours le cadre de la photo. Refusez une branche dont la recette se contredit sur le film (virages séparés sur noir et blanc) : faites pousser une autre graine.
-
Les lignes pleines sont des influences documentées ; les lignes pointillées sont des parentés de traits. Ne présentez jamais une ligne pointillée comme de l'histoire.
-
Les nombres locaux sont des calculs arithmétiques que vous pouvez vérifier dans le JSON de l'arbre ;
references/method.mdexplique chacun d'eux et leurs limites.library/reading-card.mdest la même lecture faite à l'œil.
Génération sur le compte Higgsfield de l'utilisateur
Rien dans cette compétence ne génère par lui-même. request écrit ~/LOWLIGHT STUDIO/<projet>/requests/<id>.json (prompt, la photo de l'utilisateur comme référence, rapport d'aspect). Claude l'exécute via le MCP Higgsfield connecté en tant qu'utilisateur, puis classe le résultat :
python3 scripts/studio_bus.py requests <projet>
python3 scripts/studio_bus.py receive <projet> <id> <fichier téléchargé>
C'est une édition d'image : le prompt décrit uniquement la lumière, la couleur et la surface du film de la branche. Utilisez un modèle d'édition proposé par le plan de l'utilisateur (Nano Banana Pro ou un modèle d'édition Seedream fonctionnent bien). Avant d'exécuter quoi que ce soit, dites à l'utilisateur combien de générations cela représente et ce que cela coûtera sur son plan, et attendez un accord. Voir references/generation.md.
Dialogue avec les autres départements
Voir references/studio.md. Il lit taste de The Eye lorsqu'il existe (les likes et les refus orientent l'endroit où pousse la branche 2027 ; la branche mentionne taste_used) et publie lineage : les douze derniers arbres avec leurs nœuds et leur branche, que The Eye peut utiliser comme jeu supplémentaire. Sans les autres départements, cela fonctionne de la même manière.
Fichiers
| Chemin | Description |
|---|---|
scripts/lineage.py | le moteur et sa ligne de commande : example, trace, grow, export, request, status, trees, library, node, add |
scripts/meter.py | le compteur photo : dix caractéristiques, lectures, palette, format (python3 scripts/meter.py photo.jpg --brief) |
scripts/demo_photo.py | dessine les deux exemples de stills à partir du code (aucune photo personnelle n'est incluse) |
scripts/selftest.py | un test à blanc avec des photos synthétiques et les exemples : python3 scripts/selftest.py |
library/lineage.json | les 107 looks, des années 1930 aux années 2020 : personnes, raison, caractéristiques, palette, parents |
library/examples/ | les deux exemples de stills, dessinés à partir du code (voir son README) |
library/reading-card.md | la même lecture à l'œil, pour une photo sur un mur ou un téléphone |
references/method.md | comment le compteur, la décennie, le tronc et la lacune sont calculés, et leurs limites |
references/library.md | comment un look est écrit, comment en ajouter ou en corriger un |
references/generation.md | configuration Higgsfield et comment la demande est construite |
references/studio.md | le bus partagé entre les départements de THE STUDIO |
Les sorties sont placées dans ~/LOWLIGHT STUDIO/<projet>/ : trees/, requests/, received/.