Native track

Docking Station Chronicle

Gradle Edition V2 — Kotlin, Jetpack Compose, Room, and a JVM :core engine. Idle ticks, cross-skill economy, Docking UI.

Shipped app v1.9.0 (versionCode 12) · Synced with ChangelogScreen.kt + DOCS/ as of 2026-04-29
GitHub repository README.md DOCS / SUMMARY

Core features

Current V2 experience in one glance — focused on shipped systems, not pitch-deck promises.

Resonance clicker

Pulse the orb for Resonance XP and Momentum. Momentum boosts global haste while decaying in the foreground loop.

Encounter combat

Start in Sunny Meadow Barn against Barn Rat. Auto-combat ticks run with HP bars, logs, kill count, and flee controls.

Combat loadouts

Weapon, armor, and accessories now apply real combat stats: accuracy, max hit, melee defence, and swing speed bonuses.

Skill economy chains

Gathering and crafting loops feed each other through bank inputs/outputs, with unimplemented skills gated by Coming Soon dialogs.

Profiles and persistence

Room-backed profiles + per-profile game saves. Transactional writes, offline catch-up, and combat state resume on reopen.

Summoning progression

Summoning is trainable with charms and spirit shards. Early Barn Rat drops help unlock first familiar pouches.

Project pulse

Condensed from DOCS/SCRATCHPAD.md — live handoff for contributors and agents. For blockers and next actions, always read the file in-repo.

Active stack

  • Routes: account_selectaccount_creategame/{profileId}
  • Game shell: Hub (default), Skills, Bank, Combat + settings / What’s New overlays
  • Trainable highlights: Resonance, Summoning, and core gathering/crafting loops
  • Combat vertical: encounter area + first enemy + persisted active-combat state
  • Loadouts vertical: equipment screen now drives real combat stats
  • Roster: 41 SkillId entries, 5 pillars (incl. Cosmic); unwired = Coming Soon dialog
  • Engine: Gradle :core JVM — TickEngine, XPTable, SkillDataRegistry

Settings & prefs (DataStore)

  • Theme dark / follow system, reduce motion, haptics, sound master
  • Offline report toggle, offline cap copy, DEBUG cap bypass
  • Profile display name edit, last played, About via BuildConfig
  • OSS notices, credits, reset progress, delete profile

Next actions (QA / engineering)

  1. Device smoke across all eight trainable skills (XP, bank, crafting consumption, auto-stop)
  2. Alive bottom bar: XP ring, bank opportunity badge, tab glow
  3. GameViewModel tests: save cadence, one-skill training rule
  4. Mark Phase 5 slice DONE in ROADMAP.md when smoke is clean
  5. Skill expansion playbook: DOCS/SKILLS_EXPANSION_NATIVE.md

Persistence

  • arteria_profiles.db — profiles
  • arteria_game.db — skills, bank, game_meta
  • Room v5 migrations include offline audit + active combat resume
  • GameRepository.saveGameState() transactional write path

Scratchpad may mention experimental or in-flight ideas before they ship. Player-facing truth = app/build.gradle.kts version + in-app changelog.

Release timeline

Mirrors APP_CHANGELOG in ChangelogScreen.kt — same order and bullets as the in-app What’s New board.

1.9.0 2026-04-29 COMBAT
  • Combat loadouts: equipped gear now affects combat stats and swing timing
  • Equipment UI refresh: Paper Doll Lite, aggregate stats, slot-grouped owned gear cards
  • Starter drop loop: Barn Rat can rarely drop Bronze Sword
1.8.0 2026-04-29 SKILLS
  • Summoning is trainable with charm + shard progression
  • Main menu and settings got substantial UX polish
  • Skill detail pages improved for long action lists
1.7.0 2026-04-29 COMBAT
  • First encounter area (Sunny Meadow Barn) and first mob (Barn Rat)
  • Combat XP split across Attack, Strength, Defence, Hitpoints
  • Active combat state persisted and resumed from Room metadata
1.2.0 2026-03-31 UI
  • Docking glitch materialization — CRT sweep, RGB aberration, timeline, energy flow
  • Pillar badges, hex ghost text, ambient selected-card FX
1.1.0 2026-03-31 UI
  • Settings overlay + TopAppBar gear; back dismisses
1.0.0 2026-03-30 LAUNCH
  • Room profiles, tick engine, skills, bank, offline report, level-up feedback
0.1.0 2026-03-22 FOUNDATION
  • Gradle 9.6 + AGP 9.2, Cinzel, Docking backdrop, NavHost + profile routing

