Skip to content
Mocky/Docs v0.2
Reference

Changelog

18 min read
Why it works this way

This page is generated from the Git history by npm run changelog. Commit messages in this repository are written in French, and are reproduced verbatim rather than translated: a translated subject sitting beside a hash points at a commit whose text says something else, and the reader can then search for neither.

September 2026#

Features

ScopeChangeCommit
demoles posts réseaux sociaux dans un téléphone, dans leur filc921532
documentdix nouveaux types — affiche, rapport, documentation, CV, facture/devis, certificat, menu, posts Instagram, Facebook et LinkedInc51b84b
document« Ajuster à la page » au clic droit, type d'écran retenu par projetfcda24e
documentbouton « Ajuster à la page » sur l'alerte de dépassement8ca73c7
demoun document imprimé tenu en main, dessiné au trait37f5828
documenttype Flyer, formats de page et téléchargements587cf50
documentScreen.page, pdf-lib, et la place de la boîte de téléchargement65c0302
documentformats de page et contrat DOM du mode Document5b7267e
—câbles entre écrans, cadres démo, fournisseurs, types d'écran, amélioration du prompt, son de finc269525
admintableau de bord d'administration en direct7f6ee0e
adminmode maintenance et migration vers un nouveau serveurd526746
siteles images du site remplacées par des photos libres ou générées9f971a0
composercaptures d'un site existant, à reproduire ou à refondre5fb8c03
—notes privées par écran, et photos libres de droits choisies par la visionad4b301
ultraMotion Ultra ×3 et ×6 ouverts par compte, indépendammentff3895a
uiles films s'appellent Motion Ultra partout7161595
videoaccès aux vidéos par compte, et un vrai choix de source dans Muse807a979
mediavidéos libres de droits Pexels et Pixabay, configurables dans Admin52847f1
museune séquence vidéo pilotée par la souris, placée où le prompt le dit8dce2ee
—animations de page toujours actives, plus de film automatiqued910b88
ultrasérie visible sur le canevas, images réutilisées, film vraiment visible55c8d51
ultrav2 — fond vidéo, fabriqué en local et branché sans appelc0f31d4
ultraquatre effets repérés dans le corpus motionsitese0841dd
ultracontrôle de lisibilité du texte posé sur une image9d1dfde
—retour arrière automatique quand la réparation d'un écran échoue9e0a4ce
ultrafin de la v1 — coût visible, budget d'animation, test U1972d8e9
images« Autre version » d'une image dans les médias d'un écrandef84f0
ultracontrôles après génération et après retouche, badge sur le canevas14931a3
ultraPolish ne corrige plus le style d'un écran Motion Ultra37cf5e9
ultraMotion Ultra — storyboard, série d'images et kit CSS64370c0
3dla place vivante suit la scene qu'on regardeb9915c7
3dune scene sans place montre une image d'elle-memef62e8a9
motionle film sait ce que la page dessine deja en 3Df4f7c24
3dla scene repond au curseur, et un fond reste derrierefffea74
3dquatre scenes de plus, et une deuxieme couleur0c39797
3dune scene WebGL dans une page, et le budget qui la gouverne535dd46
motionun fichier compose pour les deploiements qui choisissent un fichierd921659
motionun film peut boucler proprement, en miroir ou en fondudca0127
motionun film de page dit presque rien, et des icones animees4bc3a0c
motionmonde 3D continu, titres dessines par un essaim, transitions cube/plongee/iris/liquide1a8692b
motiontypographie cinetique et fonds qui bougent en couleur132e70e
motionniveau de puissance du serveur et bouton "Tester ce serveur" dans l'admin6c8bd41
motionplus de case Motion, le film est decide par l'interrupteur d'animation et la demande78e7fe9
motionles polices du dossier sont installees dans le moteur de rendu0a4433b
motionsept facons d'arriver et trois ambiances de couleur, choisies par le LLMc1b378a
motionla modification d'un film passe par une fenetre Mocky, plus par la popup du navigateur1a794d0
motionmodifier un film deja pose dans un ecran, depuis le menu de l'ecran5f2d752
motionvarier les films, et modifier au lieu de refaire quand le brief change6aa306d
motionnommer les sections, pour que le film sache ou se poserd331fae

