feat(shell-core/codegen): Compose + React Native — all 9 generators shipped
Completes #10 on the TS-parity roadmap. All nine targets the TS
`pen-codegen` package exposes now have Rust equivalents behind the
shared `Codegen` trait:
1. CssVariables — design tokens → `:root { --name: value }`
2. Html — absolute-positioned `<div>` / `<span>` tree
3. Vue — SFC `<template>` + `<style scoped>`
4. Svelte — `<script>` + markup + `<style>`
5. React — JSX functional component, inline style object
6. Flutter — `Stack(children: [Positioned(Container/Text)])`
7. SwiftUI — `ZStack { Rectangle/Ellipse/Text.frame.position }`
8. Compose — `@Composable Box(Modifier.offset.size)`
9. ReactNative — `<View>` / `<Text>` with `position: 'absolute'`
Compose specifics: `Modifier.offset(x.dp, y.dp).size(width.dp,
height.dp).background(Color(r,g,b,a))` per node, default-export
`@Composable fun Page()`. Text nodes wrap as `Text(text =
"...")`.
React Native specifics: default-exported functional component
that returns a wrapping `<View>` flexed to fill, with each node
as `<View>` / `<Text>` at `position: 'absolute'`. Color uses CSS
`rgb()`/`rgba()` (RN accepts both).
Tests (2 new):
- Compose: composable annotation + offset/size/color modifiers
- RN: import statement + functional component + absolute style
Tests total: 220 shell-core (+2) + 20 native + 8 desktop = 248
total. Wasm32 build clean. #10 Codegen status: 100%.