Skip to content

Releases: NoxToxCipher/crake-keyboard

Milestone 401 (Crake Core Rename & Suggestion Engine Accuracy Sweep)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 13 Sep 01:17
78c3e4e

⚡ 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:

  1. Crake Core Crate Architecture (#2): Renamed native Rust core crate from floris-core to crake-core with zero JNI breaking changes.
  2. Smartbar Candidate Highlight Fix: Converted auto-commit highlight to a non-intrusive drawBehind background chip, fixing candidate text clipping.
  3. 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.
  4. Personal Correction Learning Loop: Wired user corrections into suggest_with_context with 2-observation threshold, frequency caps (+30), secret inspection, and incognito isolation. Auto-commits never teach.
  5. 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.
  6. CrakeNotePeek Gesture Polish: Left edge grab strip kept composed with drag accumulation, ensuring 100% reliable swipe-to-open response.
  7. Verification: Full green pass on 200+ Rust unit tests and 151/151 Android tests.

Milestone 400 (Commemorative Release & Unified Performance Engine)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 14:58
3486fb2

🎉 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.

  1. Trie Subtree Max Frequency Pruning: Fast candidate search pruning subtrees below active thresholds in floris-core.
  2. Off-Thread Thumbnail & Media Decode: Decodes cell-sized clipboard previews in background IO scope instead of blocking main UI thread.
  3. Bulk JNI Touch Offset Batches: One JNI crossing per tap via native bulk offset queries.
  4. Touch Hit Model Lock Separation: Non-blocking touch recording off UI thread under independent Arc<RwLock>.
  5. ContentResolver User Dictionary Cache: In-memory cache refreshed via ContentObserver, dropping per-keystroke IPC.
  6. Crake Compose Primitives: Standardized CrakeButton, CrakeIconButton, CrakeOutlinedButton, CrakeTextButton, and CrakeButtonBar.
  7. Verification: 151 / 151 unit tests and 29 native Rust test suites passing with 100% success.

Milestone 399 (Zero-Allocation Layout Merging & Hint Traversal Optimization)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 13:05
c0d8cc2

Milestone 399: Zero-Allocation Layout Merging & Hint Traversal Optimization ⚡🎨🛡️

  1. Zero-Allocation Layout Row Merging: Directly pre-allocated 2D key arrays in LayoutManager.mergeLayouts without intermediate ArrayList or toTypedArray() copies.
  2. Iterator-Free Key Hint Resolution: Converted withIndex() traversals in addRowHints to zero-allocation indexed loops, eliminating heap allocations during layout initialization and keyboard mode switches.
  3. 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)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 12:52
a54b194

Milestone 398: Round 2 UI Recomposition Isolation & Keystroke Optimization ⚡🎨🛡️

  1. Decoupled Keystroke Recomposition Loop: Removed activeContentFlow.collectAsState() subscription from the outer TextKeyboardLayout composable, decoupling all 66 keys from continuous re-rendering on every keystroke.
  2. 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.
  3. Zero-Lag UI Execution: Kept key layout rendering 100% steady at 120 FPS during fast typing bursts.
  4. 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)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 12:09
c96cb36

Milestone 397: Crake Architecture Evolution & Component Modernization 🛡️⚡🎨

  1. Crake Devtools & UI Primitives: Standardized CrakeLog / crakeLog* devtools, CrakeSimpleCard, CrakeCardDefaults, and CrakeChip composables.
  2. De-Frankenstein Architectural Foundation: Consolidated clean Crake namespaces across devtools, settings UI, and layout trees.
  3. Full Verification: 100% test suite passing with 150 / 150 unit tests clean.

Milestone 396 (Crake Foundation Aliasing & Compose Primitive Standardization)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 11:53
9283bc7

Milestone 396: Crake Foundation Aliasing & Compose Primitive Standardization 🛡️⚡🎨

  1. Crake UI Primitives: Introduced clean, non-breaking CrakeScreen, CrakeAppBar, CrakeButton, and CrakeOutlinedButton composables to advance the pure Crake architectural identity.
  2. Clean Preferences: Established CrakePreferenceStore and CrakePreferenceModel aliases.
  3. Zero Deprecations & Clean Coroutine Hygiene: Confirmed clean coroutine state delegation and zero warnings.
  4. Verified: 100% test suite passing with 150 / 150 unit tests clean.

Milestone 395 (Zero-Allocation Layout Merging & Pointer Dispatch Optimization)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 11:09
099ab00

Milestone 395: Zero-Allocation Layout Merging & Pointer Dispatch Optimization 🛡️⚡🏎️

  1. 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.
  2. Pointer Iteration Streamlining: Eliminated heap iterator allocations during multi-finger touch and gesture tracking.
  3. Zero Deprecations & Clean Coroutine Hygiene: Confirmed clean coroutine state delegation and zero warnings.
  4. Verified: 100% test suite passing with 150 / 150 unit tests clean.

Milestone 394 (Zero-Allocation Input Pipeline & Regex Evaluation Modernization)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 10:48
896d9be

Milestone 394: Zero-Allocation Input Pipeline & Regex Evaluation Modernization 🛡️⚡🏎️

  1. Zero-Allocation Touch Hit Resolution: Eliminated TextKeyboardIterator heap allocations in TextKeyboard.kt with direct 2D indexed traversal and inline forEachKey loops across all touch paths.
  2. PointerMap Zero-Allocation Iteration: Added inline forEachActive in Pointer.kt avoiding PointerIterator instantiations during continuous gestures.
  3. Glide Gesture Dispatch Optimization: Removed slice take(size - 1) list copies and replaced listener iterations with zero-allocation indexed loops in GlideTypingGesture.kt.
  4. Singleton Regex Hoisting: Hoisted per-keystroke NUM_UNIT_REGEX and MATH_EXPR_REGEX in NlpManager.kt, eliminating regex compilation on every tap.
  5. Verified: 100% test suite passing with 150 / 150 tests clean.

Milestone 393 (Clean Popup Set Hint Resolution & Coroutine State Hygiene)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 03:10
e397dcd

Milestone 393: Clean Popup Set Hint Resolution & Coroutine State Hygiene 🛡️⚡🎨

  1. Clean Popup Set Hint Resolution: Fixed nested hint mode evaluation branch in PopupSet.kt, correctly evaluating numberHintMode during hint popup key placement.
  2. StateFlow Implementation Opt-In: Added explicit @OptIn(ExperimentalCoroutinesApi::class) to ObservableKeyboardState interface delegation in KeyboardState.kt.
  3. Zero Deprecation Warnings: Streamlined legacy audio/haptic system preference flags and sizing providers.
  4. Verified: 100% test suite passing with 150 / 150 tests clean.

Milestone 392 (Comprehensive Keyboard Layout Zero-Allocation & Drawing Paint Optimization)

Choose a tag to compare

@NoxToxCipher NoxToxCipher released this 02 Sep 02:56
6e76e4a

Milestone 392: Comprehensive Keyboard Layout Zero-Allocation & Drawing Paint Optimization 🛡️⚡🏎️

  1. Zero-Allocation String Layout Traversal: Removed redundant string allocations and .toString() conversions across TextKeyboardLayout.kt on touch paths, particle layers, and flight recorder hooks.
  2. Paint Primitive Optimization: Cleaned redundant .toInt() calls on hex color literals and streamlined float computations in particle animations.
  3. Zero Deprecation & Zero Conversion Warnings: Fully resolved all remaining redundant conversion warnings in keyboard layout and touch handling paths.
  4. Verified: 100% test suite passing with 150 / 150 tests clean.