Next-generation, zero-Node.js headless accessibility & style bundling engine for Rust web applications (Leptos, Dioxus, Yew).
Official Repository: https://github.com/glastor-core/strata
Part of the GLASTOR® Core infrastructure suite.
strata/
├── crates/
│ ├── glastor-aria-core Headless WAI-ARIA 1.2 state machines (Dialog, Accordion, Popover, FocusTrap, Motion, Grid)
│ ├── glastor-css-binder Zero-Node CSS scanning, compilation and bundling engine for build.rs and dev-watch
│ └── glastor-ui-cli Decentralized component distributor and AST patcher for Cargo (cargo ui)
├── examples/
│ └── wasm-modal-demo Turnkey executable example validating build.rs CSS compilation & Wasm FSM
├── .byte-gauge.toml byte-gauge SIMD vectorization & sub-microsecond Wasm footprint audit
├── .specter.toml specter AST API Contract & SemVer diffing configuration
├── zerho.json zerho Edge documentation (<15ms TTFB) & Deno Deploy configuration
└── index.html Interactive visual showcase and playground landing page
A zero-allocation, headless accessibility library for Rust web frameworks.
- Framework-Agnostic: Pure deterministic Finite State Machines (FSM). Zero mandatory dependencies on Leptos or Dioxus runtimes.
- WAI-ARIA 1.2 Compliance: Strict type-safe representation of attributes, roles, and keyboard navigation standards.
- WCAG 2.2 Ready: Roving
tabindex, boundary cycle focus trapping, dismissable layer stacks, accordion accordions, and sentinel element abstractions. - Mobile Hardening: Emits
LockBodyScrollandUnlockBodyScrollto prevent background elastic scroll bounce on mobile Safari/iOS.
Say goodbye to node_modules and package.json in your Rust WASM CI/CD pipelines.
- Zero Node.js Requirement: Compiles directly within
build.rsor in development watch mode. - Parallel Source Scanner: Powered by
rayonto extract utility classes from Rust/RSX macros in microseconds. - Variant Modifiers: Supports
hover:,focus:,focus-visible:,active:,disabled:,dark:, and arbitrary values (w-[350px]). - AppSec Sanitization: Rejects dangerous rule-breaking characters and CSS data exfiltration vectors (
url(,expression(,javascript:). - Design Tokens: Generates modern theme variables (
--radius,--primary,--background,--foreground).
Decentralized component distributor (cargo ui add <component>).
- Reads from any
registry.jsonmanifest. - Surgical AST code injection with automatic
mod.rsmaintenance andCargo.tomldependency verification. - Built-in Zip Slip / Path Traversal prevention.
- AI Agent discovery via
cargo ui generate-llms(llms.txtandllms-full.txt).
use glastor_aria_core::fsm::StateMachine;
use glastor_aria_core::primitives::dialog::{DialogAction, DialogEvent, DialogFsm, DialogState};
let mut dialog = DialogFsm::new("checkout-modal");
assert_eq!(dialog.state(), &DialogState::Closed);
// User clicks open trigger
let actions = dialog.transition(DialogEvent::OpenTriggerClicked);
assert_eq!(dialog.state(), &DialogState::Open);
assert!(actions.contains(&DialogAction::TrapFocus));
assert!(actions.contains(&DialogAction::LockBodyScroll));
// User presses Escape
let actions = dialog.transition(DialogEvent::EscapePressed);
assert_eq!(dialog.state(), &DialogState::Closed);
assert!(actions.contains(&DialogAction::RestorePriorFocus));
assert!(actions.contains(&DialogAction::UnlockBodyScroll));// build.rs
fn main() {
glastor_css_binder::BuildBinder::new()
.scan_dir("src")
.output_css("dist/style.min.css")
.compile()
.expect("Failed to compile zero-Node CSS bundle");
}# Initialize project configuration
cargo ui init --framework leptos
# List canonical components in registry
cargo ui list
# Inject button component into local source tree
cargo ui add button
# Audit API contract compatibility (specter standard)
cargo ui audit
# Generate AI documentation indexes (zerho edge delivery)
cargo ui generate-llms| Tool | Integration Target | Role & Verification |
|---|---|---|
byte-gauge |
.byte-gauge.toml |
Audits Wasm binary footprint (<45KB), SIMD vectorization, and ensures FSM transitions execute in <500ns with ≤1 byte state memory. |
specter |
.specter.toml |
Generates target/specter/contract-snapshot.json via cargo ui audit and enforces SemVer backwards compatibility on public APIs. |
zerho |
zerho.json |
Deploys interactive documentation and live playgrounds on Deno Deploy with TTFB <15ms using llms.txt and llms-full.txt. |
cargo run -p wasm-modal-demoCompiles the zero-Node CSS bundle automatically during build.rs and runs the FSM accessibility lifecycle.
To preview the live interactive showcase landing page, open index.html in any web browser.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)