render: scaffold obscura-render crate with taffy layout core

New optional crate obscura-render, the scoped render layer for Obscura.
Phase 1 adds the layout core: a LayoutNode tree plus a viewport is laid
out with taffy (pure Rust) and border-box geometry is returned per node,
mirroring the input tree.

The crate is a workspace member but not yet a dependency of any other
crate, so the default scraping build is unchanged. Geometry-from-DOM,
JS integration, text, paint, and screenshot capture land in later
phases.

Unit tests cover block stacking, flex row layout, and padding.
This commit is contained in:
SGavrl committed 2026-06-30 16:20:10 +00:00
1 parent 9d0e7d63dc
commit 1971380da8
4 files changed
+299

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
[package]
name = "obscura-render"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Optional scoped render layer for Obscura: layout (taffy) and, with the paint feature, text and raster output for screenshots."
[dependencies]
taffy = { workspace = true }
[lib]
path = "src/lib.rs"