mirror of
https://github.com/project-dorado/dorado-hd.git
synced 2026-10-11 21:10:01 +00:00
- Move package com.heretek.xunehd -> com.heretek.dorado_hd (namespace + applicationId) - Full symbol rebrand: Xune* -> Dorado* across all sources and filenames - Storage: xune.db -> dorado_hd.db; DataStore xune_settings -> dorado_hd_settings - Theme.XuneHd -> Theme.DoradoHd; resources xune_* -> dorado_* - Repoint remotes, badges, CI artifact, docs to project-dorado/dorado-hd - Add CODEOWNERS + issue/PR templates - Preserve Microsoft Zune HD canon references and original copyright attribution Refs: Heretek-AI/xune-HD -> project-dorado/dorado-hd
2.3 KiB
2.3 KiB
AGENTS.md — Dorado-HD repository rules
Dorado-HD is the Zune HD on-device UI, reborn as an Android music player. Sister project of Dorado (the Zune desktop re-implementation).
The canon is law
docs/zune-hd-ui-canon.md defines every screen and gesture; docs/design-tokens.md
defines every color, size and duration. If a change contradicts the canon, change
the canon first (with a source citation), then the code.
Design invariants (audited by tests — DesignInvariantTest)
- Zero corner radius. Never write
RoundedCornerShapeor set any nonzero corner radius on UI. Squares only, like the device. - No Material chrome leakage. Screens compose our tokens
(
LocalDoradoColors,DoradoTokens,Selawik). Material primitives (Icon, IconButton, TextField) are permitted as behaviorless shells — never for their styling. - Typography is navigation. New navigation is text-first (the Zune HD had no icon nav). Icons exist only for transport/rating glyphs.
- Hearts, not stars. Rating is the tri-state heart: heart / broken / none.
- Back = the cropped header. Detail screens use
CroppedHeader/DetailScaffold; Now Playing uses the explicit back arrow. Do not add chrome back buttons elsewhere. - Motion decelerates. Use
DoradoMotioneasings/durations. No springs in navigation.
Toolchain notes (AGP 9)
com.android.applicationprovides built-in Kotlin; never applyorg.jetbrains.kotlin.android.- KGP is force-aligned to 2.4.20 through the root
buildscriptblock because 2026 androidx libraries ship stdlib 2.4 metadata. Keeplibs.versions.kotlinComposePluginequal to that KGP version. - Kotlin jvmTarget follows
compileOptions(17).
Code layout
design/— tokens, theme, motion, reusable components. Screens may not hardcode colors/sizes; consume tokens.data/— Room database, MediaStore scanner, repositories.media/— Media3 session service + app-sidePlaybackController.ui/— navigation, screens, shared widgets.net/— optional network providers (artist images via{mbid}templates).
Licensing
MIT for code. MedTune attribution lives in NOTICE.md. MusicIn2001 is a Research-Only-licensed project — never copy code from it; it is a behavioral spec only. Never bundle Microsoft fonts or firmware.