hlassiege/darylpublic Fork
⑂ ac8b851
Commits
⬇ Clone ▾
git clone https://git.rickub.com/hlassiege/daryl.git
git clone ssh://git@rickub.com/hlassiege/daryl.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

fix(montage): keep every motion element inside #stage

HyperFrames only mounts the composition root of a motion file: an element left beside #stage (a hidden template to clone) is dropped, and the script looking for it throws.
hlassiege committed 2026-10-24T21:08:16+02:00 Browse files
ac8b851 parent: 99a15e2
modified backend/studio/modules/projects/montage_tasks.py +3 -1
@@ -64,7 +64,9 @@ environ 75 % de l'entrée. Pas d'oscillation décorative (ni repeat: -1 ni yoyo)
6464 - La timeline doit couvrir toute la durée : ajoute `tl.to({}, {duration: <dur>}, 0)`, sinon l'image \
6565 devient noire avant la fin.
6666 - Jamais de balise <template> : le rendu prend le premier <template> pour la composition elle-même et la \
67-rejette. Un élément à dupliquer se clone en JS depuis un élément caché (display: none).
67+rejette. Un élément à dupliquer se clone en JS depuis un élément caché (display: none), placé DANS #stage.
68+- Rien hors de #stage dans <body>, sauf les <script> : le rendu ne garde que #stage, le reste disparaît (un \
69+script qui le cherche plante, et le motion reste figé).
6870 - Une vidéo ou une image de contexte.md dans la composition : `src="media/<id>-<nom court sans espace>.<ext>"` \
6971 et `data-from="<son src exact listé dans contexte.md>"`, sur la balise elle-même (<video>, <img>). Le studio \
7072 copie le fichier à cet endroit ; tu ne peux pas copier de fichier toi-même. Une vidéo : `muted`, avec \
@@ -64,7 +64,9 @@ environ 75 % de l'entrée. Pas d'oscillation décorative (ni repeat: -1 ni yoyo)
64 - La timeline doit couvrir toute la durée : ajoute `tl.to({}, {duration: <dur>}, 0)`, sinon l'image \64 - La timeline doit couvrir toute la durée : ajoute `tl.to({}, {duration: <dur>}, 0)`, sinon l'image \
65 devient noire avant la fin.65 devient noire avant la fin.
66 - Jamais de balise <template> : le rendu prend le premier <template> pour la composition elle-même et la \66 - Jamais de balise <template> : le rendu prend le premier <template> pour la composition elle-même et la \
67-rejette. Un élément à dupliquer se clone en JS depuis un élément caché (display: none).67+rejette. Un élément à dupliquer se clone en JS depuis un élément caché (display: none), placé DANS #stage.
68+- Rien hors de #stage dans <body>, sauf les <script> : le rendu ne garde que #stage, le reste disparaît (un \
69+script qui le cherche plante, et le motion reste figé).
68 - Une vidéo ou une image de contexte.md dans la composition : `src="media/<id>-<nom court sans espace>.<ext>"` \70 - Une vidéo ou une image de contexte.md dans la composition : `src="media/<id>-<nom court sans espace>.<ext>"` \
69 et `data-from="<son src exact listé dans contexte.md>"`, sur la balise elle-même (<video>, <img>). Le studio \71 et `data-from="<son src exact listé dans contexte.md>"`, sur la balise elle-même (<video>, <img>). Le studio \
70 copie le fichier à cet endroit ; tu ne peux pas copier de fichier toi-même. Une vidéo : `muted`, avec \72 copie le fichier à cet endroit ; tu ne peux pas copier de fichier toi-même. Une vidéo : `muted`, avec \