tree: 7d1135d4776f1452aff9a795e6821574573d030c [path history] [tgz]
  1. BUILD.gn
  2. Fargo.toml
  3. OWNERS
  4. README.md
  5. config/
  6. examples/
  7. meta/
  8. src/
  9. tests/
src/lib/ui/carnelian/README.md

Introduction

Carnelian is a prototype framework for writing Fuchsia modules in Rust.

To build the included samples, use the fx set line below to build the core version of Fuchsia with the necessary additional packages to run either directly on the frame buffer or with scenic using the tiles tool. See these configuration instructions for more details.

    fx set core.x64 \
    --with //src/lib/ui/carnelian:examples \
    --with //src/lib/ui/carnelian:carnelian-integration-test \
    --with //src/lib/ui/carnelian:carnelian-fb-integration-test \
    --with //src/lib/ui/carnelian:carnelian-tests \
    --with //garnet/bin/terminal:tiles_config \
    --with //src/ui \
    --with //src/ui/bin/root_presenter \
    --with //src/ui/bin/root_presenter:configs \
    --with //src/ui/scenic \
    --with //src/ui/tools/tiles \
    --release \
    --auto-dir \
    --args=rust_cap_lints='"warn"' \
    --cargo-toml-gen

To disable virtcon, add

    --args='dev_bootfs_labels=["//products/kernel_cmdline:virtcon.disable--true"]'

To run an example in virtcon mode, add :virtcon_config to additional_deps for that example in BUILD.gn

Tentative Roadmap

  1. Flutter-style flex-box layout

Flutter-style flex-box layout

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

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.

Animation

Design and implement a simple animation facility.

Frequently Asked Questions