frust-material 0.6.1

Material 3 (Expressive) design-system catalog for Frust: HCT seed-color tokens, shape morphing, icons, widgets and bundled Roboto fonts.
Documentation
Third-Party and Vendored Code
================================================================================

This package is a Rust port of material_3_expressive and includes source code
vendored or ported from other projects. Vendored code is marked in module headers
(e.g., "Ported from", "Vendored from") with upstream attribution, version, and
license. The notices below preserve the original copyrights and license terms.

The package's declared license is `Apache-2.0 AND OFL-1.1` (see Cargo.toml):
the crate bundles Apache-2.0-only ported code (material-color-utilities,
androidx.graphics.shapes lineage, Material Icons path data) and OFL-1.1 font
data alongside its own workspace-licensed sources, so no MIT-only arm can be
offered for the combined artifact. The workspace root carries `LICENSE-MIT`
and `LICENSE-APACHE` for the workspace's own code; this crate ships its own
copies of every license text it needs, beside this file:

- `LICENSE-APACHE` — the Apache License, Version 2.0 (copy of the root text)
- `licenses/Apache-2.0.txt` — the Apache License, Version 2.0, for the ported
  Android Open Source Project and Google LLC code
- `licenses/MIT.txt` — the MIT License, for the ported and vendored components
  whose copyright holders are listed in the two MIT sections below
- `licenses/BSD-3-Clause.txt` — the BSD 3-Clause License of The Flutter
  Authors, for the carousel view lineage
- `fonts/roboto-flex/OFL.txt` and `fonts/roboto-mono/OFL.txt` — the SIL Open
  Font License 1.1 of the bundled fonts

================================================================================
MIT License — Root Crate
================================================================================

This crate contains a Rust port of material_3_expressive v1.0.8.

Copyright (c) 2026 Paa Developments <paa.code.me@gmail.com>
  Original upstream: https://github.com/paadevelopments/material_3_expressive
  License: MIT (text: `plugins/material/licenses/MIT.txt`)

================================================================================
MIT License — Additional Copyright Holders (Vendored Components)
================================================================================

Copyright (c) 2025 Emily Moonstone
  Upstream: https://github.com/EmilyMoonstone/material_3_expressive
  Ported to Rust for: icon buttons, navigation bar, navigation rail,
                      progress indicators, loading indicator wrapper
  Reference: The original Dart components in material_3_expressive

Copyright (c) 2026 Mudit Purohit
  Upstream: https://github.com/Mudit200408/m3e_buttons
  Ported to Rust for: buttons, split buttons, toggle buttons, toggle button
                      groups
  Reference: The original Dart components in material_3_expressive

Copyright (c) 2024 Mudit Purohit
  Upstream: https://github.com/Mudit200408/m3e_dropdown_menu
  Ported to Rust for: dropdown menus
  Reference: The original Dart components in material_3_expressive

Copyright (c) 2026 Mudit Purohit
  Upstream: https://github.com/Mudit200408/m3e_expandable
  Ported to Rust for: expandable list items
  Reference: The original Dart components in material_3_expressive

Copyright (c) 2025 Álvaro N
  Upstream: https://github.com/alvaronp/expressive-refresh
  Ported to Rust for: refresh indicator
  Reference: The original Dart component in material_3_expressive

Copyright (c) 2024 Paa <paa.code.me@gmail.com>
  Upstream: https://github.com/paadevelopments/m3_carousel
  Ported to Rust for: carousel view layout (itself derived from Flutter
                      CarouselView; see BSD notice below)
  Reference: The original Dart component in material_3_expressive

Copyright (c) 2025 Agbama Gifted
  Upstream: https://github.com/agbamadavidtaiwo/material_new_shapes
  Ported to Rust for: Material 3 shape tokens (RoundedCornerShape,
                      CutCornerShape)
  License: MIT
  Lineage note: Based on androidx.graphics.shapes (see Apache 2.0 section below)

================================================================================
BSD 3-Clause License — The Flutter Authors
================================================================================

Copyright 2014 The Flutter Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of Google Inc. nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Applies to the carousel view component (src/components/carousel/):
The carousel view is ported from m3_carousel, which itself is derived from
Flutter's CarouselView. The same text is vendored as
`plugins/material/licenses/BSD-3-Clause.txt`.

