更新换行算法和APP-PUSH
This commit is contained in:
@@ -90,6 +90,86 @@
|
||||
- 清理未接入编译的 WidgetKit 骨架残留:移除磁盘上的 `client/ios/MindfulnessWidget/` 文件,并从 `client/ios/client.xcodeproj/project.pbxproj` 删除对应工程引用(避免 Xcode 显示幽灵文件)
|
||||
- 修复 Xcode Archive 偶发显示 “Generic Xcode Archive”:在共享 scheme `Hey Mama` 的 Archive Post-actions 自动补齐 `.xcarchive/Info.plist` 的 `ApplicationProperties`,并在缺失时补齐 `Name`/`SchemeName` + 自检提示(根治 Organizer 无法识别主 App、无法分发/上传 TestFlight 的问题)
|
||||
|
||||
## Text Wrap
|
||||
|
||||
- **目标**:将 Home 与 Widget 的文案换行算法从 UI 中独立成可复用模块,输出稳定、可控、可解释的换行结果(同输入同输出)
|
||||
- **核心范围**:`wrapText()` 纯函数入口、TC/EN token 口径与索引体系、候选断点生成、DP/Beam 搜索、硬约束/评分/tie-break、溢出与兜底、debug meta 与 Golden Cases
|
||||
- **阶段产物**:
|
||||
- `spec_kit/Text Wrap/spec.md`
|
||||
- **已完成编码(阶段性)**:core-contract(核心口径与契约)
|
||||
- **已完成编码(阶段性)**:grapheme-segmentation(TC 字符簇分割)
|
||||
- **已完成编码(阶段性)**:width-measurement(宽度测量与降级)
|
||||
- **修复**:`measureSliceWidthCached` 的切片缓存 key 增加 `sliceText` hash,避免不同文本的相同 `(start,end)` 发生串缓存
|
||||
- **已完成编码(阶段性)**:breakpoint-candidates(候选断点生成与裁剪)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/breakpoints/types.ts`
|
||||
- `client/src/features/textWrap/breakpoints/enCandidates.ts`
|
||||
- `client/src/features/textWrap/breakpoints/tcCandidates.ts`
|
||||
- `client/src/features/textWrap/breakpoints/filterAndDedup.ts`
|
||||
- `client/src/features/textWrap/breakpoints/generateBreakpoints.ts`
|
||||
- `client/src/features/textWrap/breakpoints/index.ts`
|
||||
- `client/src/features/textWrap/breakpoints/__tests__/generateBreakpoints.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/breakpoint-candidates/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/breakpoint-candidates/tasks.md`
|
||||
- **已完成编码(阶段性)**:scoring-tiebreak(评分模型与确定性裁决)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/scoring/types.ts`
|
||||
- `client/src/features/textWrap/scoring/weights.ts`
|
||||
- `client/src/features/textWrap/scoring/lexicons.ts`
|
||||
- `client/src/features/textWrap/scoring/phraseMatch.ts`
|
||||
- `client/src/features/textWrap/scoring/score.ts`
|
||||
- `client/src/features/textWrap/scoring/tieKey.ts`
|
||||
- `client/src/features/textWrap/scoring/index.ts`
|
||||
- `client/src/features/textWrap/scoring/__tests__/scoringTiebreak.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/scoring-tiebreak/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/scoring-tiebreak/tasks.md`
|
||||
- **已完成编码(阶段性)**:search-engine-app(APP 搜索器:DP + TopK)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/searchApp/types.ts`
|
||||
- `client/src/features/textWrap/searchApp/topK.ts`
|
||||
- `client/src/features/textWrap/searchApp/constraints.ts`
|
||||
- `client/src/features/textWrap/searchApp/dpTopK.ts`
|
||||
- `client/src/features/textWrap/searchApp/index.ts`
|
||||
- `client/src/features/textWrap/searchApp/__tests__/searchApp.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/search-engine-app/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/search-engine-app/tasks.md`
|
||||
- `client/src/features/textWrap/measure/measureSliceWidthCached.ts`
|
||||
- **已完成编码(阶段性)**:search-engine-widget(WIDGET 搜索器:Beam Search)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/searchWidget/types.ts`
|
||||
- `client/src/features/textWrap/searchWidget/topK.ts`
|
||||
- `client/src/features/textWrap/searchWidget/constraints.ts`
|
||||
- `client/src/features/textWrap/searchWidget/beam.ts`
|
||||
- `client/src/features/textWrap/searchWidget/index.ts`
|
||||
- `client/src/features/textWrap/searchWidget/__tests__/searchWidget.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/search-engine-widget/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/search-engine-widget/tasks.md`
|
||||
- **已完成编码(阶段性)**:overflow-fallback(溢出与兜底)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/overflow/types.ts`
|
||||
- `client/src/features/textWrap/overflow/ellipsis.ts`
|
||||
- `client/src/features/textWrap/overflow/fallback.ts`
|
||||
- `client/src/features/textWrap/overflow/index.ts`
|
||||
- `client/src/features/textWrap/overflow/__tests__/overflowFallback.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/overflow-fallback/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/overflow-fallback/tasks.md`
|
||||
- **已完成(阶段性)**:golden-tests(Golden Cases 与性质测试)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/golden/fixtures.ts`
|
||||
- `client/src/features/textWrap/golden/__tests__/golden.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/golden-tests/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/golden-tests/tasks.md`
|
||||
- **已完成编码(阶段性)**:integration(Home / Widget 接入)
|
||||
- **变更文件**:
|
||||
- `client/src/features/textWrap/types.ts`
|
||||
- `client/src/features/textWrap/wrapText.ts`
|
||||
- `client/src/features/textWrap/index.ts`
|
||||
- `client/src/features/textWrap/__tests__/wrapText.integration.test.ts`
|
||||
- `spec_kit/Text Wrap/modules/integration/plan.md`
|
||||
- `spec_kit/Text Wrap/modules/integration/tasks.md`
|
||||
- **接入情况**:
|
||||
- Home(APP):已在 `client/app/(app)/home.tsx` 接入 `wrapText()` 渲染 `wrappedText`(含 `\n`)
|
||||
|
||||
## Splash Consent
|
||||
|
||||
- **目标**:实现开屏页(使用 `client/assets/images/index/` 图片资源),首次加载展示渐变同意按钮并提供隐私/协议入口
|
||||
|
||||
Reference in New Issue
Block a user