Spinne Software
Français

Où finit le logiciel de montage et où commence le modèle.

Dans la plupart des outils, il y a une couture. On exporte, on téléverse, on attend, on télécharge, on remet le résultat en place et on espère qu'il tombe encore juste. D'un côté de cette couture, il y a votre projet ; de l'autre, un programme qui n'en a jamais entendu parler. Sparkle n'a pas cette couture, et c'est sa suppression qui constitue l'essentiel de l'ingénierie décrite sur cette page.

Un logiciel de montage, c'est un document et les opérations qui le modifient

Sous les panneaux, un logiciel de montage est une seule chose : un document qui décrit ce qui se passe et à quel moment, et un jeu d'opérations nommées qui sont la seule façon de le modifier. Scinder un clip, en changer la vitesse, fixer une couleur, ajouter une piste de sous-titres. Rien d'autre ne touche au document.

Cela ressemble à un détail d'implémentation et c'est toute l'architecture. Dès lors que les opérations sont la seule porte, tout ce qui compte ensuite — l'annulation, la concurrence, le rejeu, l'audit de ce qui s'est passé — devient une propriété de la porte, et non quelque chose que l'on visse sur chaque fonctionnalité qui la franchit.

L'assistant est donc un appelant de plus, pas un autre programme

L'assistant ne produit pas de code, et il ne produit pas d'images. Il émet les mêmes opérations nommées qu'une entrée de menu, avec les mêmes paramètres typés, dans le même document. Demandez-lui de monter une version verticale et il appelle l'opération que le logiciel possédait déjà.

Deux conséquences en découlent, et ce sont elles qui comptent. L'assistant ne peut rien exprimer que le logiciel ne sache faire : il n'existe donc aucune catégorie de résultats produits par l'IA qu'il faudrait réconcilier ensuite avec le projet. Et tout ce qu'il a fait, vous auriez pu le faire — vous pouvez donc le lire, le modifier ou le démonter à la main.

Une opération, une annulation

Une opération de l'assistant peut toucher cent clips : en changer la vitesse, les réétalonner, restyler chaque sous-titre. Elle se réduit malgré tout à un seul checkpoint, si bien qu'une annulation vous ramène à l'instant d'avant votre demande.

Ce n'est pas un confort. Ce qui rend un assistant de montage utilisable, ce n'est pas la fréquence à laquelle il a raison — c'est le peu que coûte le fait de ne pas être d'accord avec lui. Un assistant que l'on ne peut pas rejeter proprement est un assistant qu'il faut surveiller, et le surveiller coûte plus cher que de faire le travail soi-même.

Le modèle est la partie facile. Tout ce qu'il y a autour, c'est le logiciel de montage.

Deux mains, un seul document

Pendant qu'une longue opération s'exécute, vous continuez à travailler : le document a donc deux auteurs. La version naïve de ce scénario perd une modification — le plus lent des deux enregistre en dernier et écrase sans bruit ce que l'autre a fait.

Chaque enregistrement est un compare-and-swap sur l'opération de tête du document. Une écriture fondée sur une version qui a bougé est refusée : ni fusionnée, ni appliquée en silence. Le refus est le comportement utile — un enregistrement rejeté peut être retenté sur la version qui fait foi, tandis qu'une modification perdue est découverte des jours plus tard par celui qui l'avait faite.

Exactement une fois, ou pas du tout

Une étape d'un plan de l'assistant finira par rencontrer une nouvelle tentative, un double clic, une connexion perdue, un rafraîchissement, un plantage à mi-course, ou deux exécuteurs persuadés l'un et l'autre d'en avoir la charge. Chacun de ces cas peut appliquer une modification deux fois, et une modification appliquée deux fois à une timeline n'est pas un doublon — c'est une autre timeline.

L'exécuteur n'a donc pas le droit de décider. Avant de modifier quoi que ce soit, il doit réserver l'étape auprès du registre des plans, qui la lui accorde de façon atomique sous verrou ; seule une réservation accordée autorise la modification, et un rejeu renvoie le premier résultat sans toucher au document. Ce qui prouve qu'une opération a eu lieu, c'est un identifiant d'opération enregistré, pas un indicateur dans un onglet de navigateur.

Les modèles sont à côté de la timeline, pas derrière un téléversement

Le détourage, la segmentation et la profondeur s'exécutent dans le même processus que le logiciel de montage, sur les images qu'il a déjà sous la main. Pas d'export, pas de téléversement, pas d'attente, pas de réimport, et rien à réaligner ensuite.

C'est un choix de conception dicté par la latence, et il tranche une question que la couture laisse d'ordinaire ouverte : des images sous embargo restent sous embargo, parce qu'elles ne sont jamais parties. Là où un travail a réellement besoin du cloud, il passe par une passerelle unique qui le décompte sur le compte qui l'a demandé.

Un aperçu qui est l'export

Les mêmes shaders dessinent le défilement et le rendu final : ce que vous validez est ce que vous livrez. Sans cela, chaque modification de l'IA est provisoire — vous accepteriez une image pour revérifier le fichier plus tard, c'est-à-dire la couture qui réapparaît à l'autre bout de la chaîne.

Mis bout à bout — un seul document, un seul jeu d'opérations, une seule annulation, une seule opération de tête, une seule exécution, un seul chemin de rendu — la question intéressante n'est plus de savoir si le modèle est bon. Elle devient : combien il en coûte de ne pas être d'accord avec lui. C'est cette partie-là que nous construisons.