mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
update tasks
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
---
|
||||
id: TASK-10
|
||||
title: Consolidate service naming conventions and barrel exports
|
||||
status: To Do
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-11 08:21'
|
||||
updated_date: '2026-02-14 00:50'
|
||||
updated_date: '2026-02-15 07:00'
|
||||
labels:
|
||||
- refactor
|
||||
- services
|
||||
@@ -45,3 +45,9 @@ Establish consistent naming:
|
||||
<!-- 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.
|
||||
<!-- 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: >-
|
||||
Reduce MpvIpcClient deps interface and separate protocol from application
|
||||
logic
|
||||
status: To Do
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-11 08:20'
|
||||
updated_date: '2026-02-15 07:00'
|
||||
labels:
|
||||
- refactor
|
||||
- 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
|
||||
- [ ] #4 Existing behavior preserved
|
||||
<!-- 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
|
||||
title: Remove trivial wrapper functions from main.ts
|
||||
status: To Do
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-11 08:21'
|
||||
updated_date: '2026-02-14 00:48'
|
||||
updated_date: '2026-02-15 07:00'
|
||||
labels:
|
||||
- refactor
|
||||
- main
|
||||
@@ -52,3 +52,9 @@ After TASK-7 (AppState container), many of these can be eliminated by having ser
|
||||
<!-- 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.
|
||||
<!-- 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
|
||||
assignee: []
|
||||
created_date: '2026-02-11 08:21'
|
||||
updated_date: '2026-02-15 07:00'
|
||||
labels:
|
||||
- refactor
|
||||
- renderer
|
||||
- complexity
|
||||
milestone: Codebase Clarity & Composability
|
||||
dependencies: []
|
||||
dependencies:
|
||||
- TASK-27.5
|
||||
references:
|
||||
- src/renderer/renderer.ts
|
||||
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
|
||||
- [ ] #4 Invisible overlay positioning still works correctly on Linux and macOS
|
||||
<!-- 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: >-
|
||||
Refactor project structure to reduce architectural complexity and split
|
||||
oversized modules
|
||||
status: To Do
|
||||
status: In Progress
|
||||
assignee: []
|
||||
created_date: '2026-02-13 17:13'
|
||||
updated_date: '2026-02-13 21:07'
|
||||
updated_date: '2026-02-15 07:00'
|
||||
labels:
|
||||
- 'owner:architect'
|
||||
- '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
|
||||
- frontend
|
||||
- quality
|
||||
dependencies:
|
||||
- TASK-28
|
||||
dependencies: []
|
||||
priority: high
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user