# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Please, read https://fuchsia.dev/fuchsia-src/contribute/docs/documentation-navigation-toc
# before making changes to this file, and add a member of the fuchsia.dev
# team as reviewer.
toc:
- title: "Overview"
  path: /docs/concepts/components/v2
- title: "Introduction to components"
  path: /docs/concepts/components/v2/introduction.md
- title: "Component manager"
  path: /docs/concepts/components/v2/component_manager.md
- title: "Component manifests"
  path: /docs/concepts/components/v2/component_manifests.md
- title: "Lifecycle"
  path: /docs/concepts/components/v2/lifecycle.md
- title: "Topology"
  path: /docs/concepts/components/v2/topology.md
- title: "Identifiers"
  path: /docs/concepts/components/v2/identifiers.md
- title: "Realms"
  path: /docs/concepts/components/v2/realms.md
- title: "Environments"
  path: /docs/concepts/components/v2/environments.md
- title: "Capabilities"
  section:
  - include: /docs/concepts/components/v2/capabilities/_toc.yaml
  - title: "Using runners"
    section:
    - title: "ELF runner"
      path: /docs/concepts/components/v2/elf_runner.md
- title: "Diagnostics"
  section:
  - title: "Hub"
    path: /docs/concepts/components/v2/hub.md
  - title: "Lifecycle events"
    section:
    - title: "Overview"
      path: /docs/concepts/components/diagnostics/lifecycle_events/README.md
  - title: "Logs"
    section:
    - title: "Overview"
      path: /docs/concepts/components/diagnostics/logs/README.md
    - title: "Attributing LogSink connections"
      path: /docs/concepts/components/diagnostics/logs/attribution.md
- title: "Internals"
  section:
  - title: "Component manifest design principles"
    path: /docs/contribute/governance/rfcs/0093_component_manifest_design_principles.md
- title: "Analogies and Comparisons"
  section:
  - title: "Components vs. processes"
    path: /docs/concepts/components/v2/components_vs_processes.md
  - title: "Object-Oriented Design for Components"
    path: /docs/concepts/components/v2/components_as_classes.md
- title: "Legacy components"
  section:
  - title: "Overview"
    path: /docs/concepts/components/v1
  - title: "Component manifests"
    path: /docs/concepts/components/v1/component_manifests.md
  - title: "Hub"
    path: /docs/concepts/components/v1/hub.md
  - title: "sysmgr"
    path: /docs/concepts/components/v1/sysmgr.md
  - title: "Test components"
    path: /docs/concepts/testing/v1_test_component.md

# TODO(fxbug.dev/60771)
# - title: "Overview"
#   path: /docs/concepts/components/diagnostics/README.md

# TODO(fxbug.dev/60763)
# - title: "ArchiveAccessor"
#   path: /docs/concepts/components/diagnostics/accessor.md

# TODO(fxbug.dev/60768)
# - title: "Component Lifecycle"
#   path: /docs/concepts/components/diagnostics/lifecycle.md
  # TODO(fxbug.dev/60767)
  # - title: "Overview"
  #   path: /docs/concepts/components/diagnostics/inspect/README.md

  # TODO(fxbug.dev/60764)
  # - title: "Principles"
  #   path: /docs/concepts/components/diagnostics/inspect/principles.md


  # TODO(fxbug.dev/60766)
  # - title: "Principles"
  #   path: /docs/concepts/components/diagnostics/logs/principles.md

  # TODO(fxbug.dev/60767)
  # - title: "Severity"
  #   path: /docs/concepts/components/diagnostics/logs/severity.md
# TODO(fxbug.dev/60772)
# - title: "Triage & Detect"
#   path: /docs/concepts/components/diagnostics/triage.md
