feat(h5): calculate integer total from weighted dimensions across reports and admin

This commit is contained in:
xsl
2026-10-14 14:25:17 +08:00
parent 61a7f7c726
commit d8c67762da
16 changed files with 1891 additions and 1435 deletions
+73 -119
View File
@@ -1,16 +1,16 @@
# Graph Report - juzi (2026-10-13)
# Graph Report - juzi (2026-10-14)
## Corpus Check
- 118 files · ~4,910,480 words
- 120 files · ~4,911,203 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 1507 nodes · 2958 edges · 148 communities (112 shown, 36 thin omitted)
- 1522 nodes · 2977 edges · 130 communities (105 shown, 25 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 210 edges (avg confidence: 0.57)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `73813061`
- Built from commit: `61a7f7c7`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -41,7 +41,7 @@
- facepp-skinanalyze(旷视皮肤分析专业版调用技能)
- 巨子测肤 · 1'me 语音播报内容设计文档 V1.0
- mobile-select.iife.min.js
- .extractWeights
- NeuralNetwork
- gen_voice.py
- C
- face-api.js 本地化依赖(h5/vendor/faceapi/)
@@ -54,12 +54,12 @@
- FaceLandmark68Net
- UI交互界面调整
- 第四轮反馈修改与验收
- .loadFromDisk
- ao
- layer_at
- ComputeAllFaceDescriptorsTask
- .run
- start-local.sh
- report-persistence.mjs
- PredictAllFaceExpressionsWithFaceAlignmentTask
- .forwardInput
- extractFaceTensors
- 已修改
- mobile-select/README.md
@@ -74,7 +74,7 @@
- 报告布局与跟手交互调整
- 提交前 Review(2026-10-11)
- e2e-browser.mjs
- isValidNumber
- 综合得分:三维度按 4:3:3 加权
- 微信登录接入与公网部署说明
- h5/README.md
- ui-20261009.mjs
@@ -99,13 +99,12 @@
- 傅艳NEW与项思炼的会话 2026年10月12日.md
- wi
- 客户反馈修改(2026-10-12)
- .runAndExtendWithFaceDetection
- .runAndExtendWithFaceDetections
- 第三轮反馈:PSD 对齐、验收及上线记录
- login-performance.mjs
- production-loop.mjs
- account-client.js
- .mul
- ComputeSingleFaceDescriptorTask
- TinyYolov2
- .draw
- wechat-fixture.cjs
- DetectSingleFaceLandmarksTask
@@ -115,36 +114,19 @@
- profile-interaction.mjs
- submitPhotos
- startCamera
- extractWeightsFactory
- 微信退出登录-2026-10-13.md
- normalize
- .run
- extractAllFacesAndComputeResults
- play
- f
- PredictSingleFaceExpressionsWithFaceAlignmentTask
- PredictAllFaceExpressionsTask
- wechat-browser.mjs
- doCapture
- 评分圈内居中、基础信息页固定与正脸语音修复
- FaceProcessor
- 报告等待页实拍背景-2026-10-12.md
- PredictSingleFaceExpressionsTask
- NeuralNetwork
- TinyYolov2Base
- FaceFeatureExtractor
- 原始肌龄显示与鸿蒙滚轮兼容
- harmony-picker.mjs
- .toString
- AgeGenderNet
- convLayer
- height
- age
- recommendation.js
- .forwardInput
- FaceRecognitionNet
- .runAndExtendWithFaceDetections
- TinyXception
- FaceExpressionNet
- PredictAllAgeAndGenderWithFaceAlignmentTask
- PredictSingleAgeAndGenderWithFaceAlignmentTask
- 拍摄角度不合格震动提醒-2026-10-13.md
@@ -176,11 +158,11 @@
## Import Cycles
- None detected.
## Communities (148 total, 36 thin omitted)
## Communities (130 total, 25 thin omitted)
### Community 0 - "face-api.js"
Cohesion: 0.02
Nodes (42): boxPredictionLayer(), cn(), computeReshapedDimensions(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), decodeBoxesLayer(), depthwiseConvLayer() (+34 more)
Nodes (41): bgrToRgbTensor(), cn(), computeReshapedDimensions(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), Dimensions(), dr() (+33 more)
### Community 1 - "线上闭环测试(不含真实微信授权)"
Cohesion: 0.25
@@ -191,32 +173,32 @@ Cohesion: 0.12
Nodes (17): cancelSkinDrag(), decode(), drain(), goSkin(), load(), loginAllowed(), loginWechat(), preload() (+9 more)
### Community 3 - "skin-score.js"
Cohesion: 0.10
Nodes (49): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+41 more)
Cohesion: 0.08
Nodes (55): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+47 more)
### Community 4 - "customer-feedback-second.js"
Cohesion: 0.14
Nodes (11): assert, context, events, face, fs, geometry, original, path (+3 more)
### Community 5 - "disposeUnusedWeightTensors"
Cohesion: 0.12
Cohesion: 0.09
Nodes (23): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+15 more)
### Community 6 - "n"
Cohesion: 0.12
Nodes (36): ae(), be(), bf(), bi(), ce(), de(), e(), Ef() (+28 more)
Cohesion: 0.11
Nodes (43): a(), ae(), be(), bf(), bi(), ce(), de(), e() (+35 more)
### Community 7 - "test/profile-store.js"
Cohesion: 0.14
Nodes (13): assert, data, empty, now, other, Profile, quota, regions (+5 more)
Cohesion: 0.06
Nodes (21): age(), clean(), create(), key(), assert, data, empty, now (+13 more)
### Community 8 - "admin.js"
Cohesion: 0.20
Nodes (29): ageText(), api(), bind(), captureQualityHtml(), closeDetail(), collectFilters(), dimsHtml(), doRetry() (+21 more)
Cohesion: 0.19
Nodes (30): ageText(), api(), bind(), captureQualityHtml(), closeDetail(), collectFilters(), dimsHtml(), doRetry() (+22 more)
### Community 9 - "__awaiter"
Cohesion: 0.14
Nodes (13): __awaiter(), extendWithFaceDescriptor(), extendWithFaceExpressions(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), fetchImage(), fetchJson(), fetchNetWeights() (+5 more)
Nodes (12): __awaiter(), ComposableTask(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), getModelUris() (+4 more)
### Community 10 - "k"
Cohesion: 0.18
@@ -228,7 +210,7 @@ Nodes (20): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (
### Community 12 - "server.js"
Cohesion: 0.08
Nodes (52): accounts, appendRecord(), callFacepp(), CaptureDiagnostics, CRED, crypto, csvCell(), DATA_DIR (+44 more)
Nodes (53): accounts, appendRecord(), callFacepp(), CaptureDiagnostics, CRED, crypto, csvCell(), DATA_DIR (+45 more)
### Community 13 - "files"
Cohesion: 0.12
@@ -267,8 +249,8 @@ Cohesion: 0.19
Nodes (19): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractImagePatches(), getContext2dOrThrow(), getEnv() (+11 more)
### Community 22 - "i"
Cohesion: 0.08
Nodes (31): ba(), bn(), ca(), cl(), da(), dn(), ee(), et() (+23 more)
Cohesion: 0.11
Nodes (21): ba(), ca(), da(), dn(), ee(), et(), fa(), i() (+13 more)
### Community 23 - "facepp-skinanalyze(旷视皮肤分析专业版调用技能)"
Cohesion: 0.20
@@ -282,17 +264,17 @@ Nodes (8): 1. 音频格式约定(已定), 2. 播报清单(14 条), 3. 播放策
Cohesion: 0.20
Nodes (16): _arrayLikeToArray(), _arrayWithHoles(), _arrayWithoutHoles(), _classCallCheck(), _createClass(), _defineProperties(), h(), _iterableToArray() (+8 more)
### Community 26 - ".extractWeights"
Cohesion: 0.22
Nodes (10): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractorsFactory$1() (+2 more)
### Community 26 - "NeuralNetwork"
Cohesion: 0.07
Nodes (27): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory() (+19 more)
### Community 27 - "gen_voice.py"
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.10
Nodes (28): ao(), Bo(), C(), cd(), co(), Do(), eo(), fo() (+20 more)
Cohesion: 0.09
Nodes (32): bn(), Bo(), C(), cd(), cl(), co(), eo(), fn() (+24 more)
### Community 29 - "face-api.js 本地化依赖(h5/vendor/faceapi/)"
Cohesion: 0.29
@@ -322,14 +304,18 @@ Nodes (4): 1meAI测肤旷视UI问题反馈, UI交互界面调整, 交互, **设
Cohesion: 0.22
Nodes (8): PSD 来源, 前端参数及限制, 后台校准留痕, 已确认并实现, 生产部署及只读验收, 皱纹(紧塑力)原文, 第四轮反馈修改与验收, 验证
### Community 41 - ".loadFromDisk"
Cohesion: 0.29
Nodes (3): ComposableTask(), getModelUris(), TinyFaceDetector()
### Community 41 - "ao"
Cohesion: 0.33
Nodes (6): ao(), Do(), io(), oo(), so(), To()
### Community 42 - "layer_at"
Cohesion: 0.18
Nodes (11): list, bounds(), layer_at(), main(), save_image(), composite(), main(), sha256() (+3 more)
### Community 43 - ".run"
Cohesion: 0.22
Nodes (3): ComputeAllFaceDescriptorsTask(), ComputeSingleFaceDescriptorTask(), extendWithFaceDescriptor()
### Community 44 - "start-local.sh"
Cohesion: 0.50
Nodes (3): HOST, PORT, start-local.sh script
@@ -338,9 +324,13 @@ Nodes (3): HOST, PORT, start-local.sh script
Cohesion: 0.29
Nodes (6): child, dataRoot, fx, h5, ReportUI, require
### Community 46 - ".forwardInput"
Cohesion: 0.22
Nodes (9): boxPredictionLayer(), decodeBoxesLayer(), depthwiseConvLayer(), getCenterCoordinatesAndSizesLayer(), getStridesForLayerIdx(), mobileNetV1(), outputLayer(), pointwiseConvLayer() (+1 more)
### Community 47 - "extractFaceTensors"
Cohesion: 0.10
Nodes (11): Box(), DetectAllFaceLandmarksTask(), extendWithFaceDetection(), extendWithFaceLandmarks(), extractFaceTensors(), FaceLandmarks(), isWithFaceDetection(), isWithFaceLandmarks() (+3 more)
Cohesion: 0.11
Nodes (8): Box(), DetectAllFaceLandmarksTask(), extendWithFaceLandmarks(), extractFaceTensors(), FaceLandmarks(), isTensor3D(), minBbox(), ObjectDetection()
### Community 48 - "已修改"
Cohesion: 0.22
@@ -367,8 +357,8 @@ Cohesion: 0.60
Nodes (5): diffCtx(), loadJSON(), main(), okNum(), okStr()
### Community 58 - ".forwardInput"
Cohesion: 0.16
Nodes (9): iou(), nonMaxSuppression(), nonMaxSuppression$1(), scale(), SsdMobilenetv1(), stage1(), stage2(), stage3() (+1 more)
Cohesion: 0.17
Nodes (9): FaceRecognitionNet(), iou(), nonMaxSuppression(), nonMaxSuppression$1(), scale(), SsdMobilenetv1(), stage1(), stage2() (+1 more)
### Community 61 - "报告布局与跟手交互调整"
Cohesion: 0.33
@@ -382,9 +372,9 @@ Nodes (4): 仍需公网/业务确认, 已发现并修复, 提交前 Review(202
Cohesion: 0.29
Nodes (4): EXPECTED, fails, pageErrors, pwRoot
### Community 64 - "isValidNumber"
Cohesion: 0.33
Nodes (5): bgrToRgbTensor(), Dimensions(), isValidNumber(), isValidProbablitiy(), isWithGender()
### Community 64 - "综合得分:三维度按 4:3:3 加权"
Cohesion: 0.40
Nodes (4): 已确认公式, 本地验证, 生效位置, 综合得分:三维度按 4:3:3 加权
### Community 65 - "微信登录接入与公网部署说明"
Cohesion: 0.29
@@ -450,9 +440,9 @@ Nodes (9): Ci(), Ei(), Fi(), Ii(), ki(), pe(), ri(), wi() (+1 more)
Cohesion: 0.33
Nodes (5): 公网部署与复测, 客户反馈修改(2026-10-12), 皱纹数据说明, 逐项处理, 验证
### Community 93 - ".runAndExtendWithFaceDetection"
Cohesion: 0.33
Nodes (5): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectSingleFaceTask()
### Community 93 - ".runAndExtendWithFaceDetections"
Cohesion: 0.17
Nodes (10): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectAllFacesTask(), DetectSingleFaceTask(), extendWithFaceDetection(), isWithFaceDetection() (+2 more)
### Community 94 - "第三轮反馈:PSD 对齐、验收及上线记录"
Cohesion: 0.33
@@ -466,14 +456,14 @@ Nodes (3): artifacts, errors, samples
Cohesion: 0.53
Nodes (8): browser(), clearGuestCache(), ensureGuest(), guest(), init(), logout(), rememberKind(), request()
### Community 98 - ".mul"
Cohesion: 0.50
Nodes (3): wl(), wn(), xn()
### Community 101 - "wechat-fixture.cjs"
Cohesion: 0.50
Nodes (3): crypto, fs, path
### Community 102 - "DetectSingleFaceLandmarksTask"
Cohesion: 0.16
Nodes (3): DetectSingleFaceLandmarksTask(), PredictAllFaceExpressionsWithFaceAlignmentTask(), PredictSingleFaceExpressionsWithFaceAlignmentTask()
### Community 107 - "基础信息记忆与肤质拖动"
Cohesion: 0.40
Nodes (4): 回归命令, 基础信息记忆与肤质拖动, 肤质交互, 范围
@@ -490,25 +480,21 @@ Nodes (12): bindBackdropClose(), closeLoginSuccess(), closeOverlay(), handleCamH
Cohesion: 0.21
Nodes (12): beginDetect(), detTick(), enableFallback(), getCamStream(), loadFaceApi(), loadModels(), maybeStartDetect(), onCamTrackEnded() (+4 more)
### Community 111 - "extractWeightsFactory"
Cohesion: 0.17
Nodes (8): extractorsFactory(), extractorsFactory$4(), extractParams(), extractParams$5(), extractParams$6(), extractParamsTiny(), extractWeightsFactory(), TinyFaceFeatureExtractor()
### Community 115 - "normalize"
Cohesion: 0.27
Nodes (8): conv(), denseBlock3(), denseBlock4(), depthwiseSeparableConv(), mainBlock(), normalize(), reductionBlock(), __spreadArrays()
Cohesion: 0.07
Nodes (28): conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm(), denseBlock3() (+20 more)
### Community 116 - ".run"
Cohesion: 0.29
Nodes (4): extendWithAge(), extendWithGender(), PredictAllAgeAndGenderTask(), PredictSingleAgeAndGenderTask()
### Community 116 - "extractAllFacesAndComputeResults"
Cohesion: 0.14
Nodes (9): extendWithAge(), extendWithFaceExpressions(), extendWithGender(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), PredictAllAgeAndGenderTask(), PredictAllFaceExpressionsTask(), PredictSingleAgeAndGenderTask() (+1 more)
### Community 117 - "play"
Cohesion: 0.33
Nodes (6): applyMirror(), busyWithFlow(), effMirror(), handleCamVisible(), play(), renderCamStep()
### Community 118 - "f"
Cohesion: 0.20
Nodes (24): a(), cf(), d(), drawContour(), dt(), ea(), f(), g() (+16 more)
Cohesion: 0.11
Nodes (25): cf(), d(), drawContour(), dt(), ea(), f(), FaceLandmarks5(), FaceMatch() (+17 more)
### Community 121 - "wechat-browser.mjs"
Cohesion: 0.22
@@ -522,64 +508,32 @@ Nodes (24): armNudge(), captureFromVideo(), captureHaptic(), captureStageHint(),
Cohesion: 0.40
Nodes (4): 发布, 范围, 评分圈内居中、基础信息页固定与正脸语音修复, 验证
### Community 124 - "FaceProcessor"
Cohesion: 0.22
Nodes (3): extractParams$1(), FaceLandmark68TinyNet(), FaceProcessor()
### Community 129 - "TinyYolov2Base"
Cohesion: 0.29
Nodes (5): convWithBatchNorm(), depthwiseSeparableConv$1(), leaky(), TinyYolov2Base(), validateConfig()
### Community 130 - "FaceFeatureExtractor"
Cohesion: 0.22
Nodes (5): extractFCParamsFactory(), extractorsFactory$8(), extractParams$3(), extractParams$7(), FaceFeatureExtractor()
### Community 131 - "原始肌龄显示与鸿蒙滚轮兼容"
Cohesion: 0.50
Nodes (3): 原始肌龄显示与鸿蒙滚轮兼容, 回归, 范围
### Community 133 - ".toString"
Cohesion: 0.20
Nodes (7): FaceLandmarks5(), FaceMatch(), getCenterPoint(), la(), pr(), pt(), vt()
### Community 136 - "convLayer"
Cohesion: 0.43
Nodes (8): convLayer(), fullyConnectedLayer(), ONet(), PNet(), prelu(), qh(), RNet(), sharedLayer()
### Community 137 - "height"
Cohesion: 0.38
Nodes (5): height(), FaceLandmark68NetBase(), getSizesForScale(), normalize$1(), rescaleAndNormalize()
### Community 138 - "age"
Cohesion: 0.43
Nodes (4): age(), clean(), create(), key()
Cohesion: 0.24
Nodes (6): height(), FaceLandmark68NetBase(), getSizesForScale(), normalize$1(), rescaleAndNormalize(), TinyYolov2Base()
### Community 139 - "recommendation.js"
Cohesion: 0.33
Nodes (6): assert, check(), missing, raw, SS, UI
### Community 140 - ".forwardInput"
Cohesion: 0.48
Nodes (6): conv$1(), convDown(), convLayer$1(), convNoRelu(), residual(), residualDown()
### Community 141 - "FaceRecognitionNet"
Cohesion: 0.33
Nodes (3): extractorsFactory$2(), extractParams$4(), FaceRecognitionNet()
## Knowledge Gaps
- **345 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+340 more)
- **353 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+348 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **36 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **25 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 `height()` connect `height` to `app.js`, `customer-feedback.js`, `scan-placeholder.mjs`, `__awaiter`, `profile-interaction.mjs`, `showScreen`, `extractFaceTensors`, `extractFaces`, `.forwardInput`?**
_High betweenness centrality (0.068) - this node is a cross-community bridge._
- **Why does `height()` connect `height` to `app.js`, `customer-feedback.js`, `scan-placeholder.mjs`, `profile-interaction.mjs`, `showScreen`, `extractFaceTensors`, `extractFaces`, `.forwardInput`?**
_High betweenness centrality (0.061) - this node is a cross-community bridge._
- **Why does `v()` connect `f` to `report-ui.js`, `vizCompose`, `C`, `face-api.js`?**
_High betweenness centrality (0.046) - this node is a cross-community bridge._
_High betweenness centrality (0.044) - this node is a cross-community bridge._
- **Why does `fill()` connect `report-ui.js` to `f`?**
_High betweenness centrality (0.037) - 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?**
@@ -587,4 +541,4 @@ _Questions this graph is uniquely positioned to answer:_
- **Are the 9 inferred relationships involving `i()` (e.g. with `da()` and `f()`) actually correct?**
_`i()` has 9 INFERRED edges - model-reasoned connections that need verification._
- **What connects `source`, `document_size`, `pages` to the rest of the system?**
_345 weakly-connected nodes found - possible documentation gaps or missing edges._
_353 weakly-connected nodes found - possible documentation gaps or missing edges._