Skip to content

Add Finance-SvelteKit experimental workload - #605

Open
canova wants to merge 3 commits into
WebKit:mainfrom
canova:finance-sveltekit
Open

canova wants to merge 3 commits into
WebKit:mainfrom
canova:finance-sveltekit

Conversation

@canova

@canova canova commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Adds an experimental SvelteKit workload: an original finance portal, modelled on Firefox profiles of a popular finance site (page modules, DOM size, Svelte-scoped CSS + Tailwind). Deterministic data, no network.

@netlify

netlify Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for webkit-speedometer-preview ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit d265d07
🔍 Latest deploy log https://app.netlify.com/projects/webkit-speedometer-preview/deploys/6af7485381753fe7c16a61f1
😎 Deploy Preview https://deploy-preview-605--webkit-speedometer-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

An original SvelteKit (Svelte 5) finance portal, modelled on Firefox profiles of
a popular finance site's home and screener pages: a market strip with canvas
sparklines, an intraday area chart, a news stream that loads behind a
skeleton, and a screener page with a quote-card strip, sector chips, a
25-row table with SVG sparklines, sorting, pagination, a treemap heatmap and
related news. Quotes stream in over a fixed burst of messages and flash the
cells they touch.

The profiles also set its size and styling. Their largest restyles touched
about 2,400 elements on the home page and 4,000 on the screener page, and
their class names show Svelte component-scoped CSS next to tw-prefixed
Tailwind utilities, so the workload uses the same mix. Charts render without
draw-in animations and measure their canvas once, following resizes through a
ResizeObserver.

All data is generated deterministically at startup (seeded PRNG, fixed clock)
and served as JSON strings over MessageChannel tasks, so loads pay for parsing
without timers or network.

The app uses the hash router and a single bundle so it runs from any
subdirectory and never fetches code during a step. The adapter wrapper rewrites
the SPA fallback's root-relative paths and emits resources.txt.
Output of npm run build in suites-experimental/finance, including the source
map and resources.txt.
Six async steps: navigate to the trending screener, sort, paginate, toggle the
heatmap, stream quotes, and navigate back home. Navigations wait for the
page's ready event, since their data arrives over several tasks; other
interactions yield one MessageChannel task.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant