tauri-runtime-servocat 3.29.0

Servo-replacement runtime for Tauri: wires html-cat, css-cat, dom-cat, layout-cat, paint-cat, net-cat, boa-cat, ecma-runtime-cat, and web-api-cat into a single rendering + scripting pipeline. v3.29.0 picks up web-api-cat 0.7.16: the type-aware structural pseudo-classes `:first-of-type`, `:last-of-type`, and `:only-of-type` are now reachable from user-supplied webview scripts via `querySelector`, `querySelectorAll`, `matches`, and `closest`. They parallel the v0.7.13 child-position trio but filter siblings by tag, so `h2:first-of-type` picks the first h2 even when an earlier sibling has a different tag. No tauri-runtime-servocat source change beyond the manifest. Seventh sub-crate of a Servo-replacement webview runtime targeting Tauri.
//! Demo binary: renders a small HTML page and shows it in a window.
//!
//! Run with `cargo run --bin demo`.  Close the window to exit.

use tauri_runtime_servocat::{Error, Viewport, render, run_window};

const HTML: &str = "<html><body>\
<h1>tauri-runtime-servocat</h1>\
<p>cosmic-text glyph raster, presented through a softbuffer window.</p>\
<p>close the window to exit.</p>\
</body></html>";

const CSS: &str = "
    body { background-color: white; padding: 24px; }
    h1 { color: navy; height: 48px; }
    p { color: black; height: 28px; }
";

fn main() -> Result<(), Error> {
    let viewport = Viewport::new(640, 480);
    let frame = render(HTML, CSS, viewport)?;
    run_window(frame, viewport)
}