Compact the flashing warning and open on new defaults - #15
Merged
Merged
Conversation
The Animation section opened with four lines of text before a single control: a heading, a label, a one-line description and a two-line health warning carrying its own hanging asterisk. A notice that takes that much room above the thing it warns about gets read as chrome and skipped, which is the opposite of what a photosensitivity warning is for. The warning is now the second sentence of Motion's own description, where it sits one line above the select it applies to. Nothing is lost: the advice to skip Motion if flashing affects you is still there, in the same muted colour, on the line a visitor reads before choosing. The .hint-warn rules go with it, and so does .field .hint + .hint, which no longer matches anything in the markup or in the hints buildLayerControls writes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…reset Three defaults, all of them about how the app reads before anything is touched. Speed opens at 13.5s rather than 3.1s. A background is looked past rather than at, and at three seconds a whole turn of the field goes by inside a glance, which reads as something asking for attention instead of something sitting behind the work. The ladder is eight steps to a doubling, so step 46 is 13454ms and the panel shows 13.5s. One consequence worth knowing: a one-pass GIF at this cycle is 168 frames of wanted smoothness against a 69-frame byte budget, so an export runs at about 5fps. That is slow motion at a 13.5s cycle and reads fine, which is the trade GIF_FRAME_BUDGET was written to make. Reroll every opens at 4.0s rather than 2.0s. Two seconds is about as long as it takes to see what a composition is doing, so rerolling on it means never watching one settle. The slider is stepped by eight, and step 32 is exactly 4000ms. The Web preset is 1200x630 rather than 1920x1080, which is the size the width and height fields already opened on. The chip is therefore lit on arrival instead of offering a size nothing starts at, and the preset is a canvas to work from rather than a screen to fill. Anyone wanting 1080p or wider types it: the field is free text and always was. Three comments named the Web preset as the expensive 1920x1080 case. That canvas is now only reachable by typing it, so they say so. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
flield | 49fea61 | Commit Preview URL Branch Preview URL |
Oct 03 2026, 02:23 AM |
The checks workflow fetched the base branch with --depth=1. That writes .git/shallow and grafts the branch one commit deep, and because the base shares its history with the branch under test, the graft truncates the whole clone. git log -1 -- <file> then reports the graft point instead of the commit that last touched the file. Nothing noticed until now because the shallow fetch only runs when github.base_ref is set, which is to say only on a pull request, and every change since the sitemap-dates check was added has gone straight to main. The first pull request after it failed on four pages at once, each one named as changed today when no commit on the branch touches them. actions/checkout already runs at fetch-depth: 0, so the full history is paid for before this step. Dropping --depth=1 costs nothing and gives the checks the history they read. Reproduced on a clone of this repo: with --depth=1, guide/index.html reports today; without it, 2026-09-29, which is what sitemap.xml says. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this change?
Two separate pieces of work, one commit each.
676e56a — fold the flashing warning into Motion's own description. The Animation section opened with four lines of text before a single control: a heading, a label, a one-line description and a two-line health warning with its own hanging asterisk. A notice that takes that much room above the control it warns about reads as chrome and gets skipped, which is the opposite of what a photosensitivity warning is for. The advice is now the second sentence of Motion's own description, one line above the select it applies to. The
.hint-warnrules go with it, and so does.field .hint + .hint, which no longer matches anything in the markup or in the hintsbuildLayerControlswrites.d0b2b40 — three new defaults.
Speed: a background is looked past rather than at, and at three seconds a whole turn of the field goes by inside a glance. Reroll: two seconds is about as long as it takes to see what a composition is doing, so rerolling on it means never watching one settle. Web: 1200x630 is the size the width and height fields already opened on, so the preset is a canvas to work from rather than a screen to fill, and anyone wanting 1080p or wider types it into a field that has always been free text.
Two consequences worth a look:
updatePresetChipsmarks it active on load. Nothing was lit before. This reads as right to me (the chip now says where you are) but it is a visible change nobody asked for.GIF_FRAME_BUDGETwas written to make, but it is the first time the default settings land there. Confirmed fromexportPlan, not inferred.Three comments named the Web preset as the expensive 1920x1080 case. That canvas is now only reachable by typing it, so they say so.
Related issue
None.
How was this tested?
Served locally with
python3 -m http.server 8080and exercised in the Chromium browser pane.exportPlan(1)returns 69 frames at a 195ms delay, which is where the 5fps figure comes from.python3 .github/scripts/checks.py origin/mainpasses, includingcache bust: style.css 108 -> 109andlink compat: every field still where old links expect it. Defaults are not part of the packed bit stream, so every shared link and every exported SVG still decodes to its own speed, interval and size.Checklist
generator.jsstill has no dependency on the UI, if touched (not touched)🤖 Generated with Claude Code