Skip to content

Fix/scripture moment no verses#263

Merged
develop4God merged 6 commits into
mainfrom
fix/SCRIPTURE_MOMENT-no-verses
Jun 24, 2026
Merged

Fix/scripture moment no verses#263
develop4God merged 6 commits into
mainfrom
fix/SCRIPTURE_MOMENT-no-verses

Conversation

@develop4God

Copy link
Copy Markdown
Owner

No description provided.

- Implement "Deeper Connections" section to display `scriptureConnections` using `_ConnectionTile` components
- Wrap new elements in `_DelayedEntry` to provide staggered entry animations
- Adjust the animation delay for `revelationKey` to 800ms to maintain the visual sequence
- Extract repeated scripture connections UI logic into a new `_ScriptureConnectionsSection` widget
- Replace duplicate implementations across encounter card variants with the new component to improve maintainability and reduce code duplication
- Implement "Deeper Connections" section to display `scriptureConnections` using `_ConnectionTile` components
- Wrap new elements in `_DelayedEntry` to provide staggered entry animations
- Adjust the animation delay for `revelationKey` to 800ms to maintain the visual sequence
Adds a single source of truth for which EncounterCard fields each card
type renders, plus a debug-only check that flags content authored in
JSON but never wired to a renderer — closing the "silently dropped
field" bug class confirmed in production content (woman_well_en_001.json:
revelation_key on character_moment cards, never rendered before this fix
was found to already exist; title/subtitle never rendered on
scripture_moment).

- Add lib/models/encounter_card_contract.dart: kEncounterCardRenderedFields
  (per-type rendered-field sets) + kDeferredEncounterCardFields
  (ambientSound, haptic, celebrationType — documented as future
  implementation, not gaps)
- Add debug-only _debugCheckEncounterCardContract() in
  EncounterCard.fromJson — warns via debugPrint when a card has non-null
  content with no renderer registered for its type. Zero production cost
  (gated on kDebugMode).
- Add field-level doc comments on EncounterCard documenting render status
  per field
- Fix: ScriptureMomentCard now renders title/subtitle (previously silently
  dropped)
- Fix: InteractiveMomentCard now renders revelationKey (previously
  silently dropped)
- Verified: CharacterMomentCard already rendered revelationKey correctly
  — no change needed, confirmed via grep against contract

No changes to JSON content shape or existing verse mechanisms
(verseOverlay, scriptureConnections, verseReference/verseText) — this is
rendering-layer only, scoped per discussion.

Verification: dart format (0 changed), dart fix --apply (nothing to fix),
flutter analyze --fatal-infos (no issues). Real-device pass pending —
note neither scripture_moment card in woman_well_en_001.json currently
has title/subtitle authored, so that specific rendering path needs
verification against different content or a local test edit.

Glory to God 🙏
@develop4God develop4God merged commit 803eb83 into main Jun 24, 2026
7 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 CI Results for PR #263

🔄 Static Analysis:
🔄 Tests:

Coverage data unavailable

⚠️ Issues found - check the logs


Generated by GitHub Actions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant