Commits
solid-plugin.md: replace stale inset→margin and outline→inset-box-shadow
descriptions; add Positioner stub section (experimental, in-progress)
pitfalls.md: replace #9 Outline Renders as Inset Box-Shadow with current
native CSS outline flattening approach; replace #10 Inset vs Margin
Collision with Positioner-owned inset decision
- Add SolidPositionerDemo component that renders the SolidJS <Positioner>
alongside the SVG engine visualization for side-by-side comparison
- Playground: add scale slider control, show both visualizers, add
@union-web/solid-plugin dependency
- PositionerVisualizer: extract scale to parent prop (shared with DOM view)
- SolidJS <Positioner> component with two-component pattern (Positioner +
PositionerInner) to solve SolidJS context ownership issue
- Context: PositionerContext, PositionerChildInfo for child registration
- useUnion: auto-register with parent Positioner via useContext
- StyledRect: remove inset mapping (Positioner-owned), flatten outline
to native CSS outline with per-side fallback, add css prop passthrough,
add overflow:visible, background-clip:padding-box, remove
flex-direction:column from base styles
- Export: Positioner, PositionerContext types, positionerChildStyle utility
- upstream-architecture.md: full rewrite (318→105 lines), MDN style
- react-plugin.md: remove pedagogical preamble, keep reference content
- solid-plugin.md: remove pedagogical preamble, keep reference content
- pitfalls.md: condense §20 and §21 (Positioner architecture explanations)
- index.md: add upstream-architecture link
StyledRect design docs intentionally left unstaged.
Port of KDE Union's PositionerLayout engine for study and benchmarking.
Includes CLI dev mode (tsx) and Vite dev server for browser testing.
Co-located with @union-web workspace for shared toolchain.
- union-css/ at repo root: shared input directory for union CSS themes and .colors files
- output-solid/: new package, CSS generation engine as a Vite plugin (take any CSS theme + .colors file independently)
- plugin-solid/: restructured to host only SolidJS component library (Button, Checkbox, Switch, etc.) imported as ESM
- demo-solid/: imports components from plugin-solid, calls output-solid Vite plugin in vite.config.ts to generate CSS at build time
- Removed build:css script; CSS generation is now part of the Vite pipeline
- core: CSS parsing engine, KColorScheme, IR generation (style-mapper, variable-resolver)
- plugin-solid: SolidJS output plugin with element definitions and CSS generator
- demo-solid: Example SolidJS demo app
Licensed inputs (Breeze CSS, BreezeDark.colors) included with SPDX headers preserved.
solid-plugin.md: replace stale inset→margin and outline→inset-box-shadow
descriptions; add Positioner stub section (experimental, in-progress)
pitfalls.md: replace #9 Outline Renders as Inset Box-Shadow with current
native CSS outline flattening approach; replace #10 Inset vs Margin
Collision with Positioner-owned inset decision
- Add SolidPositionerDemo component that renders the SolidJS <Positioner>
alongside the SVG engine visualization for side-by-side comparison
- Playground: add scale slider control, show both visualizers, add
@union-web/solid-plugin dependency
- PositionerVisualizer: extract scale to parent prop (shared with DOM view)
- SolidJS <Positioner> component with two-component pattern (Positioner +
PositionerInner) to solve SolidJS context ownership issue
- Context: PositionerContext, PositionerChildInfo for child registration
- useUnion: auto-register with parent Positioner via useContext
- StyledRect: remove inset mapping (Positioner-owned), flatten outline
to native CSS outline with per-side fallback, add css prop passthrough,
add overflow:visible, background-clip:padding-box, remove
flex-direction:column from base styles
- Export: Positioner, PositionerContext types, positionerChildStyle utility
- upstream-architecture.md: full rewrite (318→105 lines), MDN style
- react-plugin.md: remove pedagogical preamble, keep reference content
- solid-plugin.md: remove pedagogical preamble, keep reference content
- pitfalls.md: condense §20 and §21 (Positioner architecture explanations)
- index.md: add upstream-architecture link
StyledRect design docs intentionally left unstaged.
- union-css/ at repo root: shared input directory for union CSS themes and .colors files
- output-solid/: new package, CSS generation engine as a Vite plugin (take any CSS theme + .colors file independently)
- plugin-solid/: restructured to host only SolidJS component library (Button, Checkbox, Switch, etc.) imported as ESM
- demo-solid/: imports components from plugin-solid, calls output-solid Vite plugin in vite.config.ts to generate CSS at build time
- Removed build:css script; CSS generation is now part of the Vite pipeline