Fixes

ScopeChangeCommit
demomain retracée sur la référence agrandie, ombre du pouce465f293
demomain tracée d'après la référence choisiefb94c2f
documentmain redessinée, bouton Enregistrer, images de la bibliothèquece3158f
documentrendu natif des pages, image facultative, partage4792f6b
annotationla capture reçoit les capacités de l'écran ; démo : changer d'écranfa08ce4
siteune refonte lit d'abord le contenu du site, et le garde dans sa langue1d6b06e
composerles captures d'un site aussi depuis l'accueil d'un projet vide77edc5e
videola séquence au défilement reste collée malgré un overflow-hiddenc806490
videosle découpage n'agrandit plus un clip plus étroit que le réglagee0939e1
ultraune photo plein cadre ne recouvre plus le fond vidéo; cadres empilés sans déborda0046d9
ultrale film d'un écran Motion Ultra reçoit les images de la série0525a06
ultrale voile du héros cinématique couvre chaque ligne de texte; suivi mis à jour0fa77e9
ultraun film Motion ne prend plus l'ouverture construite par Motion Ultrae207122
3dune capture donne son image a CHAQUE scene de la page1df6187
motionle film n'est pas un conteneura2a302f
motionle sujet plein cadre s'ecarte des mots1328f9b
providerla reflexion recoit un budget la ou on peut en demander unc4fce19
providerune generation qui ne rend rien dit enfin pourquoi67523a4
3dun ecran depense un contexte, quoi que le modele ait ecritb108ceb
exportun projet exporte porte tous ses composants, et se construitbeac878
3dla scene garde son propre temps, et la console se tait4927324
motionpas de second fond anime, et jamais une bande a soi3a75f3f
3dune scene tient dans sa boite, et se laisse photographier21c3466
canevasl'outil Modifier reagit enfin au clice4e5a79
motionle fichier compose pour Coolify est entier, et generedafe036
generation,motionune icone inconnue ne fait plus planter l'ecran, un film refuse a une seconde chance1075322
uiles erreurs du composer s'affichent en entier, sur plusieurs lignes, et se ferment50cdbc2
testla couture prompt/lecteur lit un fichier, donc elle vit dans tests/223eff7

Documentation

ScopeChangeCommit
lumycaptures annotées, cartes, quiz et valeurs du lecteur9ebf522
lumydocuments et posts réseaux sociaux, câbles, mode démo, types d'écran, Améliorer, carillon, fournisseurs9504f84
—LUMY_SECRET est facultatif096a681
—Lumy 0.1.1 — formulaires du tableau de bord visibles malgré les bloqueurs de publicitéd406bd9
readmetypes d'écran, documents, posts réseaux sociaux, cadres de démo, câbles, carillon, fournisseurs6357efa
—Lumy installé depuis sa version publiée sur GitHubbb74aca
—la documentation passe de Docsify à Lumyd14e752
—tableau de bord d'administration, invariants D1–D58d3ca06
—maintenance et migration de serveur, README et architecture0fc16a7
readmereproduire ou refondre un site existantce5838d
—plus de bouton d'animation ni de film automatique — pages, invariants et changelog à jour183c132
—Motion Ultra dans l'interface, la vue d'ensemble et le changelog9bb2e5a
ultrav2 — le fond vidéo, FR/EN, CLAUDE.md et suivicf0301f
ultrasuivi mis à jour6090c84
ultraMotion Ultra — page FR/EN, invariants U1–U5, README et CLAUDE.md290f7a0
3dla vue d'ensemble nommait encore mockySceneClaim au présentce0338d
motioncomment faire demarrer le worker avec les autres servicesf227871
deploymentle niveau de rendu et le test du serveur, cote exploitanted5d0b9
motionla doc officielle decrit Motion tel qu'il estae357f4

Maintenance

