Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
192 commits
Select commit Hold shift + click to select a range
1c8fc02
v3.1.0: Code quality audit, engine improvements, new features
SysAdminDoc Mar 26, 2026
21f7d0b
v3.2.0: Performance fixes, bug fixes, UX hardening
SysAdminDoc Mar 26, 2026
678e3e5
v3.3.0: Localization, bitmap performance, exception logging
SysAdminDoc Mar 26, 2026
5a1e34f
v3.4.0: Activate all dependency-gated engines, replace reflection stu…
SysAdminDoc Mar 26, 2026
ba923fc
Update CLAUDE.md and README.md for v3.4.0
SysAdminDoc Mar 27, 2026
ec3a4ae
v3.5.0: Fix build — reflection stubs for optional deps, compile error…
SysAdminDoc Mar 27, 2026
965b73d
v3.5.0: Comprehensive cleanup — stub engines, EditorState decompositi…
SysAdminDoc Mar 27, 2026
e97596e
Compose stability, Project.kt split, TtsPanel cleanup, version catalo…
SysAdminDoc Mar 27, 2026
1f4f702
v3.6.0: VideoEngine decomposition, model split, Compose stability
SysAdminDoc Mar 27, 2026
713a73d
Update CLAUDE.md for v3.6.0
SysAdminDoc Mar 27, 2026
7c25b46
Fix UI unresponsive — remove @Stable/@Immutable from EditorState/Pane…
SysAdminDoc Mar 27, 2026
f259958
v3.7.0: Comprehensive audit — 10 bug fixes, 6 new features, delegate …
SysAdminDoc Mar 27, 2026
251b347
Dead code removal, panel wiring, chapter undo/redo
SysAdminDoc Mar 27, 2026
981bf8e
Chapter markers: auto-save serialization + snapshot restore
SysAdminDoc Mar 27, 2026
9e70ef1
Anchor point export, overlay persistence fixes
SysAdminDoc Mar 27, 2026
c596854
Color grading persistence — add saveProject to delegate
SysAdminDoc Mar 27, 2026
60da7ea
Clip editing persistence — endTrim/endSpeedChange, saveProject gaps
SysAdminDoc Mar 27, 2026
eebde30
Model validation, dead engine removal, concurrency fix
SysAdminDoc Mar 27, 2026
b8f9fde
Full audit: 3 crash fixes, auto-save data loss, persistence gaps
SysAdminDoc Mar 27, 2026
5825cb2
Deep audit: deserialization safety, batch export race fix
SysAdminDoc Mar 27, 2026
00a9c7c
Persistence fixes: TTS waveform, volume/fade/transform saveProject
SysAdminDoc Mar 27, 2026
05d1ace
Remove duplicate ExportProgressOverlay, fix captions without clip
SysAdminDoc Mar 27, 2026
9ccd70c
Fix silent model download failures from renameTo on Android
SysAdminDoc Mar 27, 2026
5195ed8
v3.8.0: 14 competitor-inspired features from research
SysAdminDoc Mar 27, 2026
51aa416
Bump version to v3.8.0, update CLAUDE.md and memory files
SysAdminDoc Mar 27, 2026
6844fe9
Audit v3.8.0: 5 fixes for new feature bugs
SysAdminDoc Mar 27, 2026
e114fa7
Audit: drawingColor sign extension, undo/redo drawingPaths, speed range
SysAdminDoc Mar 27, 2026
a2caefa
Fix timeline jerkiness and viewport desync (issue #1)
SysAdminDoc Mar 27, 2026
51abaf3
v3.9.0: Export expansion, settings & UX polish
SysAdminDoc Mar 29, 2026
cf862f3
v3.10.0: Track headers, keyboard shortcuts & editor polish
SysAdminDoc Mar 29, 2026
9fceb77
v3.11.0: Clip labels, track controls & ToolPanel localization
SysAdminDoc Mar 29, 2026
fd80d27
v3.12.0: GIF export backend, accessibility & panel localization
SysAdminDoc Mar 29, 2026
bd68a8a
v3.13.0: GIF hardening, settings localization & editor polish
SysAdminDoc Mar 29, 2026
034ddf9
v3.14.0: Fix GIF color quantization & deep localization pass
SysAdminDoc Mar 29, 2026
8ecc10f
v3.15.0: Comprehensive localization pass — 55+ strings across 13 panels
SysAdminDoc Mar 29, 2026
5a9c633
v3.16.0: Fix MediaMetadataRetriever leak, final i18n, keyboard shortcuts
SysAdminDoc Mar 30, 2026
970e0c0
v3.17.0: Security fix (Zip Slip) and resource leak audit
SysAdminDoc Mar 30, 2026
ef0cf1b
v3.18.0: Bitmap leak fix, dynamic User-Agent, remaining i18n, depreca…
SysAdminDoc Mar 30, 2026
ab8c2a5
v3.20.0: Full audit, PowerDirector-style UI overhaul, critical bugfixes
SysAdminDoc Mar 31, 2026
c28d537
Fix live volume preview — slider now controls ExoPlayer audio in real…
SysAdminDoc Mar 31, 2026
348afb8
Clean up README — remove inline changelog, link to CHANGELOG.md
SysAdminDoc Mar 31, 2026
627fe8c
Add files via upload
SysAdminDoc Mar 31, 2026
63898cc
Update README.md
SysAdminDoc Mar 31, 2026
6e7804e
Update README.md
SysAdminDoc Mar 31, 2026
5487f35
Update launcher icon to match novacut-icon.svg at full 1024 viewport
SysAdminDoc Mar 31, 2026
f02767d
Remove private docs from repo, keep local only
SysAdminDoc Mar 31, 2026
b797ecc
Commit pending changes from prior session — i18n, icon safe zone, bra…
SysAdminDoc Mar 31, 2026
b855453
Audit round 2: 5 fixes — persistence, preview sync, crash safety
SysAdminDoc Mar 31, 2026
659b1dc
Remove halo background from launcher icon, clean centered N letterform
SysAdminDoc Mar 31, 2026
a9600f4
v3.22.0 — Data safety, export correctness, build fixes & zero warnings
SysAdminDoc Apr 1, 2026
20a9ea1
v3.23.0 — Comprehensive audit: 24 bug fixes
SysAdminDoc Apr 1, 2026
3f47006
v3.24.0 — Transitions & smooth playback
SysAdminDoc Apr 1, 2026
aa269a5
v3.25.0 — Premium UI polish, panel enhancements & version sync
SysAdminDoc Apr 8, 2026
83085f9
v3.25.1 — Timeline overhaul, editor screen & clip editing improvements
SysAdminDoc Apr 8, 2026
508a955
v3.26.0 — QA audit: crash, leak & persistence fixes
SysAdminDoc Apr 11, 2026
3f88b29
Add MIT LICENSE
SysAdminDoc Apr 13, 2026
e06a867
Add README badges
SysAdminDoc Apr 13, 2026
c4e6def
v3.26.0 — gap preview, lazy waveforms, track volume export, lint cleanup
SysAdminDoc Apr 15, 2026
d4a1927
v3.27.0 — Export & archive overhaul, UI density pass, file safety
SysAdminDoc Apr 15, 2026
2f7fca7
v3.28.0 — Deep engineering audit: 18 fixes across correctness, securi…
SysAdminDoc Apr 15, 2026
810a1df
v3.29.0: Audit phase 2 — persistence, thread safety, database optimiz…
SysAdminDoc Apr 15, 2026
064e4a5
Revert launcher icon to halo + full letterform design
SysAdminDoc Apr 16, 2026
da79908
Polish editor panels and harden utility workflows
SysAdminDoc Apr 16, 2026
b8c0de2
v3.30.0: UI polish pass — 25 panels refined, expanded i18n, launcher …
SysAdminDoc Apr 16, 2026
a82e60e
Clean Codex artifacts, fix monochrome icon, localize hardcoded strings
SysAdminDoc Apr 16, 2026
6034d3c
Harden exports, recovery, and model downloads
SysAdminDoc Apr 16, 2026
072a987
Fix camera FileProvider crash, GIF cancellation, Transformer listener…
SysAdminDoc Apr 16, 2026
7e0d66f
v3.37.0: Audit phases 3-8 — persistence parity, premium polish, math …
SysAdminDoc Apr 16, 2026
2f207e2
v3.38.0: Audit phase 9 — FCPXML escaping, LUT bounds, settings deboun…
SysAdminDoc Apr 16, 2026
fca2ed2
v3.39.0: Audit phase 11 — speed curve harmonic mean, snap floor, tool…
SysAdminDoc Apr 16, 2026
e4d1102
v3.43.0: Audit phases 12-15 — export, GL, DSP, persistence, FCPXML, b…
SysAdminDoc Apr 17, 2026
58f2bf2
v3.44.0: Audit phase 16 — persistence NaN guards, GIF overflow, expor…
SysAdminDoc Apr 17, 2026
d76146e
v3.45.0: Audit phase 17 — GL attrib guards, DSP NaN flush, gesture ro…
SysAdminDoc Apr 17, 2026
84c9bd0
Polish NovaCut editor experience and launcher icon
SysAdminDoc Apr 18, 2026
70cf227
Ship cross-project port wave + refactor timeline editing
SysAdminDoc Apr 18, 2026
67fd88b
v3.50.0: Audit phase 18 — speed-curve correctness, mutex, undo playhe…
SysAdminDoc Apr 18, 2026
d26921a
v3.51.0: Post-audit follow-ups — subtitle sidecar, audio MIME, media GC
SysAdminDoc Apr 18, 2026
5955266
v3.52.0: Export + import polish — filename tokens, pre-flight warning…
SysAdminDoc Apr 18, 2026
ad066a7
v3.53.0: Project filter chips + bulk-delete guard
SysAdminDoc Apr 18, 2026
0660fb2
v3.54.0: Brand watermark burn-in (Tier-2)
SysAdminDoc Apr 18, 2026
565d8be
v3.55.0: Device-aware encoder capability probe
SysAdminDoc Apr 18, 2026
ca4ba88
v3.56.0: Wide-net hardening pass (audit phase 19)
SysAdminDoc Apr 18, 2026
47624a3
Premium timeline polish and hardening
SysAdminDoc Apr 19, 2026
ce584b6
v3.58.0: Tier A/B/C engine scaffolding + extreme hardening audit
SysAdminDoc Apr 20, 2026
b75e269
v3.59.0: fix five engine reliability bugs (audit phase 21)
SysAdminDoc Apr 21, 2026
bdff900
v3.60.0: fix bitmap leak on OOM and split-clip linked-audio ID loss (…
SysAdminDoc Apr 21, 2026
a0f9117
v3.61.0: fix template share null storage, autosave copy race, export …
SysAdminDoc Apr 21, 2026
c5865aa
fix: Phase 24 — Lottie NaN, contact sheet bitmap scope, VTT word time…
SysAdminDoc Apr 21, 2026
246f99d
Fix segmentation confidence average and stabilization temp-file leak …
SysAdminDoc Apr 21, 2026
dbdc937
v3.64.0: enforce FFT power-of-2 contract, log invalid codec rejection
SysAdminDoc Apr 21, 2026
988c344
v3.65.0: fix waveform error-path allocation and contact-sheet OOM cle…
SysAdminDoc Apr 22, 2026
22aa911
v3.66.0: timeline and editing overhaul — trim handles, cut access, au…
SysAdminDoc Apr 22, 2026
96df27d
v3.67.0: fix snackbar taking over screen, drag responsiveness, remove…
SysAdminDoc Apr 22, 2026
751a140
v3.68.0: performance & responsiveness audit — recompose hotspots, per…
SysAdminDoc Apr 22, 2026
d9a5124
v3.69.0 — 15-feature wave, hardening, and quality pass
SysAdminDoc Apr 23, 2026
11d1e4c
Polish premium app chrome and onboarding UX
SysAdminDoc Apr 25, 2026
eaa105d
Refine editor suggestion and desktop chrome
SysAdminDoc Apr 25, 2026
3a368db
Polish clip labeling and undo recovery
SysAdminDoc Apr 25, 2026
1bc57d5
Polish project scratchpad notes
SysAdminDoc Apr 25, 2026
a578fa1
Polish snapshot history recovery controls
SysAdminDoc Apr 25, 2026
9157879
Polish project backup actions
SysAdminDoc Apr 25, 2026
3acf36d
Polish settings tutorial reset flow
SysAdminDoc Apr 25, 2026
7a0698d
Polish autosave recovery feedback
SysAdminDoc Apr 25, 2026
daadfb3
Polish project list dialogs
SysAdminDoc Apr 25, 2026
3d458dc
Polish clip delete confirmation
SysAdminDoc Apr 25, 2026
ee43ee9
Unify premium dialog icon treatment
SysAdminDoc Apr 25, 2026
cd1ea69
Polish editor naming dialogs
SysAdminDoc Apr 25, 2026
b2d59f2
Polish export progress feedback
SysAdminDoc Apr 25, 2026
9c11835
Polish first-run tutorial controls
SysAdminDoc Apr 25, 2026
c10daab
Polish AI model status controls
SysAdminDoc Apr 25, 2026
8afc8cc
Add shared model download manager
SysAdminDoc Apr 25, 2026
fc1ebca
Surface smart render outlook in export
SysAdminDoc Apr 25, 2026
fd10bec
Add media relink workflow
SysAdminDoc Apr 25, 2026
10fa6e4
Polish backup import safety
SysAdminDoc Apr 25, 2026
9f9a675
Polish AI model readiness UX
SysAdminDoc Apr 25, 2026
3099ec1
Polish project hub operation feedback
SysAdminDoc Apr 25, 2026
895929c
Polish media import feedback
SysAdminDoc Apr 25, 2026
3c17078
Polish AI model removal safety
SysAdminDoc Apr 25, 2026
49e483d
Polish saved template deletion safety
SysAdminDoc Apr 25, 2026
4dc91bd
Polish snapshot restore safety
SysAdminDoc Apr 25, 2026
8b97fef
Harden project archive and deletion flows
SysAdminDoc Apr 25, 2026
0992f99
Harden generated media handoff
SysAdminDoc Apr 25, 2026
4e6817e
Harden voiceover recording finalization
SysAdminDoc Apr 25, 2026
9b60416
Harden noise reduction outputs
SysAdminDoc Apr 25, 2026
51ea752
Harden stabilized video outputs
SysAdminDoc Apr 25, 2026
7f48af0
Harden frame output finalization
SysAdminDoc Apr 25, 2026
7ce6f41
Harden still image export writes
SysAdminDoc Apr 25, 2026
334dc92
Harden text sidecar exports
SysAdminDoc Apr 25, 2026
73a0c04
Harden binary export writes
SysAdminDoc Apr 25, 2026
3d15d93
Harden media import fallbacks
SysAdminDoc Apr 25, 2026
ad46869
Expand roadmap research benchmarks
SysAdminDoc Apr 25, 2026
17d3720
v3.70.0 — Foundation pass: TimelineExchangeValidator, ProjectArchive …
SysAdminDoc Apr 25, 2026
4cfc584
v3.71.0 — Cut Assistant + TrackedObject scaffolding
SysAdminDoc Apr 25, 2026
1f81a00
Add Cut Assistant review UI
SysAdminDoc Apr 25, 2026
90a40a7
Add export color confidence checks
SysAdminDoc Apr 25, 2026
4002970
Add tracked mosaic object binding
SysAdminDoc Apr 26, 2026
f6d1f49
Add template compatibility validation
SysAdminDoc Apr 26, 2026
e404273
Surface stream-copy export control
SysAdminDoc Apr 26, 2026
af7f172
Correct speed ramp duration integration
SysAdminDoc Apr 26, 2026
12f521a
Update README.md
SysAdminDoc Apr 30, 2026
573e2fe
ROADMAP: add Round 5 — 2026 refresh (Media3 1.10 unblocks B.1/B.2/C.9…
SysAdminDoc May 6, 2026
fd6fe92
Harden Cut Assistant, archive cancellation, and bitmap lifecycle
SysAdminDoc May 13, 2026
2c9111b
Release v3.72.0 — Cut Assistant correctness + resource-leak hardening
SysAdminDoc May 13, 2026
bc4069e
Polish trust surfaces and model settings
SysAdminDoc May 13, 2026
94d6521
Polish settings AI model removal
SysAdminDoc May 13, 2026
1899a9a
Polish project home recovery states
SysAdminDoc May 13, 2026
93a1e68
Bump Media3 to 1.10
SysAdminDoc May 14, 2026
d01307d
Enable multi-track video export composition
SysAdminDoc May 14, 2026
92db725
Surface HDR export capability tiers
SysAdminDoc May 14, 2026
394ec76
Detect Ultra HDR source metadata
SysAdminDoc May 14, 2026
b51e2e2
Improve timeline accessibility actions
SysAdminDoc May 14, 2026
2a56f1c
Target Sherpa ONNX Moonshine v2
SysAdminDoc May 14, 2026
3858782
Target SAM 2.1 tracked masks
SysAdminDoc May 14, 2026
cfbbccb
Gate generative video cloud policy
SysAdminDoc May 14, 2026
8a052f0
Add keyboard timeline editing
SysAdminDoc May 14, 2026
f27d81e
feat: add caption accessibility presets
SysAdminDoc May 14, 2026
83aafd7
feat: harden editor recovery and compositor polish
MavenImaging May 16, 2026
d9f2413
docs(roadmap): add Round 6 — 2026-05 refresh + Forward View synthesis
MavenImaging May 16, 2026
e02832d
refactor(inpainting): remove deprecated NNAPI EP from ORT session
MavenImaging May 16, 2026
2afa7b4
docs(models): add model registry for F-Droid + 16 KB compliance + che…
MavenImaging May 16, 2026
c791b88
ci(16kb): add 16 KB page-size alignment check and Play Store gate
MavenImaging May 16, 2026
c182034
refactor(ffmpeg): document ffmpeg-kit-16kb activation path and probe …
MavenImaging May 16, 2026
34044ae
refactor(noise): target DeepFilterNet 3 and collapse duplicate companion
MavenImaging May 16, 2026
57ad234
feat(asr): add Whisper Large V3 Turbo as premium multilingual target
MavenImaging May 16, 2026
91f918b
feat(segment): add SAM 3 placeholder and text-prompt API stub
MavenImaging May 16, 2026
d2fbb6f
fix(media-picker): include application/ogg in audio MIME filter for Opus
MavenImaging May 16, 2026
8716b1d
docs(lottie): record media3-effect-lottie migration plan and parity gaps
MavenImaging May 16, 2026
b6a83e5
feat(audio): wire one-tap mastering presets end-to-end (C.6)
MavenImaging May 16, 2026
b091efc
test(strings-audit): lock engines out of direct Toast/Snackbar calls …
MavenImaging May 16, 2026
45d6576
feat(diagnostic): add local-only DiagnosticExportEngine (R5.5d engine…
MavenImaging May 16, 2026
4d10bdd
feat(smart-render): plan contiguous runs of same-encoding segments (B.5)
MavenImaging May 16, 2026
7b63915
docs(changelog): record Round 6 — 2026-05 refresh batch
MavenImaging May 16, 2026
60d82b5
feat(audio): scaffold Oboe resampler engine + frame-count math (A.10)
MavenImaging May 16, 2026
d88ad53
docs(engines): document activation paths for Tier A.3/4/5/6/11/13 + R…
MavenImaging May 16, 2026
ea748a7
sec(supply-chain): add Dependabot + non-bypassable model checksum (R5.9)
MavenImaging May 16, 2026
a3e4680
feat(probe): add APV (Advanced Professional Video) ingest probe (R6.11)
MavenImaging May 16, 2026
69d9506
feat(multicam): add SpeakerSwitchPlanner for Multicam SmartSwitch (R6…
MavenImaging May 16, 2026
610f08f
feat(streaming): scaffold OutputStreamingEngine for live streaming (R…
MavenImaging May 16, 2026
371dcc1
feat(captions): add per-word emphasis animator (R6.15)
MavenImaging May 16, 2026
41402b5
feat(plugins): unified PluginRegistry + OpenFX descriptor + compat ma…
MavenImaging May 16, 2026
9ea131a
feat(captions): caption translation editor data model (R5.4a + R6.7)
MavenImaging May 16, 2026
35b3e8a
feat(captions): locale-aware Noto font fallback policy (R5.4d)
MavenImaging May 16, 2026
cea8de2
feat(privacy): add PrivacyDashboard data model (R5.5c)
MavenImaging May 16, 2026
2525002
feat(keyframes): keyframe bezier graph data scaffold (C.12)
MavenImaging May 16, 2026
57070ef
feat(autocut): multi-word filler detection + proposal merge (C.2)
MavenImaging May 16, 2026
681b7c4
feat(adjlayer): planForClip helper for export-pipeline integration (C…
MavenImaging May 16, 2026
68456d7
feat(compound): nested-sequence navigation stack (C.13)
MavenImaging May 16, 2026
96a1ecc
feat(engines): pre-flight helpers for stock / camera / NLE import stubs
MavenImaging May 16, 2026
ece3340
docs(changelog): record Round 6 Next/Later tier engine + docs pass
MavenImaging May 16, 2026
d47bc71
chore: consolidate roadmap research and verification fixes
SysAdminDoc May 17, 2026
54d4a55
feat(settings): add diagnostic export workflow
SysAdminDoc May 17, 2026
9c8f851
ci(deps): bump actions/checkout from 4 to 6
dependabot[bot] May 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
53 changes: 53 additions & 0 deletions .ai/research/2026-05-17/CHANGESET_SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Changeset Summary - 2026-05-17

## Files Created

| File | Purpose |
|---|---|
| `PROJECT_CONTEXT.md` | Canonical committed project memory for future sessions. |
| `.ai/research/2026-05-17/STATE_OF_REPO.md` | Local reconnaissance memo. |
| `.ai/research/2026-05-17/MEMORY_CONSOLIDATION.md` | Instruction/memory/doc reconciliation. |
| `.ai/research/2026-05-17/SOURCE_REGISTER.md` | Local and external source index. |
| `.ai/research/2026-05-17/RESEARCH_LOG.md` | Search strategy, query classes, saturation notes, and limitations. |
| `.ai/research/2026-05-17/COMPETITOR_MATRIX.md` | Commercial and open-source competitor comparison. |
| `.ai/research/2026-05-17/FEATURE_BACKLOG.md` | Raw harvested opportunity backlog. |
| `.ai/research/2026-05-17/PRIORITIZATION_MATRIX.md` | Scored and tiered roadmap candidates. |
| `.ai/research/2026-05-17/SECURITY_AND_DEPENDENCY_REVIEW.md` | Dependency, native, release, model integrity, and privacy review. |
| `.ai/research/2026-05-17/DATASET_MODEL_INTEGRATION_REVIEW.md` | Model, dataset, integration, packaging, and evaluation review. |
| `.ai/research/2026-05-17/CHANGESET_SUMMARY.md` | Summary of this research artifact changeset. |

## Files Modified

| File | Purpose |
|---|---|
| `ROADMAP.md` | Updated last refresh to 2026-05-17 and added Round 7 deep-research synthesis plus new Now-priority rows. |
| `app/src/main/java/com/novacut/editor/engine/CaptionTranslationEngine.kt` | Fixed the supported-language switch for the new Bergamot model variant. |
| `app/src/main/java/com/novacut/editor/model/Project.kt` | Added optional clip display name storage needed by compound-clip breadcrumbs. |
| `app/src/main/java/com/novacut/editor/engine/KeyframeBezierGraph.kt` | Fixed cubic-bezier easing evaluation to solve x(time) before reading y(value). |
| `app/src/main/java/com/novacut/editor/engine/SpeakerSwitchPlanner.kt` | Fixed initial speaker-angle selection when explicit angle assignments reserve the default angle. |
| `app/src/test/java/com/novacut/editor/engine/CompoundNavStackTest.kt` | Switched JVM test fixtures from `Uri.EMPTY` to the repo's `FakeUri`. |
| `app/src/test/java/com/novacut/editor/engine/AdjustmentLayerEngineTest.kt` | Aligned the no-layer plan expectation with the engine's documented whole-clip segment behavior. |

## Local-Only Configuration

`local.properties` was corrected locally so Gradle can find the Android SDK in this workspace:

```properties
sdk.dir=C:\\Users\\--\\AppData\\Local\\Android\\Sdk
```

This file is ignored and intentionally not committed.

## Verification

- `git diff --check`: no whitespace errors; Git reported the normal Windows line-ending warning that `ROADMAP.md` LF will be replaced by CRLF the next time Git touches it.
- `.\gradlew.bat :app:compileDebugKotlin --dry-run`: successful after correcting ignored local `local.properties`.
- `.\gradlew.bat :app:compileDebugKotlin --no-daemon`: successful.
- `.\gradlew.bat :app:testDebugUnitTest --no-daemon`: compiles and executes 389 tests, with 388 passing and 1 remaining failure:
- `AutoSaveStateTest > deserialize_capsPathologicalRecoveredCollections`
- Failure: `java.util.NoSuchElementException at AutoSaveStateTest.kt:287`
- Notes: the remaining failure occurs after source compile/test-compile succeeds. Earlier compile blockers and unrelated assertion clusters found during verification were repaired in this changeset.

## Commit

This file is part of the final local commit for the 2026-05-17 research pass.
57 changes: 57 additions & 0 deletions .ai/research/2026-05-17/COMPETITOR_MATRIX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Competitor Matrix - 2026-05-17

## Summary

NovaCut's strongest differentiation is not having the longest checklist. The credible position is: Android-native, local-first, transparent model delivery, pro export/interchange, and privacy-preserving AI tools. Commercial competitors dominate template velocity and cloud/social distribution. Open-source desktop competitors dominate mature NLE workflows. Open-source mobile competitors are thinner, which gives NovaCut room if it keeps execution focused.

## Direct and Adjacent Open-Source Projects

| Project | Type | Activity Evidence | Notable Capabilities | NovaCut Lesson |
|---|---|---|---|---|
| OpenCut | Open-source CapCut-positioned editor | GitHub metadata fetched 2026-05-17: 50,904 stars, pushed 2026-05-17, MIT | Modern open-source creator editor positioning, local-first appeal, broad attention | Watch for UX expectations and plugin/template direction, but do not copy architecture blindly because NovaCut is Android-native. |
| devhyper/open-video-editor | Android open-source editor | GitHub metadata fetched 2026-05-17: 654 stars, pushed 2026-05-12, GPL-3.0 | Android video editing baseline, Media3/Compose-relevant comparison target | Closest direct open-source Android comparator; use for feature coverage and mobile interaction expectations. |
| LosslessCut | Desktop smart-cut editor | GitHub metadata fetched 2026-05-17: 40,487 stars, pushed 2026-05-10, GPL-2.0 | Stream-copy, fast trim, low-loss export workflows | Validates NovaCut's smart-render and mixed copy/re-encode roadmap priority. |
| Kdenlive | Desktop NLE | GitHub metadata fetched 2026-05-17: 5,055 stars, pushed 2026-05-17, GPL-3.0 | Pro timeline, effects, proxy workflows, keyframes, titles, color, audio tools | Benchmark for timeline depth, proxy/media management, and non-destructive editing semantics. |
| Shotcut | Desktop NLE | GitHub metadata fetched 2026-05-17: 13,963 stars, pushed 2026-05-17, GPL-3.0 | MLT-backed editing, filters, transitions, export control | Benchmark for effect/filter organization and export surface. |
| OpenShot | Desktop NLE | GitHub metadata fetched 2026-05-17: 5,769 stars, pushed 2026-05-16 | General-purpose NLE, transitions, titles, animation | Benchmark for approachable project setup and timeline editing concepts. |
| OpenTimelineIO | Interchange format/library | GitHub metadata fetched 2026-05-17: 1,864 stars, pushed 2026-05-01, Apache-2.0 | Timeline interchange, schema-driven project exchange | Confirms that import/export interoperability should stay a roadmap pillar. |
| Gyroflow | Stabilization tool | GitHub metadata fetched 2026-05-17: 8,758 stars, pushed 2026-05-16, GPL-3.0 | Gyro/lens-aware stabilization | Prefer sidecar/project import and algorithm reference before attempting a full in-app gyro stack. |
| gl-transitions | Transition registry | GitHub metadata fetched 2026-05-17: 2,085 stars, pushed 2026-05-03 | GLSL transition ecosystem | Useful template/effect-market compatibility reference. |

## Commercial Products

| Product | Type | Public Positioning/Feature Signal | NovaCut Lesson |
|---|---|---|---|
| CapCut | Mobile/desktop creator editor | Templates, AI-assisted editing, social-first workflows, asset ecosystem | Do not compete only on feature volume. Compete with local-first privacy, transparent models, and deterministic export. |
| DaVinci Resolve | Professional editor | Professional editing, color, Fusion, Fairlight, AI-assisted workflow features in recent releases | Use as the high-end benchmark for multicam, captions, keyframes, assistant editing, and export trust. |
| PowerDirector | Prosumer editor | AI effects, templates, mobile/prosumer export workflows | Supports prioritizing one-tap presets and polished assistant flows. |
| LumaFusion Android | Pro mobile editor | Mobile-first pro timeline, multi-track editing, export control | Strong benchmark for mobile ergonomics and pro-feature density without desktop complexity. |
| KineMaster | Mobile creator editor | Templates/assets, layer editing, creator workflow | Useful reference for template browsing, quick edits, and media picker affordances. |
| VN Video Editor | Mobile creator editor | Lightweight mobile editing, creator-friendly workflows | Reference for low-friction editing and simple export flow. |
| Adobe Premiere Rush | Retired mobile/creator editor | Official end-of-life source found | Market signal: cross-platform mobile editors are hard to sustain; NovaCut should avoid fragile cloud service dependency. |

## Feature Pattern Matrix

| Pattern | Commercial Presence | OSS Presence | NovaCut State | Roadmap Implication |
|---|---|---|---|---|
| Templates and assets | Strong in CapCut, KineMaster, PowerDirector | Emerging in OpenCut, registries like gl-transitions | Template/plugin metadata exists; marketplace/UI incomplete | Keep C.15, but tie it to local/offline and compatibility metadata first. |
| AI auto-edit | Strong marketing trend in CapCut/DaVinci/PowerDirector | Thin in OSS mobile | Cut Assistant and transcript-driven scaffolds exist | Extend reversible proposals and review UI before freeform prompt editing. |
| Captions/subtitles | Common across commercial apps | Common in desktop NLEs | Strong caption roadmap and shipped karaoke/locale scaffolds | Add translation/evaluation and AD audio export after model registry closure. |
| Smart render / stream copy | Expected in LosslessCut and pro export tools | Strong in LosslessCut | Whole-timeline stream copy and planner scaffolds exist | Finish concat/per-run composer after FFmpeg decision. |
| Diagnostic/support bundles | Common in mature media tooling | Varies | Engine exists; UI missing | R7.1 is a high-trust, low-risk priority. |
| Interchange | Pro tools and OTIO ecosystem | Strong through OTIO/Kdenlive/Shotcut | Export exists; import harder | Preserve C.14 import as a meaningful pro differentiator. |
| Stabilization | Common commercial feature | Gyroflow is strong OSS reference | Optical/gyro roadmap exists | Start with Gyroflow sidecar import before custom gyro implementation. |
| Local privacy | Weak in cloud-first commercial tools | Strong in OSS but uneven UX | Core NovaCut philosophy | Make this visible in model-management and diagnostics UX. |

## Positioning Conclusion

NovaCut should avoid becoming a generic clone of commercial creator editors. The winning path is a narrower but deeper Android-native editor:

1. Offline-first professional editing.
2. Transparent local model delivery.
3. Reversible assistant suggestions.
4. Reliable export and diagnostics.
5. Practical interchange with desktop/pro workflows.
6. User-visible privacy guarantees.

This maps directly to the Round 7 Now priorities: diagnostic export UI, model checksum closure, dependency stabilization, FFmpeg 16 KB/license decision, and Media3 Lottie parity testing.
93 changes: 93 additions & 0 deletions .ai/research/2026-05-17/DATASET_MODEL_INTEGRATION_REVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Dataset, Model, and Integration Review - 2026-05-17

## Scope

NovaCut has a meaningful data/model/integration surface: ASR, captions, translation, denoise, matting, segmentation, frame interpolation, upscaling, templates, stock assets, export/interchange, and optional cloud providers. This file focuses on what should be activated, deferred, measured, or governed.

## Current Local Model Governance

Evidence:

- `docs/models.md` is the canonical model registry.
- `ModelDownloadManager` exists in source.
- The roadmap repeatedly ties large models to explicit downloads, Play Asset Delivery, and F-Droid-compatible variants.

Strengths:

- The project already treats models as governed artifacts, not hidden assets.
- Licensing, source URL, delivery channel, and privacy posture are explicit concerns.
- The local-first stance is coherent with the product positioning.

Current gap:

- Some model rows still contain unresolved checksum/source/activation details. No new model activation should proceed until checksums and delivery policy are closed.

## Candidate Model Families

| Area | Candidates | Local State | Recommendation |
|---|---|---|---|
| ASR / transcription | Moonshine, Whisper, Sherpa-ONNX, whisper.cpp references | ASR/caption roadmap and model policy exist | Add WER/speed/device-tier evaluation before expanding model options. |
| Caption translation | MADLAD-400, Bergamot-style mobile translation | Caption translation data model exists | Treat as P1 after model registry closure and phrase-level evaluation fixtures. |
| Noise reduction | DeepFilterNet 3, AndroidDeepFilterNet reference | Noise reduction engine/stub path exists | Good P1 activation once native/model integrity is verified. |
| Stem separation | Demucs | Roadmap recognizes high complexity | Defer until audio pre/post pipeline and package size budget are clear. |
| Matting | Robust Video Matting | Model roadmap exists | Defer until PAD and evaluation harness. |
| Segmentation | SAM 2.1 Hiera Tiny, MediaPipe Image Segmenter | Tap-to-segment roadmap exists | Keep SAM 2.1 as watch/activation target; use MediaPipe where practical for mobile baseline. |
| Frame interpolation | RIFE / NCNN / Vulkan | Roadmap item exists | Later. Native/Vulkan/device-tier risk is high. |
| Upscaling | Real-ESRGAN | Roadmap item exists | Later. Large model and performance risk. |
| Text/prompt assistant | Gemini Nano / ML Kit GenAI Prompt API | Watch item | Keep optional and local-first; no core dependency on device availability. |

## Integration Candidates

| Integration | Value | Risks | Recommendation |
|---|---|---|---|
| Play Asset Delivery | Keeps base app size manageable for large models | Play-only; F-Droid divergence | Necessary before more large model bundles. |
| F-Droid model flavor | Preserves open/offline distribution posture | Requires alternative download/build policy | Keep explicit in `docs/models.md`. |
| Stock asset providers | Expands media picker | Network, provider licensing, privacy | Defer until provider consent and license display are designed. |
| Cloud AI providers | Enables heavy generative video/lip-sync | Media upload privacy, provider cost, account state | Explicit opt-in only; never default. |
| OpenTimelineIO/FCPXML | Pro interoperability | Parser fidelity and project mapping complexity | Good P1/P2 after export pipeline stabilizes. |
| Gyroflow sidecar/project import | Strong stabilization capability without full reimplementation | File format and sensor sync complexity | Prefer import/reference path before custom gyro engine. |
| FFmpeg 16 KB package | Unlocks export features | License, native compliance, fork trust | P0/P1 decision gate. |

## Evaluation Harness Opportunities

| Area | Metric/Fixture | Why |
|---|---|---|
| ASR | WER/CER on short clips, noisy clips, multilingual clips | Prevents anecdotal model choice. |
| Caption timing | Word-boundary alignment error, subtitle overlap checks | Protects karaoke/translation/edit UX. |
| Denoise | PESQ/STOI or proxy metrics plus listening fixtures | DeepFilterNet activation needs objective and subjective checks. |
| Segmentation/matting | IoU, boundary F-score, matte temporal stability | Prevents impressive still-frame demos that fail video use. |
| Frame interpolation | Temporal artifact review, dropped-frame count, speed by device tier | RIFE-like features are device-sensitive. |
| Upscaling | PSNR/SSIM where useful plus visual regression frames | Avoids sharpening artifacts and hallucinated detail. |
| Export/render | Golden frame diffs, audio duration drift, container metadata | Needed for FFmpeg, Lottie, blend mode, HDR changes. |
| Model downloads | Checksum failure, interrupted download, resume, offline state | Makes model management trustworthy. |

## Packaging and Distribution Notes

Model activation should follow this sequence:

1. Add exact model source URL, license, size, SHA-256, and version.
2. Decide delivery channel: bundled, Play Asset Delivery, explicit download, F-Droid excluded, or cloud-only.
3. Add checksum validation tests.
4. Add UI state for missing, downloading, failed, verified, and disabled models.
5. Add at least one evaluation fixture before exposing the feature as active.

Avoid:

- Bundling unpinned model binaries.
- Quiet network downloads.
- Cloud fallbacks that upload media without explicit confirmation.
- Treating benchmark results from flagship devices as representative of all supported Android hardware.

## Recommended Next Model/Integration Work

1. Close `docs/models.md` checksum/source/license gaps.
2. Add model registry contract tests.
3. Add model download failure/retry UI states.
4. Choose PAD/F-Droid channel rules for each model family.
5. Activate DeepFilterNet 3 only after the above is complete.
6. Add ASR evaluation fixtures before expanding from existing transcription paths.
7. Keep SAM/RIFE/Real-ESRGAN/RVM as later device-tier work.

## Why This File Is Not Thin

NovaCut has significant AI/ML/search/integration relevance. The project already contains model-management architecture, ML dependency choices, caption/transcription features, media import/export integrations, and planned cloud/on-device feature paths. The main need is governance, evaluation, and user-visible trust work before additional model activation.
Loading