================================================================================
Apache License, Version 2.0 — The Android Open Source Project
================================================================================

Copyright (c) 2024 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Applies to:
- Shape token implementation (src/shapes/: rounded_polygon.rs, morph.rs,
  catalog.rs): ported from androidx.graphics.shapes and the
  material_new_shapes package, which carry Apache-2.0 lineage from androidx.
- Loading indicator (src/loading_indicator.rs): ported from
  androidx.compose.material3 LoadingIndicator.kt
  (androidx/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/LoadingIndicator.kt)
  via material_3_expressive's verbatim Dart vendoring of it
  (m3e_expressive_loading_indicator.dart) — the shape sequence, per-shape
  morph spring, and rotation choreography are this Apache-2.0-licensed
  logic, transcribed onto this crate's own shapes::Morph engine.
- Material Icons path data (src/icons.rs): Apache-2.0, vendored verbatim from
  Google's `material-design-icons` (`google/material-design-icons`), path
  data as SVG `d` attributes in a 24x24 design box.

The complete Apache License, Version 2.0 text is vendored at
`plugins/material/licenses/Apache-2.0.txt`. Per Apache License, Section
4(d), any Derivative Works distributed must include a readable copy of the
attribution notices contained within this NOTICE file, excluding notices
that do not pertain to the Derivative Work.

================================================================================
Apache License, Version 2.0 — Google LLC (material-color-utilities)
================================================================================

Copyright (c) 2021 Google LLC
  Upstream: https://github.com/material-foundation/material-color-utilities
  Version: 0.11.1 (the Dart `material_color_utilities` package Flutter ships)
  Ported to Rust for: the HCT seed-color engine (src/tokens/hct.rs) — sRGB/XYZ
                      /L* conversions, CAM16 viewing conditions, the CAM16
                      forward transform, the HCT solver, tonal and core
                      palettes, and the Material 3 tone-role table
  License: Apache License, Version 2.0 — same terms as the section above, whose
           license text (`plugins/material/licenses/Apache-2.0.txt`) and
           Section 4(d) attribution requirement apply here too

================================================================================
OFL 1.1 License — Roboto Flex Font
================================================================================

Copyright 2017 The Roboto Flex Project Authors
  Upstream: https://github.com/TypeNetwork/Roboto-Flex (per the shipped
  font's own name table, ID 0; font version 3.200;gftools[0.9.32])
  Bundled as: plugins/material/fonts/roboto-flex/RobotoFlex.ttf
  License: SIL Open Font License 1.1 (no Reserved Font Name)

The Roboto Flex font family is licensed under the SIL Open Font License, Version 1.1.
See `plugins/material/fonts/roboto-flex/OFL.txt` for the complete OFL 1.1 text
(also FONTS-LICENSE for provenance details).

================================================================================
SIL Open Font License, Version 1.1 — Roboto Mono Font
================================================================================

Copyright 2015 The Roboto Mono Project Authors
  Upstream: https://github.com/googlefonts/robotomono
  Source: https://github.com/google/fonts/tree/main/ofl/robotomono
  Bundled as: plugins/material/fonts/roboto-mono/RobotoMono.ttf
  License: SIL Open Font License, Version 1.1 (verified from the shipped
           font's own `name` table, nameID 13/14: "This Font Software is
           licensed under the SIL Open Font License, Version 1.1" /
           https://openfontlicense.org; the upstream Google Fonts repo path
           above is itself under `ofl/`, Google Fonts' own OFL-licensed tree)

The Roboto Mono font family is licensed under the SIL Open Font License,
Version 1.1. See `plugins/material/fonts/roboto-mono/OFL.txt` for the
complete OFL 1.1 text (also FONTS-LICENSE for provenance details).

================================================================================
Module Attribution Header Convention
================================================================================

Each module that ports or vendors upstream code includes a header block
(2–4 lines) documenting the upstream source, version/revision, license, and
any porting decisions. Example:

    // Ported from material_3_expressive v1.0.8 (MIT, © 2026 Paa Developments)
    // Upstream: https://github.com/paadevelopments/material_3_expressive
    // No license changes; shape semantics preserved from Dart port.

This convention is used by later design-system phases and plugin revisions
to maintain clear lineage tracking across vendored code.