Engine portability
The same filter state, in both stacks
Every vertical reads its state from the same ?f parameter, through a serializer whose
decode detects its own format tag. A link built here opens in any of them — React, Vue, Svelte,
Angular, or no framework at all — and reproduces the identical result set.
preset · Crisp whites
h~{"label":"crisp whites · dry · 90+ points","rules":[{"id":"color","rule":{"config":{"set":["white"]},"field":"color","type":"InSetRule"}},{"id":"points","rule":{"config":{"max":100,"min":90},"field":"points","type":"RangeRule"}},{"id":"sweetness","rule":{"config":{"set":["bone-dry","dry"]},"field":"sweetness","type":"InSetRule"}}],"version":1}- SvelteKit SvelteKit 5
Runs the isomorphic core in SvelteKit’s own server tier, with a zero-JS SSR fallback.
@filter-enginez/svelte-signalssignals - Vanilla None
/books goes through reactive-signals, /books-raw through the bare core — the pair shows what the adapter buys.
no binding — bare corenone
Links are full navigations by design: four of the six hydrate ?f only at mount, so a
client-side transition would leave their engines untouched. Back to the dataset hub