ScopeChangeCommit
adminune page moitié moins haute, et la section Motion devient Motion Ultra170ccd8
—retire les lecteurs du placement automatique de film60d2276
motionjournaliser une composition qui n'aboutit pas, avec sa duree et sa raison396ca74

August 2026#

Features

ScopeChangeCommit
motionchaque type ouvre sur ce qui lui convient, et le dossier arrive entier488adae
mediarafraichir sans quitter la page, et dire quand chaque media a ete fait1481afb
motionun film entre enfin dans l'ecran qu'il decore1e78ab9
motionun geste, les couleurs demandees, un globe entier, et Motion dans le composerd286c17
motionla 3D devient un vocabulaire, et l'admin dit qui y a droit7c8339b
motionun bloc habite la boite qu'on lui donne1025b07
motionle modele compose des blocs, il ne choisit plus une mise en pagebaee1e0
motionrien ne reste immobile, et un long film a le temps de finirae18e88
motionretrouver le montage, l'attacher à un écran, et fusionner les deux chemins036cb95
imagesun profil image-to-image, et des variantes vraiment dérivéese9c1962
videophase 4 — le modèle propose le montage, le schéma en décide76fadad
videophase 2 — composition réelle, stockage du mp4, suivi de job6eb9f25
videophase 1 — worker Remotion isolé, file, garde-fous adminef5dcb1
seoun panneau SEO et accessibilité, noté par familleb82c673
imageschanger les images d'un écran, emplacement par emplacementcc9ca69
adminles projets et le stockage, compte par compte78cc8b0
canevasle cadrage suit la fenêtre, et un bouton vise le dernier écranf52ecff
headerla marque à côté du nom, et la baseline qui lui cède la place9b71bc0
mobiledes barres qui tiennent, des cibles qu'on peut viser, un canevas qui cède8cf0509
designle DESIGN.md devient une fiche, et se modifie2d8f0ba
canvascinq retouches, dont deux vrais bugs93e8f8c
qualitydétecter, corriger, noter — et dire ce qui a changé2ad2f2a
planle mode dit ce que le visiteur vient faire28b84e8
generatele nom du produit et son logo traversent les écrans53b517e
designune seule direction par projet, et un interrupteur pour en changer3d776d1
designune direction par projet — la fondationad6b439
liens« Proposer des liens » — la fonctionnalité est visible2f69b10
liensl'aperçu sait maintenant lister ce qu'on peut lierada0457
liensdeviner quel bouton mène à quel écran7de45d9
demoun parcours qui n'exige pas d'avoir tout relié à la main91b73b0
video24 fps et 1440 px, et un bouton pour redécouper l'existant277fe92
mediales séquences se lisent enfindc0334c
projetscocher plusieurs projets, et les ranger dans des dossiers9444c95
capturela clé API n'est plus à portée du code généréd777bdf
appdu travail qui ne se perd plus, et une bibliothèque de designs976323a
serverde quoi tenir sur le web public, et huit défauts qui mordaient6680fde
—un bouton Docs dans l'app, et le site de doc habillé comme Mockya443d2d
motioncinq presets de plus, et deux composants retrouvése7c851b
canvasles animations se règlent écran par écran, et le composer respire836f3ed
motionl'interrupteur d'animations, et le filet anti-contournemente23b0f3
uibrancher la vidéo, le média et le dossier au reste de l'application4323e1d
motiondes animations par presets fermés, adossées à Motion71c8cc1
museécrire le dossier de design À PARTIR du média de l'utilisateur022252d
mediala page Média, et l'import de ses propres images et vidéos931a828
videoune séquence vidéo que le visiteur fait défilerc56578f

Fixes

