Create these as GitHub Issues after pushing the repo.
Module: w3cos-std + w3cos-runtime Difficulty: Hard
Implement signal<T>(), memo(), and effect() reactive primitives. When a signal value changes, all dependent memos recompute and effects re-execute, triggering a UI re-render. This is the foundation for any interactive application.
Acceptance Criteria:
Signal::new(0)creates a reactive valueSignal::set(1)triggers re-render of dependent UI- No virtual DOM diffing — direct subscription model
Module: w3cos-compiler + w3cos-runtime Difficulty: Medium
Currently events are handled at runtime via hit-testing. Compile TS event handlers (onClick, onInput) into Rust callback functions that are registered with the event system.
Module: w3cos-compiler Difficulty: Hard
Replace the hand-written TS parser with SWC (swc_ecma_parser) for full TypeScript + JSX/TSX syntax support.
Module: w3cos-runtime/layout.rs Difficulty: Medium
Fixed: position relative to viewport. Sticky: position relative to scroll container until threshold.
Module: w3cos-runtime + parley integration Difficulty: Hard
Integrate Parley text layout with Taffy block layout for inline content flow and word-wrap.
Module: w3cos-runtime/window.rs Difficulty: Medium
The transition data structure and easing functions exist. Implement the frame loop that interpolates style values over time when they change.
Module: w3cos-std/style.rs + w3cos-compiler + w3cos-runtime Difficulty: Medium
Parse @keyframes declarations, store as animation data, play back with frame loop.
Module: w3cos-runtime/render.rs Difficulty: Hard
Replace tiny-skia CPU rendering with Vello GPU rendering for 5-10x performance improvement.
Module: w3cos-std + w3cos-runtime/render.rs Difficulty: Low-Medium
Add Image { src } component kind. Decode PNG/JPEG at compile time or runtime. Render with tiny-skia.
Module: w3cos-ai-bridge + w3cos-runtime Difficulty: Medium
Connect the AI agent interface to the live runtime so an external AI can observe the UI, click buttons, and modify elements in a running application. Expose via HTTP or Unix socket.
Module: w3cos-ai-bridge/screenshot.rs Difficulty: Medium
Draw numbered circles on interactive elements in the screenshot PNG. Map numbers to DOM node IDs.
Module: system/ Difficulty: Hard
Use the Buildroot config to produce a working x86_64 ISO that boots to the W3C OS Shell. Test in QEMU.
Module: w3cos-cli/main.rs Difficulty: Low
Pass strip/LTO/codegen-units options to cargo build for smaller release binaries (2.4MB → ~1MB).
Module: new crate w3cos-rn-compat
Difficulty: Medium
Map React Native components to W3C OS equivalents: View→Column, Text→Text, TouchableOpacity→Button, StyleSheet.create→inline style.
Module: new crate w3cos-electron-compat
Difficulty: Very Hard
Extract JS/HTML/CSS from Electron .asar, transpile Electron API calls to W3C OS system bridge.
Module: examples/ Difficulty: Low
Create examples: settings panel, login form, music player, file browser, calculator, weather app, chat UI.
Module: w3cos-cli Difficulty: Medium
File watcher that re-compiles and restarts the app on source changes. Sub-second iteration cycle.
Module: w3cos-cli Difficulty: Low
Generate a new W3C OS project with template app.ts, Cargo.toml, and README.