mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-01 06:22:44 -08:00
update tasks
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
id: TASK-10
|
id: TASK-10
|
||||||
title: Consolidate service naming conventions and barrel exports
|
title: Consolidate service naming conventions and barrel exports
|
||||||
status: To Do
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 08:21'
|
created_date: '2026-02-11 08:21'
|
||||||
updated_date: '2026-02-14 00:50'
|
updated_date: '2026-02-15 07:00'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- services
|
- services
|
||||||
@@ -45,3 +45,9 @@ Establish consistent naming:
|
|||||||
<!-- SECTION:NOTES:BEGIN -->
|
<!-- SECTION:NOTES:BEGIN -->
|
||||||
Naming convention consolidation should be addressed as part of TASK-27.2 (split main.ts) and TASK-27.3 (anki-integration split). As modules are extracted and given clear boundaries, naming will be standardized at each boundary. No need to do a standalone naming pass — it's wasted effort if the module structure is about to change.
|
Naming convention consolidation should be addressed as part of TASK-27.2 (split main.ts) and TASK-27.3 (anki-integration split). As modules are extracted and given clear boundaries, naming will be standardized at each boundary. No need to do a standalone naming pass — it's wasted effort if the module structure is about to change.
|
||||||
<!-- SECTION:NOTES:END -->
|
<!-- SECTION:NOTES:END -->
|
||||||
|
|
||||||
|
## Final Summary
|
||||||
|
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||||
|
Subsumed by TASK-27.2 and TASK-27.3. Naming conventions were standardized at module boundaries during extraction. A standalone global naming pass would be churn with no structural benefit now that modules have clear ownership boundaries.
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||||
@@ -3,9 +3,10 @@ id: TASK-8
|
|||||||
title: >-
|
title: >-
|
||||||
Reduce MpvIpcClient deps interface and separate protocol from application
|
Reduce MpvIpcClient deps interface and separate protocol from application
|
||||||
logic
|
logic
|
||||||
status: To Do
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 08:20'
|
created_date: '2026-02-11 08:20'
|
||||||
|
updated_date: '2026-02-15 07:00'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- mpv
|
- mpv
|
||||||
@@ -36,3 +37,9 @@ Separating these would let the protocol layer be simpler and testable, while app
|
|||||||
- [ ] #3 MpvIpcClient is testable without mocking 22 callbacks
|
- [ ] #3 MpvIpcClient is testable without mocking 22 callbacks
|
||||||
- [ ] #4 Existing behavior preserved
|
- [ ] #4 Existing behavior preserved
|
||||||
<!-- AC:END -->
|
<!-- AC:END -->
|
||||||
|
|
||||||
|
## Final Summary
|
||||||
|
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||||
|
Superseded by TASK-27.4 which absorbed this task's full scope (protocol/application separation, deps interface reduction from 22 properties to protocol-level concerns, event-based app reactions). All acceptance criteria met by TASK-27.4.
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
id: TASK-9
|
id: TASK-9
|
||||||
title: Remove trivial wrapper functions from main.ts
|
title: Remove trivial wrapper functions from main.ts
|
||||||
status: To Do
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 08:21'
|
created_date: '2026-02-11 08:21'
|
||||||
updated_date: '2026-02-14 00:48'
|
updated_date: '2026-02-15 07:00'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- main
|
- main
|
||||||
@@ -52,3 +52,9 @@ After TASK-7 (AppState container), many of these can be eliminated by having ser
|
|||||||
<!-- SECTION:NOTES:BEGIN -->
|
<!-- SECTION:NOTES:BEGIN -->
|
||||||
Priority changed from medium to low: this work is largely subsumed by TASK-27.2 (split main.ts). When main.ts is decomposed into composition-root modules, trivial wrappers will naturally be eliminated or inlined. Recommend folding remaining wrapper cleanup into TASK-27.2 rather than tracking separately. Keep this ticket as a checklist reference but don't execute independently.
|
Priority changed from medium to low: this work is largely subsumed by TASK-27.2 (split main.ts). When main.ts is decomposed into composition-root modules, trivial wrappers will naturally be eliminated or inlined. Recommend folding remaining wrapper cleanup into TASK-27.2 rather than tracking separately. Keep this ticket as a checklist reference but don't execute independently.
|
||||||
<!-- SECTION:NOTES:END -->
|
<!-- SECTION:NOTES:END -->
|
||||||
|
|
||||||
|
## Final Summary
|
||||||
|
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||||
|
Subsumed by TASK-27.2 (main.ts split). Trivial wrappers were eliminated or inlined as composition-root modules were extracted. main.ts reduced from ~2000+ LOC to 1384 with state routed through appState container. Standalone wrapper removal pass no longer needed.
|
||||||
|
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||||
@@ -4,12 +4,14 @@ title: Break up the applyInvisibleSubtitleLayoutFromMpvMetrics mega function
|
|||||||
status: To Do
|
status: To Do
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 08:21'
|
created_date: '2026-02-11 08:21'
|
||||||
|
updated_date: '2026-02-15 07:00'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- renderer
|
- renderer
|
||||||
- complexity
|
- complexity
|
||||||
milestone: Codebase Clarity & Composability
|
milestone: Codebase Clarity & Composability
|
||||||
dependencies: []
|
dependencies:
|
||||||
|
- TASK-27.5
|
||||||
references:
|
references:
|
||||||
- src/renderer/renderer.ts
|
- src/renderer/renderer.ts
|
||||||
priority: medium
|
priority: medium
|
||||||
@@ -36,3 +38,9 @@ This can be done independently of or as part of TASK-6 (renderer split).
|
|||||||
- [ ] #3 Platform-specific branches isolated into dedicated helpers
|
- [ ] #3 Platform-specific branches isolated into dedicated helpers
|
||||||
- [ ] #4 Invisible overlay positioning still works correctly on Linux and macOS
|
- [ ] #4 Invisible overlay positioning still works correctly on Linux and macOS
|
||||||
<!-- AC:END -->
|
<!-- AC:END -->
|
||||||
|
|
||||||
|
## Implementation Notes
|
||||||
|
|
||||||
|
<!-- SECTION:NOTES:BEGIN -->
|
||||||
|
Reparented as a dependency of TASK-27.5: the mega-function lives in positioning.ts (513 LOC), which is the exact file TASK-27.5 targets for splitting. Decomposing this function is a natural part of that file split. Should be executed together with TASK-27.5.
|
||||||
|
<!-- SECTION:NOTES:END -->
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ id: TASK-27
|
|||||||
title: >-
|
title: >-
|
||||||
Refactor project structure to reduce architectural complexity and split
|
Refactor project structure to reduce architectural complexity and split
|
||||||
oversized modules
|
oversized modules
|
||||||
status: To Do
|
status: In Progress
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-13 21:07'
|
updated_date: '2026-02-15 07:00'
|
||||||
labels:
|
labels:
|
||||||
- 'owner:architect'
|
- 'owner:architect'
|
||||||
- 'owner:backend'
|
- 'owner:backend'
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
id: TASK-27.7
|
||||||
|
title: >-
|
||||||
|
Decompose anki-integration.ts core into domain modules (field-grouping,
|
||||||
|
card-creation, polling)
|
||||||
|
status: To Do
|
||||||
|
assignee: []
|
||||||
|
created_date: '2026-02-15 07:00'
|
||||||
|
labels:
|
||||||
|
- refactor
|
||||||
|
- anki
|
||||||
|
- architecture
|
||||||
|
dependencies:
|
||||||
|
- TASK-27.3
|
||||||
|
references:
|
||||||
|
- src/anki-integration.ts
|
||||||
|
- src/anki-integration-duplicate.ts
|
||||||
|
- src/anki-integration-ui-feedback.ts
|
||||||
|
- src/anki-integration/ai.ts
|
||||||
|
parent_task_id: TASK-27
|
||||||
|
priority: high
|
||||||
|
---
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||||
|
TASK-27.3 extracted leaf clusters (duplicate-detection 102 LOC, ai-translation 158 LOC, ui-feedback 107 LOC) but the core class remains at 2935 LOC. The heavy decomposition from the original TASK-27.3 plan was never executed.
|
||||||
|
|
||||||
|
Remaining extractions from the original plan:
|
||||||
|
1. **field-grouping** (~900 LOC) — `triggerFieldGroupingForLastAddedCard`, `applyFieldGrouping`, `computeFieldGroupingMergedFields`, `buildFieldGroupingPreview`, `performFieldGroupingMerge`, `handleFieldGroupingAuto`, `handleFieldGroupingManual`, plus ~15 span/parse/normalize helpers
|
||||||
|
2. **card-creation** (~350 LOC) — `createSentenceCard`, `setCardTypeFields`, `extractFields`, `processSentence`, field resolution helpers
|
||||||
|
3. **polling/lifecycle** (~250 LOC) — `start`, `stop`, `poll`, `pollOnce`, `processNewCard`
|
||||||
|
|
||||||
|
Also consolidate the scattered extraction files into `src/anki-integration/`:
|
||||||
|
- `src/anki-integration-duplicate.ts` → `src/anki-integration/duplicate.ts`
|
||||||
|
- `src/anki-integration-ui-feedback.ts` → `src/anki-integration/ui-feedback.ts`
|
||||||
|
- `src/anki-integration/ai.ts` (already there)
|
||||||
|
<!-- SECTION:DESCRIPTION:END -->
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
<!-- AC:BEGIN -->
|
||||||
|
- [ ] #1 anki-integration.ts reduced below 800 LOC (facade + private state wiring only)
|
||||||
|
- [ ] #2 Field-grouping cluster (~900 LOC) extracted as its own module under src/anki-integration/
|
||||||
|
- [ ] #3 Card-creation and polling/lifecycle extracted as separate modules
|
||||||
|
- [ ] #4 All extracted modules consolidated under src/anki-integration/ directory
|
||||||
|
- [ ] #5 Existing facade API preserved — external callers unchanged
|
||||||
|
- [ ] #6 All existing tests pass; build compiles cleanly
|
||||||
|
<!-- AC:END -->
|
||||||
@@ -10,8 +10,7 @@ labels:
|
|||||||
- mpv
|
- mpv
|
||||||
- frontend
|
- frontend
|
||||||
- quality
|
- quality
|
||||||
dependencies:
|
dependencies: []
|
||||||
- TASK-28
|
|
||||||
priority: high
|
priority: high
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user