Skip to content

AGENTS.md — SailEver DataField (apps/garmin-datafield)

How to build and find code. What the DataField shows — every value, position, colour and format — is specified in ../../docs/specs/datafield/. Read the workspace ../../AGENTS.md first (Definition of Done, glossary, spec rules).

The DataField shares its maths (COG smoothing, tack / jibe detection, baro trend, speed chart) with the WatchApp: ../../docs/specs/shared/calculations.md. A change to that maths here must be checked against ../../apps/garmin-watchapp/source/ (and the Wear OS :core module), and the other way round.

Build

mise garmin:datafield [device]    # build + simulator + run; no device: the one used last; --track N plays a track; --list

By hand (what the task runs):

# Java and the Connect IQ SDK come from mise (root mise.toml, AGENTS.md §3.0).
monkeyc -f monkey.jungle -o /tmp/sailever_df.prg -y ~/.config/sailever/developer_key -d fenix6 -w
monkeydo /tmp/sailever_df.prg fenix6

Use a device id from manifest.xml. Store releases: /sailever-garmin-release skill (it writes dist/datafield-<env>/<version>/RELEASE_NOTES_v*.md; those are store copy, not spec).

Source map

File (source/) Role Spec
SailEverField.mc App entry README
SailEverView.mc Layout and drawing screen
DataModel.mc Values from the host activity screen
Chart.mc, CogCalculator.mc, BaroIndicator.mc Speed chart, COG / turns, baro trend calculations