ScopeChangeCommit
motionne plus rogner un film qui porte des mots, et respecter la CLASSE de la police532b722
motiongarder toutes les sorties, pas seulement celle que j'avais regardeeda90d0a
motionla seconde CSP, et une attente que personne ne pouvait deviner6502fb9
motionla regle porte sur la ZONE, pas sur la repetition49571c6
motionle film dit ce qu'il grave, la page cesse de le rediref79d8b2
motionlire l'ecran par la ref, sinon on ne le voit jamais3203c4e
motionun film compose puis jete une ligne plus loin5a8c631
motionun film 3D doit pouvoir finir, et le chiffre ecrit etait fauxb83781b
motionune photographie se borne, et un ornement se mesure sur ce qu'il traverse16d6670
motionun anneau vu de sept degres est une ellipse plate5e0361b
motionun mot ne se coupe pas, et un meuble n'est pas la scene2757a1f
motionun role est une notion de scene, et un champ se mesure comme il peintc9578f8
motionmesurer le texte plutot que le supposer, et six fautes vues a l'image4105c6c
videoun film net, et une image faite pour le cadre où elle finit3a68e3b
videole texte se mesure, il ne se suppose pasa3c761d
designla maquette Muse peignait en bleu nuit, et deux causes le voulaient3adde33
projetcinq dettes de la revue adverse, et la doc du module vidéob780716
imagesfal a deux familles de modèles d'édition, et deux noms de champ8943136
videoquatre défauts trouvés au premier essai réel9f23452
docsla version mobile, d'après un audit multi-agentsefe4daf
docsle sélecteur de thème retrouve le bas du menub690b88
mobilela liste des projets cesse d'élargir la pagedc7d301
depsfast-uri et hono, corrigés là où ils étaient déjà permis764e3d8
designles vignettes viennent de la palette, plus d'un bleu nuit par défaut85c16aa
capabilitiescharger ce que le code utilise, pas seulement ce que le prompt annonçait3a802fb
lienschoisir l'écran dans le panneau, pas sur le canevasc0695cf
imagesla borne sur le prompt passait sous le trafic de Mocky808f13e
aperçule chien de garde s'armait sur le code, pas sur le documentf26a2e8
demorendre le fil principal à la démo, et un hook remis à sa place269e892
demol'aperçu s'accusait d'un dépassement qu'il n'avait pas7072db6
demone plus photographier les écrans pendant qu'une démo tourneb32a6cf
apple lien Docs passe dans la manchette72fbaa6
siteversionner les ressources pour que le cache cesse de mentir6875f61
sitele sélecteur de langue sort du sommairedb74b90
sitel'onglet s'appelle « Doc Mocky », et la favicon est déclarée proprement6c51e41
motioncouper les animations fige vraiment l'écran, et le menu montre les choix6cf9cec
motionl'interrupteur manquait au premier écran, et n'agissait pas sur l'existantb10128e
generateune balise de fin tronquée ne doit plus finir dans le codeab71f5d

Documentation

ScopeChangeCommit
—une page sur l'interface, et le rattrapage du retard866340e
sitela colonne s'élargit, la mesure se resserre5e10a3b
—un changelog, des pages vivantes, et ce qui manquait8e012c8
—CLAUDE.md, la série Q, et ce qu'on doit à Impeccableb055b9c
—la direction par projet, l'identité qui voyage, et deux phrases devenues fausses29b62a0
—les jumeaux de langue, et le « pourquoi » sous chaque titref014d33
—des images nettes, en anglais, et qui chargent aussi en français9e31856
—six captures d'écran, et quatre affirmations remises d'aplomb352b61d
siteun drapeau par langue, et l'icône de Mocky sur l'onglet404ee87
—l'anglais par défaut, le français réécrit, et plus aucun schéma ASCIIf2b361d
—la documentation du projet, et une coquille Docsify pour la lire1e45992
readmeles animations, la page Média, et trois affirmations devenues fausses681e7a3

Maintenance

ScopeChangeCommit
depsvite 7, et l'arbre de dépendances rétrécit59d5633
—Node 22.12, et un détecteur qui n'emporte pas Chrome avec luica33975
—repasser la capture à html2canvasce0392b
—rendre Preview, DemoPlayer et ProjectView à l'état où tout marchaitcd98f63
dossiersles dossiers deviennent les rubriques du sommaire4cd63d3

July 2026#

Features

