tree: 4e571d6f74e164a2e553314039465427d71b1928 [path history] [tgz]
  1. examples/
  2. meta/
  3. src/
  4. BUILD.gn
  5. MAINTAINERS
  6. README.md
public/rust/fuchsia-ui/README.md

Introduction

Fuchsia-ui is a prototype framework for writing Fuchsia modules in Rust. It is primarily intended to be used as the basis of the Ermine session shell.

Tentative Roadmap

  1. Mouse, touch and keyboard input
  2. Text rendering with RustType
  3. Flutter-style flex-box layout
  4. Single-line text editor

Mouse, touch and keyboard input

Design and implement a way to pass input events from Scenic to app and view assistants.

Text rendering with RustType

Design and implement a way to render text with RustType and display it with scenic.

Flutter-style flex-box layout

Implement the basics of flex box layout, similar to the way it is done in Druid.

Single-line text editor

Design and implement a single-line text editor in Rust so that Ermine does not have to launch a Flutter mod for inputs to use to generate suggestions.

Future Areas

Command Handling

Mature application frameworks usually have some mechanism for commands that might apply to multiple items in the view hierarchy to be handled by the most specific first and proceeding to less specific items. This command handling structure can also be used to show/enable menu items if Fuchsia ever has such a menu.

Complex Rendering

Scenic currently allows easy rendering of shapes with colors or textures. One area of exploration is using the Lyon path tessellation tool to turn arbitrary paths into triangle meshes for use with Scenic's mesh drawing commands.

Animation

Design and implement a simple animation facility.