# gpui v0.2.0-rc.1 - Table of Contents

> Renderer-independent application, session, snapshot, and declarative UI contracts for GPUI.

## Pages

- [Changelog](changelog.md)

- Introduction
  - [GPUI](readme.md)
  - [GPUI documentation](documentation.md)

- Getting Started
  - [Your first application](first-application.md)

- Concepts
  - [Sessions, snapshots, and displays](sessions-snapshots-and-displays.md)

- UI
  - [UI components](components.md)
  - [Templates and elements](templates-and-elements.md)
  - [Forms and controls](forms-and-controls.md)
  - [Collections and data views](collections-and-data-views.md)
  - [Text and editing](text-and-editing.md)
  - [Editable text surfaces](editable-text.md)
  - [Layout, styling, and presentation](layout-styling-and-presentation.md)
  - [Presentation primitives](presentation-primitives.md)
  - [Resources and display actions](resources-and-display-actions.md)
  - [Windows and lifecycle](windows-and-lifecycle.md)
  - [Commands and keyboard shortcuts](commands-and-shortcuts.md)
  - [Overlays and menus](overlays-and-menus.md)

- Remote
  - [Remote displays](remote-displays.md)

- Testing
  - [Testing GPUI applications](overview.md)
  - [Application tests](application-tests.md)
  - [Deterministic native tests](native-tests.md)
  - [Desktop E2E and visual evidence](desktop-e2e.md)
  - [Test coverage ownership](coverage-ownership.md)

- Deployment
  - [Native builds and deployment](native-builds.md)

- Internals
  - [Platform support and development status](platform-support.md)
  - [Editable text internals](editable-text-internals.md)
  - [Accessibility internals](accessibility.md)
  - [Native text projections](text-projections.md)
  - [Transfer payload internals](transfers.md)
  - [Presentation extension contracts](presentation-contracts.md)
  - [Decision: declarative native motion](declarative-motion.md)
  - [Decision: declarative native window chrome](window-chrome.md)

## Modules

- [GPUI.Accessibility](GPUI.Accessibility.md): Bounded renderer-independent accessibility contracts for generic elements.
- [GPUI.Native](GPUI.Native.md): Backend-neutral native boundary used by GPUI runtime and resource APIs.
- [GPUI.Schema](GPUI.Schema.md): Canonical element, component, event, resource, and style protocol schema.
- [GPUI.Schema.Component](GPUI.Schema.Component.md): Declarative schema for one renderer-native element or UI component.
- [GPUI.Schema.Registry](GPUI.Schema.Registry.md): Immutable composition of explicitly selected declarative schema modules.
- [GPUI.Text.RichRun](GPUI.Text.RichRun.md): A neutral shaping run for immutable rich text.
- [GPUI.Text.StyleRun](GPUI.Text.StyleRun.md): A neutral shaping style applied to a logical text range.
- [GPUI.Transfer.Event](GPUI.Transfer.Event.md): A bounded renderer-independent drag/drop event fact.
- [GPUI.Transfer.Payload](GPUI.Transfer.Payload.md): Bounded renderer-independent clipboard or drag/drop facts.

- Core
  - [GPUI](GPUI.md): Elixir-facing DSL for GPUI applications and views.
  - [GPUI.Application](GPUI.Application.md): Behaviour and DSL for OTP-supervised GPUI applications.
  - [GPUI.Application.Icon](GPUI.Application.Icon.md): Application-owned icon source metadata.
  - [GPUI.Application.Identity](GPUI.Application.Identity.md): Stable process-wide identity for a GPUI application.
  - [GPUI.Command](GPUI.Command.md): Declarative application command bound to a modified keyboard shortcut.
  - [GPUI.Runtime](GPUI.Runtime.md): Primary application-facing process API for one GPUI application and display.
  - [GPUI.Runtime.Update](GPUI.Runtime.Update.md): A synchronized runtime update delivered to `GPUI.Runtime` subscribers.
  - [GPUI.Snapshot](GPUI.Snapshot.md): Renderer-independent snapshot of a running `GPUI.Session`.
  - [GPUI.Tree](GPUI.Tree.md): Renderer-independent queries over `GPUI.Element` and serialized element trees.
  - [GPUI.View](GPUI.View.md): Behaviour for Elixir-rendered GPUI views.

