The built stylesheet's reset sits under the engine on purpose, so it is not a conflict. The site's docs page
went from 4,314 findings to none from its own CSS.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.16.1 binaries: engine package and extension 0.16.1
A page that ships dssl build output and also runs the engine says every rule twice; that is not a conflict.
Found on this site's docs page (4,314 false findings).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.16.0 binaries: engine package and extension 0.16.0
yield: hands properties back to plain CSS (and DSSL.lint reports css-loses). The compiler's CSS words and
properties are generated from the MDN data, so env(), tabular-nums and friends are accepted; a token pair on
one line is two tokens and token errors point at their line. Aura follows the element's real shape
(clip-path, border-radius, rotate/scale/transform, or around ...), plus inner glow, rays, ripples, nine new
particle shapes, palette, spin, wind and orbit. 33 new texture presets from nine new generators.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
10 days ago
v0.15.0 binaries: engine package and extension 0.15.0
Aura follows moving things under reduced motion, skips invisible emitters (always keeps an anchor), z N
layers. dssl check, the console and DSSL.lint name rules a later rule always beats. Typed and scoped
signals that restyle only what their rules select; DSSL.flush/settled/computed; pauseMotion/stepMotion.
animate lists, DSSL.play on pseudo-elements, outline-shape, rotate: 5, states inside ::after, a clear
error for a CSS font shorthand, --engine for the CLI, quieter DSSL.lint.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.14.0 binaries: engine package and extension 0.14.0
Reduced motion is no longer silent (console notice, essential, DSSL.motion). animate: gains delay,
jitter, iterations, essential; motions are shared across files; keyframes accept 0%; every motion is
a real @keyframes; animate: works on pseudo-elements; DSSL.play(). Layered gradient sentences,
text-stroke, bare custom shadow/radius tokens, paint-order and conic-gradient(from ...). Author
inline styles win; static subtrees; aura clip/scale/z; @signal in/not in/!=; DSSL.lint(root);
dssl check/build take an index.html. Docs checked against the real API by test-v0140.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
11 days ago
build: --map-name, because Vercel refuses to serve *.map; the site's map is site.css.sourcemap
One-line rule completions, property words sorted first, designer knows the wood and mirror settings; new real-editor test suites.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.12.0 packages: engine tarball and zip, VS Code extension
New docs sections (texture gallery, aura recipes, sliders, designer), share
links in the playground, strict type checking in builds, a one-command test
runner, and removal of unused shadcn, prisma and example code.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
VS Code extension 0.9.0: aura, texture and slider designers, CSS conversion
Live webview designers that read and write DSSL, backed by pure modules and
tests against a fake vscode API and a real Chrome.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.9.0: texture (30 presets), aura glow and particles, range sliders, lint, CSS import
Engine-native @texture, @aura-glow, @aura-particles and @slider declarations,
a contrast/focus/tap-target linter, 'dssl import' for CSS, and the packaged
engine rebuilt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Site redesign: real URLs, a live editor hero, a quieter look
Structure
- Every section is a real route (/docs, /playground, /cheat, /spec,
/changelog, /bench) with its own title, description and prerendered HTML.
It was one page with #/hash routes, so search engines, link previews and
the browser title all saw the same thing. Old /#/docs links redirect.
- sitemap.xml, a skip link, aria-current on the active nav item.
- Removed the leftover template /api route that returned "Hello, world!".
- The bench page now has an h1.
Look
- New identity: cool lilac paper, deep violet ink, one magenta accent that
is a live token, warning-tape yellow reserved for errors. Bricolage
Grotesque for everything people read and Spline Sans Mono for code only,
both self-hosted at build time through next/font.
- The home page hero is the language itself: an editable DSSL box wired to
the engine that styles the page. Change the accent and the whole site
retints; mistype a property and the real error comes back.
- Quieter structure: heading-left, answer-…
v0.8.2: one cascade across all stylesheets, fluid on the longhands
Found while rebuilding the website on its own engine.
- "Later wins" did not hold between stylesheets. Every sheet numbers its
rules from 0 and the engine sorted by (layer, order) comparing those raw
numbers across sheets, so a later sheet lost to an earlier one whenever
the earlier one had more rules above the rule in question. Reproduced with
a 30 rule sheet followed by a 1 rule sheet: the earlier colour won.
rebuild() now renumbers every rule into one global sequence in load order
(assignGlobalOrder, idempotent via order0). Layers still outrank order.
- Consequence: a tokens { } block in a later sheet now overrides a token an
earlier sheet set inside @media or @signal.
- fluid works on padding-top/right/bottom/left/inline/block, margin-*,
letter-spacing and border-radius, not only the four-sided shorthands.
- scripts/test-v082.mjs (27 assertions) runs the engine's own sort on rules
from real compiled sheets; the first check in each group reproduces the
old bug.
…
Site: version badge and size claim now measured from the engine
- The nav badge and footer said v0.8.0 after the 0.8.1 release, because the
version was hardcoded in SiteRoot. The site now reads VERSION from
public/dssl/index.js when it is built, so it cannot drift again.
- The hero claimed "~20 kB engine". The engine is about 190 kB as plain
source and about 58 kB gzipped. The hero, the page description and
llms.txt now say the real gzipped size, measured at build time.
- Page title, hero copy, footer and home page text no longer use em dashes.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
v0.8.1: fluid math, raw blocks, packaged CLI, build --strict
A re-test of 0.8.0 found two bugs; writing the tests found more.
- fluid: the clamp() left out the intercept of its line, so fluid 16 24 was
19.6px on a 375px phone (should be 16.1px) and hit 24px near 840px instead
of 1200px. Same fix repairs shrinking sizes (fluid 24 16 made a backwards
clamp) and rem sizes (slope was 16x too small). Percentages and mixed
units are refused with a clear message.
- raw { }: a multi-line block started with the text "undefined", anything on
the same line as "raw {" was dropped, and the guide example had no
semicolons (invalid CSS). Fixed; a missing semicolon inside raw is now a
warning with the right line number.
- the dssl CLI inside dssl-engine.zip / .tar.gz crashed on start (looked for
public/dssl, the package keeps the engine in dssl/). Finds either layout now.
- dssl build takes --strict, like dssl check.
- tests: new scripts/test-v081.mjs (37 assertions) evaluates the emitted
clamp() at real window widths instead of comparing str…
v0.7.2 extension repackage: dssl-vscode-0.7.2.vsix actually ships the fixed engine (0.7.1 vsix predated the sync), manifest 0.7.2, guide/README/llms point at the new installer
v0.7.0: freeze/unfreeze, gate prefilter, explain(), display-ordering warnings, numeric token keys; README now carries the full docs
Z User
5240484
16 days ago
v0.5.0: the pseudo-element trap closes — full selectors compile to shadow CSS; infinite/alternate; bare font names; hyphens: manual; docs gained the missing section (+ HomeView get-the-engine sync)
Z User
7bd797e
v0.4.2: vendor pseudo-elements, themed scrollbars and accent selection