fret-platform 0.1.0

Platform-agnostic windowing and input contracts for Fret runners.
Documentation
  • Coverage
  • 16.67%
    5 out of 30 items documented0 out of 16 items with examples
  • Size
  • Source code size: 11.95 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 3.6 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 1m 3s Average build duration of successful builds.
  • all releases: 1m 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • Latias94

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