iced-layout 0.0.1

Define iced UI layouts in XML with compile-time macro expansion
Documentation
# iced-layout

Write your [iced](https://iced.rs) UI layouts in XML instead of deeply nested Rust code. The `layout!()` macro turns XML into widget trees at compile time.

## Documentation

Full documentation is available at **[dekamaru.github.io/iced-layout](https://dekamaru.github.io/iced-layout/)**.

## Installation

```toml
[dependencies]
iced = "0.14"
iced-layout = "0.0.1"
```

## Usage

**page/my-layout.xml:**

```xml
<?xml version="1.0" encoding="utf-8" ?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/dekamaru/iced-layout/refs/heads/main/schemas/0.0.1.xsd">
    <root>
        <column spacing="10" padding="20">
            <text size="24">Hello, ${user_name}!</text>
            <button on-press="Message::Increment">
                <text>Count: ${counter}</text>
            </button>
        </column>
    </root>
</layout>
```

**src/main.rs:**

```rust
fn render(&self) -> iced::Element<'_, Message> {
    layout!("page/my-layout.xml")
}
```

## Disclaimers

> **Early stage:** This project is in active development. APIs may change without notice.

> **AI assistance:** This project was developed with AI assistance.

## License

MIT