getBoundingClientRect, offsetWidth/Height, and offsetTop/Left now read real box geometry from the obscura-render layout cache when the render feature is compiled in. elementFromPoint inherits correct hit-testing because it already delegates to getBoundingClientRect per element. Adds a render feature on obscura-js (propagated through obscura-browser and obscura-cli), a lazily-computed layout cache and viewport in ObscuraState (feature-gated, cleared on navigation), and an op_layout_geometry op. bootstrap.js probes the op with typeof, so the default scraping build is unchanged and falls through to the synthetic rect. With --features render, block siblings stack and flex children place horizontally at correct positions, and elementFromPoint resolves the right element. Default build returns the synthetic rect unchanged. Obstacle course 33/33; obscura-js unit failures identical to main.
23 lines
547 B
TOML
23 lines
547 B
TOML
[package]
|
|
name = "obscura-browser"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
stealth = ["obscura-net/stealth", "obscura-js/stealth"]
|
|
render = ["obscura-js/render"]
|
|
|
|
[dependencies]
|
|
obscura-dom = { workspace = true }
|
|
obscura-net = { workspace = true }
|
|
obscura-js = { workspace = true }
|
|
tokio = { workspace = true }
|
|
futures = "0.3"
|
|
url = { workspace = true }
|
|
tracing = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
base64 = { workspace = true }
|