- 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
Gradle Edition V2 — Kotlin, Jetpack Compose, Room, and a JVM :core engine. Idle ticks, cross-skill economy, Docking UI.
(versionCode 12)
·
Synced with ChangelogScreen.kt + DOCS/ as of 2026-04-29
Current V2 experience in one glance — focused on shipped systems, not pitch-deck promises.
Pulse the orb for Resonance XP and Momentum. Momentum boosts global haste while decaying in the foreground loop.
Start in Sunny Meadow Barn against Barn Rat. Auto-combat ticks run with HP bars, logs, kill count, and flee controls.
Weapon, armor, and accessories now apply real combat stats: accuracy, max hit, melee defence, and swing speed bonuses.
Gathering and crafting loops feed each other through bank inputs/outputs, with unimplemented skills gated by Coming Soon dialogs.
Room-backed profiles + per-profile game saves. Transactional writes, offline catch-up, and combat state resume on reopen.
Summoning is trainable with charms and spirit shards. Early Barn Rat drops help unlock first familiar pouches.
Condensed from DOCS/SCRATCHPAD.md — live handoff for contributors and agents. For blockers and next actions, always read the file in-repo.
account_select → account_create → game/{profileId}SkillId entries, 5 pillars (incl. Cosmic); unwired = Coming Soon dialog:core JVM — TickEngine, XPTable, SkillDataRegistryBuildConfigGameViewModel tests: save cadence, one-skill training ruleROADMAP.md when smoke is cleanDOCS/SKILLS_EXPANSION_NATIVE.mdarteria_profiles.db — profilesarteria_game.db — skills, bank, game_metaGameRepository.saveGameState() transactional write pathScratchpad may mention experimental or in-flight ideas before they ship. Player-facing truth = app/build.gradle.kts version + in-app changelog.
Mirrors APP_CHANGELOG in ChangelogScreen.kt — same order and bullets as the in-app What’s New board.
From DOCS/ROADMAP.md — platform spine. Phases 7–10 are parallel feature / polish / ship tracks.
| Phase | Focus | Status |
|---|---|---|
| 0 | Scaffold, Gradle 9.6 nightly, AGP 9.2, API 36 | Done |
| 1 | Compose shell, package com.arteria.game, navigation | Done |
| 2 | Engine in JVM :core, tick + XP tests | Done 2026-04-01 |
| 3 | UI shell, ViewModels, tabs | Done |
| 4 | Room persistence, offline, migrations | Done |
| 5 | Content port, vertical slices, skill data | In progress — near-complete, smoke + balance |
| 6 | R8, a11y, audio/haptics, Play hygiene | In progress — R8/minify on; release hardening remains |
How expansion works on native V2 — see DOCS/SKILLS_EXPANSION_NATIVE.md for the full playbook and V1 doc mapping.
Enum defines identity; SkillDataRegistry.actionsForSkill defines whether the skill trains.
SKILLS_ARCHITECTURE.md, skilling_guides/*, UI_REVISION_CRAFTING_v2.mdV1 SYNERGIES.md describes pair/chain/meta bonuses — not wired in V2 ticks yet. Ship skills first; add modifiers as a later systems layer.
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)
From DOCS/SBOM.md — verify live Gradle files before bumping.
| Component | Pinned |
|---|---|
| Gradle wrapper | 9.6.0-20260331012943+0000 |
| AGP | 9.2.0 |
| Kotlin Compose plugin | 2.3.20 |
Kotlin JVM (:core) | 2.3.20 |
| KSP | 2.3.6 |
| Compose BOM | 2026.03.01 |
| Room | 2.8.4 |
| Navigation Compose | 2.9.7 |
| Lifecycle | 2.10.0 |
| DataStore Preferences | 1.2.0 |
| compileSdk / target | 36.1 / 36 · minSdk 26 |
| Bytecode / daemon | Java 21 · Foojay daemon JDK 21 (Adoptium) |
Parallel tracks from ROADMAP.md (QoL, visual parity, feature verticals, store readiness). Not exhaustive — read the doc for checklists.
LocalReduceMotion)OfflineReportDialog)THEMING.md / RN referenceUI_REVISION_CRAFTING_v2.mdMirror 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 fromTRUTH_DOCTRINE.md(pillar philosophy; V2 roster count may exceed early “25 skills” wording)
Suggested read order from DOCS/SUMMARY.md.
Windows-friendly paths. Use a full JDK 21 — see README for IDE / org.gradle.java.home notes.
# 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
KISS · YAGNI · DRY · Fail fast — domain logic stays pure in :core; UI is a thin reactive layer; one transactional save path for game state.