Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
3175f48
List developerMode with npm run dev (#544)
camillobruni Jun 11, 2026
b274b98
Update developer menu layout (#543)
camillobruni Jun 11, 2026
a1f4c0b
Convert webpack configs to mjs (#542)
camillobruni Jun 11, 2026
017f8a2
Consistent naming: use step instead of test (#537)
camillobruni Jun 11, 2026
6e175ef
Rename TestInvoker to StepScheduler (#538)
camillobruni Jun 11, 2026
64656e2
Implement partial npm run format (#546)
camillobruni Jun 15, 2026
abe0def
Convert build.js to mjs modules (#541)
camillobruni Jun 15, 2026
6c8c0be
Better test error logging (#527)
camillobruni Jun 16, 2026
58dc3ff
Rename suites config files to suites.mjs (#548)
camillobruni Jun 16, 2026
001a392
Add --retry support for end2end tests (#545)
camillobruni Jun 16, 2026
f866d2b
Improve workload stepping in developerMode (#550)
camillobruni Jun 18, 2026
a6d7f0a
Use full URL parsing and search params for frame.src (#552)
camillobruni Jul 1, 2026
165adb7
snapshot
camillobruni Jul 1, 2026
5a68128
add-data
camillobruni Jul 1, 2026
12df879
fix
camillobruni Jul 1, 2026
a0b3f1b
timeline: Fix overview layout and scrolling regressions, localize com…
camillobruni Jul 4, 2026
56ae034
Move suites to dedicated folder (#549)
camillobruni Jul 6, 2026
bd69357
fix
camillobruni Jul 6, 2026
800d41c
adding-more-files
camillobruni Jul 6, 2026
f0f713c
timeline: implement search suggestion panel and client-side markdown …
camillobruni Jul 6, 2026
b620d32
timeline: add markdown formatting to all timeline year data files
camillobruni Jul 6, 2026
8db6fc0
timeline: place search box next to language selector in header actions
camillobruni Jul 6, 2026
83b7495
timeline: add styling for parsed markdown links in card descriptions
camillobruni Jul 6, 2026
a8ae799
timeline: add close handlers (blur, escape, click-outside, X button) …
camillobruni Jul 6, 2026
06f32d9
search-data
camillobruni Jul 6, 2026
1fbe1b7
timeline: compile search and suggestions translation assets
camillobruni Jul 6, 2026
89926f3
timeline: add virtualization toggle to switch between browser flex la…
camillobruni Jul 6, 2026
f28a603
timeline: update header layouts, align title top-left, drop search in…
camillobruni Jul 6, 2026
56492a3
more-data-and-style
camillobruni Jul 7, 2026
854e556
add-assets
camillobruni Jul 7, 2026
1a0ac2d
fx
camillobruni Jul 7, 2026
4332004
Add more delay params (#547)
camillobruni Jul 7, 2026
6b88597
update
camillobruni Jul 7, 2026
2ae4234
Add density.js module for timeline density graph calculations
camillobruni Jul 7, 2026
fef6ffb
pre-format
camillobruni Jul 7, 2026
547a61a
fix
camillobruni Jul 7, 2026
9ea7e71
Open Update .gitignore file (#556)
camillobruni Jul 8, 2026
26f9b88
fx
camillobruni Jul 8, 2026
22c858c
fix
camillobruni Jul 8, 2026
082874e
fx
camillobruni Jul 8, 2026
bc20680
Merge branch 'main' into 2026-07-01_lazy_load_scroll
camillobruni Jul 8, 2026
cd82c49
more-code
camillobruni Jul 8, 2026
04a458f
fx
camillobruni Jul 8, 2026
9a7f0a2
formatting
camillobruni Jul 8, 2026
f035dcf
fx
camillobruni Jul 8, 2026
c6400cf
update
camillobruni Jul 8, 2026
5eb51c2
steps
camillobruni Jul 8, 2026
1ef492a
fx
camillobruni Jul 8, 2026
dedcc4d
fx
camillobruni Jul 8, 2026
43aecc3
Implement experimental scrollytelling benchmark workload with 3x narr…
camillobruni Jul 8, 2026
903b5d1
Tighten paragraph vertical spacing in scrollytelling narrative to 0.5rem
camillobruni Jul 8, 2026
9a4faa1
Drop PROGRESS tag from header in scrollytelling workload
camillobruni Jul 8, 2026
1367f27
Add B&W light watercolor wash texture asset for 1950s magazine print …
camillobruni Jul 8, 2026
bd5e9dd
Implement 1950s Magazine Ad Style and Fixed Floating TOC with Negate …
camillobruni Jul 8, 2026
b24ec97
Fix TOC selection live updating on scroll in scrollytelling workload
camillobruni Jul 8, 2026
d5eef28
Implement 1950s technical architectural drafting blueprints for Stage…
camillobruni Jul 8, 2026
0c81185
Implement 1950s technical architectural drafting blueprints for Stage…
camillobruni Jul 9, 2026
6c42914
Refine scrollytelling animations with 3-phase timing and masked water…
camillobruni Jul 9, 2026
a29f75a
Refine scrollytelling animations for technical realism and single-col…
camillobruni Jul 9, 2026
3631e32
Tailor watercolor accents to animation elements and eliminate backgro…
camillobruni Jul 9, 2026
abc94ae
Format narrative paragraphs as standard vertical text without separat…
camillobruni Jul 9, 2026
f5ab7a0
add-suites
camillobruni Jul 9, 2026
fd428b3
formatting
camillobruni Jul 9, 2026
6f10fcc
fix
camillobruni Jul 9, 2026
6ec4aa7
more
camillobruni Jul 9, 2026
4a729a2
Synthesize all subagent worktree changes: Stage 0-7 procedural color …
camillobruni Jul 13, 2026
8f3a68d
Add inverted Canon Autozoom 518 graphic style reference to DESIGN.md
camillobruni Jul 13, 2026
7e99222
Restyle scrollytelling workload into Inverted 1968 Canon Autozoom 518…
camillobruni Jul 13, 2026
58ea39c
Remove section text and card size/style shifts during scroll, preserv…
camillobruni Jul 13, 2026
3192d97
Drop Vanilla JS engine support and exclusively implement Scrollama ac…
camillobruni Jul 13, 2026
d580bee
Format and lint script fixes (#560)
camillobruni Jul 13, 2026
d380383
Standardize cross-platform display font fallback chain across styles.…
camillobruni Jul 13, 2026
66011b8
clenaup
camillobruni Jul 14, 2026
20c0228
Add workload resources.txt (#554)
camillobruni Jul 14, 2026
de1a382
Synthesize Stage 0-7 callout coordinates, stamp badges, and grid opti…
camillobruni Jul 14, 2026
9b4716c
Support async and remote workloads (#526)
camillobruni Jul 14, 2026
64bbc82
Harden url parsing in perf.webkit.org workload (#553)
camillobruni Jul 14, 2026
8698c78
Implement Params.prototype.isDefault() helper (#555)
camillobruni Jul 14, 2026
80d4e40
Add support for running tests in nodejs (#559)
camillobruni Jul 14, 2026
a867a41
Add complexity param (#430)
camillobruni Jul 14, 2026
839b51c
more-fix
camillobruni Jul 14, 2026
86b99d4
Bind dev server to IPv4 127.0.0.1 address (#564)
camillobruni Jul 15, 2026
76349ea
updated
camillobruni Jul 15, 2026
783f685
Merge branch 'main' into 2026-07-01_lazy_load_scroll
camillobruni Jul 15, 2026
ed40d3f
Reduce newssite image asset count (#565)
camillobruni Jul 15, 2026
81cbdbe
fix
camillobruni Jul 15, 2026
59832dd
Non-hashed builds and prepare bump node version to 24 (#562)
camillobruni Jul 15, 2026
53ed158
update
camillobruni Jul 15, 2026
a6b4773
update-content
camillobruni Jul 15, 2026
8c7658b
fx
camillobruni Jul 15, 2026
8b89fb5
format
camillobruni Jul 15, 2026
d61d8c3
fx
camillobruni Jul 15, 2026
0dac9f3
update
camillobruni Jul 16, 2026
8344a61
Replace report callback with async await (#566)
camillobruni Jul 16, 2026
779ca6f
Add workload link to developer menu (#569)
camillobruni Jul 16, 2026
818779f
Merge branch 'main' into 2026-07-08_terminal_emulator
camillobruni Jul 16, 2026
a9f3dd4
formatting
camillobruni Jul 16, 2026
9c07200
Add more unittests and package.json validation (#570)
camillobruni Jul 16, 2026
e258bb1
Update landing page buttons (#571)
camillobruni Jul 21, 2026
663dc26
Use optional chaining to call BenchmarkClient hooks (#572)
camillobruni Jul 21, 2026
6713c52
Add --cache option for npm run dev server (#574)
camillobruni Jul 21, 2026
c831667
Fix primary button size (#575)
camillobruni Jul 21, 2026
b4b6b1d
Fix total metric in summary view (#576)
camillobruni Jul 22, 2026
8682ae0
Improve MainBenchmarkClient with state and better error handling (#573)
camillobruni Jul 22, 2026
86710fe
Fix DeveloperMenu z-index (#578)
camillobruni Jul 23, 2026
c0c708e
This benchmark suite measures the performance, responsiveness, and pr…
SyedAbuTalib Aug 10, 2026
f4a063f
Add ChatRoom-React experimental workload
canova Jun 25, 2026
ce20ac1
Commit room switches through React's normal scheduler
canova Jun 25, 2026
979c385
Include some emojis
canova Jun 26, 2026
9dc97c9
Anchor the ChatRoom timeline to the newest message
canova Jul 28, 2026
81ee62f
Give ChatRoom messages realistic content and make the timeline intera…
canova Jul 28, 2026
da8ab2f
Add a message composer to the ChatRoom workload
canova Jul 28, 2026
9e9ab12
Add image attachments and link previews to ChatRoom messages
canova Jul 28, 2026
db04e9d
Virtualize the ChatRoom timeline and scale it to 1500 messages
canova Jul 28, 2026
e2caf61
Load ChatRoom history in pages, anchored against the prepend
canova Jul 28, 2026
4fa7cb7
Share ChatRoom fixture data instead of building it per message
canova Jul 28, 2026
6d33daf
Build the ChatRoom message index on demand
canova Jul 28, 2026
ebcf263
Draw date separators and an unread divider in the ChatRoom timeline
canova Aug 11, 2026
a9fd215
Build the ChatRoom workload
canova Aug 11, 2026
f2cf862
Merge remote-tracking branch 'camillobruni/2026-07-08_terminal_emulat…
jrmuizel Aug 14, 2026
5bd781c
Merge remote-tracking branch 'camillobruni/2026-07-08_story_telling' …
jrmuizel Aug 14, 2026
11b561f
Merge remote-tracking branch 'camillobruni/2026-07-01_lazy_load_scrol…
jrmuizel Aug 14, 2026
a5fcf4b
Merge remote-tracking branch 'canova/chat-room-workload' into upstream
jrmuizel Aug 14, 2026
89435e5
Merge remote-tracking branch 'SyedAbuTalib/add-media-performance-work…
jrmuizel Aug 14, 2026
6067b1b
Add new sp4 tag to run only new workloads
dpalmeiro Sep 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
92 changes: 46 additions & 46 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
/node_modules
**/node_modules
**/dist
package-lock.json
**/.angular

/resources/todomvc/architecture-examples/*
!/resources/todomvc/architecture-examples/angular
!/resources/todomvc/architecture-examples/angular-complex
!/resources/todomvc/architecture-examples/backbone
!/resources/todomvc/architecture-examples/backbone-complex
!/resources/todomvc/architecture-examples/lit
/resources/todomvc/architecture-examples/lit/.wireit
/resources/todomvc/architecture-examples/lit/dist/index.js
!/resources/todomvc/architecture-examples/lit-complex
!/resources/todomvc/architecture-examples/preact
!/resources/todomvc/architecture-examples/preact-complex
!/resources/todomvc/architecture-examples/react
!/resources/todomvc/architecture-examples/react-complex
!/resources/todomvc/architecture-examples/react-redux
!/resources/todomvc/architecture-examples/react-redux-complex
!/resources/todomvc/architecture-examples/svelte
!/resources/todomvc/architecture-examples/svelte-complex
!/resources/todomvc/architecture-examples/vue
!/resources/todomvc/architecture-examples/vue-complex

/resources/todomvc/vanilla-examples/*
!/resources/todomvc/vanilla-examples/javascript-es5
!/resources/todomvc/vanilla-examples/javascript-es5-complex
!/resources/todomvc/vanilla-examples/javascript-es6
!/resources/todomvc/vanilla-examples/javascript-es6-complex
!/resources/todomvc/vanilla-examples/javascript-es6-webpack
!/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex
!/resources/todomvc/vanilla-examples/javascript-web-components
!/resources/todomvc/vanilla-examples/javascript-web-components-complex/

!/resources/todomvc/big-dom-generator

!/resources/editors
/resources/editors/assets

!/resources/newssite
!/resources/newssite/news-next
!/resources/newssite/news-nuxt
!/resources/newssite/news-site-css

/resources/perf.webkit.org

/resources/react-stockcharts

/experimental/responsive-design/build-dev/
/suites/todomvc/architecture-examples/*
!/suites/todomvc/architecture-examples/angular
!/suites/todomvc/architecture-examples/angular-complex
!/suites/todomvc/architecture-examples/backbone
!/suites/todomvc/architecture-examples/backbone-complex
!/suites/todomvc/architecture-examples/lit
/suites/todomvc/architecture-examples/lit/.wireit
/suites/todomvc/architecture-examples/lit/dist/index.js
!/suites/todomvc/architecture-examples/lit-complex
!/suites/todomvc/architecture-examples/preact
!/suites/todomvc/architecture-examples/preact-complex
!/suites/todomvc/architecture-examples/react
!/suites/todomvc/architecture-examples/react-complex
!/suites/todomvc/architecture-examples/react-redux
!/suites/todomvc/architecture-examples/react-redux-complex
!/suites/todomvc/architecture-examples/svelte
!/suites/todomvc/architecture-examples/svelte-complex
!/suites/todomvc/architecture-examples/vue
!/suites/todomvc/architecture-examples/vue-complex

/suites/todomvc/vanilla-examples/*
!/suites/todomvc/vanilla-examples/javascript-es5
!/suites/todomvc/vanilla-examples/javascript-es5-complex
!/suites/todomvc/vanilla-examples/javascript-es6
!/suites/todomvc/vanilla-examples/javascript-es6-complex
!/suites/todomvc/vanilla-examples/javascript-es6-webpack
!/suites/todomvc/vanilla-examples/javascript-es6-webpack-complex
!/suites/todomvc/vanilla-examples/javascript-web-components
!/suites/todomvc/vanilla-examples/javascript-web-components-complex/

!/suites/todomvc/big-dom-generator

!/suites/editors
/suites/editors/assets

!/suites/newssite
!/suites/newssite/news-next
!/suites/newssite/news-nuxt
!/suites/newssite/news-site-css

/suites/perf.webkit.org

/suites/react-stockcharts

/suites-experimental/responsive-design/build-dev/
22 changes: 22 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ jobs:
- name: Install Node Packages
run: npm ci

- name: Run package.json linter
run: npm run lint:pkg

- name: Run linters
run: npm run format

Expand All @@ -41,6 +44,25 @@ jobs:
exit 1
fi

test-node:
name: Node Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout Branch
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "npm"

- name: Install Node Packages
run: npm ci

- name: Run Node Unit Tests
run: npm test

build:
name: Build
runs-on: macos-latest
Expand Down
34 changes: 4 additions & 30 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,12 @@
*.pyc
.DS_Store
.directory
/node_modules
node_modules/

.agents
.gemini
.vscode
.angular

/resources/todomvc/architecture-examples/angular/node_modules/
/resources/todomvc/architecture-examples/angular-complex/node_modules/
/resources/todomvc/architecture-examples/backbone/node_modules/
/resources/todomvc/architecture-examples/backbone-complex/node_modules/
/resources/todomvc/architecture-examples/jquery/node_modules/
/resources/todomvc/architecture-examples/jquery-complex/node_modules/
/resources/todomvc/architecture-examples/preact/node_modules/
/resources/todomvc/architecture-examples/preact-complex/node_modules/
/resources/todomvc/architecture-examples/react/node_modules/
/resources/todomvc/architecture-examples/react-complex/node_modules/
/resources/todomvc/architecture-examples/react-redux/node_modules/
/resources/todomvc/architecture-examples/react-redux-complex/node_modules/
/resources/todomvc/architecture-examples/svelte/node_modules/
/resources/todomvc/architecture-examples/svelte-complex/node_modules/
/resources/todomvc/architecture-examples/vue/node_modules/
/resources/todomvc/architecture-examples/vue-complex/node_modules/
/resources/todomvc/architecture-examples/lit-complex/node_modules/

/resources/todomvc/vanilla-examples/javascript-es5/node_modules/
/resources/todomvc/vanilla-examples/javascript-es5-complex/node_modules/
/resources/todomvc/vanilla-examples/javascript-es6/node_modules/
/resources/todomvc/vanilla-examples/javascript-es6-complex/node_modules/
/resources/todomvc/vanilla-examples/javascript-es6-webpack/node_modules/
/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex/node_modules/
/resources/todomvc/vanilla-examples/javascript-web-components-complex/node_modules/

/resources/charts/node_modules/
/resources/todomvc/big-dom-generator/node_modules/
/experimental/responsive-design/node_modules/
/experimental/responsive-design/build-dev/
/suites-experimental/**/build-dev/
3 changes: 3 additions & 0 deletions .npmpackagejsonlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "npm-package-json-lint-config-default"
}
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
80 changes: 40 additions & 40 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
/node_modules
**/node_modules
**/dist
package-lock.json
**/.angular

/resources/todomvc/architecture-examples/*
!/resources/todomvc/architecture-examples/angular
!/resources/todomvc/architecture-examples/angular-complex
!/resources/todomvc/architecture-examples/backbone
!/resources/todomvc/architecture-examples/backbone-complex
!/resources/todomvc/architecture-examples/lit
/resources/todomvc/architecture-examples/lit/dist/index.js
/resources/todomvc/architecture-examples/lit/.wireit
!/resources/todomvc/architecture-examples/lit-complex
!/resources/todomvc/architecture-examples/preact
!/resources/todomvc/architecture-examples/preact-complex
!/resources/todomvc/architecture-examples/react
!/resources/todomvc/architecture-examples/react-complex
!/resources/todomvc/architecture-examples/react-redux
!/resources/todomvc/architecture-examples/react-redux-complex
!/resources/todomvc/architecture-examples/svelte
!/resources/todomvc/architecture-examples/svelte-complex
!/resources/todomvc/architecture-examples/vue
!/resources/todomvc/architecture-examples/vue-complex
/suites/todomvc/architecture-examples/*
!/suites/todomvc/architecture-examples/angular
!/suites/todomvc/architecture-examples/angular-complex
!/suites/todomvc/architecture-examples/backbone
!/suites/todomvc/architecture-examples/backbone-complex
!/suites/todomvc/architecture-examples/lit
/suites/todomvc/architecture-examples/lit/dist/index.js
/suites/todomvc/architecture-examples/lit/.wireit
!/suites/todomvc/architecture-examples/lit-complex
!/suites/todomvc/architecture-examples/preact
!/suites/todomvc/architecture-examples/preact-complex
!/suites/todomvc/architecture-examples/react
!/suites/todomvc/architecture-examples/react-complex
!/suites/todomvc/architecture-examples/react-redux
!/suites/todomvc/architecture-examples/react-redux-complex
!/suites/todomvc/architecture-examples/svelte
!/suites/todomvc/architecture-examples/svelte-complex
!/suites/todomvc/architecture-examples/vue
!/suites/todomvc/architecture-examples/vue-complex

/resources/todomvc/vanilla-examples/*
!/resources/todomvc/vanilla-examples/javascript-es5
!/resources/todomvc/vanilla-examples/javascript-es5-complex
!/resources/todomvc/vanilla-examples/javascript-es6
!/resources/todomvc/vanilla-examples/javascript-es6-complex
!/resources/todomvc/vanilla-examples/javascript-es6-webpack
!/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex
!/resources/todomvc/vanilla-examples/javascript-web-components
!/resources/todomvc/vanilla-examples/javascript-web-components-complex/
/suites/todomvc/vanilla-examples/*
!/suites/todomvc/vanilla-examples/javascript-es5
!/suites/todomvc/vanilla-examples/javascript-es5-complex
!/suites/todomvc/vanilla-examples/javascript-es6
!/suites/todomvc/vanilla-examples/javascript-es6-complex
!/suites/todomvc/vanilla-examples/javascript-es6-webpack
!/suites/todomvc/vanilla-examples/javascript-es6-webpack-complex
!/suites/todomvc/vanilla-examples/javascript-web-components
!/suites/todomvc/vanilla-examples/javascript-web-components-complex/

!/resources/todomvc/big-dom-generator
!/suites/todomvc/big-dom-generator

!/resources/editors
/resources/editors/assets
!/suites/editors
/suites/editors/assets

!/resources/newssite
!/resources/newssite/news-next
!/resources/newssite/news-nuxt
!/resources/newssite/news-site-css
!/suites/newssite
!/suites/newssite/news-next
!/suites/newssite/news-nuxt
!/suites/newssite/news-site-css

/resources/perf.webkit.org
/suites/perf.webkit.org

/resources/react-stockcharts
/experimental/responsive-design/build-dev/
/experimental/responsive-design/**/*.generated.css
/suites/react-stockcharts
/suites-experimental/responsive-design/build-dev/
/suites-experimental/responsive-design/**/*.generated.css
12 changes: 11 additions & 1 deletion Testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,17 @@ Tests are located in the `/tests` folder.

## Local Testing

To run this locally you'll need the browsers installed along with the corresponding driver:
### Local Node.js Unit Testing

You can run the unit tests directly in Node.js using:

```bash
npm run test:node
```

### In-Browser Testing

To run the in-browser tests locally, you'll need the browsers installed along with the corresponding driver:

- [chromedriver](https://chromedriver.chromium.org/getting-started)
- [geckodriver](https://github.com/mozilla/geckodriver/releases)
Expand Down
2 changes: 1 addition & 1 deletion about.html
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ <h1 class="section-header">About Speedometer</h1>
</li>
</ul>
</div>
<div class="buttons section-footer">
<div class="buttons section-footer fixed-footer">
<div class="button-row">
<a class="button" href="./" title="Show main section.">Home</a>
<a class="button" href="instructions.html" title="Show test instructions.">Test Instructions</a>
Expand Down
Loading
Loading