- Advanced infrastructure
  - [GPUI.Session](GPUI.Session.md): Renderer-independent state engine for one running `GPUI.Application`.

- Text
  - [GPUI.Text.BlockProjection](GPUI.Text.BlockProjection.md): A non-editable block rendered adjacent to an explicit logical text line.
  - [GPUI.Text.Buffer](GPUI.Text.Buffer.md): Persistent native Rope text storage with revisioned atomic edits.
  - [GPUI.Text.CaretGeometry](GPUI.Text.CaretGeometry.md): Window-relative native pixel bounds for a text surface's primary caret.
  - [GPUI.Text.Decoration](GPUI.Text.Decoration.md): A neutral visual annotation attached to a logical text range.
  - [GPUI.Text.Edit](GPUI.Text.Edit.md): An atomic replacement of one half-open text range.
  - [GPUI.Text.InlineProjection](GPUI.Text.InlineProjection.md): Non-editable text rendered at an explicit logical text position.
  - [GPUI.Text.Position](GPUI.Text.Position.md): A zero-based logical text position.
  - [GPUI.Text.Range](GPUI.Text.Range.md): A half-open range between two `GPUI.Text.Position` values.
  - [GPUI.Text.RangeGeometry](GPUI.Text.RangeGeometry.md): Window-relative native pixel bounds for one requested logical text range.
  - [GPUI.Text.Rectangle](GPUI.Text.Rectangle.md): Window-relative native pixel rectangle for laid-out text.
  - [GPUI.Text.Selection](GPUI.Text.Selection.md): A directed selection represented by anchor and head positions.
  - [GPUI.Text.Snapshot](GPUI.Text.Snapshot.md): An immutable snapshot of a persistent native text buffer.
  - [GPUI.Text.Transaction](GPUI.Text.Transaction.md): A revisioned atomic set of text edits and resulting selections.
  - [GPUI.Text.Viewport](GPUI.Text.Viewport.md): A revision-tagged snapshot of one text surface's visible visual rows.

- Displays
  - [GPUI.Display](GPUI.Display.md): Display boundary for rendered GPUI session snapshots and native input events.

- Elements
  - [GPUI.Element](GPUI.Element.md): Serializable element tree produced by `GPUI.View` modules.

  - [GPUI.Event](GPUI.Event.md): Normalized UI event delivered from a display into `GPUI.Session`.

  - [GPUI.Raster](GPUI.Raster.md): Generic packed 32-bit CPU raster image payload for GPUI image elements.
  - [GPUI.ResourceRef](GPUI.ResourceRef.md): Reference to a remote/display resource such as a raster image.

  - [GPUI.Schema.Extension](GPUI.Schema.Extension.md): Compile-time metadata for one versioned renderer presentation contract.
  - [GPUI.Schema.Extension.Support](GPUI.Schema.Extension.Support.md): Bounded display support for one exact presentation contract version.
  - [GPUI.Tailwind](GPUI.Tailwind.md): Small Tailwind-compatible class normalizer for GPUI element styles.
  - [GPUI.Template](GPUI.Template.md): HEEx-style template support for GPUI.
  - [GPUI.WindowSpec](GPUI.WindowSpec.md): Declarative window specification returned by the application DSL.

- Remote
  - [GPUI.Remote.Client](GPUI.Remote.Client.md): Display-side client for a remote GPUI application session.
  - [GPUI.Remote.Protocol](GPUI.Remote.Protocol.md): Transport-independent contract between a remote application session and display.
  - [GPUI.Remote.Server](GPUI.Remote.Server.md): SafeRPC endpoint for renderer-independent GPUI application sessions.
  - [GPUI.Remote.Transport.TCP](GPUI.Remote.Transport.TCP.md): Length-prefixed ETF transport over TCP, with optional SSL.

- Testing
  - [GPUI.Test](GPUI.Test.md): ExUnit helpers for renderer-independent application tests and deterministic
GPUI interaction tests.
  - [GPUI.Test.Display](GPUI.Test.Display.md): Deterministic in-memory display for session and runtime tests.
  - [GPUI.Test.UI](GPUI.Test.UI.md): An opaque interactive UI handle supplied by `use GPUI.Test, native: ...`.

