Measure the bunting's motion over time, not over frames
motion() summed off() once a frame, so a run at 30 fps counted half the motion of one at 60, and the shake-against-scroll ratio moved with the frame rate of each half. It now weighs each sample by the time since the last and stops counting at the deadline, even mid-gesture.
Human
Prompt
Astra reviewed the branch: Ship after fixes (bunting-review.md). Fix all four without changing the feel. 4. landing_browser_test.go:1204: make the shake-vs-scroll measure integrate pixel displacement over elapsed time (not a sum of frames), with the measurement deadline enforced during the gestures, so frame rate can't move the ratio.
From this commit's own message. The prompt ledger has no entries for it — which is what a squashed, rebased or amended commit looks like, and what every commit looks like in a repo without a ledger.
Summary
motionJS's motion() integrates off() over elapsed time in percent seconds, deadline enforced in the gestures.
Agent notes
Ratio on docs-t1: 2.4 and 2.3 times (threshold 1.8 unchanged).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+15
−8
internal/www/landing_browser_test.go+15 −8
CI passed — run details
CI log
=== gofmt ===
=== no-rastrillo ===
mkdir -p "/var/lib/amadan-runner/w4/repos/rastrillo__fiesta/wt/bunting-scroll/.build/tmp"
go test -run '^(TestFiestaNeverImportsRastrillo|TestThePublicPackagesLinkNoBrowser)$' -count=1 .
ok amadan.net/rastrillo/fiesta 0.206s
=== size ===
go test ./internal/build -run '^TestTheOneLinkIsUnder25KiBGzipped$' -count=1 -v
=== RUN TestTheOneLinkIsUnder25KiBGzipped
build_test.go:138: fiesta-plain.css: 152856 bytes, 22303 bytes gzipped (21.8 KiB of the 25.0 KiB limit)
build_test.go:138: fiesta-signal.css: 152951 bytes, 22414 bytes gzipped (21.9 KiB of the 25.0 KiB limit)
build_test.go:138: fiesta.css: 155770 bytes, 23018 bytes gzipped (22.5 KiB of the 25.0 KiB limit)
--- PASS: TestTheOneLinkIsUnder25KiBGzipped (0.02s)
PASS
ok amadan.net/rastrillo/fiesta/internal/build 0.025s
=== history ===
history: 11 commits; release tags: v1.0.0
=== suite ===
--- shard 0 of 48 ---
==> shard 0 of 48: make root
go build ./...
go vet ./...
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh root 'internal/gallery@3 cmd/fiesta@2 internal/www@2'
ok amadan.net/rastrillo/fiesta 1.814s
ok amadan.net/rastrillo/fiesta/check 5.108s
ok amadan.net/rastrillo/fiesta/example 0.142s
? amadan.net/rastrillo/fiesta/hack/seed/english [no test files]
ok amadan.net/rastrillo/fiesta/internal/axe 0.116s
ok amadan.net/rastrillo/fiesta/internal/build 1.022s
ok amadan.net/rastrillo/fiesta/internal/codeview 0.007s
? amadan.net/rastrillo/fiesta/internal/harness [no test files]
ok amadan.net/rastrillo/fiesta/internal/markup 0.007s
ok amadan.net/rastrillo/fiesta/internal/nodetest 0.359s
ok amadan.net/rastrillo/fiesta/internal/site 2.424s
ok amadan.net/rastrillo/fiesta/internal/tokens 0.014s
suite: root took 13s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m10.200000s 0m1.940000s
--- shard 1 of 48 ---
==> shard 1 of 48: make test.internal.gallery~1of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~1of3'
gotest: slice 1 of 3 of ./internal/gallery/ runs 35 of 104 test tests
ok amadan.net/rastrillo/fiesta/internal/gallery 60.713s
suite: test.internal.gallery~1of3 took 67s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m47.760000s 0m1.180000s
--- shard 2 of 48 ---
==> shard 2 of 48: make test.internal.gallery~2of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~2of3'
gotest: slice 2 of 3 of ./internal/gallery/ runs 34 of 104 test tests
ok amadan.net/rastrillo/fiesta/internal/gallery 61.118s
suite: test.internal.gallery~2of3 took 67s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m47.180000s 0m1.200000s
--- shard 3 of 48 ---
==> shard 3 of 48: make test.internal.gallery~3of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~3of3'
gotest: slice 3 of 3 of ./internal/gallery/ runs 35 of 104 test tests
ok amadan.net/rastrillo/fiesta/internal/gallery 56.088s
suite: test.internal.gallery~3of3 took 62s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m42.570000s 0m1.290000s
--- shard 4 of 48 ---
==> shard 4 of 48: make test.cmd.fiesta~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~1of2'
gotest: slice 1 of 2 of ./cmd/fiesta/ runs 7 of 12 test tests
ok amadan.net/rastrillo/fiesta/cmd/fiesta 48.029s
suite: test.cmd.fiesta~1of2 took 52s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.480000s 0m2.070000s
--- shard 5 of 48 ---
==> shard 5 of 48: make test.cmd.fiesta~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~2of2'
gotest: slice 2 of 2 of ./cmd/fiesta/ runs 5 of 12 test tests
ok amadan.net/rastrillo/fiesta/cmd/fiesta 52.540s
suite: test.cmd.fiesta~2of2 took 57s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.040000s 0m2.320000s
--- shard 6 of 48 ---
==> shard 6 of 48: make test.internal.www~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~1of2'
gotest: slice 1 of 2 of ./internal/www/ runs 11 of 25 test tests
ok amadan.net/rastrillo/fiesta/internal/www 60.941s
suite: test.internal.www~1of2 took 66s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m46.100000s 0m1.610000s
--- shard 7 of 48 ---
==> shard 7 of 48: make test.internal.www~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~2of2'
gotest: slice 2 of 2 of ./internal/www/ runs 14 of 25 test tests
ok amadan.net/rastrillo/fiesta/internal/www 58.276s
suite: test.internal.www~2of2 took 64s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m44.190000s 0m1.710000s
--- shard 8 of 48 ---
==> shard 8 of 48: make staticcheck
go run honnef.co/go/tools/cmd/staticcheck@v0.8.2 -tags browser ./...
suite: staticcheck took 13s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m14.490000s 0m1.050000s
--- shard 9 of 48 ---
==> shard 9 of 48: make govulncheck
go run golang.org/x/vuln/cmd/govulncheck@v1.8.0 ./...
=== Symbol Results ===
No vulnerabilities found.
Your code is affected by 0 vulnerabilities.
This scan also found 2 vulnerabilities in packages you import and 5
vulnerabilities in modules you require, but your code doesn't appear to call
these vulnerabilities.
Use '-show verbose' for more details.
suite: govulncheck took 9s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m3.170000s 0m0.360000s
--- shard 10 of 48 ---
==> shard 10 of 48: make gitleaks
go run github.com/zricethezav/gitleaks/v8@v8.30.1 git --no-banner --redact --log-opts='--full-history --diff-filter=tuxdb HEAD' .
[90m11:24PM[0m [32mINF[0m [1mUnknown SCM platform. Use --platform to include links in findings.[0m [36mhost=[0mamadan.net
[90m11:24PM[0m [32mINF[0m [1m11 commits scanned.[0m
[90m11:24PM[0m [32mINF[0m [1mscanned ~7820449 bytes (7.82 MB) in 6.33s[0m
[90m11:24PM[0m [32mINF[0m [1mno leaks found[0m
suite: gitleaks took 8s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m6.900000s 0m0.250000s
--- shard 11 of 48 ---
==> shard 11 of 48: make browser.internal.harness
./hack/gotest.sh browser 'internal.harness'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: ./internal/harness/ runs its 10 browser tests
ok amadan.net/rastrillo/fiesta/internal/harness 4.894s
suite: browser.internal.harness took 11s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m1.860000s 0m1.380000s
--- shard 12 of 48 ---
==> shard 12 of 48: make browser.check~1of13
./hack/gotest.sh browser 'check~1of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 1 of 13 of ./check/ runs 5 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 68.078s
suite: browser.check~1of13 took 79s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m41.040000s 0m8.280000s
--- shard 13 of 48 ---
==> shard 13 of 48: make browser.check~2of13
./hack/gotest.sh browser 'check~2of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 2 of 13 of ./check/ runs 9 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 63.348s
suite: browser.check~2of13 took 73s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m26.610000s 0m7.610000s
--- shard 14 of 48 ---
==> shard 14 of 48: make browser.check~3of13
./hack/gotest.sh browser 'check~3of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 3 of 13 of ./check/ runs 10 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 67.539s
suite: browser.check~3of13 took 78s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.770000s 0m9.010000s
--- shard 15 of 48 ---
==> shard 15 of 48: make browser.check~4of13
./hack/gotest.sh browser 'check~4of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 4 of 13 of ./check/ runs 11 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 69.386s
suite: browser.check~4of13 took 80s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m42.140000s 0m10.940000s
--- shard 16 of 48 ---
==> shard 16 of 48: make browser.check~5of13
./hack/gotest.sh browser 'check~5of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 5 of 13 of ./check/ runs 16 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 46.081s
suite: browser.check~5of13 took 56s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m18.350000s 0m6.490000s
--- shard 17 of 48 ---
==> shard 17 of 48: make browser.check~6of13
./hack/gotest.sh browser 'check~6of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 6 of 13 of ./check/ runs 16 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 54.416s
suite: browser.check~6of13 took 65s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m25.740000s 0m9.010000s
--- shard 18 of 48 ---
==> shard 18 of 48: make browser.check~7of13
./hack/gotest.sh browser 'check~7of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 7 of 13 of ./check/ runs 16 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 46.152s
suite: browser.check~7of13 took 56s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m25.540000s 0m7.030000s
--- shard 19 of 48 ---
==> shard 19 of 48: make browser.check~8of13
./hack/gotest.sh browser 'check~8of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 8 of 13 of ./check/ runs 17 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 47.884s
suite: browser.check~8of13 took 58s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m23.030000s 0m8.330000s
--- shard 20 of 48 ---
==> shard 20 of 48: make browser.check~9of13
./hack/gotest.sh browser 'check~9of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 9 of 13 of ./check/ runs 18 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 42.573s
suite: browser.check~9of13 took 53s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m24.630000s 0m10.090000s
--- shard 21 of 48 ---
==> shard 21 of 48: make browser.check~10of13
./hack/gotest.sh browser 'check~10of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 10 of 13 of ./check/ runs 17 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 57.306s
suite: browser.check~10of13 took 68s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m34.000000s 0m10.670000s
--- shard 22 of 48 ---
==> shard 22 of 48: make browser.check~11of13
./hack/gotest.sh browser 'check~11of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 11 of 13 of ./check/ runs 18 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 45.806s
suite: browser.check~11of13 took 56s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m20.150000s 0m7.310000s
--- shard 23 of 48 ---
==> shard 23 of 48: make browser.check~12of13
./hack/gotest.sh browser 'check~12of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 12 of 13 of ./check/ runs 18 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 51.827s
suite: browser.check~12of13 took 62s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m24.990000s 0m9.420000s
--- shard 24 of 48 ---
==> shard 24 of 48: make browser.check~13of13
./hack/gotest.sh browser 'check~13of13'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 13 of 13 of ./check/ runs 18 of 189 browser tests
ok amadan.net/rastrillo/fiesta/check 44.637s
suite: browser.check~13of13 took 55s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m22.130000s 0m8.510000s
--- shard 25 of 48 ---
==> shard 25 of 48: make browser.internal.gallery~1of18
./hack/gotest.sh browser 'internal.gallery~1of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 34.004s
suite: browser.internal.gallery~1of18 took 43s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m14.770000s 0m3.110000s
--- shard 26 of 48 ---
==> shard 26 of 48: make browser.internal.gallery~2of18
./hack/gotest.sh browser 'internal.gallery~2of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 49.651s
suite: browser.internal.gallery~2of18 took 59s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m15.540000s 0m3.710000s
--- shard 27 of 48 ---
==> shard 27 of 48: make browser.internal.gallery~3of18
./hack/gotest.sh browser 'internal.gallery~3of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 57.648s
suite: browser.internal.gallery~3of18 took 67s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m16.330000s 0m4.250000s
--- shard 28 of 48 ---
==> shard 28 of 48: make browser.internal.gallery~4of18
./hack/gotest.sh browser 'internal.gallery~4of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 58.439s
suite: browser.internal.gallery~4of18 took 68s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.150000s 0m5.550000s
--- shard 29 of 48 ---
==> shard 29 of 48: make browser.internal.gallery~5of18
./hack/gotest.sh browser 'internal.gallery~5of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 5 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 60.334s
suite: browser.internal.gallery~5of18 took 70s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m16.650000s 0m4.660000s
--- shard 30 of 48 ---
==> shard 30 of 48: make browser.internal.gallery~6of18
./hack/gotest.sh browser 'internal.gallery~6of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 6 of 18 of ./internal/gallery/ runs 6 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 54.700s
suite: browser.internal.gallery~6of18 took 64s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m15.740000s 0m3.750000s
--- shard 31 of 48 ---
==> shard 31 of 48: make browser.internal.gallery~7of18
./hack/gotest.sh browser 'internal.gallery~7of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 7 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 55.187s
suite: browser.internal.gallery~7of18 took 65s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m13.930000s 0m2.770000s
--- shard 32 of 48 ---
==> shard 32 of 48: make browser.internal.gallery~8of18
./hack/gotest.sh browser 'internal.gallery~8of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 8 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 58.027s
suite: browser.internal.gallery~8of18 took 68s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m17.810000s 0m5.270000s
--- shard 33 of 48 ---
==> shard 33 of 48: make browser.internal.gallery~9of18
./hack/gotest.sh browser 'internal.gallery~9of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 9 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 63.774s
suite: browser.internal.gallery~9of18 took 74s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m21.960000s 0m7.040000s
--- shard 34 of 48 ---
==> shard 34 of 48: make browser.internal.gallery~10of18
./hack/gotest.sh browser 'internal.gallery~10of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 10 of 18 of ./internal/gallery/ runs 2 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 60.826s
suite: browser.internal.gallery~10of18 took 70s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m14.030000s 0m2.780000s
--- shard 35 of 48 ---
==> shard 35 of 48: make browser.internal.gallery~11of18
./hack/gotest.sh browser 'internal.gallery~11of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 11 of 18 of ./internal/gallery/ runs 2 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 61.045s
suite: browser.internal.gallery~11of18 took 70s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m14.130000s 0m2.680000s
--- shard 36 of 48 ---
==> shard 36 of 48: make browser.internal.gallery~12of18
./hack/gotest.sh browser 'internal.gallery~12of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 12 of 18 of ./internal/gallery/ runs 2 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 63.687s
suite: browser.internal.gallery~12of18 took 73s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m18.680000s 0m4.860000s
--- shard 37 of 48 ---
==> shard 37 of 48: make browser.internal.gallery~13of18
./hack/gotest.sh browser 'internal.gallery~13of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 13 of 18 of ./internal/gallery/ runs 3 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 65.634s
suite: browser.internal.gallery~13of18 took 75s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.110000s 0m5.130000s
--- shard 38 of 48 ---
==> shard 38 of 48: make browser.internal.gallery~14of18
./hack/gotest.sh browser 'internal.gallery~14of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 14 of 18 of ./internal/gallery/ runs 4 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 68.145s
suite: browser.internal.gallery~14of18 took 78s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.190000s 0m5.390000s
--- shard 39 of 48 ---
==> shard 39 of 48: make browser.internal.gallery~15of18
./hack/gotest.sh browser 'internal.gallery~15of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 15 of 18 of ./internal/gallery/ runs 4 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 65.641s
suite: browser.internal.gallery~15of18 took 75s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.120000s 0m5.490000s
--- shard 40 of 48 ---
==> shard 40 of 48: make browser.internal.gallery~16of18
./hack/gotest.sh browser 'internal.gallery~16of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 16 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 61.641s
suite: browser.internal.gallery~16of18 took 71s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m16.300000s 0m4.020000s
--- shard 41 of 48 ---
==> shard 41 of 48: make browser.internal.gallery~17of18
./hack/gotest.sh browser 'internal.gallery~17of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 17 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 63.495s
suite: browser.internal.gallery~17of18 took 73s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.750000s 0m5.930000s
--- shard 42 of 48 ---
==> shard 42 of 48: make browser.internal.gallery~18of18
./hack/gotest.sh browser 'internal.gallery~18of18'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 18 of 18 of ./internal/gallery/ runs 5 of 83 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery 64.418s
suite: browser.internal.gallery~18of18 took 74s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m18.910000s 0m5.380000s
--- shard 43 of 48 ---
==> shard 43 of 48: make browser.internal.gallery.history
./hack/gotest.sh browser 'internal.gallery.history'
gotest: on ip-172-31-19-71, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: ./internal/gallery/history/ runs its 3 browser tests
ok amadan.net/rastrillo/fiesta/internal/gallery/history 33.070s
suite: browser.internal.gallery.history took 39s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m21.560000s 0m2.150000s
--- shard 44 of 48 ---
==> shard 44 of 48: make browser.internal.www~1of4
./hack/gotest.sh browser 'internal.www~1of4'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 4 of ./internal/www/ runs 4 of 22 browser tests
ok amadan.net/rastrillo/fiesta/internal/www 67.793s
suite: browser.internal.www~1of4 took 76s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m30.980000s 0m2.110000s
--- shard 45 of 48 ---
==> shard 45 of 48: make browser.internal.www~2of4
./hack/gotest.sh browser 'internal.www~2of4'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok amadan.net/rastrillo/fiesta/internal/www 65.546s
suite: browser.internal.www~2of4 took 74s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m45.210000s 0m2.850000s
--- shard 46 of 48 ---
==> shard 46 of 48: make browser.internal.www~3of4
./hack/gotest.sh browser 'internal.www~3of4'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok amadan.net/rastrillo/fiesta/internal/www 79.604s
suite: browser.internal.www~3of4 took 88s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m51.320000s 0m2.920000s
--- shard 47 of 48 ---
==> shard 47 of 48: make browser.internal.www~4of4
./hack/gotest.sh browser 'internal.www~4of4'
gotest: on ip-172-31-19-71, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok amadan.net/rastrillo/fiesta/internal/www 75.356s
suite: browser.internal.www~4of4 took 84s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m45.420000s 0m2.960000s
Intent
diff --git a/internal/www/landing_browser_test.go b/internal/www/landing_browser_test.go| index ef9b0f2..23cd65c 100644 |
| --- a/internal/www/landing_browser_test.go |
| +++ b/internal/www/landing_browser_test.go |
| @@ -1197,14 +1197,21 @@ const motionJS = `window.siteMotion = (() => { |
| const home = scrollY; |
| for (let i = 0; i < n; i++) { await m.glide(home + by, ms, each); await m.glide(home, ms, each); } |
| }, |
| - // motion sums off() over every frame for ms from now: how much the |
| - // canvas moved away from rest, and for how long, in one number. |
| + // motion integrates off() over the ms from now, in percent |
| + // seconds: how much of the canvas moved from rest, and for how |
| + // long, in one number. Each sample stands for the time since the |
| + // last, and none counts past the deadline, even mid-gesture, so a |
| + // slower frame rate samples less often but weighs each sample |
| + // more, and the number does not depend on it. |
| async motion(ms, during) { |
| - const t0 = performance.now(); |
| - let sum = 0; |
| - const each = () => { sum += m.off(); }; |
| + const t0 = performance.now(), end = t0 + ms; |
| + let sum = 0, last = t0; |
| + const each = () => { |
| + const now = Math.min(performance.now(), end); |
| + if (now > last) { sum += m.off() * (now - last) / 1000; last = now; } |
| + }; |
| if (during) await during(each); |
| - while (performance.now() - t0 < ms) { await frame(); each(); } |
| + while (performance.now() < end) { await frame(); each(); } |
| return sum; |
| }, |
| }; |
| @@ -1323,12 +1330,12 @@ func TestAShakeMovesTheBuntingMoreThanAScroll(t *testing.T) { |
| settle(t, ctx, "the cloth after the slow scroll", 8*time.Second) |
| mustRun(t, ctx, chromedp.Evaluate(`siteMotion.rest()`, nil)) |
| at(t, ctx, `siteMotion.motion(3000, each => siteMotion.shake(3, 80, 100, each)).then(JSON.stringify)`, &shake, awaitPromise) |
| - t.Logf("motion over three seconds, off() summed over frames: the slow scroll %.0f, the shake %.0f (%.1f times)", slow, shake, shake/max(slow, 1e-9)) |
| + t.Logf("motion over three seconds, off() integrated over time: the slow scroll %.2f, the shake %.2f %%·s (%.1f times)", slow, shake, shake/max(slow, 1e-9)) |
| if slow <= 0 { |
| t.Errorf("the slow scroll did not move the cloth at all") |
| } |
| if shake < 1.8*slow { |
| - t.Errorf("the shake moved the canvas %.0f and the slow scroll %.0f; want the shake at least 1.8 times the scroll", shake, slow) |
| + t.Errorf("the shake moved the canvas %.2f %%·s and the slow scroll %.2f; want the shake at least 1.8 times the scroll", shake, slow) |
| } |
| } |