Files
James Rich d11af85aee refactor(proto): use Wire native emitAppliedOptions, delete custom SchemaHandler
The upstream proto (meshtastic/protobufs#905) has been simplified to use
a scalar bool extension instead of a message wrapper:
  [(meshtastic.diy_only) = true]
Wire 6's emitAppliedOptions now natively generates @DiyOnlyOption(true)
annotations on fields, eliminating the need for our custom
FieldMetadataSchemaHandler.
Changes:
- Delete FieldMetadataSchemaHandler.kt (~200 LOC)
- Remove wire-schema dependency from build-logic
- Remove custom {} handler block from core:proto build
- Add emitAppliedOptions = true to Wire kotlin {} config
- Update FieldMetadataDemo to demonstrate the native annotation
- Bump protobufs submodule to metadata-experiment branch
2026-04-30 15:49:57 -05:00
..

:core:proto

Overview

This module contains the generated Kotlin and Java code from the Meshtastic Protobuf definitions. It uses the Wire library for efficient and clean model generation.

Key Components

  • PortNum: Defines the identification for different types of data payloads.
  • MeshPacket: The core protocol message definition.
  • Protobuf Modules: Definitions for telemetry, position, administration, and more.

Usage

This module is a low-level dependency for any module that needs to encode or decode Meshtastic protocol data.

implementation(projects.core.proto)

Module dependency graph

graph TB
  :core:proto[proto]:::kmp-library

classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-application-compose fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef compose-desktop-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-library-compose fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library-compose fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;