Files
juzi/graphify-out/GRAPH_REPORT.md
T
2026-09-28 09:02:32 +08:00

13 KiB
Raw Blame History

Graph Report - juzi (2026-09-28)

Corpus Check

  • 31 files · ~1,845,638 words
  • Verdict: corpus is large enough that graph structure adds value.

Summary

  • 900 nodes · 2117 edges · 67 communities (46 shown, 21 thin omitted)
  • Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 168 edges (avg confidence: 0.52)
  • Token cost: 0 input · 0 output

Graph Freshness

  • Built from commit: 4e3d915b
  • Run git rev-parse HEAD and compare to check if the graph is stale.
  • Run graphify update . after code changes (no API cost).

Community Hubs (Navigation)

  • face-api.js
  • n
  • app.js
  • skin-score.js
  • isTensor
  • .toBatchTensor
  • getEnv
  • FaceLandmarks
  • disposeUnusedWeightTensors
  • __awaiter
  • extractWeightEntryFactory
  • FaceProcessor
  • server.js
  • files
  • extractAllFacesAndComputeResults
  • .runAndExtendWithFaceDetection
  • 巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范
  • extractFaces
  • 1'me 在线肌肤测试 H5
  • head-pose.js
  • build_fixtures.py
  • .forwardInput
  • .loadFromDisk
  • facepp-skinanalyze(旷视皮肤分析专业版调用技能)
  • 巨子测肤 · 1'me 语音播报内容设计文档 V1.0
  • extractParamsFromWeigthMap$1
  • wi
  • gen_voice.py
  • initialize
  • face-api.js 本地化依赖(h5/vendor/faceapi/)
  • regression.js
  • isValidNumber
  • FaceMatcher
  • build-fixture.py
  • DetectSingleFaceLandmarksTask
  • so
  • tt
  • TinyYolov2
  • cn
  • .computeFaceDescriptor
  • SsdMobilenetv1
  • dr
  • FaceLandmark68Net
  • rescaleAndNormalize
  • PredictAllAgeAndGenderWithFaceAlignmentTask
  • PredictAllFaceExpressionsWithFaceAlignmentTask
  • PredictSingleAgeAndGenderWithFaceAlignmentTask
  • PredictSingleFaceExpressionsWithFaceAlignmentTask
  • Yo
  • call_skinanalyze_3view.sh
  • TinyXception
  • Vc
  • FaceDetection
  • ff
  • ge
  • sa
  • po
  • .dispose
  • call_skinanalyze.sh
  • .extractWeights
  • NeuralNetwork
  • e2e-browser.mjs
  • AgeGenderNet
  • FaceExpressionNet
  • PredictSingleFaceExpressionsTask

God Nodes (most connected - your core abstractions)

  1. __awaiter() - 59 edges
  2. __generator() - 59 edges
  3. n() - 36 edges
  4. t() - 33 edges
  5. i() - 33 edges
  6. r() - 32 edges
  7. C() - 32 edges
  8. toNetInput() - 27 edges
  9. e() - 22 edges
  10. f() - 20 edges

Surprising Connections (you probably didn't know these)

  • detectFrame() --indirect_call--> d() [INFERRED] h5/js/app.js → h5/vendor/faceapi/face-api.js
  • vizCompose() --indirect_call--> h() [INFERRED] 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] h5/js/app.js → h5/vendor/faceapi/face-api.js
  • renderReport() --indirect_call--> t() [INFERRED] h5/js/app.js → h5/vendor/faceapi/face-api.js

Import Cycles

  • None detected.

Communities (67 total, 21 thin omitted)

Community 0 - "face-api.js"

Cohesion: 0.02 Nodes (38): bn(), ca(), cd(), ce(), dn(), ee(), er(), et() (+30 more)

Community 1 - "n"

Cohesion: 0.07 Nodes (85): a(), ae(), ao(), b(), ba(), be(), bf(), bi() (+77 more)

Community 2 - "app.js"

Cohesion: 0.06 Nodes (71): afterCurrent(), applyMirror(), armNudge(), beginCountdown(), beginDetect(), bindBackdropClose(), busyWithFlow(), cancelCountdown() (+63 more)

Community 3 - "skin-score.js"

Cohesion: 0.12 Nodes (44): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+36 more)

Community 4 - "isTensor"

Cohesion: 0.33 Nodes (5): extractorsFactory$3(), extractParamsFromWeigthMap$4(), isTensor(), isTensor1D(), isTensor2D()

