# Masque > Masque is a declarative UI language and embeddable runtime for Rust applications: flexbox layout, spring animations, portals and local state, while your app keeps its data in Rust. Masque documents use the `.masque` extension. ## Start here - [Introduction](https://www.masquelang.dev/docs.md): What Masque is, what it is for, and how the pieces fit together. - [Installation](https://www.masquelang.dev/docs/installation.md): Add Masque to a Rust project, and get Skia building on your platform. - [Quick start](https://www.masquelang.dev/docs/quick-start.md): From an empty Cargo project to a window that changes when you save. ## The language - [Values, state and functions](https://www.masquelang.dev/docs/language/basics.md): Variables, state that survives re-renders, functions, control flow and imports. - [Widgets and layout](https://www.masquelang.dev/docs/language/widgets.md): The built-in widgets, how sizing works, and how styles are written. - [Events](https://www.masquelang.dev/docs/language/events.md): Pointer and keyboard listeners, and sending events to the host. - [Animation and presence](https://www.masquelang.dev/docs/language/animation.md): Spring transitions, entry and exit styles, keys, and Presence. ## Embedding - [The frame loop](https://www.masquelang.dev/docs/embedding/frame-loop.md): What to call each frame, in what order, and how to forward input. - [Typed bindings](https://www.masquelang.dev/docs/embedding/typed-bindings.md): Declare the state a document reads and the events it raises, and have both checked at load. - [Custom surfaces](https://www.masquelang.dev/docs/embedding/surfaces.md): Draw the widget tree with something other than Skia. ## Tooling - [Editor support](https://www.masquelang.dev/docs/tooling/editors.md): The language server, the VS Code extension, and the vocabulary scanner. ## Project - [Design principles](https://www.masquelang.dev/docs/principles.md): The rules a Masque document can rely on, and why the language keeps them. - [Status and roadmap](https://www.masquelang.dev/docs/roadmap.md): What works, what is in progress, and what is not there yet. ## Optional - [All docs in one file](https://www.masquelang.dev/llms-full.txt) - [Source on GitHub](https://github.com/fian-team/masque) - [Rust API reference](https://docs.rs/masque)