fret-platform 0.1.0

Platform-agnostic windowing and input contracts for Fret runners.
Documentation
# `fret-platform`

`fret-platform` defines **portable platform contracts** used by the Fret runtime and runners.

This crate is intentionally backend-agnostic:

- No `winit`
- No `wgpu`
- No web bindings (`web-sys`)

Concrete implementations live in:

- `crates/fret-platform-native` (desktop: Windows/macOS/Linux)
- `crates/fret-platform-web` (wasm32: browser APIs)

## Module ownership map

- `src/clipboard.rs`: clipboard read/write contracts.
- `src/external_drop.rs`: token-based external drop payload retrieval contracts.
- `src/file_dialog.rs`: file dialog contracts (token-based; ADR 0053).
- `src/open_url.rs`: open-url contracts.

## Public surface

Prefer importing from `fret_platform`’s re-exports in `src/lib.rs` rather than reaching into
submodules directly. This keeps call sites stable if internals are regrouped during refactors.

## Refactor gates

- Formatting: `cargo fmt`
- Build/test: `cargo nextest run -p fret-platform`