From ab33af987378183683510874aef933b61afee7bc Mon Sep 17 00:00:00 2001 From: abyss-s Date: Thu, 9 Oct 2025 13:30:48 +0900 Subject: [PATCH 1/6] docs: add Zero Runtime core concept documentation --- .../docs/core-concepts/zero-runtime/page.mdx | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 apps/landing/src/app/(detail)/docs/core-concepts/zero-runtime/page.mdx diff --git a/apps/landing/src/app/(detail)/docs/core-concepts/zero-runtime/page.mdx b/apps/landing/src/app/(detail)/docs/core-concepts/zero-runtime/page.mdx new file mode 100644 index 00000000..c4fe4bfb --- /dev/null +++ b/apps/landing/src/app/(detail)/docs/core-concepts/zero-runtime/page.mdx @@ -0,0 +1,68 @@ +export const metadata = { + title: 'Zero-Runtime', + alternates: { + canonical: '/docs/core-concepts/zero-runtime', + }, +} + +# Zero Runtime + +Devup UI is a CSS-in-JS preprocessor that requires no runtime. By moving style computation to build time, Devup UI avoids browser runtime overhead. We are building a preprocessor that accounts for all syntactic cases. + +## End-to-end Process + +### 1. **Source Code Input** + +Your application code written in JSX/TSX/JS/TS is provided as input. + +For example, consider the following ` +``` + +### 2. **AST Transformation (Rust + oxc)** + +We use **oxc** (a Rust-based JavaScript tooling suite) to convert code into an AST (Abstract Syntax Tree). + +- **Lexer**: breaks source code into tokens +- **Parser**: structures tokens into an AST + +This step is required to enable optimizations performed later by the **Style Storage**. + +### **3. Style Caching Logic (Core logic)** + +Core logic written in Rust + WebAssembly optimizes styles by consulting the Style Storage: **Style Storage Check** + +- **Existing style?** → Reuse the existing class name (cached result) +- **New style?** → Generate a new class and register it + +### **4. Code Generation Paths** + +Based on the caching results in step 3, two parallel outputs are produced. + +- **New AST** + - Generate a new AST in TypeScript + - Inject resolved style class names + +- **Update CSS Virtual File** + - Append newly generated style classes to the CSS virtual file + - Do not regenerate existing styles + +### **5. Final Output** + +The bundler (Vite, Rsbuild, Next.js, Webpack) emits optimized code. + +```html + +``` + +Inline style props are compiled into **atomic CSS classes**, achieving zero runtime. From e59f3d8e6c1e5586a5d49506bd7bb3a7a601510c Mon Sep 17 00:00:00 2001 From: abyss-s Date: Thu, 9 Oct 2025 13:31:03 +0900 Subject: [PATCH 2/6] docs: add No Dependencies core concept documentation --- .../core-concepts/no-dependencies/page.mdx | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 apps/landing/src/app/(detail)/docs/core-concepts/no-dependencies/page.mdx diff --git a/apps/landing/src/app/(detail)/docs/core-concepts/no-dependencies/page.mdx b/apps/landing/src/app/(detail)/docs/core-concepts/no-dependencies/page.mdx new file mode 100644 index 00000000..7e3aea04 --- /dev/null +++ b/apps/landing/src/app/(detail)/docs/core-concepts/no-dependencies/page.mdx @@ -0,0 +1,69 @@ +export const metadata = { + title: "Core-Concepts", + alternates: { + canonical: '/docs/core-concepts/no-dependencies', + } + +} + +# No Dependencies + +Devup UI converts pure React source code without additional UI runtime code. + +This section explains what “No Dependencies” means in practice, why it matters, and how Devup UI achieves it without requiring client-side style engines, extra plugins, or manual pre-generation steps. + +## Motivation + +- Many CSS-in-JS libraries rely on JavaScript at runtime to compute styles, inject `