feat(h5): allow guest access without login and retain history only for WeChat

This commit is contained in:
xsl
2026-10-13 15:23:23 +08:00
parent 98935dd168
commit 1fdbb575b0
29 changed files with 2561 additions and 1866 deletions
+143 -94
View File
@@ -1,16 +1,16 @@
# Graph Report - juzi (2026-10-13)
## Corpus Check
- 107 files · ~4,905,775 words
- 110 files · ~4,907,117 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 1457 nodes · 2904 edges · 116 communities (91 shown, 25 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 210 edges (avg confidence: 0.57)
- 1475 nodes · 2920 edges · 125 communities (101 shown, 24 thin omitted)
- Extraction: 93% EXTRACTED · 7% INFERRED · 0% AMBIGUOUS · INFERRED: 209 edges (avg confidence: 0.57)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `4c478b16`
- Built from commit: `98935dd1`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -20,7 +20,7 @@
- app.js
- skin-score.js
- customer-feedback-second.js
- t
- disposeUnusedWeightTensors
- n
- test/profile-store.js
- admin.js
@@ -29,19 +29,19 @@
- lib/accounts.js
- server.js
- files
- .draw
- extractFaces
- NeuralNetwork
- customer-feedback-fourth.mjs
- 巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范
- report-persistence.mjs
- 1'me肌肤状态检测 H5
- customer-feedback-fourth.js
- build_fixtures.py
- disposeUnusedWeightTensors
- getEnv
- k
- facepp-skinanalyze(旷视皮肤分析专业版调用技能)
- 巨子测肤 · 1'me 语音播报内容设计文档 V1.0
- mobile-select.iife.min.js
- NeuralNetwork
- .extractWeights
- gen_voice.py
- C
- face-api.js 本地化依赖(h5/vendor/faceapi/)
@@ -56,16 +56,17 @@
- 第四轮反馈修改与验收
- showScreen
- layer_at
- TinyYolov2Base
- extractAllFacesAndComputeResults
- start-local.sh
- PredictAllAgeAndGenderWithFaceAlignmentTask
- PredictAllFaceExpressionsWithFaceAlignmentTask
- Box
- 已修改
- mobile-select/README.md
- call_skinanalyze_3view.sh
- 护理建议(全量文本,按需求摘抄)
- UI 对齐 10.09 设计稿:调研与实施计划
- FaceLandmarks68
- guest-privacy.mjs
- report-ui.js
- regression.js
- .forwardInput
@@ -73,9 +74,9 @@
- 报告布局与跟手交互调整
- 提交前 Review(2026-10-11)
- e2e-browser.mjs
- start
- recommendation.js
- 微信登录接入与公网部署说明
- .runAndExtendWithFaceDetections
- h5/README.md
- ui-20261009.mjs
- analyze-timeout.js
- misans/README.md
@@ -84,14 +85,14 @@
- build_report_copy.py
- 报告页滑动防冲突-2026-10-13.md
- drawFaceExpressions
- .toString
- FaceLandmarks68
- 登录反馈与加载优化(2026-10-12)
- 线上微信登录部署记录
- wechat-production.mjs
- 拍摄约束放宽与标题更新
- 10.09 新版 H5 实施与验收
- 微信登录联调:2026-10-12
- test/accounts.js
- head-pose.js
- report-touch-layout.mjs
- 产品推荐规则:肤龄基准与边界调整
- ui-20261012/manifest.json
@@ -100,11 +101,14 @@
- 客户反馈修改(2026-10-12)
- .runAndExtendWithFaceDetection
- 第三轮反馈:PSD 对齐、验收及上线记录
- login-performance.mjs
- production-loop.mjs
- DetectSingleFaceLandmarksTask
- extractAllFacesAndComputeResults
- extractFaceTensors
- pn
- start
- account-client.js
- js/profile-store.js
- capture-diagnostics.js
- .computeFaceDescriptor
- wechat-fixture.cjs
- extractFaces
- 第四轮反馈/傅艳NEW与项思炼的会话 2026年10月12日.md
- 第三轮反馈20261012/傅艳NEW与项思炼的会话 2026年10月12日.md
- 基础信息记忆与肤质拖动
@@ -112,12 +116,17 @@
- submitPhotos
- doCapture
- i
- convLayer
- .toString
- ao
- TinyYolov2Base
- startCamera
- PredictSingleAgeAndGenderWithFaceAlignmentTask
- PredictSingleFaceExpressionsWithFaceAlignmentTask
- LabeledFaceDescriptors
- .runAndExtendWithFaceDetections
- 评分圈内居中、基础信息页固定与正脸语音修复
- TinyYolov2
- 报告等待页实拍背景-2026-10-12.md
- height
## God Nodes (most connected - your core abstractions)
1. `__awaiter()` - 59 edges
@@ -146,11 +155,11 @@
## Import Cycles
- None detected.
## Communities (116 total, 25 thin omitted)
## Communities (125 total, 24 thin omitted)
### Community 0 - "face-api.js"
Cohesion: 0.02
Nodes (41): bgrToRgbTensor(), cn(), computeReshapedDimensions(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), decodeBoxesLayer(), Dimensions() (+33 more)
Nodes (36): cn(), createBrowserEnv(), createFileSystem(), createNodejsEnv(), decodeBoxesLayer(), dr(), en(), FaceDetection() (+28 more)
### Community 1 - "线上闭环测试(不含真实微信授权)"
Cohesion: 0.25
@@ -158,7 +167,7 @@ Nodes (7): 发现并修复, 可复现命令, 已通过的检查, 线上闭环测
### Community 2 - "app.js"
Cohesion: 0.11
Nodes (22): cancelSkinDrag(), esc(), goSkin(), openHistory(), renderHistoryList(), renderReport(), renderViz(), restartScanCycle() (+14 more)
Nodes (21): cancelSkinDrag(), esc(), goSkin(), loginAllowed(), loginWechat(), openHistory(), renderHistoryList(), renderReport() (+13 more)
### Community 3 - "skin-score.js"
Cohesion: 0.12
@@ -168,33 +177,33 @@ Nodes (45): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens()
Cohesion: 0.17
Nodes (10): assert, context, face, fs, geometry, original, path, source (+2 more)
### Community 5 - "t"
### Community 5 - "disposeUnusedWeightTensors"
Cohesion: 0.09
Nodes (31): be(), bi(), Bo(), ce(), cl(), de(), e(), Ef() (+23 more)
Nodes (23): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+15 more)
### Community 6 - "n"
Cohesion: 0.14
Nodes (37): a(), ae(), bf(), cf(), d(), drawContour(), dt(), ea() (+29 more)
Cohesion: 0.17
Nodes (38): a(), ae(), bf(), ce(), cf(), d(), de(), drawContour() (+30 more)
### Community 7 - "test/profile-store.js"
Cohesion: 0.07
Nodes (29): browser(), init(), read(), rememberKind(), request(), age(), clean(), create() (+21 more)
Cohesion: 0.14
Nodes (13): assert, data, empty, now, other, Profile, quota, regions (+5 more)
### Community 8 - "admin.js"
Cohesion: 0.20
Nodes (29): ageText(), api(), bind(), captureQualityHtml(), closeDetail(), collectFilters(), dimsHtml(), doRetry() (+21 more)
### Community 9 - "__awaiter"
Cohesion: 0.13
Nodes (12): __awaiter(), ComposableTask(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), getModelUris() (+4 more)
Cohesion: 0.18
Nodes (9): __awaiter(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), loadWeightMap(), Mtcnn() (+1 more)
### Community 10 - "wechat-browser.mjs"
Cohesion: 0.22
Nodes (6): createAccounts, h5, ReportUI, require, root, SkinScore
### Community 11 - "lib/accounts.js"
Cohesion: 0.17
Nodes (20): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (+12 more)
Cohesion: 0.07
Nodes (34): atomic(), body(), cookie(), cookies(), crypto, fs, json(), login() (+26 more)
### Community 12 - "server.js"
Cohesion: 0.08
@@ -204,9 +213,13 @@ Nodes (52): accounts, appendRecord(), callFacepp(), CaptureDiagnostics, CRED, cr
Cohesion: 0.12
Nodes (15): files, analyze-fail, analyzing, countdown-321, hint-far, hint-front, hint-hold, hint-near (+7 more)
### Community 15 - "extractFaces"
Cohesion: 0.17
Nodes (18): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractImagePatches(), getContext2dOrThrow(), getEnv() (+10 more)
### Community 14 - "NeuralNetwork"
Cohesion: 0.20
Nodes (3): getModelUris(), NeuralNetwork(), TinyFaceDetector()
### Community 15 - "customer-feedback-fourth.mjs"
Cohesion: 0.20
Nodes (8): evaluate(), finite(), CaptureQuality, child, dataRoot, h5, ReportUI, require
### Community 16 - "巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范"
Cohesion: 0.15
@@ -221,20 +234,20 @@ Cohesion: 0.13
Nodes (15): 10.09 更新, 1'me肌肤状态检测 H5, Admin API(统一返回 `{ok:false,message}` 错误), Windows 本机部署(提测用), 后台查看(admin.html), 密钥配置, 已知占位清单, 技术说明 (+7 more)
### Community 19 - "customer-feedback-fourth.js"
Cohesion: 0.06
Nodes (37): evaluate(), finite(), assertPoints(), check(), clamp(), dist(), estimate(), makeFrontal() (+29 more)
Cohesion: 0.14
Nodes (15): assert, check(), Diagnostics, face(), HeadPose, held, ReportUI, normalized (+7 more)
### Community 20 - "build_fixtures.py"
Cohesion: 0.40
Nodes (9): build_case1(), build_case2(), build_truth(), col(), dump(), main(), parse_value(), set_path() (+1 more)
### Community 21 - "disposeUnusedWeightTensors"
Cohesion: 0.05
Nodes (39): conv(), conv$1(), convDown(), convLayer$1(), convNoRelu(), denseBlock3(), denseBlock4(), depthwiseSeparableConv() (+31 more)
### Community 21 - "getEnv"
Cohesion: 0.07
Nodes (34): awaitMediaLoaded(), bufferToImage(), conv(), conv$1(), convDown(), convLayer$1(), convNoRelu(), createCanvas() (+26 more)
### Community 22 - "k"
Cohesion: 0.10
Nodes (21): b(), ba(), ca(), da(), fa(), gn(), k(), kn() (+13 more)
Cohesion: 0.16
Nodes (16): ba(), ca(), da(), fa(), k(), pa(), pd(), Pi() (+8 more)
### Community 23 - "facepp-skinanalyze(旷视皮肤分析专业版调用技能)"
Cohesion: 0.20
@@ -248,7 +261,7 @@ Nodes (8): 1. 音频格式约定(已定), 2. 播报清单(14 条), 3. 播放策
Cohesion: 0.20
Nodes (16): _arrayLikeToArray(), _arrayWithHoles(), _arrayWithoutHoles(), _classCallCheck(), _createClass(), _defineProperties(), h(), _iterableToArray() (+8 more)
### Community 26 - "NeuralNetwork"
### Community 26 - ".extractWeights"
Cohesion: 0.05
Nodes (30): AgeGenderNet(), createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory() (+22 more)
@@ -258,7 +271,7 @@ Nodes (11): ndarray, Path, gen_countdown(), main(), normalize_clip(), 倒计时
### Community 28 - "C"
Cohesion: 0.11
Nodes (25): ao(), C(), cd(), co(), Do(), eo(), fo(), Ft() (+17 more)
Nodes (28): Bo(), C(), cd(), cl(), co(), eo(), fo(), Ft() (+20 more)
### Community 29 - "face-api.js 本地化依赖(h5/vendor/faceapi/)"
Cohesion: 0.29
@@ -289,17 +302,25 @@ Cohesion: 0.22
Nodes (8): PSD 来源, 前端参数及限制, 后台校准留痕, 已确认并实现, 生产部署及只读验收, 皱纹(紧塑力)原文, 第四轮反馈修改与验收, 验证
### Community 41 - "showScreen"
Cohesion: 0.22
Nodes (11): loadAppFont(), loginAllowed(), loginBrowser(), loginSucceeded(), loginWechat(), openOverlay(), prepareScanArtwork(), renderAccountStatus() (+3 more)
Cohesion: 0.20
Nodes (12): enterGuest(), loadAppFont(), loginSucceeded(), openOverlay(), prepareScanArtwork(), renderAccountStatus(), resetReport(), restartScanCycle() (+4 more)
### Community 42 - "layer_at"
Cohesion: 0.18
Nodes (11): list, bounds(), layer_at(), main(), save_image(), composite(), main(), sha256() (+3 more)
### Community 43 - "extractAllFacesAndComputeResults"
Cohesion: 0.14
Nodes (10): age(), extendWithAge(), extendWithFaceExpressions(), extendWithGender(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), PredictAllAgeAndGenderTask(), PredictAllFaceExpressionsTask() (+2 more)
### Community 44 - "start-local.sh"
Cohesion: 0.50
Nodes (3): HOST, PORT, start-local.sh script
### Community 47 - "Box"
Cohesion: 0.11
Nodes (11): bgrToRgbTensor(), Box(), Dimensions(), extendWithFaceLandmarks(), FaceLandmarks(), isDimensions(), isValidNumber(), isValidProbablitiy() (+3 more)
### Community 48 - "已修改"
Cohesion: 0.22
Nodes (8): 12 日第二批:明确项修改, 公网部署与复核(2026-10-12,北京时间), 准备捕捉提醒, 字重, 已修改, 拍照展示, 首页高清批注, 验证与状态
@@ -312,6 +333,10 @@ Nodes (19): 5\.1 轮廓(紧塑力), 5\.2 皱纹(紧塑力), 5\.3 肤色
Cohesion: 0.11
Nodes (17): 1. 结论和依据, 2. 统一比较口径, 3. 逐页差异和调整内容, 4. 报告数据如何接到新 UI, 5. 登录与“我的报告”的真实能力缺口, 6. 原稿中需要整理的内容, 7. 实施顺序与交付物, 8. 验收定义 (+9 more)
### Community 55 - "guest-privacy.mjs"
Cohesion: 0.25
Nodes (5): child, dataRoot, fx, h5, require
### Community 56 - "report-ui.js"
Cohesion: 0.50
Nodes (7): build(), count(), fill(), focusOf(), numeric(), scalar(), wrinkleDetails()
@@ -321,8 +346,8 @@ Cohesion: 0.60
Nodes (5): diffCtx(), loadJSON(), main(), okNum(), okStr()
### Community 58 - ".forwardInput"
Cohesion: 0.19
Nodes (8): FaceRecognitionNet(), iou(), nonMaxSuppression(), nonMaxSuppression$1(), scale(), stage1(), stage2(), stage3()
Cohesion: 0.14
Nodes (16): computeReshapedDimensions(), extractBoundingBoxes(), getSizesForScale(), iou(), isEven(), nonMaxSuppression(), nonMaxSuppression$1(), normalize$1() (+8 more)
### Community 61 - "报告布局与跟手交互调整"
Cohesion: 0.33
@@ -336,14 +361,18 @@ Nodes (4): 仍需公网/业务确认, 已发现并修复, 提交前 Review(202
Cohesion: 0.29
Nodes (4): EXPECTED, fails, pageErrors, pwRoot
### Community 64 - "start"
Cohesion: 0.29
Nodes (7): decode(), drain(), load(), preload(), start(), stopCur(), unlock()
### Community 64 - "recommendation.js"
Cohesion: 0.38
Nodes (6): assert, check(), missing, raw, SS, UI
### Community 65 - "微信登录接入与公网部署说明"
Cohesion: 0.29
Nodes (7): 公网服务器配置, 公网真机验收清单, 反向代理与后台保护, 已完成的链路, 微信登录接入与公网部署说明, 数据、迁移与备份, 本机开发环境限制(不代表线上状态)
### Community 66 - "h5/README.md"
Cohesion: 0.33
Nodes (3): 本地待确认, 游客不留存与弹窗护理间距调整, 验证
### Community 68 - "analyze-timeout.js"
Cohesion: 0.20
Nodes (7): assert, end, fs, path, source, start, vm
@@ -353,15 +382,11 @@ Cohesion: 0.29
Nodes (3): errors, samples, unexpectedWrites
### Community 77 - "drawFaceExpressions"
Cohesion: 0.12
Nodes (10): DrawBox(), drawDetections(), drawFaceExpressions(), DrawFaceLandmarks(), FaceExpressions(), isWithFaceDetection(), isWithFaceExpressions(), isWithFaceLandmarks() (+2 more)
### Community 78 - ".toString"
Cohesion: 0.12
Nodes (11): FaceLandmarks5(), FaceMatch(), getCenterPoint(), la(), Point(), pr(), pt(), vt() (+3 more)
Cohesion: 0.19
Nodes (10): DrawBox(), drawDetections(), drawFaceExpressions(), DrawFaceLandmarks(), extendWithFaceDetection(), FaceExpressions(), isWithFaceDetection(), isWithFaceExpressions() (+2 more)
### Community 79 - "登录反馈与加载优化(2026-10-12)"
Cohesion: 0.33
Cohesion: 0.25
Nodes (5): 体验变化, 公网部署后复测, 慢的原因与处理, 登录反馈与加载优化(2026-10-12), 验证
### Community 80 - "线上微信登录部署记录"
@@ -381,12 +406,12 @@ Cohesion: 0.29
Nodes (5): 10.09 新版 H5 实施与验收, 按确认项实现, 文档未定义部分的实施口径, 素材再生成, 验证命令
### Community 84 - "微信登录联调:2026-10-12"
Cohesion: 0.22
Cohesion: 0.33
Nodes (6): 后续真机确认与体验优化, 微信登录联调:2026-10-12, 本轮修正, 白名单与凭据, 真实微信验收与排查, 自动验证
### Community 85 - "test/accounts.js"
Cohesion: 0.22
Nodes (9): assert, create, fs, http, os, path, ReportUI, SkinScore (+1 more)
### Community 85 - "head-pose.js"
Cohesion: 0.33
Nodes (8): assertPoints(), check(), clamp(), dist(), estimate(), makeFrontal(), makeSide(), midpoint()
### Community 87 - "产品推荐规则:肤龄基准与边界调整"
Cohesion: 0.33
@@ -405,27 +430,47 @@ Cohesion: 0.33
Nodes (5): 公网部署与复测, 客户反馈修改(2026-10-12), 皱纹数据说明, 逐项处理, 验证
### Community 93 - ".runAndExtendWithFaceDetection"
Cohesion: 0.33
Nodes (5): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), detectAllFaces(), DetectSingleFaceTask()
Cohesion: 0.23
Nodes (7): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), ComposableTask(), detectAllFaces(), DetectSingleFaceTask(), Gf()
### Community 94 - "第三轮反馈:PSD 对齐、验收及上线记录"
Cohesion: 0.33
Nodes (5): 原稿与导出可追溯性, 已完成, 本地验证, 生产部署及只读验收, 第三轮反馈:PSD 对齐、验收及上线记录
### Community 96 - "production-loop.mjs"
### Community 95 - "pn"
Cohesion: 0.22
Nodes (8): bn(), fn(), ln(), pn(), un(), wl(), wn(), xn()
### Community 96 - "start"
Cohesion: 0.29
Nodes (7): decode(), drain(), load(), preload(), start(), stopCur(), unlock()
### Community 97 - "account-client.js"
Cohesion: 0.57
Nodes (7): browser(), clearGuestCache(), ensureGuest(), guest(), init(), rememberKind(), request()
### Community 98 - "js/profile-store.js"
Cohesion: 0.67
Nodes (3): clean(), create(), key()
### Community 99 - "capture-diagnostics.js"
Cohesion: 0.38
Nodes (6): assess(), CaptureQuality, HeadPose, normalize(), scalar(), views
### Community 100 - ".computeFaceDescriptor"
Cohesion: 0.18
Nodes (4): ComputeAllFaceDescriptorsTask(), ComputeSingleFaceDescriptorTask(), extendWithFaceDescriptor(), FaceRecognitionNet()
### Community 101 - "wechat-fixture.cjs"
Cohesion: 0.50
Nodes (3): artifacts, errors, samples
Nodes (3): crypto, fs, path
### Community 100 - "extractAllFacesAndComputeResults"
Cohesion: 0.09
Nodes (12): ComputeAllFaceDescriptorsTask(), ComputeSingleFaceDescriptorTask(), extendWithAge(), extendWithFaceDescriptor(), extendWithFaceExpressions(), extendWithGender(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult() (+4 more)
### Community 102 - "extractFaceTensors"
Cohesion: 0.10
Nodes (11): Box(), DetectAllFaceLandmarksTask(), extendWithFaceDetection(), extendWithFaceLandmarks(), extractFaceTensors(), FaceLandmarks(), isDimensions(), isTensor3D() (+3 more)
### Community 102 - "extractFaces"
Cohesion: 0.14
Nodes (9): height(), DetectAllFaceLandmarksTask(), DetectSingleFaceLandmarksTask(), extractFaces(), extractFaceTensors(), FaceLandmark68NetBase(), imageTensorToCanvas(), isTensor3D() (+1 more)
### Community 107 - "基础信息记忆与肤质拖动"
Cohesion: 0.33
Cohesion: 0.40
Nodes (4): 回归命令, 基础信息记忆与肤质拖动, 肤质交互, 范围
### Community 108 - "profile-interaction.mjs"
@@ -441,12 +486,20 @@ Cohesion: 0.17
Nodes (22): armNudge(), busyWithFlow(), captureFromVideo(), captureHaptic(), captureStageHint(), checkStill(), doCapture(), dropHint() (+14 more)
### Community 111 - "i"
Cohesion: 0.12
Nodes (18): bn(), dn(), ee(), et(), fn(), i(), je(), ln() (+10 more)
Cohesion: 0.09
Nodes (29): b(), be(), bi(), dn(), ee(), Ef(), er(), et() (+21 more)
### Community 116 - "convLayer"
Cohesion: 0.14
Nodes (17): boxPredictionLayer(), convLayer(), convWithBatchNorm(), depthwiseConvLayer(), depthwiseSeparableConv$1(), fullyConnectedLayer(), getStridesForLayerIdx(), leaky() (+9 more)
### Community 112 - ".toString"
Cohesion: 0.18
Nodes (7): FaceLandmarks5(), FaceMatch(), getCenterPoint(), la(), pr(), pt(), vt()
### Community 115 - "ao"
Cohesion: 0.40
Nodes (5): ao(), Do(), io(), so(), To()
### Community 116 - "TinyYolov2Base"
Cohesion: 0.11
Nodes (20): boxPredictionLayer(), convLayer(), convWithBatchNorm(), depthwiseConvLayer(), depthwiseSeparableConv$1(), fullyConnectedLayer(), getStridesForLayerIdx(), leaky() (+12 more)
### Community 117 - "startCamera"
Cohesion: 0.15
@@ -456,24 +509,20 @@ Nodes (17): applyMirror(), beginDetect(), detectFrame(), detTick(), effMirror(),
Cohesion: 0.40
Nodes (4): 发布, 范围, 评分圈内居中、基础信息页固定与正脸语音修复, 验证
### Community 127 - "height"
Cohesion: 0.38
Nodes (5): height(), FaceLandmark68NetBase(), getSizesForScale(), normalize$1(), rescaleAndNormalize()
## Knowledge Gaps
- **320 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+315 more)
- **330 isolated node(s):** `source`, `document_size`, `pages`, `assets`, `layers` (+325 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **25 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **24 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`, `extractFaceTensors`, `showScreen`, `__awaiter`, `profile-interaction.mjs`, `extractFaces`, `.forwardInput`?**
_High betweenness centrality (0.062) - this node is a cross-community bridge._
- **Why does `height()` connect `extractFaces` to `app.js`, `customer-feedback.js`, `scan-placeholder.mjs`, `showScreen`, `profile-interaction.mjs`, `.forwardInput`?**
_High betweenness centrality (0.050) - this node is a cross-community bridge._
- **Why does `v()` connect `n` to `report-ui.js`, `face-api.js`, `app.js`, `C`?**
_High betweenness centrality (0.045) - this node is a cross-community bridge._
- **Why does `k()` connect `k` to `face-api.js`, `app.js`, `t`, `n`, `lib/accounts.js`?**
_High betweenness centrality (0.039) - this node is a cross-community bridge._
_High betweenness centrality (0.038) - this node is a cross-community bridge._
- **Why does `r()` connect `n` to `face-api.js`, `server.js`, `i`, `.toString`, `getEnv`, `k`, `C`?**
_High betweenness centrality (0.037) - 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?**
@@ -481,4 +530,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?**
_320 weakly-connected nodes found - possible documentation gaps or missing edges._
_330 weakly-connected nodes found - possible documentation gaps or missing edges._