native/ holds a written specification of DSSL (12 chapters, two generated appendices), the shared
vocabulary data, and a Rust crate stub. No browser implements DSSL natively; this is the spec a
browser team would implement from, checked against the engine by scripts/test-native-spec.mjs.
Writing it showed where the engine and the language disagreed. Fixed:
- an unquoted url(http://...) lost the rest of the line to the comment stripper
- a typo at the end of a token path silently resolved to its parent token
- nesting under a selector list joined the wrong way (.a, .b { .c {} } and hover {})
- a backslash did not escape a quote in a value
- a nested li (or any HTML element name) got a "did you mean link" warning
New warnings, both compile fine: an unknown @layer name, and radius: xl with no token.
Every .dssl file in the repo and every doc example resolve to identical output before and after.
Open: D-6 (registry rule across files) needs a browser test. Binaries follow in a separate co…