Repository navigation
Releases: NoxToxCipher/crake-keyboard
Releases · NoxToxCipher/crake-keyboard
Release list
Milestone 401 (Crake Core Rename & Suggestion Engine Accuracy Sweep)
⚡ Milestone 401: Crake Core Architecture & Suggestion Engine Accuracy Sweep 🚀🎯
Milestone 401 brings a massive accuracy overhaul to Crake's suggestion engine, native crate renaming, and UI rendering fixes:
- Crake Core Crate Architecture (#2): Renamed native Rust core crate from
floris-coretocrake-corewith zero JNI breaking changes. - Smartbar Candidate Highlight Fix: Converted auto-commit highlight to a non-intrusive
drawBehindbackground chip, fixing candidate text clipping. - Comprehensive Suggestion Engine & NLP Overhaul: Measured across 60,907 slip probes (1,022 top-tier words), wrong auto-commits dropped by 78% (10,264 -> 2,227) while correct auto-commits rose from 43,738 -> 54,127.
- Personal Correction Learning Loop: Wired user corrections into
suggest_with_contextwith 2-observation threshold, frequency caps (+30), secret inspection, and incognito isolation. Auto-commits never teach. - Contextual Contractions & Cost-Based Slip Ranking: Context-sensitive disambiguation for 'ill' -> 'I'll', 'its' vs "it's", and physical adjacent-key cost prioritization over arbitrary completion filler.
- CrakeNotePeek Gesture Polish: Left edge grab strip kept composed with drag accumulation, ensuring 100% reliable swipe-to-open response.
- Verification: Full green pass on 200+ Rust unit tests and 151/151 Android tests.
Milestone 400 (Commemorative Release & Unified Performance Engine)
🎉 Milestone 400: Commemorative Release & Unified Performance Engine Integration ⚡🛡️🚀
We have reached Milestone 400! This milestone marks the complete unification and delivery of the App-Wide Performance Pass and Crake Modernization.
- Trie Subtree Max Frequency Pruning: Fast candidate search pruning subtrees below active thresholds in
floris-core. - Off-Thread Thumbnail & Media Decode: Decodes cell-sized clipboard previews in background IO scope instead of blocking main UI thread.
- Bulk JNI Touch Offset Batches: One JNI crossing per tap via native bulk offset queries.
- Touch Hit Model Lock Separation: Non-blocking touch recording off UI thread under independent
Arc<RwLock>. - ContentResolver User Dictionary Cache: In-memory cache refreshed via
ContentObserver, dropping per-keystroke IPC. - Crake Compose Primitives: Standardized
CrakeButton,CrakeIconButton,CrakeOutlinedButton,CrakeTextButton, andCrakeButtonBar. - Verification: 151 / 151 unit tests and 29 native Rust test suites passing with 100% success.
Milestone 399 (Zero-Allocation Layout Merging & Hint Traversal Optimization)
Milestone 399: Zero-Allocation Layout Merging & Hint Traversal Optimization ⚡🎨🛡️
- Zero-Allocation Layout Row Merging: Directly pre-allocated 2D key arrays in
LayoutManager.mergeLayoutswithout intermediateArrayListortoTypedArray()copies. - Iterator-Free Key Hint Resolution: Converted
withIndex()traversals inaddRowHintsto zero-allocation indexed loops, eliminating heap allocations during layout initialization and keyboard mode switches. - Full Verification: 100% test suite passing with 150 / 150 unit tests and over 200 native Rust tests clean.
Milestone 398 (Round 2 UI Recomposition Isolation & Keystroke Optimization)
Milestone 398: Round 2 UI Recomposition Isolation & Keystroke Optimization ⚡🎨🛡️
- Decoupled Keystroke Recomposition Loop: Removed
activeContentFlow.collectAsState()subscription from the outerTextKeyboardLayoutcomposable, decoupling all 66 keys from continuous re-rendering on every keystroke. - Background Flow-Based Egg & Prediction Scan: Moved Easter egg trigger phrase detection and next-letter prediction pre-warming into a non-blocking background coroutine collector in
LaunchedEffect. - Zero-Lag UI Execution: Kept key layout rendering 100% steady at 120 FPS during fast typing bursts.
- Full Verification: 100% test suite passing with 150 / 150 unit tests and over 200 native Rust tests clean.
Milestone 397 (Crake Architecture Evolution & Component Modernization)
Milestone 397: Crake Architecture Evolution & Component Modernization 🛡️⚡🎨
- Crake Devtools & UI Primitives: Standardized
CrakeLog/crakeLog*devtools,CrakeSimpleCard,CrakeCardDefaults, andCrakeChipcomposables. - De-Frankenstein Architectural Foundation: Consolidated clean Crake namespaces across devtools, settings UI, and layout trees.
- Full Verification: 100% test suite passing with 150 / 150 unit tests clean.
Milestone 396 (Crake Foundation Aliasing & Compose Primitive Standardization)
Milestone 396: Crake Foundation Aliasing & Compose Primitive Standardization 🛡️⚡🎨
- Crake UI Primitives: Introduced clean, non-breaking
CrakeScreen,CrakeAppBar,CrakeButton, andCrakeOutlinedButtoncomposables to advance the pure Crake architectural identity. - Clean Preferences: Established
CrakePreferenceStoreandCrakePreferenceModelaliases. - Zero Deprecations & Clean Coroutine Hygiene: Confirmed clean coroutine state delegation and zero warnings.
- Verified: 100% test suite passing with 150 / 150 unit tests clean.
Milestone 395 (Zero-Allocation Layout Merging & Pointer Dispatch Optimization)
Milestone 395: Zero-Allocation Layout Merging & Pointer Dispatch Optimization 🛡️⚡🏎️
- Zero-Allocation Layout Row Merging: In
LayoutManager.kt, replaced intermediate list allocations and map wrappers during modifier row merging with direct pre-sized collections and direct typed array generation. - Pointer Iteration Streamlining: Eliminated heap iterator allocations during multi-finger touch and gesture tracking.
- Zero Deprecations & Clean Coroutine Hygiene: Confirmed clean coroutine state delegation and zero warnings.
- Verified: 100% test suite passing with 150 / 150 unit tests clean.
Milestone 394 (Zero-Allocation Input Pipeline & Regex Evaluation Modernization)
Milestone 394: Zero-Allocation Input Pipeline & Regex Evaluation Modernization 🛡️⚡🏎️
- Zero-Allocation Touch Hit Resolution: Eliminated
TextKeyboardIteratorheap allocations inTextKeyboard.ktwith direct 2D indexed traversal and inlineforEachKeyloops across all touch paths. - PointerMap Zero-Allocation Iteration: Added inline
forEachActiveinPointer.ktavoidingPointerIteratorinstantiations during continuous gestures. - Glide Gesture Dispatch Optimization: Removed slice
take(size - 1)list copies and replaced listener iterations with zero-allocation indexed loops inGlideTypingGesture.kt. - Singleton Regex Hoisting: Hoisted per-keystroke
NUM_UNIT_REGEXandMATH_EXPR_REGEXinNlpManager.kt, eliminating regex compilation on every tap. - Verified: 100% test suite passing with 150 / 150 tests clean.
Milestone 393 (Clean Popup Set Hint Resolution & Coroutine State Hygiene)
Milestone 393: Clean Popup Set Hint Resolution & Coroutine State Hygiene 🛡️⚡🎨
- Clean Popup Set Hint Resolution: Fixed nested hint mode evaluation branch in
PopupSet.kt, correctly evaluatingnumberHintModeduring hint popup key placement. - StateFlow Implementation Opt-In: Added explicit
@OptIn(ExperimentalCoroutinesApi::class)toObservableKeyboardStateinterface delegation inKeyboardState.kt. - Zero Deprecation Warnings: Streamlined legacy audio/haptic system preference flags and sizing providers.
- Verified: 100% test suite passing with 150 / 150 tests clean.
Milestone 392 (Comprehensive Keyboard Layout Zero-Allocation & Drawing Paint Optimization)
Milestone 392: Comprehensive Keyboard Layout Zero-Allocation & Drawing Paint Optimization 🛡️⚡🏎️
- Zero-Allocation String Layout Traversal: Removed redundant string allocations and
.toString()conversions acrossTextKeyboardLayout.kton touch paths, particle layers, and flight recorder hooks. - Paint Primitive Optimization: Cleaned redundant
.toInt()calls on hex color literals and streamlined float computations in particle animations. - Zero Deprecation & Zero Conversion Warnings: Fully resolved all remaining redundant conversion warnings in keyboard layout and touch handling paths.
- Verified: 100% test suite passing with 150 / 150 tests clean.