Skip to content

Vibefactor#2

Open
martipello wants to merge 8 commits into
masterfrom
vibefactor
Open

Vibefactor#2
martipello wants to merge 8 commits into
masterfrom
vibefactor

Conversation

@martipello

Copy link
Copy Markdown
Owner

No description provided.

Martin Seal and others added 8 commits June 4, 2026 20:39
…R all models using Freezed and JsonSerializable. ADD AI-powered next-word predictions (Gemini/OpenAI) and enhanced TTS with OpenAI voice support. IMPLEMENT phrase groups, a drawing canvas for custom words, and a global word search. UPDATE project dependencies and Android build configuration to modern standards.
…configure release signing with keystore.properties, and update build.gradle to use release signing configs.
…configure release signing with keystore.properties, and update build.gradle to use release signing configs.
…configure release signing with keystore.properties, and update build.gradle to use release signing configs.
…c and update google-services.json accordingly
…and simplify model data.

### Highlights:
- **Model Changes**: Refactored `Word` model to replace the `imagePaths` list with a single `imagePath` string.
- **Service Layer**: Introduced `ImagePathService` to resolve image paths, allowing core vocabulary to store only filenames while dynamically building Firebase Storage URLs based on the selected "album" (e.g., simples vs. photos).
- **Infrastructure**: Added a Node.js utility (`upload_to_firebase.js`) for processing, resizing, and synchronizing local images with Firebase Storage using exponential backoff.
- **UI Enhancements**:
  - Integrated `cached_network_image` for persistent disk caching of remote word images.
  - Improved `TtsSettingsView` to allow updating or removing OpenAI API keys.
  - Standardized image resolution across `WordTile`, `WordGroupTile`, and `RelatedWordsWidget`.
- **Data**: Updated `initial_word_data.json` to reflect the new single `imagePath` schema.
- **Dependencies**: Added `cached_network_image` and `sqflite` (via lockfile) to support image caching and local persistence.
- Set `isCoreVocabulary` to true for a wide range of words across grammar, actions, describe, social, and things categories in `initial_word_data.json`.
- Refactor `WordImage` snapshot builder to handle errors and loading states more robustly.
- Disable fade durations and update the placeholder in `CachedNetworkImage` within `WordImage` to improve transition consistency.
- Regenerate launcher icons (22% inset) and splash for all flavors
- Fix Android package name to com.sealstudios.simple_aac across all configs
- Fix google-services.json typo (sealastudios → sealstudios) for all flavors
- Add Google Sign-In via firebase_ui_auth with anonymous account linking
- Add Sign In screen and account section to Settings
- Update iOS xcconfigs to use AppIcon-{flavor} from flutter_launcher_icons
- Fix GitHub Actions workflow package name and remove Firebase Admin SDK key
- Remove OpenAI key from generate_icons.py (use OPENAI_API_KEY env var)
- Add serviceAccountKey.json, node_modules, aac_images, .claude to .gitignore
- Move firebase configs from firebase/ to android/app/src/{flavor}/ directly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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