ScopeChangeCommit
uipage d'accueil en registre, miniatures, loader Mocky, mode Interactfaa5403
accountgestion des mots de passe, côté utilisateur et côté admin72951c3
i18ninterface bilingue français / anglais64530c9
designeditorial redesign — tokens, primitives, newspaper typography0fc90e1
museseparate image models for inspiration and for content82da4ef
adminadd fal.ai as a text provider (usable for the inspiration profile)d43a4c5
adminseparate models for generation and for inspirationcc8ed50
muse"both" image mode, image card on the canvas, full-size viewer11e52c8
museimage as content OR inspiration, gated by a real vision probe603ddb5
canvasshow a screen's original prompt, and name projects from itc0cbb96
textadmin-configurable LLM provider (OpenAI, OpenRouter, compatible)3b8128b
museadd a top-level "Images" page for the generated-image libraryd81740c
imagesadd fal.ai as an image provider51faf2a
imagesadmin-configurable image generation providerfb95027
musePhase 5 — anti-slop lint, distinctiveness pass, docs & Docker6ba6537
musePhase 4b — Bibliothèque (image library browser) + pin-to-run38546e5
musePhase 4 core — ✨ toggle, dossier-driven generation, moodboarde14dafb
musePhase 3 — Inspiration Engine (Discover → Distill → Dossier)1bf7578
musePhase 2 — image providers, store & global Image Librarydca079e
musePhase 1 — MCP host core + inspiration fetch (ADR 001)28324b5
previewshow a calm "Repairing…" state while auto-fix runs, not the red error9d2d2b6
canvaslive Design-system frame with click-to-recolor tokens (Lot D.2)16373b0
welcomefirst-run style picker sets DESIGN.md before the first screen (Lot D.1)01ba132
canvasanimated multicolor ring around a frame while it regeneratesafcfaf7
modifyquick text + recolor no-code edits; outline-only pick; freeze-on-regenerate (Lot C.2)54acbb2
canvasno-code "Modify" mode — click an element, describe a change (Lot C.1)4c674a6
canvasadd animations to a screen at subtle/moderate/rich levels (Lot B)00e7ddd
canvasper-screen context menu (regenerate, formats, code, …)7d47a74
design2x-larger preview cards + background-color picker3f1d121
designscalable previews + hover states + larger-preview modal8a8d3c4
designricher mini-dashboard previews + per-style accent variantsf4f9f65
designlight/dark toggle for style presets199e5bb
fixgive the auto-repair a bounded second attempt257a54f
projectpin a screen as shared-layout reference647d621
exportrunnable Vite project export with DESIGN.md theming9965978
plancheap pre-generation planner stage485e157
—Docker deployment (Dockerfile, docker-compose, .env.example)f1414c1
—motion snippet-pack — CSS-only, no framer-motion0179155
—runtime capability registry (daisyui, motion, lucide, recharts, magicui)e313e6e
—sentinel protocol for streaming + num_ctx fix + vitest tests25b41aa
—bigger screen icons + Generating overlay during streaming3300e20
—add 7 Tilda design styles + bigger visual previews442b50d
—revert button, visual design previews, back button, 4 new designs5338c37
—auto-retry broken components — send code + error to model for fix1f82271
—stream generated code into preview live + pre-validate JSX + syntax check prompta10b32e
—Dashy SSO, security hardening, performance optimizations, and production-ready UI promptsec0505a

Fixes

