[storyshell] Add Mondrian library as part of story shell refactor

This commit is an implementation of the API and a placeholder
implementation of the minimal viable logic to unblock Presenter work.

Background: Step 1 of separating story shell into (this) layout library,
a UI & interaction concerned presenter, and a component that provides
the story shell FIDL API, for increased flexibility.

Adds tests for library functionality:
  surface_node_test, layout_test, surface_tree_test, encode_decode_test

Adds this library's tests to dart_unittests

Test: with fx set x64 --board x64 --available=topaz/packages/tests/all
then fx run-host-tests mondrian_lib_tests

Change-Id: Ia680636aed6d2c840cb861392ee8902749f376fd
16 files changed
tree: 1e906cf923374ecb5ad1936ce475f5b8bf129e16
  1. .cargo/
  2. app/
  3. auth_providers/
  4. bin/
  5. boards/
  6. docs/
  7. examples/
  8. lib/
  9. manifest/
  10. packages/
  11. products/
  12. public/
  13. runtime/
  14. shell/
  15. tests/
  16. tools/
  17. .clang-format
  18. .gitignore
  19. AUTHORS
  20. BUILD.gn
  21. CONTRIBUTING.md
  22. LICENSE
  23. OWNERS
  24. PATENTS
  25. README.md
  26. rustfmt.toml
README.md

Topaz

Topaz augments system functionality by implementing interfaces defined by underlying layers. Topaz contains four major categories of software: modules, agents, shells, and runners.

For example, modules include the dashboard, and runners include the Web, Dart, and Flutter runners.

Removed Components

Looking for something that used to be in this repository? The list below provides a code location and sha that can be used to checkout dead code that has been removed. Please note, it is unlikely the code will build or work correctly shas are provided for reference only. Code can be checked out with:

    git checkout <sha> -- $FUCHSIA_DIR/<location>
  • topaz/app/chat: 9f6c31d2ceb8353f229a9ef6b53ba2386ff31867
  • topaz/app/color: 5a023ccb054104846e3e913951bcc7dc277d2274
  • topaz/app/contacts: 80378fe470817750188707de29237282892a3142
  • topaz/app/documents: b5a3ee29b15414f232865128195d14bd8811ab02
  • topaz/app/image: 5e731a943a907cf960ecfbda1c391958f9093afa
  • topaz/app/link_viewer: 00fe1236c6851da5d54c625a8293561bb617804c
  • topaz/app/video: fc03877f787fc119140b900d476c4563bd04a529
  • topaz/tools/dartfmt_extras: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/mod: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/widget_explorer: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02