feat(h5): apply October 12 customer report feedback

This commit is contained in:
xsl
2026-10-12 13:15:09 +08:00
parent 3193a4b683
commit d7ae748e08
22 changed files with 2282 additions and 1027 deletions
+120 -95
View File
@@ -1,16 +1,16 @@
# Graph Report - juzi (2026-10-12)
## Corpus Check
- 70 files · ~4,212,892 words
- 74 files · ~4,387,581 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 1222 nodes · 2613 edges · 93 communities (72 shown, 21 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 180 edges (avg confidence: 0.53)
- 1255 nodes · 2651 edges · 99 communities (78 shown, 21 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 181 edges (avg confidence: 0.53)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `85790ef9`
- Built from commit: `3193a4b6`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -20,17 +20,17 @@
- app.js
- skin-score.js
- k
- r
- extractFaceTensors
- ComputeSingleFaceDescriptorTask
- f
- .runAndExtendWithFaceDetection
- .run
- admin.js
- __awaiter
- .forwardInput
- SsdMobilenetv1
- lib/accounts.js
- server.js
- files
- AgeGenderNet
- .runAndExtendWithFaceDetections
- extractFaceTensors
- 巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范
- extractFaces
- 1'me 在线肌肤测试 H5
@@ -49,15 +49,15 @@
- browser-failures.mjs
- FaceMatcher
- build-fixture.py
- DetectSingleFaceLandmarksTask
- customer-feedback.js
- ao
- UI 外发版 10.09 图片资源
- FaceLandmark68Net
- UI交互界面调整
- .predictAgeAndGender
- test/accounts.js
- NeuralNetwork
- export_psd_assets.py
- .toBatchTensor
- normalize
- start-local.sh
- PredictAllAgeAndGenderWithFaceAlignmentTask
- PredictAllFaceExpressionsWithFaceAlignmentTask
@@ -72,31 +72,36 @@
- regression.js
- .dispose
- call_skinanalyze.sh
- NeuralNetwork
- .extractWeights
- 提交前 Review(2026-10-11)
- e2e-browser.mjs
- account-client.js
- 微信登录接入与公网部署说明
- wechat-browser.mjs
- TinyYolov2Base
- ui-20261009.mjs
- analyze-timeout.js
- misans/README.md
- .draw
- production-loop.mjs
- initialize
- build_report_copy.py
- TinyYolov2
- drawFaceExpressions
- .detect
- .runAndExtendWithFaceDetections
- n
- 微信登录联调-2026-10-12.md
- 登录反馈与加载优化(2026-10-12)
- 线上微信登录部署记录
- wechat-production.mjs
- ComputeAllFaceDescriptorsTask
- test/accounts.js
- 10.09 新版 H5 实施与验收
- 微信登录联调:2026-10-12
- FaceLandmarks
- isValidNumber
- 产品推荐规则:肤龄基准与边界调整
- login-performance.mjs
- Box
- gn
- 傅艳NEW与项思炼的会话 2026年10月12日.md
- FaceDetection
- 客户反馈修改(2026-10-12)
- TinyFaceFeatureExtractor
- DetectSingleFaceLandmarksTask
- PredictAllFaceExpressionsTask
- PredictSingleAgeAndGenderWithFaceAlignmentTask
- PredictSingleFaceExpressionsWithFaceAlignmentTask
@@ -123,17 +128,17 @@
h5/js/app.js → h5/vendor/faceapi/face-api.js
- `vizCompose()` --indirect_call--> `rh()` [INFERRED]
h5/js/app.js → h5/vendor/faceapi/face-api.js
- `vizCompose()` --indirect_call--> `w()` [INFERRED]
- `vizCompose()` --indirect_call--> `scale()` [INFERRED]
h5/js/app.js → h5/vendor/faceapi/face-api.js
## Import Cycles
- None detected.
## Communities (93 total, 21 thin omitted)
## Communities (99 total, 21 thin omitted)
### Community 0 - "face-api.js"
Cohesion: 0.02
Nodes (29): cn(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), dr(), en(), FaceDetection(), ff() (+21 more)
Cohesion: 0.03
Nodes (20): cn(), dr(), en(), ff(), ge(), ia(), na(), nt() (+12 more)
### Community 1 - "线上闭环测试(不含真实微信授权)"
Cohesion: 0.25
@@ -141,39 +146,43 @@ Nodes (7): 发现并修复, 可复现命令, 已通过的检查, 线上闭环测
### Community 2 - "app.js"
Cohesion: 0.05
Nodes (79): applyMirror(), armNudge(), beginDetect(), bindBackdropClose(), busyWithFlow(), captureFromVideo(), checkStill(), closeLoginSuccess() (+71 more)
Nodes (80): applyMirror(), armNudge(), beginDetect(), bindBackdropClose(), busyWithFlow(), captureFromVideo(), checkStill(), closeLoginSuccess() (+72 more)
### Community 3 - "skin-score.js"
Cohesion: 0.12
Nodes (45): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+37 more)
### Community 4 - "k"
Cohesion: 0.15
Nodes (15): b(), ba(), ca(), da(), fa(), k(), ne(), pa() (+7 more)
Cohesion: 0.13
Nodes (19): b(), ba(), ca(), cl(), da(), fa(), k(), ll() (+11 more)
### Community 5 - "r"
Cohesion: 0.14
Nodes (34): a(), ae(), bf(), cf(), d(), drawContour(), dt(), ea() (+26 more)
### Community 5 - "f"
Cohesion: 0.21
Nodes (23): a(), cf(), d(), drawContour(), dt(), ea(), f(), g() (+15 more)
### Community 6 - "extractFaceTensors"
Cohesion: 0.25
Nodes (4): DetectAllFaceLandmarksTask(), extractFaceTensors(), isTensor3D(), isTensor4D()
### Community 6 - ".runAndExtendWithFaceDetection"
Cohesion: 0.33
Nodes (5): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectSingleFaceTask()
### Community 7 - ".run"
Cohesion: 0.22
Nodes (3): ComputeAllFaceDescriptorsTask(), ComputeSingleFaceDescriptorTask(), extendWithFaceDescriptor()
### Community 8 - "admin.js"
Cohesion: 0.21
Nodes (28): ageText(), api(), bind(), closeDetail(), collectFilters(), dimsHtml(), doRetry(), dSec() (+20 more)
### Community 9 - "__awaiter"
Cohesion: 0.14
Nodes (14): __awaiter(), extendWithFaceDescriptor(), extendWithFaceExpressions(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), FaceRecognitionNet(), fetchImage(), fetchJson() (+6 more)
Cohesion: 0.15
Nodes (13): __awaiter(), extendWithFaceExpressions(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow() (+5 more)
### Community 10 - ".forwardInput"
Cohesion: 0.22
Nodes (9): boxPredictionLayer(), decodeBoxesLayer(), depthwiseConvLayer(), getCenterCoordinatesAndSizesLayer(), getStridesForLayerIdx(), mobileNetV1(), outputLayer(), pointwiseConvLayer() (+1 more)
### Community 10 - "SsdMobilenetv1"
Cohesion: 0.17
Nodes (10): boxPredictionLayer(), decodeBoxesLayer(), depthwiseConvLayer(), getCenterCoordinatesAndSizesLayer(), getStridesForLayerIdx(), mobileNetV1(), outputLayer(), pointwiseConvLayer() (+2 more)
### Community 11 - "lib/accounts.js"
Cohesion: 0.17
Nodes (20): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (+12 more)
Cohesion: 0.08
Nodes (31): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (+23 more)
### Community 12 - "server.js"
Cohesion: 0.08
@@ -184,20 +193,20 @@ Cohesion: 0.12
Nodes (15): files, analyze-fail, analyzing, countdown-321, hint-far, hint-front, hint-hold, hint-near (+7 more)
### Community 14 - "AgeGenderNet"
Cohesion: 0.10
Nodes (6): AgeGenderNet(), extractParams$1(), FaceExpressionNet(), FaceLandmark68NetBase(), FaceLandmark68TinyNet(), FaceProcessor()
Cohesion: 0.12
Nodes (5): AgeGenderNet(), extractParams$1(), FaceExpressionNet(), FaceLandmark68TinyNet(), FaceProcessor()
### Community 15 - ".runAndExtendWithFaceDetections"
Cohesion: 0.18
Nodes (8): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectAllFacesTask(), DetectSingleFaceTask(), extendWithFaceDetection(), resizeResults()
### Community 15 - "extractFaceTensors"
Cohesion: 0.25
Nodes (3): DetectAllFaceLandmarksTask(), extractFaceTensors(), isTensor3D()
### Community 16 - "巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范"
Cohesion: 0.15
Nodes (12): 1. 基准与尺寸换算, 2. 色彩规范, 3. 字体规范, 4. 组件切图(assets/svg/), 5. 图片素材(assets/images/,共 15 张), 6. 页面清单(design/ 下有整屏 PNG 预览), 7. 目录结构, 8. 还原建议 (+4 more)
### Community 17 - "extractFaces"
Cohesion: 0.25
Nodes (16): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractImagePatches(), getContext2dOrThrow(), getEnv() (+8 more)
Cohesion: 0.14
Nodes (19): awaitMediaLoaded(), Box(), bufferToImage(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractImagePatches(), getContext2dOrThrow() (+11 more)
### Community 18 - "1'me 在线肌肤测试 H5"
Cohesion: 0.13
@@ -213,11 +222,11 @@ Nodes (9): build_case1(), build_case2(), build_truth(), col(), dump(), main(), p
### Community 21 - "disposeUnusedWeightTensors"
Cohesion: 0.09
Nodes (24): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+16 more)
Nodes (23): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+15 more)
### Community 22 - ".loadFromDisk"
Cohesion: 0.22
Nodes (4): ComposableTask(), getModelUris(), Gf(), TinyFaceDetector()
Cohesion: 0.20
Nodes (5): ComposableTask(), getModelUris(), Gf(), Kf(), TinyFaceDetector()
### Community 23 - "facepp-skinanalyze(旷视皮肤分析专业版调用技能)"
Cohesion: 0.20
@@ -240,8 +249,8 @@ Cohesion: 0.30
Nodes (11): ndarray, Path, gen_countdown(), main(), normalize_clip(), 倒计时单独按字生成再拼接,避免「三、二、一」整句被读成播报腔、与提示音气质漂移。 与提示音共用同一 speaker + instruct;句间留约…, 裁掉过长首尾静音,保留 ≤150ms 边沿,避免提示显迟钝。, 响度归一 −16 LUFS + 转 MP3 48k CBR mono 22050Hz。 (+3 more)
### Community 28 - "C"
Cohesion: 0.12
Nodes (28): Bo(), C(), cd(), cl(), co(), e(), eo(), fo() (+20 more)
Cohesion: 0.14
Nodes (22): bf(), Bo(), C(), cd(), co(), eo(), fo(), Ft() (+14 more)
### Community 29 - "face-api.js 本地化依赖(h5/vendor/faceapi/)"
Cohesion: 0.29
@@ -255,6 +264,10 @@ Nodes (5): assets, document_size, layers, pages, source
Cohesion: 0.60
Nodes (4): main(), 递归缩放 result 内全部坐标:{left,top,width,height} 矩形与 {x,y} 点,与原数据同为整数。, scale_coords(), to_data_url()
### Community 35 - "customer-feedback.js"
Cohesion: 0.11
Nodes (17): alternate, assert, crop, details, excellent, fs, model, modelBefore (+9 more)
### Community 36 - "ao"
Cohesion: 0.40
Nodes (5): ao(), Do(), io(), so(), To()
@@ -271,17 +284,13 @@ Nodes (4): 1meAI测肤旷视UI问题反馈, UI交互界面调整, 交互, **设
Cohesion: 0.28
Nodes (4): extendWithAge(), extendWithGender(), PredictAllAgeAndGenderTask(), PredictSingleAgeAndGenderTask()
### Community 41 - "test/accounts.js"
Cohesion: 0.22
Nodes (9): assert, create, fs, http, os, path, ReportUI, SkinScore (+1 more)
### Community 42 - "export_psd_assets.py"
Cohesion: 0.70
Nodes (4): bounds(), layer_at(), main(), save_image()
### Community 43 - ".toBatchTensor"
Cohesion: 0.09
Nodes (28): conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm(), denseBlock3() (+20 more)
### Community 43 - "normalize"
Cohesion: 0.13
Nodes (15): conv(), conv$1(), convDown(), convLayer$1(), convNoRelu(), denseBlock3(), denseBlock4(), depthwiseSeparableConv() (+7 more)
### Community 44 - "start-local.sh"
Cohesion: 0.50
@@ -304,24 +313,24 @@ Cohesion: 0.11
Nodes (17): 1. 结论和依据, 2. 统一比较口径, 3. 逐页差异和调整内容, 4. 报告数据如何接到新 UI, 5. 登录与“我的报告”的真实能力缺口, 6. 原稿中需要整理的内容, 7. 实施顺序与交付物, 8. 验收定义 (+9 more)
### Community 55 - "i"
Cohesion: 0.10
Nodes (21): bn(), dn(), ee(), et(), fn(), i(), je(), ln() (+13 more)
Cohesion: 0.12
Nodes (19): bn(), dn(), ee(), Ef(), et(), fn(), i(), je() (+11 more)
### Community 56 - "report-ui.js"
Cohesion: 0.90
Nodes (4): build(), count(), fill(), numeric()
Cohesion: 0.50
Nodes (8): build(), count(), fill(), metricText(), numeric(), scalar(), wrinkleDetails(), wrinkleText()
### Community 57 - "regression.js"
Cohesion: 0.60
Nodes (5): diffCtx(), loadJSON(), main(), okNum(), okStr()
### Community 58 - ".dispose"
Cohesion: 0.14
Nodes (17): computeReshapedDimensions(), extractBoundingBoxes(), getSizesForScale(), iou(), isEven(), NetInput(), nonMaxSuppression(), nonMaxSuppression$1() (+9 more)
Cohesion: 0.18
Nodes (12): extractBoundingBoxes(), FaceRecognitionNet(), getSizesForScale(), nonMaxSuppression(), normalize$1(), pyramidDown(), rescaleAndNormalize(), scale() (+4 more)
### Community 61 - "NeuralNetwork"
Cohesion: 0.06
Nodes (28): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory() (+20 more)
### Community 61 - ".extractWeights"
Cohesion: 0.09
Nodes (25): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory() (+17 more)
### Community 62 - "提交前 Review(2026-10-11)"
Cohesion: 0.40
@@ -339,29 +348,33 @@ Nodes (5): browser(), init(), read(), rememberKind(), request()
Cohesion: 0.22
Nodes (7): 公网服务器配置, 公网真机验收清单, 反向代理与后台保护, 已完成的链路, 微信登录接入与公网部署说明, 数据、迁移与备份, 本机开发环境限制(不代表线上状态)
### Community 66 - "wechat-browser.mjs"
Cohesion: 0.22
Nodes (6): createAccounts, h5, ReportUI, require, root, SkinScore
### Community 66 - "TinyYolov2Base"
Cohesion: 0.18
Nodes (13): convLayer(), convWithBatchNorm(), depthwiseSeparableConv$1(), fullyConnectedLayer(), leaky(), ONet(), PNet(), prelu() (+5 more)
### Community 68 - "analyze-timeout.js"
Cohesion: 0.20
Nodes (7): assert, end, fs, path, source, start, vm
### Community 71 - "production-loop.mjs"
Cohesion: 0.50
Nodes (3): artifacts, errors, samples
### Community 71 - "initialize"
Cohesion: 0.29
Nodes (7): createBrowserEnv(), createFileSystem(), createNodejsEnv(), initialize(), isBrowser(), monkeyPatch(), setEnv()
### Community 77 - "drawFaceExpressions"
Cohesion: 0.22
Nodes (8): DrawBox(), drawDetections(), drawFaceExpressions(), DrawFaceLandmarks(), FaceExpressions(), isWithFaceDetection(), isWithFaceExpressions(), isWithFaceLandmarks()
### Community 76 - ".detect"
Cohesion: 0.18
Nodes (6): computeReshapedDimensions(), iou(), isEven(), NetInput(), nonMaxSuppression$1(), TinyYolov2()
### Community 77 - ".runAndExtendWithFaceDetections"
Cohesion: 0.15
Nodes (11): DetectAllFacesTask(), DrawBox(), drawDetections(), drawFaceExpressions(), DrawFaceLandmarks(), extendWithFaceDetection(), FaceExpressions(), isWithFaceDetection() (+3 more)
### Community 78 - "n"
Cohesion: 0.10
Nodes (31): be(), bi(), ce(), de(), Ef(), er(), fe(), Ie() (+23 more)
Cohesion: 0.11
Nodes (36): ae(), be(), bi(), ce(), de(), e(), er(), FaceMatch() (+28 more)
### Community 79 - "微信登录联调-2026-10-12.md"
Cohesion: 0.29
Nodes (4): 体验变化, 慢的原因与处理, 登录反馈与加载优化(2026-10-12), 验证
### Community 79 - "登录反馈与加载优化(2026-10-12)"
Cohesion: 0.25
Nodes (5): 体验变化, 公网部署后复测, 慢的原因与处理, 登录反馈与加载优化(2026-10-12), 验证
### Community 80 - "线上微信登录部署记录"
Cohesion: 0.33
@@ -371,6 +384,10 @@ Nodes (6): 初次部署时的凭据查找记录(现已由用户提供), 初
Cohesion: 0.60
Nodes (4): api(), base, callback(), start()
### Community 82 - "test/accounts.js"
Cohesion: 0.22
Nodes (9): assert, create, fs, http, os, path, ReportUI, SkinScore (+1 more)
### Community 83 - "10.09 新版 H5 实施与验收"
Cohesion: 0.29
Nodes (5): 10.09 新版 H5 实施与验收, 按确认项实现, 文档未定义部分的实施口径, 素材再生成, 验证命令
@@ -380,31 +397,39 @@ Cohesion: 0.33
Nodes (6): 后续真机确认与体验优化, 微信登录联调:2026-10-12, 本轮修正, 白名单与凭据, 真实微信验收与排查, 自动验证
### Community 85 - "FaceLandmarks"
Cohesion: 0.08
Nodes (12): bgrToRgbTensor(), Dimensions(), extendWithFaceLandmarks(), FaceLandmarks(), FaceLandmarks5(), FaceLandmarks68(), getCenterPoint(), isValidNumber() (+4 more)
Cohesion: 0.07
Nodes (15): extendWithFaceLandmarks(), FaceLandmark68NetBase(), FaceLandmarks(), FaceLandmarks5(), FaceLandmarks68(), getCenterPoint(), isDimensions(), minBbox() (+7 more)
### Community 86 - "isValidNumber"
Cohesion: 0.33
Nodes (5): bgrToRgbTensor(), Dimensions(), isValidNumber(), isValidProbablitiy(), isWithGender()
### Community 87 - "产品推荐规则:肤龄基准与边界调整"
Cohesion: 0.33
Nodes (6): 产品推荐规则:肤龄基准与边界调整, 决策顺序, 后台与前端一致性, 实施与验证范围, 已明确的要求, 已确认的三个条件
### Community 94 - "Box"
Cohesion: 0.20
Nodes (3): Box(), isDimensions(), ObjectDetection()
### Community 88 - "gn"
Cohesion: 0.40
Nodes (5): gn(), kn(), tt(), wo(), z()
### Community 92 - "客户反馈修改(2026-10-12)"
Cohesion: 0.40
Nodes (4): 客户反馈修改(2026-10-12), 皱纹数据说明, 逐项处理, 验证
## Knowledge Gaps
- **198 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+193 more)
- **220 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+215 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **21 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `r()` connect `r` to `face-api.js`, `.toBatchTensor`, `server.js`, `n`, `i`, `C`?**
_High betweenness centrality (0.063) - this node is a cross-community bridge._
- **Why does `r()` connect `n` to `face-api.js`, `k`, `f`, `normalize`, `server.js`, `i`, `C`?**
_High betweenness centrality (0.050) - this node is a cross-community bridge._
- **Why does `k()` connect `k` to `face-api.js`, `app.js`, `f`, `lib/accounts.js`, `n`, `gn`?**
_High betweenness centrality (0.050) - this node is a cross-community bridge._
- **Why does `renderReport()` connect `app.js` to `k`, `n`?**
_High betweenness centrality (0.051) - this node is a cross-community bridge._
- **Why does `k()` connect `k` to `face-api.js`, `app.js`, `r`, `lib/accounts.js`, `n`, `C`?**
_High betweenness centrality (0.047) - this node is a cross-community bridge._
_High betweenness centrality (0.038) - this node is a cross-community bridge._
- **Are the 24 inferred relationships involving `n()` (e.g. with `newRecordId()` and `ae()`) actually correct?**
_`n()` has 24 INFERRED edges - model-reasoned connections that need verification._
- **Are the 27 inferred relationships involving `r()` (e.g. with `handleExport()` and `handleRecordsQuery()`) actually correct?**
@@ -412,4 +437,4 @@ _Questions this graph is uniquely positioned to answer:_
- **Are the 7 inferred relationships involving `t()` (e.g. with `renderReport()` and `e()`) actually correct?**
_`t()` has 7 INFERRED edges - model-reasoned connections that need verification._
- **What connects `source`, `document_size`, `pages` to the rest of the system?**
_198 weakly-connected nodes found - possible documentation gaps or missing edges._
_220 weakly-connected nodes found - possible documentation gaps or missing edges._