ScopeChangeCommit
previewun lien d’ancre ne doit plus emporter la maquettebd5ef41
musebalayage de gauche à droite, et deux extrémités propresd5fb3b4
musemontrer l’animation à ceux qui ont déjà essayé Muse852e62c
syncmettre fin à la boucle de rechargement infinieed46575
museles écrans suivent enfin la direction artistiquec5399e1
previewvendoriser daisyUI, et sortir la capture du timeout9323d72
syncstop losing workeacc4a6
securityclose the anonymous routes, harden the SSRF guard, pin the vendored bundles6c63fc4
musegenerate the image again, and show it on the canvas9aae371
imagesimage first, scroll for the prompt60a19b0
adminstop calling two different settings "Inspiration Muse"f60ced2
adminexplain when an image model id is pasted in a text model fieldc8affcb
visionprobe with a real 256px image, not a 1×1 pixel6761308
generatereport a truncated model response instead of a syntax error54774cc
textdon't report an empty model reply as a successful test35cc372
imagesuse fal's queue API and stop assuming a "fal-ai/" prefix8c09122
imagesmake fal failures diagnosable instead of an opaque 502b673d7b
musemake the Dossier tolerant of real model output (drift + truncation)b05a8b2
generategive the auto-fixer the capability list so it can repair React #130e825b2f
iconsadd social/brand + contact icons to prevent footer React #1305e1f9f4
modifyprecise element pick + freeze-on-edit; clearer selection12926d8
modifyanchor edits on the element's class string; design + hex recolor71e554f
chartscenter DonutChart total; stop model duplicating it471ccfa
generateforbid redeclaring ANY prelude component, not just Icon18f2cf1
chartsstop BarChart/LineChart distorting dots and labels920ede9
demoinject capability prelude in Demo mode4bc1c1e
iconsadd common auth/UI icons + forbid redeclaring Icondd99416
previewreport async render errors via a React error boundaryf33b4bb
generateban thinking/meta comments in generated code425b403
capabilitiesremove unused lucide cdn-script9cac25d
generateharden prompt against invalid dynamic JSX tags2c83bd5
serverdecouple backend port from generic PORT390a958
previewrepair blob-injection rendering0d577ef
—sanitize invalid Unicode + Blob URL injection + line-level diagnostics876a50b
—one source of truth for capability names + render error reportingafd998a
—merge magicui into motion pack, eliminate duplicate declarationseb54aee
—add ChevronLeft + MoreHorizontal icons, strokeWidth prop, match specad7056a
—silence streaming console noise + icons snippet-pack to ban raw SVG paths853e76a
—remove false-positive prelude guard from iframedbd2b04
—snippet-pack atomicity — explicit exports[], no source parsingef563b6
—snippet-pack atomicity — inject ALL components, deduplicate sources0527e36
—remove crossorigin from iframe scripts — use need() guards instead98cb4bc
—crossorigin on scripts, readiness guard, charts snippet-pack, dev logging133ca7d
—robust import stripping + registry-driven global hoisting + prompt tighteninga730de5
—replace num_predict:-1 with 8192 + readable error parsing0e47ace
generatepreserve 'function' keyword in toPreviewModule37c8025
retrysuppress auto-retry during streaming + ignore stale errors1711218
previewdebounce Babel validation to prevent streaming races7a9dcc5
proxyonly stream when request asks for stream:true, buffer regular JSONea71b5b
proxystream upstream response body through instead of buffering35ee8ef
previewcorrect createElement syntax in injected script.textContent51fe414
previewinject compiled JS via script.textContent instead of new Function2be611c
capturefallback to Babel-in-iframe when compiled JS fails0f047d7
previewcompile JSX inside sandboxed iframe using Babel CDN8a39e98
—use proper UTF-8 base64 for iframe code injectionef832cb
—robust iframe code embedding + enforce authentication8d17842
—encode compiled JS as base64 before iframe injection0c922f6

Documentation

ScopeChangeCommit
readmedocument MOCKY_PORT env var869a4f2
—comprehensive README with Docker deployment guide99e3f15

Maintenance

ScopeChangeCommit
—installation, ops and docs2dcf9ae
canvasthicker, brighter regen ring for visibilityb1f9c80
—add GitHub Actions workflow (build/test/smoke + docker build)3409487
capabilitiesdead-code sweep + registry invariant testsc728ba8
previewremove parent-side Babel validation, simplify renderingf07cd32
—Add self-hosted accounts backend + admin user managementb788f3a
—Add screenshot annotations attached to (vision) generations7ae7619
—Initial commit: Mocky — self-hosted chat-to-UI generatora81de92
Was this page helpful?
Documentation powered by Lumy llms.txt