Skip to content

feat: add TimeCapsule module - #100

Merged
MaxMichel2 merged 1 commit into
mainfrom
feature/#40
Jul 31, 2026
Merged

feat: add TimeCapsule module#100
MaxMichel2 merged 1 commit into
mainfrom
feature/#40

Conversation

@MaxMichel2

@MaxMichel2 MaxMichel2 commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New devview-timecapsule module: records the state history of the currently visible screen via TimeCapsuleEffect/TimeCapsuleOwner, and lets a developer restore any earlier state back into that screen from the DevView overlay.
  • History is per-screen and in-memory only — it resets automatically when the screen leaves composition (the host app navigates away). No persistence, no cross-screen history, no serialization layer.
  • Sample app updated with a CounterViewModel/CounterScreen demonstrating record + restore end to end, plus a toggle that demonstrates the reset-on-navigation behavior.
  • Docs, README, CHANGELOG, and module-level README.md/CLAUDE.md added per the repo's documentation hygiene requirements.

Closes #40.

Test plan

  • :devview-timecapsule:testAndroidHostTest — unit tests pass
  • :konsist:test — architecture rules pass
  • detektFull — lint passes
  • :devview-timecapsule:metalavaGenerateSignature — API baseline generated and matches intended public surface
  • :sample:androidApp:assembleDebug — sample compiles and builds
  • Manual on-device verification (no emulator available in this environment) — increment counter, restore an earlier value from DevView, confirm it reflects on screen, then navigate away/back and confirm the timeline resets

🤖 Generated with Claude Code

Records the state history of whichever screen is currently visible via
TimeCapsuleEffect/TimeCapsuleOwner, and lets a developer restore any
earlier state back into that screen from the DevView overlay. History
resets automatically when the screen leaves composition.
@MaxMichel2 MaxMichel2 self-assigned this Jul 30, 2026
@MaxMichel2
MaxMichel2 requested a review from matthiaslao July 30, 2026 16:32
@MaxMichel2 MaxMichel2 added the enhancement New feature or request label Jul 30, 2026
@MaxMichel2 MaxMichel2 added this to the 0.2.0 milestone Jul 30, 2026
@MaxMichel2
MaxMichel2 merged commit 0afdc8c into main Jul 31, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TimeCapsule module

2 participants