Community 5 - ".toBatchTensor"

Cohesion: 0.08 Nodes (30): conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm(), denseBlock3() (+22 more)

Community 6 - "getEnv"

Cohesion: 0.09 Nodes (26): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), DetectAllFacesTask(), DrawBox(), drawDetections(), drawFaceExpressions() (+18 more)

Community 7 - "FaceLandmarks"

Cohesion: 0.06 Nodes (16): bgrToRgbTensor(), extendWithFaceLandmarks(), FaceLandmark68NetBase(), FaceLandmarks(), FaceLandmarks5(), FaceLandmarks68(), getCenterPoint(), isDimensions() (+8 more)

Community 8 - "disposeUnusedWeightTensors"

Cohesion: 0.22 Nodes (6): disposeUnusedWeightTensors(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$6(), extractParamsFromWeigthMap$7(), extractParamsFromWeigthMapTiny()

Community 9 - "__awaiter"

Cohesion: 0.22 Nodes (8): __awaiter(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), Mtcnn(), toNetInput()

Community 10 - "extractWeightEntryFactory"

Cohesion: 0.53 Nodes (6): extractorsFactory$7(), extractWeightEntryFactory(), loadConvParamsFactory(), loadParamsFactory(), loadParamsFactory$1(), loadSeparableConvParamsFactory()

Community 11 - "FaceProcessor"

Cohesion: 0.24 Nodes (3): extractParams$1(), FaceLandmark68TinyNet(), FaceProcessor()

Community 12 - "server.js"

Cohesion: 0.14 Nodes (16): callFacepp(), CRED, DATA_DIR, ERR_MSG, fs, handleAnalyze(), http, isUsableB64() (+8 more)

Community 13 - "files"

Cohesion: 0.12 Nodes (15): files, analyze-fail, analyzing, countdown-321, hint-far, hint-front, hint-hold, hint-near (+7 more)

Community 14 - "extractAllFacesAndComputeResults"

Cohesion: 0.15 Nodes (8): extendWithAge(), extendWithFaceExpressions(), extendWithGender(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), PredictAllAgeAndGenderTask(), PredictAllFaceExpressionsTask(), PredictSingleAgeAndGenderTask()

Community 15 - ".runAndExtendWithFaceDetection"

Cohesion: 0.23 Nodes (6): allFacesMtcnn(), allFacesSsdMobilenetv1(), allFacesTinyYolov2(), DetectAllFaceLandmarksTask(), detectAllFaces(), DetectSingleFaceTask()

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.22 Nodes (6): Box(), extractFaces(), extractFaceTensors(), imageTensorToCanvas(), isTensor3D(), isTensor4D()

Community 18 - "1'me 在线肌肤测试 H5"

Cohesion: 0.18 Nodes (10): 1'me 在线肌肤测试 H5, Windows 本机部署(提测用), 密钥配置, 已知占位清单, 技术说明, 拍照交互(引导式自动三连拍), 本地运行, 检测流程与评分渲染 (+2 more)

Community 19 - "head-pose.js"

Cohesion: 0.33 Nodes (8): assertPoints(), check(), clamp(), dist(), estimate(), makeFrontal(), makeSide(), midpoint()

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 - ".forwardInput"

Cohesion: 0.22 Nodes (9): boxPredictionLayer(), decodeBoxesLayer(), depthwiseConvLayer(), getCenterCoordinatesAndSizesLayer(), getStridesForLayerIdx(), mobileNetV1(), outputLayer(), pointwiseConvLayer() (+1 more)

Community 22 - ".loadFromDisk"

Cohesion: 0.19 Nodes (5): ComposableTask(), getModelUris(), Gf(), loadWeightMap(), TinyFaceDetector()

Community 23 - "facepp-skinanalyze(旷视皮肤分析专业版调用技能)"

Cohesion: 0.20 Nodes (9): 1. 凭据(统一管理), 2. 标准调用模板(全可选参数,每次都带), 2b. 三视图调用模板(正脸 + 双侧脸 → 下颌线), 3.1 本轮踩过的坑(务必避复), 3. 三维度 × 6 分类 P/S 计算(2026-09-26 生效,取代旧六维), 4. 产品分组公式, 5. Excel 报告铁律(必须遵守), 6. 其他 Agent 调用约定 (+1 more)

Community 24 - "巨子测肤 · 1'me 语音播报内容设计文档 V1.0"

Cohesion: 0.22 Nodes (8): 1. 音频格式约定(已定), 2. 播报清单(14 条), 3. 播放策略(前端已实现侧约定), 4. 生成验收, A. 步骤引导(进入每个拍照步骤时播,与屏幕步骤文案一致), B. 姿态提示(实时检测不通过时播,同一提示 4 秒内不重复), C. 拍摄与流程, 巨子测肤 · 1'me 语音播报内容设计文档 V1.0

Community 25 - "extractParamsFromWeigthMap$1"

Cohesion: 0.40 Nodes (3): extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$3(), seperateWeightMaps()

Community 26 - "wi"

Cohesion: 0.28 Nodes (9): Ci(), Ei(), Fi(), Ii(), ki(), pe(), ri(), wi() (+1 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 - "initialize"

Cohesion: 0.29 Nodes (7): createBrowserEnv(), createFileSystem(), createNodejsEnv(), initialize(), isBrowser(), monkeyPatch(), setEnv()

Community 29 - "face-api.js 本地化依赖(h5/vendor/faceapi/)"

Cohesion: 0.29 Nodes (6): face-api.js 本地化依赖(h5/vendor/faceapi/), 为什么本地化, 文件清单与体积, 来源与版本, 用法, 许可证

Community 30 - "regression.js"

Cohesion: 0.60 Nodes (5): diffCtx(), loadJSON(), main(), okNum(), okStr()

Community 31 - "isValidNumber"

Cohesion: 0.50 Nodes (4): Dimensions(), isValidNumber(), isValidProbablitiy(), isWithGender()

Community 33 - "build-fixture.py"

Cohesion: 0.60 Nodes (4): main(), 递归缩放 result 内全部坐标:{left,top,width,height} 矩形与 {x,y} 点,与原数据同为整数。, scale_coords(), to_data_url()

Community 36 - "so"

Cohesion: 0.50 Nodes (4): Do(), io(), so(), To()

Community 37 - "tt"

Cohesion: 0.50 Nodes (4): kn(), tt(), wo(), z()

Community 39 - "cn"

Cohesion: 0.67 Nodes (3): cn(), en(), yn()

Community 40 - ".computeFaceDescriptor"

Cohesion: 0.18 Nodes (4): ComputeAllFaceDescriptorsTask(), ComputeSingleFaceDescriptorTask(), extendWithFaceDescriptor(), FaceRecognitionNet()

Community 41 - "SsdMobilenetv1"

Cohesion: 0.40 Nodes (3): extractorsFactory$5(), extractParamsFromWeigthMap$5(), SsdMobilenetv1()

Community 42 - "dr"

Cohesion: 0.67 Nodes (3): dr(), na(), ta()

Community 44 - "rescaleAndNormalize"

Cohesion: 0.67 Nodes (3): getSizesForScale(), normalize$1(), rescaleAndNormalize()

Community 49 - "Yo"

Cohesion: 0.67 Nodes (3): qo(), Xo(), Yo()

Community 58 - ".dispose"

Cohesion: 0.14 Nodes (13): computeReshapedDimensions(), extractBoundingBoxes(), iou(), isEven(), nonMaxSuppression(), nonMaxSuppression$1(), pyramidDown(), scale() (+5 more)

Community 61 - ".extractWeights"

Cohesion: 0.08 Nodes (25): createFaceDetectionNet(), createFaceRecognitionNet(), createMtcnn(), createSsdMobilenetv1(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory() (+17 more)

Community 63 - "e2e-browser.mjs"

Cohesion: 0.29 Nodes (4): EXPECTED, fails, pageErrors, pwRoot

Knowledge Gaps

  • 63 isolated node(s): step1-front, step2-rightface, step3-leftface, hint-noface, hint-near (+58 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 val() connect skin-score.js to extractFaces? High betweenness centrality (0.083) - this node is a cross-community bridge.
  • Why does vizCompose() connect app.js to n? High betweenness centrality (0.058) - this node is a cross-community bridge.
  • Why does Box() connect extractFaces to face-api.js, .dispose, isValidNumber, FaceLandmarks? High betweenness centrality (0.058) - this node is a cross-community bridge.
  • Are the 23 inferred relationships involving n() (e.g. with ae() and be()) actually correct? n() has 23 INFERRED edges - model-reasoned connections that need verification.
  • 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.
  • 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 step1-front, step2-rightface, step3-leftface to the rest of the system? 63 weakly-connected nodes found - possible documentation gaps or missing edges.