Roadmap spine (Phases 0–6)

From DOCS/ROADMAP.md — platform spine. Phases 7–10 are parallel feature / polish / ship tracks.

Phase Focus Status
0Scaffold, Gradle 9.6 nightly, AGP 9.2, API 36Done
1Compose shell, package com.arteria.game, navigationDone
2Engine in JVM :core, tick + XP testsDone 2026-04-01
3UI shell, ViewModels, tabsDone
4Room persistence, offline, migrationsDone
5Content port, vertical slices, skill dataIn progress — near-complete, smoke + balance
6R8, a11y, audio/haptics, Play hygieneIn progress — R8/minify on; release hardening remains

Skills system

How expansion works on native V2 — see DOCS/SKILLS_EXPANSION_NATIVE.md for the full playbook and V1 doc mapping.

Roster vs trainable

Enum defines identity; SkillDataRegistry.actionsForSkill defines whether the skill trains.

  • Implemented (8): Mining, Logging, Fishing, Harvesting, Scavenging, Smithing, Herblore, Cooking
  • Chains: Harvest → Herblore potions; Ore → Smithing bars; Fish → cooked food
  • V1 references: SKILLS_ARCHITECTURE.md, skilling_guides/*, UI_REVISION_CRAFTING_v2.md

Synergies (design-only)

V1 SYNERGIES.md describes pair/chain/meta bonuses — not wired in V2 ticks yet. Ship skills first; add modifiers as a later systems layer.

Runtime architecture

Abbreviated from DOCS/ARCHITECTURE.md.

MainActivity → ArteriaTheme → ArteriaApp (NavHost)
  account_select | account_create | game/{profileId}
  AccountViewModel → ProfileRepository → Room (profiles)
  GameViewModel → GameRepository → Room (game) + TickEngine (:core)
                

Toolchain snapshot

From DOCS/SBOM.md — verify live Gradle files before bumping.

ComponentPinned
Gradle wrapper9.6.0-20260331012943+0000
AGP9.2.0
Kotlin Compose plugin2.3.20
Kotlin JVM (:core)2.3.20
KSP2.3.6
Compose BOM2026.03.01
Room2.8.4
Navigation Compose2.9.7
Lifecycle2.10.0
DataStore Preferences1.2.0
compileSdk / target36.1 / 36 · minSdk 26
Bytecode / daemonJava 21 · Foojay daemon JDK 21 (Adoptium)

Horizon — Phases 7–10

Parallel tracks from ROADMAP.md (QoL, visual parity, feature verticals, store readiness). Not exhaustive — read the doc for checklists.

Phase 7 — QoL & a11y

  • Reduced motion support done (LocalReduceMotion)
  • Haptic feedback path done (training + achievements)
  • Bank search/sort/presets done
  • Offline report parity done (OfflineReportDialog)
  • TalkBack/focus-order pass still open

Phase 8 — Visual system

  • Token alignment with THEMING.md / RN reference
  • Crafting “radial mastery” per UI_REVISION_CRAFTING_v2.md
  • Docking parity with character-select intent

Phase 9 — Feature verticals

  • Companions, equipment, chronicle, random events done
  • Skill slices are live and still expanding (combat baseline active)
  • Dungeons/instances and economy surfaces still open

Phase 10 — Ship quality

  • Cold start benchmarks, R8 rules, Play Console checklist

V1 design canon (bundled)

Mirror under DOCS/ARTERIA-V1-DOCS/DOCU/. If monorepo ../DOCU/ disagrees, root wins per SUMMARY.md.

“A cosmic fantasy, math-heavy incremental idle RPG — Luminar wonder, Voidmire dread, and the Great Joke underneath. You are an Anchor: heavily souled, coincidence-prone, not a chosen one.”

— paraphrased from TRUTH_DOCTRINE.md (pillar philosophy; V2 roster count may exceed early “25 skills” wording)

Native V2 docs hub

Suggested read order from DOCS/SUMMARY.md.

Clone & build

Windows-friendly paths. Use a full JDK 21 — see README for IDE / org.gradle.java.home notes.

terminal
# Engine unit tests
./gradlew :core:test

# Debug APK
git clone https://github.com/Otterdays/Arteria-V2-Gradle-Edition-Reloaded.git
cd Arteria-V2-Gradle-Edition-Reloaded
./gradlew :app:assembleDebug

Philosophy

KISS · YAGNI · DRY · Fail fast — domain logic stays pure in :core; UI is a thin reactive layer; one transactional save path for game state.