chore: 移除 graphify 日期快照目录

历史快照与根目录图重复,加入 ignore 防止再入库。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
xsl
2026-09-28 09:05:25 +08:00
co-authored by Cursor
parent ecb4bb2515
commit 67b6d86fce
9 changed files with 2 additions and 71773 deletions
@@ -1,63 +0,0 @@
{
"0": "face-api.js",
"1": "n",
"2": "app.js",
"3": "skin-score.js",
"4": "NeuralNetwork",
"5": ".toBatchTensor",
"6": "getEnv",
"7": "FaceLandmarks",
"8": "disposeUnusedWeightTensors",
"9": "__awaiter",
"10": ".dispose",
"11": "AgeGenderNet",
"12": "server.js",
"13": "files",
"14": "extractAllFacesAndComputeResults",
"15": ".runAndExtendWithFaceDetection",
"16": "巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范",
"17": "extractFaces",
"18": "1'me 在线肌肤测试 H5",
"19": "head-pose.js",
"20": "build_fixtures.py",
"21": ".forwardInput",
"22": ".loadFromDisk",
"23": "facepp-skinanalyze(旷视皮肤分析专业版调用技能)",
"24": "巨子测肤 · 1'me 语音播报内容设计文档 V1.0",
"25": ".predictAgeAndGender",
"26": "wi",
"27": "to_mp3",
"28": "initialize",
"29": "face-api.js 本地化依赖(h5/vendor/faceapi/)",
"30": "regression.js",
"31": "isValidNumber",
"32": "FaceMatcher",
"33": "build-fixture.py",
"34": "smoke-test.js",
"35": "DetectSingleFaceLandmarksTask",
"36": "so",
"37": "tt",
"38": "TinyYolov2",
"39": "cn",
"40": "ComputeAllFaceDescriptorsTask",
"41": "ComputeSingleFaceDescriptorTask",
"42": "dr",
"43": "FaceLandmark68Net",
"44": "rescaleAndNormalize",
"45": "PredictAllAgeAndGenderWithFaceAlignmentTask",
"46": "PredictAllFaceExpressionsWithFaceAlignmentTask",
"47": "PredictSingleAgeAndGenderWithFaceAlignmentTask",
"48": "PredictSingleFaceExpressionsWithFaceAlignmentTask",
"49": "Yo",
"50": "call_skinanalyze_3view.sh",
"51": "Vc",
"52": "createSsdMobilenetv1",
"53": "FaceDetection",
"54": "ff",
"55": "ge",
"56": "sa",
"57": "po",
"58": "wn",
"59": "call_skinanalyze.sh",
"60": "report-fixture.js"
}
-284
View File
@@ -1,284 +0,0 @@
# Graph Report - juzi (2026-09-27)
## Corpus Check
- 30 files · ~1,639,651 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 872 nodes · 2061 edges · 61 communities (41 shown, 20 thin omitted)
- Extraction: 92% EXTRACTED · 8% INFERRED · 0% AMBIGUOUS · INFERRED: 166 edges (avg confidence: 0.52)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `7d72d7dd`
- 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
- NeuralNetwork
- .toBatchTensor
- getEnv
- FaceLandmarks
- disposeUnusedWeightTensors
- __awaiter
- .dispose
- AgeGenderNet
- 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
- .predictAgeAndGender
- wi
- to_mp3
- initialize
- face-api.js 本地化依赖(h5/vendor/faceapi/)
- regression.js
- isValidNumber
- FaceMatcher
- build-fixture.py
- DetectSingleFaceLandmarksTask
- so
- tt
- TinyYolov2
- cn
- ComputeAllFaceDescriptorsTask
- ComputeSingleFaceDescriptorTask
- dr
- FaceLandmark68Net
- rescaleAndNormalize
- PredictAllAgeAndGenderWithFaceAlignmentTask
- PredictAllFaceExpressionsWithFaceAlignmentTask
- PredictSingleAgeAndGenderWithFaceAlignmentTask
- PredictSingleFaceExpressionsWithFaceAlignmentTask
- Yo
- call_skinanalyze_3view.sh
- Vc
- createSsdMobilenetv1
- FaceDetection
- ff
- ge
- sa
- po
- wn
- call_skinanalyze.sh
## 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 (61 total, 20 thin omitted)
### Community 0 - "face-api.js"
Cohesion: 0.02
Nodes (35): ca(), cd(), ce(), dn(), ee(), er(), et(), Ft() (+27 more)
### Community 1 - "n"
Cohesion: 0.07
Nodes (90): a(), ae(), ao(), b(), ba(), be(), bf(), bi() (+82 more)
### Community 2 - "app.js"
Cohesion: 0.08
Nodes (55): armNudge(), beginDetect(), bindBackdropClose(), cancelCountdown(), captureFromVideo(), cdTick(), closeOverlay(), detectFrame() (+47 more)
### Community 3 - "skin-score.js"
Cohesion: 0.12
Nodes (43): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+35 more)
### Community 4 - "NeuralNetwork"
Cohesion: 0.07
Nodes (26): createFaceRecognitionNet(), createMtcnn(), createTinyFaceDetector(), createTinyYolov2(), extractConvParamsFactory(), extractFCParamsFactory(), extractorsFactory(), extractorsFactory$1() (+18 more)
### Community 5 - ".toBatchTensor"
Cohesion: 0.08
Nodes (29): conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm(), denseBlock3() (+21 more)
### Community 6 - "getEnv"
Cohesion: 0.09
Nodes (26): awaitMediaLoaded(), bufferToImage(), createCanvas(), createCanvasFromMedia(), DetectAllFacesTask(), DrawBox(), drawDetections(), drawFaceExpressions() (+18 more)
### Community 7 - "FaceLandmarks"
Cohesion: 0.08
Nodes (11): extendWithFaceLandmarks(), FaceLandmark68NetBase(), FaceLandmarks(), FaceLandmarks5(), FaceLandmarks68(), getCenterPoint(), isDimensions(), minBbox() (+3 more)
### Community 8 - "disposeUnusedWeightTensors"
Cohesion: 0.09
Nodes (24): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+16 more)
### Community 9 - "__awaiter"
Cohesion: 0.17
Nodes (10): __awaiter(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), loadWeightMap(), Mtcnn() (+2 more)
### Community 10 - ".dispose"
Cohesion: 0.16
Nodes (13): computeReshapedDimensions(), extractBoundingBoxes(), iou(), isEven(), NetInput(), nonMaxSuppression(), nonMaxSuppression$1(), pyramidDown() (+5 more)
### Community 11 - "AgeGenderNet"
Cohesion: 0.12
Nodes (4): AgeGenderNet(), FaceExpressionNet(), 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.16
Nodes (7): extendWithFaceDescriptor(), extendWithFaceExpressions(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult(), FaceRecognitionNet(), PredictAllFaceExpressionsTask(), PredictSingleFaceExpressionsTask()
### 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.22
Nodes (4): ComposableTask(), getModelUris(), Gf(), 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 - ".predictAgeAndGender"
Cohesion: 0.28
Nodes (4): extendWithAge(), extendWithGender(), PredictAllAgeAndGenderTask(), PredictSingleAgeAndGenderTask()
### Community 26 - "wi"
Cohesion: 0.28
Nodes (9): Ci(), Ei(), Fi(), Ii(), ki(), pe(), ri(), wi() (+1 more)
### Community 27 - "to_mp3"
Cohesion: 0.32
Nodes (7): ndarray, Path, main(), 裁掉过长首尾静音,保留 ≤150ms 边沿,避免提示显迟钝。, 响度归一 −16 LUFS + 转 MP3 48k CBR mono 22050Hz。, to_mp3(), trim_edges()
### 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.33
Nodes (5): bgrToRgbTensor(), 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 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()
## Knowledge Gaps
- **59 isolated node(s):** `step1-front`, `step2-rightface`, `step3-leftface`, `hint-noface`, `hint-near` (+54 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **20 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.085) - this node is a cross-community bridge._
- **Why does `Box()` connect `extractFaces` to `face-api.js`, `.dispose`, `isValidNumber`, `FaceLandmarks`?**
_High betweenness centrality (0.059) - this node is a cross-community bridge._
- **Why does `vizCompose()` connect `app.js` to `n`?**
_High betweenness centrality (0.046) - 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?**
_59 weakly-connected nodes found - possible documentation gaps or missing edges._
File diff suppressed because it is too large Load Diff
-747
View File
@@ -1,747 +0,0 @@
{
"design/file-tree.json": {
"mtime": 1790000113.2956002,
"ast_hash": "88c90bbcbe3229fa637280968a08a0dd",
"semantic_hash": ""
},
"design/full.json": {
"mtime": 1790000315.5846467,
"ast_hash": "2de4a512da615f6d73cd4b8651e6a419",
"semantic_hash": ""
},
"design/imgusage.json": {
"mtime": 1790000370.6153483,
"ast_hash": "00b2a8d870c5324489f326969b1b4c85",
"semantic_hash": ""
},
"design/node-4-48.json": {
"mtime": 1790000094.0240362,
"ast_hash": "efb5bc302a86c3500cca0656d4710527",
"semantic_hash": ""
},
"h5/assets/mock/build-fixture.py": {
"mtime": 1790438217.8714879,
"ast_hash": "4f3674346eb7ddc1e7fba1d7de40a303",
"semantic_hash": ""
},
"h5/assets/mock/report-fixture.js": {
"mtime": 1790438217.8753266,
"ast_hash": "9d1dd004c7b50697afc0f252b6c1f211",
"semantic_hash": ""
},
"h5/assets/mock/smoke-test.js": {
"mtime": 1790438217.8753266,
"ast_hash": "4aa15834481b394b873c32f38c782bb0",
"semantic_hash": ""
},
"h5/assets/voice/manifest.json": {
"mtime": 1790438527.0770879,
"ast_hash": "bd691605fe7c997dea60869a892624c3",
"semantic_hash": ""
},
"h5/js/app.js": {
"mtime": 1790438217.8753266,
"ast_hash": "dd445cfefbe857ada5d85ccecf0b2fc3",
"semantic_hash": ""
},
"h5/js/head-pose.js": {
"mtime": 1790438217.8753266,
"ast_hash": "f928566874f9e7c00934730c451ee6de",
"semantic_hash": ""
},
"h5/js/skin-score.js": {
"mtime": 1790438217.8753266,
"ast_hash": "41f82f60bc65347ce5be9069a5970f09",
"semantic_hash": ""
},
"h5/server.js": {
"mtime": 1790438217.95594,
"ast_hash": "726b29c73cc7aa56233840c147d7ad88",
"semantic_hash": ""
},
"h5/test/build_fixtures.py": {
"mtime": 1790438217.95594,
"ast_hash": "71c960e0089ed6e10a26789f8aee17d3",
"semantic_hash": ""
},
"h5/test/fixtures/case1.json": {
"mtime": 1790438217.95594,
"ast_hash": "879ad7b59bd68ab233e20f90b76e3a9f",
"semantic_hash": ""
},
"h5/test/fixtures/case2.json": {
"mtime": 1790438217.95594,
"ast_hash": "66c1aaebec257b6d7ba237d7d4bbe3da",
"semantic_hash": ""
},
"h5/test/fixtures/truth.json": {
"mtime": 1790438217.95594,
"ast_hash": "c85c9f5317c0603afd0a04f1e92361bc",
"semantic_hash": ""
},
"h5/test/regression.js": {
"mtime": 1790438217.95594,
"ast_hash": "8de66612bb5edd6a977efb152b344368",
"semantic_hash": ""
},
"h5/vendor/faceapi/face-api.js": {
"mtime": 1790438217.9597785,
"ast_hash": "6939d12050455a60cdc7871d56e16d37",
"semantic_hash": ""
},
"h5/vendor/faceapi/models/face_landmark_68_model-weights_manifest.json": {
"mtime": 1790438217.9597785,
"ast_hash": "1d4029763003335bc6921aadeb58706a",
"semantic_hash": ""
},
"h5/vendor/faceapi/models/tiny_face_detector_model-weights_manifest.json": {
"mtime": 1790438217.9597785,
"ast_hash": "5bab50532388f5da9b4cd85b15adc11c",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/call_skinanalyze.sh": {
"mtime": 1790395590.0,
"ast_hash": "14041c2f7ede800a3d661e6d6dd31568",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/call_skinanalyze_3view.sh": {
"mtime": 1790407434.0,
"ast_hash": "f024f01d1869662aa896a69e5c7efd3b",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/last_3view_result.json": {
"mtime": 1790438217.9636173,
"ast_hash": "8097ab0b741dae75ea7aa07e506755f0",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/ref_3view_raw.json": {
"mtime": 1790438217.9904885,
"ast_hash": "bbd2255eecada059f2253e7adde0527a",
"semantic_hash": ""
},
"tools/gen_voice.py": {
"mtime": 1790438499.7577686,
"ast_hash": "d21110544d2bfaf18976d7683f1fbd0a",
"semantic_hash": ""
},
"design/\u8bbe\u8ba1\u89c4\u8303.md": {
"mtime": 1790049369.1868372,
"ast_hash": "cdddd8fbd14bcd79b66ec6c4b707d309",
"semantic_hash": ""
},
"docs/\u8bed\u97f3\u64ad\u62a5\u5185\u5bb9\u8bbe\u8ba1\u6587\u6863_V1.0.md": {
"mtime": 1790438217.8638105,
"ast_hash": "9806355900e41723870b8b79bcb442aa",
"semantic_hash": ""
},
"h5/README.md": {
"mtime": 1790438217.8638105,
"ast_hash": "79544a8fb1831a7cdfd1045e2a2e7393",
"semantic_hash": ""
},
"h5/index.html": {
"mtime": 1790438217.8753266,
"ast_hash": "33a56cc37cce3fd76d25dd3576776ac0",
"semantic_hash": ""
},
"h5/vendor/faceapi/README.md": {
"mtime": 1790438217.95594,
"ast_hash": "dac9995fc002041506663986698a82ae",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/SKILL.md": {
"mtime": 1790407478.0,
"ast_hash": "3a0039ccbaf7e2aa0f830486bcbd5391",
"semantic_hash": ""
},
"design/01-\u542f\u52a8\u9875.png": {
"mtime": 1790000154.6901708,
"ast_hash": "d2ca3923a7c401966a73e44d438ba4e7",
"semantic_hash": ""
},
"design/02-\u542f\u52a8\u9875\u5f39\u7a97.png": {
"mtime": 1790000158.6925905,
"ast_hash": "7f19630b71855608f9679132461d55ae",
"semantic_hash": ""
},
"design/03-\u6863\u6848\u586b\u5199.png": {
"mtime": 1790000162.200167,
"ast_hash": "9807a1be1ebe6e9f1c502571cbe54d78",
"semantic_hash": ""
},
"design/04-\u62cd\u7167\u5f39\u7a97.png": {
"mtime": 1790000166.471339,
"ast_hash": "f4a252af1137ed2187898e20a380a88f",
"semantic_hash": ""
},
"design/05-\u6b63\u9762.png": {
"mtime": 1790000168.8546982,
"ast_hash": "e4b3fa148783b4362d26347fd703c71b",
"semantic_hash": ""
},
"design/06-\u5de6\u9762.png": {
"mtime": 1790000173.1124754,
"ast_hash": "e637771b374a3ddd58324e8d97e3d4a2",
"semantic_hash": ""
},
"design/07-\u53f3\u9762.png": {
"mtime": 1790000175.8311493,
"ast_hash": "1a7b7e8c334a9209101e572103fa67c2",
"semantic_hash": ""
},
"design/08-\u62a5\u544a\u9875.png": {
"mtime": 1790000180.7451975,
"ast_hash": "4ff22bccae9a45c44df7c86fe6cb981f",
"semantic_hash": ""
},
"design/09-\u80a4\u8d28\u9009\u62e9.png": {
"mtime": 1790000513.5305562,
"ast_hash": "6d1e321fde605e85357a5be744c4def5",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-1.png": {
"mtime": 1790000430.1019387,
"ast_hash": "c6df1a56cf0e33713030e3eaa198a5e0",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-2.png": {
"mtime": 1790000404.3295372,
"ast_hash": "cf579c739843a70967ff2c422d0c9325",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-3.png": {
"mtime": 1790000421.2071846,
"ast_hash": "6936c50c6e4b85282ddbbda9577f8b9c",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-4.png": {
"mtime": 1790000399.6728995,
"ast_hash": "9e23a07171a70733d27aa782381d97e6",
"semantic_hash": ""
},
"design/assets/images/\u53f3\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000437.9018357,
"ast_hash": "b3e2b5821568a915996819c1cfc7a904",
"semantic_hash": ""
},
"design/assets/images/\u542f\u52a8\u9875-\u80cc\u666f.png": {
"mtime": 1790000413.581229,
"ast_hash": "bf422f0e71871971b2c80fe42be6b64b",
"semantic_hash": ""
},
"design/assets/images/\u542f\u52a8\u9875-\u9876\u90e8\u88c5\u9970.png": {
"mtime": 1790000426.6591818,
"ast_hash": "b8efcb504f76bd344db8d6e3033b6c3a",
"semantic_hash": ""
},
"design/assets/images/\u5de6\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000416.8443816,
"ast_hash": "77648573f074abec346a3d37e08bcf0a",
"semantic_hash": ""
},
"design/assets/images/\u62a5\u544a\u9875-\u80cc\u666f.png": {
"mtime": 1790000396.365109,
"ast_hash": "bae154cd0079887afd54061a9f82289d",
"semantic_hash": ""
},
"design/assets/images/\u6863\u6848\u586b\u5199-\u80cc\u666f.png": {
"mtime": 1790000418.3826458,
"ast_hash": "43803b9afed439c0a76644a3aedd9c43",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-1.png": {
"mtime": 1790000408.6502259,
"ast_hash": "974334dd6b09a2d433b1c332b078c552",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-2.png": {
"mtime": 1790000435.4466016,
"ast_hash": "0183da8dafa710b60f5bd050be660b4f",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-3.png": {
"mtime": 1790000432.671956,
"ast_hash": "bb835cb62b9d93edd9be15c00b08321e",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-4.png": {
"mtime": 1790000424.6448433,
"ast_hash": "8b58cd531d67b6cec999af5f70507d93",
"semantic_hash": ""
},
"design/assets/images/\u6b63\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000393.3901157,
"ast_hash": "16c0b62b53b41b1b0b9478b256bc4844",
"semantic_hash": ""
},
"design/assets/svg/\u54c1\u724c-1me.svg": {
"mtime": 1790000462.5893614,
"ast_hash": "9e2d6467c9652c0bf993a63a1cb4b86c",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u4e0b\u62c9\u4e0e\u8fd4\u56de.svg": {
"mtime": 1790000457.297922,
"ast_hash": "969224abe7e91e6c791c6d568a9f520c",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u5173\u95ed.svg": {
"mtime": 1790000455.4710763,
"ast_hash": "b5305a8fd62af5f2b572883261b6d01d",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u76f8\u518c.svg": {
"mtime": 1790000459.09632,
"ast_hash": "b88e51bfc2badd09969127d262692196",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u91cd\u62cd.svg": {
"mtime": 1790000460.9408302,
"ast_hash": "5851ef2c4d9d327e0d2ee5e75457c7f2",
"semantic_hash": ""
},
"design/assets/svg/\u62cd\u7167-\u5feb\u95e8.svg": {
"mtime": 1790000453.87119,
"ast_hash": "cf41a6fa1e677b1fb3e920bc8329a8bf",
"semantic_hash": ""
},
"design/assets/svg/\u6309\u94ae-\u4e3b\u6309\u94ae.svg": {
"mtime": 1790000452.1367342,
"ast_hash": "413cd4ae4a09fe4714e0ca11c12d0f23",
"semantic_hash": ""
},
"design/assets/svg/\u80a4\u8d28-\u9762\u90e8\u63d2\u753b.svg": {
"mtime": 1790000464.5260975,
"ast_hash": "d5196714a0b74dd1776c814b70fd34ca",
"semantic_hash": ""
},
"h5/assets/favicon.svg": {
"mtime": 1790049363.6837668,
"ast_hash": "c607b5042971f9c893c72c50ccabfbd2",
"semantic_hash": ""
},
"h5/assets/img/bg-splash.jpg": {
"mtime": 1790438217.8714879,
"ast_hash": "e1a17b5eca9b820d00e1f1f4ade26dd4",
"semantic_hash": ""
},
"h5/assets/img/cam-front.jpg": {
"mtime": 1790002769.368461,
"ast_hash": "c6fc84aa9669a62e93827a8afc8080c5",
"semantic_hash": ""
},
"h5/assets/img/cam-left.jpg": {
"mtime": 1790002769.3875551,
"ast_hash": "0204aaa790b6ec96458fe15cafc8c09f",
"semantic_hash": ""
},
"h5/assets/img/cam-right.jpg": {
"mtime": 1790002769.4104679,
"ast_hash": "778113ed834bf0d7524f285a4796d0c6",
"semantic_hash": ""
},
"h5/assets/img/det-1.jpg": {
"mtime": 1790002770.475919,
"ast_hash": "a40b32001b6eec4e540cf8c59ce6cfff",
"semantic_hash": ""
},
"h5/assets/img/det-2.jpg": {
"mtime": 1790002770.4835565,
"ast_hash": "32958edf9582ef0e76aae6ffbb234e88",
"semantic_hash": ""
},
"h5/assets/img/prod-1.jpg": {
"mtime": 1790002770.4491873,
"ast_hash": "f4785fb93b92b943bf82e33383bf2989",
"semantic_hash": ""
},
"h5/assets/img/skin-0-dry.png": {
"mtime": 1790002750.3837938,
"ast_hash": "d29aa6f0991f1d323c2070f8d176f29a",
"semantic_hash": ""
},
"h5/assets/img/skin-1-mixeddry.png": {
"mtime": 1790002752.342788,
"ast_hash": "bb292677c581ce480c1a46619c1a3875",
"semantic_hash": ""
},
"h5/assets/img/skin-2-neutral.png": {
"mtime": 1790002753.958099,
"ast_hash": "f355bd6e48f75ba4b3e15a8099e540f7",
"semantic_hash": ""
},
"h5/assets/img/skin-3-oily.png": {
"mtime": 1790002755.8330815,
"ast_hash": "be8f518b42e53cf97f57451c1270ac29",
"semantic_hash": ""
},
"h5/assets/img/skin-4-mixedoily.png": {
"mtime": 1790002759.3910704,
"ast_hash": "8aa99ca6593dcb550492ce483940807a",
"semantic_hash": ""
},
"h5/assets/svg/\u54c1\u724c-1me.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "9e2d6467c9652c0bf993a63a1cb4b86c",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u4e0b\u62c9\u4e0e\u8fd4\u56de.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "969224abe7e91e6c791c6d568a9f520c",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u5173\u95ed.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "b5305a8fd62af5f2b572883261b6d01d",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u76f8\u518c.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "b88e51bfc2badd09969127d262692196",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u91cd\u62cd.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "5851ef2c4d9d327e0d2ee5e75457c7f2",
"semantic_hash": ""
},
"h5/assets/svg/\u62cd\u7167-\u5feb\u95e8.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "cf41a6fa1e677b1fb3e920bc8329a8bf",
"semantic_hash": ""
},
"h5/preview/01-splash.png": {
"mtime": 1790050131.6772592,
"ast_hash": "c715cc3da1bad38ce7bf023746e8081e",
"semantic_hash": ""
},
"h5/preview/02-privacy.png": {
"mtime": 1790050131.6772592,
"ast_hash": "d04922d16ce5b9cdd7e7f2ac4c4b09a3",
"semantic_hash": ""
},
"h5/preview/03-policy.png": {
"mtime": 1790050131.6772592,
"ast_hash": "e8913d2d0d9aa11fb6c57f5c9bc774df",
"semantic_hash": ""
},
"h5/preview/04-profile.png": {
"mtime": 1790050131.6772592,
"ast_hash": "f0a6894d702f773ffb1bedd7b49812a2",
"semantic_hash": ""
},
"h5/preview/05-profile-skin1.png": {
"mtime": 1790050131.6772592,
"ast_hash": "1d47579cd47578c383e244e9aa6b9282",
"semantic_hash": ""
},
"h5/preview/06-profile-skin3.png": {
"mtime": 1790050131.6772592,
"ast_hash": "3974c06483739676578d320e485a7e8c",
"semantic_hash": ""
},
"h5/preview/07-photoguide.png": {
"mtime": 1790050131.6772592,
"ast_hash": "0d90b2f73832739a7f52c9a236114a60",
"semantic_hash": ""
},
"h5/preview/08-cam-front.png": {
"mtime": 1790050131.6772592,
"ast_hash": "00b06c0c1349e234a11c9cbfb05be09d",
"semantic_hash": ""
},
"h5/preview/09-cam-left.png": {
"mtime": 1790050131.6772592,
"ast_hash": "c5e439c7ff1870c7f2ac8409b18302ba",
"semantic_hash": ""
},
"h5/preview/10-cam-right.png": {
"mtime": 1790050131.6772592,
"ast_hash": "7b2d695b14d49a31227c5b3788afd98b",
"semantic_hash": ""
},
"h5/preview/11-report-top.png": {
"mtime": 1790050131.6772592,
"ast_hash": "c02509ee4f78ef5120a151fce6698d51",
"semantic_hash": ""
},
"h5/preview/12-report-mid.png": {
"mtime": 1790050131.6772592,
"ast_hash": "664b00f9c7123cd19aa98b9297d91552",
"semantic_hash": ""
},
"h5/preview/13-report-bottom.png": {
"mtime": 1790050131.6772592,
"ast_hash": "664b00f9c7123cd19aa98b9297d91552",
"semantic_hash": ""
},
"h5/preview/14-report-vm-viewport.png": {
"mtime": 1790438217.8791654,
"ast_hash": "180ce2cde0f2f40000cc7f8d6fe955c3",
"semantic_hash": ""
},
"h5/preview/15-report-vm-full.png": {
"mtime": 1790438217.8791654,
"ast_hash": "280932f0bc053e918c314cb745e851ae",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/01-splash.png": {
"mtime": 1790438217.8945203,
"ast_hash": "8e2627a1b5bc4bc112c89d0fc9ca0b15",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/02-privacy.png": {
"mtime": 1790438217.898359,
"ast_hash": "32bb6862f6706b46627d4ce93732fd74",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/03-profile.png": {
"mtime": 1790438217.898359,
"ast_hash": "50da58d92e1a70467cc79a370f0c0d4b",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/04-photoguide.png": {
"mtime": 1790438217.9021978,
"ast_hash": "dba989b00270fc733b2478ca4bc06bae",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/05-cam-step1.png": {
"mtime": 1790438217.9021978,
"ast_hash": "d0bf44295ec0eead4db79a8513e7cee6",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-bottom.png": {
"mtime": 1790438217.9060364,
"ast_hash": "33cb9b3ab0982b2c8d9ddab060153502",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab0.png": {
"mtime": 1790438217.9060364,
"ast_hash": "e0f8cb949cd37fe5fbec206ab9700d36",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab1.png": {
"mtime": 1790438217.9098752,
"ast_hash": "e693fbe6914b8f56cb186534493c7b83",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab2.png": {
"mtime": 1790438217.9098752,
"ast_hash": "f864c88ef9088ff1b130dd35372d150c",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-bottom.png": {
"mtime": 1790438217.9098752,
"ast_hash": "a458d0674304fb3b1312caa915c8e515",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab0.png": {
"mtime": 1790438217.913714,
"ast_hash": "923315723540ffd1e8759ffd6b29ffb8",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab1.png": {
"mtime": 1790438217.913714,
"ast_hash": "9c39170a3937002e8dc2a2a494c654f4",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab2.png": {
"mtime": 1790438217.9175527,
"ast_hash": "30a60c22a71b98c1c4ff8a2f065bae7e",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-end.png": {
"mtime": 1790438217.9175527,
"ast_hash": "0c46468e37116cdbc4380cf226630c70",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-mid.png": {
"mtime": 1790438217.9213915,
"ast_hash": "16ed812b52d452db5153bff5a8f3f964",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-top.png": {
"mtime": 1790438217.9213915,
"ast_hash": "29b3c9f9083afe6810a0c75e7b3a845b",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp352x736-splash.png": {
"mtime": 1790438217.9290688,
"ast_hash": "cc4e8f45d3a6aca94710b7c099cb895d",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp375x812-splash.png": {
"mtime": 1790438217.9329076,
"ast_hash": "8e2627a1b5bc4bc112c89d0fc9ca0b15",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp390x844-splash.png": {
"mtime": 1790438217.940585,
"ast_hash": "9a5d05c6534f65ba6cd244b2d2fc55c1",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp414x896-splash.png": {
"mtime": 1790438217.9521012,
"ast_hash": "09350489e9692fc8b3b7b70c1a0de047",
"semantic_hash": ""
},
"h5/preview/verify-report.png": {
"mtime": 1790438217.9521012,
"ast_hash": "65029ee2e9ee620e2513c999ad5650cb",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_-135.jpg": {
"mtime": 1790407491.0,
"ast_hash": "65e145520cf438df78b985ddddebe6fd",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_135.jpg": {
"mtime": 1790407491.0,
"ast_hash": "af8c5642cfa8b4a4af1f48e4bb02f602",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_180.jpg": {
"mtime": 1790407491.0,
"ast_hash": "3b3ba2bbe11175c76f25ea63730106bd",
"semantic_hash": ""
},
"h5/assets/voice/analyze-fail.mp3": {
"mtime": 1790438527.0770879,
"ast_hash": "d1c9babebdf8ce4a4b84cbcc91ae75a8",
"semantic_hash": ""
},
"h5/assets/voice/analyzing.mp3": {
"mtime": 1790438526.9699075,
"ast_hash": "215590766d8155ba6a31623ad124990f",
"semantic_hash": ""
},
"h5/assets/voice/countdown-321.mp3": {
"mtime": 1790438526.8627272,
"ast_hash": "1d897474c6efb542c0b27b862354a3af",
"semantic_hash": ""
},
"h5/assets/voice/hint-far.mp3": {
"mtime": 1790438526.610088,
"ast_hash": "5909ae510464763f60d0c0d22a8253e7",
"semantic_hash": ""
},
"h5/assets/voice/hint-front.mp3": {
"mtime": 1790438526.6636782,
"ast_hash": "fb3d866925dcde339e99a46a83c41598",
"semantic_hash": ""
},
"h5/assets/voice/hint-hold.mp3": {
"mtime": 1790438526.7938256,
"ast_hash": "a12c24dff61679831b24d9dfad121ad1",
"semantic_hash": ""
},
"h5/assets/voice/hint-near.mp3": {
"mtime": 1790438526.5718093,
"ast_hash": "eb3ad138d3d9bf45cefd82c8b1c2013f",
"semantic_hash": ""
},
"h5/assets/voice/hint-noface.mp3": {
"mtime": 1790438526.5105634,
"ast_hash": "c3ef6d710e1cacb9a03f00bf1a08fd45",
"semantic_hash": ""
},
"h5/assets/voice/hint-turn-left.mp3": {
"mtime": 1790438526.7057848,
"ast_hash": "03596c1fcd62f0656c0c674a67ac0649",
"semantic_hash": ""
},
"h5/assets/voice/hint-turn-right.mp3": {
"mtime": 1790438526.755547,
"ast_hash": "7a73db280cb86b3c513f044e6cceeaa2",
"semantic_hash": ""
},
"h5/assets/voice/shot-done.mp3": {
"mtime": 1790438526.897178,
"ast_hash": "09eaefdee08f5f5edbe75c58fe57f1ff",
"semantic_hash": ""
},
"h5/assets/voice/step1-front.mp3": {
"mtime": 1790438526.2005062,
"ast_hash": "8b19ad0d6dd7692bc6a10fcab5fd6ee7",
"semantic_hash": ""
},
"h5/assets/voice/step2-rightface.mp3": {
"mtime": 1790438526.322998,
"ast_hash": "8c0a0adf17ae494cc10d61d16c2bde90",
"semantic_hash": ""
},
"h5/assets/voice/step3-leftface.mp3": {
"mtime": 1790438526.3880718,
"ast_hash": "9f7ec9320aad81e86fbb1677228e6483",
"semantic_hash": ""
},
"tools/voice_wav_tmp/analyze-fail.wav": {
"mtime": 1790438526.9737353,
"ast_hash": "65abad5af593c912e19c245c6f14483c",
"semantic_hash": ""
},
"tools/voice_wav_tmp/analyzing.wav": {
"mtime": 1790438526.897178,
"ast_hash": "08ffd1d47f4c9d83f17120a938ef1839",
"semantic_hash": ""
},
"tools/voice_wav_tmp/countdown-321.wav": {
"mtime": 1790438526.7938256,
"ast_hash": "82f14bfa0ef5e7275be86db61b806285",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-far.wav": {
"mtime": 1790438526.5718093,
"ast_hash": "4b7b0555fc3a826bcb18d251247b6aea",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-front.wav": {
"mtime": 1790438526.613916,
"ast_hash": "64e7c24d89c5ded6bfcd7fabc8b9f314",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-hold.wav": {
"mtime": 1790438526.7593749,
"ast_hash": "406f91fa180fe2eb6502e26ab8d30170",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-near.wav": {
"mtime": 1790438526.5143914,
"ast_hash": "44baaf9c5b68bdcab51893d0464c950e",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-noface.wav": {
"mtime": 1790438526.3957274,
"ast_hash": "5289e30144bda0019352fcae944e253a",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-turn-left.wav": {
"mtime": 1790438526.667506,
"ast_hash": "cb4b8752c0d918e0a7d0f10eeeb510a8",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-turn-right.wav": {
"mtime": 1790438526.7096126,
"ast_hash": "61513064e4a0b0727e0e68ac5d41ed43",
"semantic_hash": ""
},
"tools/voice_wav_tmp/shot-done.wav": {
"mtime": 1790438526.866555,
"ast_hash": "b7053fef4fb194acb8646d105970fdaf",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step1-front.wav": {
"mtime": 1790438526.0703588,
"ast_hash": "f528486fa595066fb8c89ba68f82987f",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step2-rightface.wav": {
"mtime": 1790438526.204334,
"ast_hash": "5b4d9391087ec0f7aeaff7efdbacd39b",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step3-leftface.wav": {
"mtime": 1790438526.322998,
"ast_hash": "890de5970d83b76604a1823f47faa567",
"semantic_hash": ""
}
}
@@ -1,74 +0,0 @@
{
"0": "face-api.js",
"1": "n",
"2": "app.js",
"3": "skin-score.js",
"4": ".extractWeights",
"5": "normalize",
"6": ".runAndExtendWithFaceDetections",
"7": "FaceLandmarks",
"8": "disposeUnusedWeightTensors",
"9": "__awaiter",
"10": "iou",
"11": "FaceProcessor",
"12": "server.js",
"13": "files",
"14": "extractAllFacesAndComputeResults",
"15": ".run",
"16": "巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范",
"17": "extractFaces",
"18": "1'me 在线肌肤测试 H5",
"19": "head-pose.js",
"20": "build_fixtures.py",
"21": ".forwardInput",
"22": ".loadFromDisk",
"23": "facepp-skinanalyze(旷视皮肤分析专业版调用技能)",
"24": "巨子测肤 · 1'me 语音播报内容设计文档 V1.0",
"25": "Box",
"26": "wi",
"27": "gen_voice.py",
"28": "initialize",
"29": "face-api.js 本地化依赖(h5/vendor/faceapi/)",
"30": "regression.js",
"31": "isValidNumber",
"32": "FaceMatcher",
"33": "build-fixture.py",
"34": "smoke-test.js",
"35": "DetectSingleFaceLandmarksTask",
"36": "ao",
"37": "tt",
"38": "TinyYolov2",
"39": "cn",
"40": "ComputeAllFaceDescriptorsTask",
"41": "ComputeSingleFaceDescriptorTask",
"42": "dr",
"43": "FaceLandmark68Net",
"44": "rescaleAndNormalize",
"45": "PredictAllAgeAndGenderWithFaceAlignmentTask",
"46": "PredictAllFaceExpressionsWithFaceAlignmentTask",
"47": "PredictSingleAgeAndGenderWithFaceAlignmentTask",
"48": "PredictSingleFaceExpressionsWithFaceAlignmentTask",
"49": "Yo",
"50": "call_skinanalyze_3view.sh",
"51": ".draw",
"52": "createSsdMobilenetv1",
"53": "FaceDetection",
"54": "ff",
"55": "ge",
"56": "sa",
"57": "po",
"58": ".dispose",
"59": "call_skinanalyze.sh",
"60": "report-fixture.js",
"61": "extractWeightsFactory",
"62": "NeuralNetwork",
"63": "e2e-browser.mjs",
"64": "AgeGenderNet",
"65": "extractParams$4",
"66": "FaceExpressionNet",
"67": "extractParams$5",
"68": "PredictAllAgeAndGenderTask",
"69": "PredictAllFaceExpressionsTask",
"70": "PredictSingleAgeAndGenderTask",
"71": "PredictSingleFaceExpressionsTask"
}
-299
View File
@@ -1,299 +0,0 @@
# Graph Report - juzi (2026-09-28)
## Corpus Check
- 31 files · ~1,845,525 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 898 nodes · 2113 edges · 72 communities (42 shown, 30 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
- .extractWeights
- normalize
- .runAndExtendWithFaceDetections
- FaceLandmarks
- disposeUnusedWeightTensors
- __awaiter
- iou
- FaceProcessor
- server.js
- files
- extractAllFacesAndComputeResults
- .run
- 巨子测肤 · 1'me 在线肌肤测试 — UI 设计规范
- extractFaces
- 1'me 在线肌肤测试 H5
- head-pose.js
- build_fixtures.py
- .forwardInput
- .loadFromDisk
- facepp-skinanalyze(旷视皮肤分析专业版调用技能)
- 巨子测肤 · 1'me 语音播报内容设计文档 V1.0
- Box
- wi
- gen_voice.py
- initialize
- face-api.js 本地化依赖(h5/vendor/faceapi/)
- regression.js
- isValidNumber
- FaceMatcher
- build-fixture.py
- DetectSingleFaceLandmarksTask
- ao
- tt
- TinyYolov2
- cn
- ComputeAllFaceDescriptorsTask
- ComputeSingleFaceDescriptorTask
- dr
- FaceLandmark68Net
- rescaleAndNormalize
- PredictAllAgeAndGenderWithFaceAlignmentTask
- PredictAllFaceExpressionsWithFaceAlignmentTask
- PredictSingleAgeAndGenderWithFaceAlignmentTask
- PredictSingleFaceExpressionsWithFaceAlignmentTask
- Yo
- call_skinanalyze_3view.sh
- .draw
- createSsdMobilenetv1
- FaceDetection
- ff
- ge
- sa
- po
- .dispose
- call_skinanalyze.sh
- extractWeightsFactory
- NeuralNetwork
- e2e-browser.mjs
- AgeGenderNet
- extractParams$4
- FaceExpressionNet
- extractParams$5
- PredictAllAgeAndGenderTask
- PredictAllFaceExpressionsTask
- PredictSingleAgeAndGenderTask
- 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 (72 total, 30 thin omitted)
### Community 0 - "face-api.js"
Cohesion: 0.02
Nodes (38): ca(), ce(), computeReshapedDimensions(), dn(), ee(), er(), et(), FaceMatch() (+30 more)
### Community 1 - "n"
Cohesion: 0.06
Nodes (94): a(), ae(), b(), ba(), be(), bf(), bi(), bn() (+86 more)
### Community 2 - "app.js"
Cohesion: 0.07
Nodes (69): afterCurrent(), armNudge(), beginCountdown(), beginDetect(), bindBackdropClose(), busyWithFlow(), cancelCountdown(), captureFromVideo() (+61 more)
### Community 3 - "skin-score.js"
Cohesion: 0.12
Nodes (44): acneGrade(), buildViewModel(), calcAcne(), calcContour(), calcSens(), calcSmooth(), calcTone(), calcWrinkles() (+36 more)
### Community 4 - ".extractWeights"
Cohesion: 0.20
Nodes (8): createFaceRecognitionNet(), createMtcnn(), createTinyFaceDetector(), createTinyYolov2(), extractFCParamsFactory(), extractorsFactory$8(), extractParams$3(), extractParams$7()
### Community 5 - "normalize"
Cohesion: 0.07
Nodes (29): conv(), conv$1(), convDown(), convLayer(), convLayer$1(), convNoRelu(), convWithBatchNorm(), denseBlock3() (+21 more)
### Community 6 - ".runAndExtendWithFaceDetections"
Cohesion: 0.15
Nodes (11): DetectAllFacesTask(), DrawBox(), drawDetections(), drawFaceExpressions(), DrawFaceLandmarks(), extendWithFaceDetection(), FaceExpressions(), isWithFaceDetection() (+3 more)
### Community 7 - "FaceLandmarks"
Cohesion: 0.07
Nodes (13): extendWithFaceLandmarks(), FaceLandmark68NetBase(), FaceLandmarks(), FaceLandmarks5(), FaceLandmarks68(), getCenterPoint(), isDimensions(), minBbox() (+5 more)
### Community 8 - "disposeUnusedWeightTensors"
Cohesion: 0.10
Nodes (23): disposeUnusedWeightTensors(), extractorsFactory$3(), extractorsFactory$5(), extractorsFactory$7(), extractorsFactory$9(), extractParamsFromWeigthMap(), extractParamsFromWeigthMap$1(), extractParamsFromWeigthMap$2() (+15 more)
### Community 9 - "__awaiter"
Cohesion: 0.18
Nodes (10): __awaiter(), bufferToImage(), fetchImage(), fetchJson(), fetchNetWeights(), fetchOrThrow(), __generator(), loadWeightMap() (+2 more)
### Community 11 - "FaceProcessor"
Cohesion: 0.22
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.21
Nodes (6): extendWithAge(), extendWithFaceDescriptor(), extendWithFaceExpressions(), extendWithGender(), extractAllFacesAndComputeResults(), extractSingleFaceAndComputeResult()
### Community 15 - ".run"
Cohesion: 0.21
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.18
Nodes (18): awaitMediaLoaded(), createCanvas(), createCanvasFromMedia(), extractFaces(), extractFaceTensors(), extractImagePatches(), getContext2dOrThrow(), getEnv() (+10 more)
### 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.25
Nodes (3): ComposableTask(), getModelUris(), 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 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.22
Nodes (9): createBrowserEnv(), createFileSystem(), createNodejsEnv(), initialize(), isBrowser(), isNodejs(), monkeyPatch(), resolveInput() (+1 more)
### 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.33
Nodes (5): bgrToRgbTensor(), 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 - "ao"
Cohesion: 0.40
Nodes (5): ao(), 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 42 - "dr"
Cohesion: 0.50
Nodes (4): dr(), na(), nt(), 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.20
Nodes (8): extractBoundingBoxes(), nonMaxSuppression(), scale(), SsdMobilenetv1(), stage1(), stage2(), stage3(), TinyYolov2Base()
### Community 61 - "extractWeightsFactory"
Cohesion: 0.22
Nodes (10): extractConvParamsFactory(), extractorsFactory(), extractorsFactory$1(), extractorsFactory$6(), extractParams(), extractParams$2(), extractParams$6(), extractParamsTiny() (+2 more)
### Community 63 - "e2e-browser.mjs"
Cohesion: 0.29
Nodes (4): EXPECTED, fails, pageErrors, pwRoot
## Knowledge Gaps
- **63 isolated node(s):** `step1-front`, `step2-leftface`, `step3-rightface`, `hint-noface`, `hint-near` (+58 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **30 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 `Box`?**
_High betweenness centrality (0.083) - this node is a cross-community bridge._
- **Why does `Box()` connect `Box` to `face-api.js`, `isValidNumber`, `FaceLandmarks`?**
_High betweenness centrality (0.058) - this node is a cross-community bridge._
- **Why does `vizCompose()` connect `app.js` to `n`?**
_High betweenness centrality (0.057) - 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-leftface`, `step3-rightface` to the rest of the system?**
_63 weakly-connected nodes found - possible documentation gaps or missing edges._
File diff suppressed because it is too large Load Diff
-812
View File
@@ -1,812 +0,0 @@
{
"design/file-tree.json": {
"mtime": 1790000113.2956002,
"ast_hash": "88c90bbcbe3229fa637280968a08a0dd",
"semantic_hash": ""
},
"design/full.json": {
"mtime": 1790000315.5846467,
"ast_hash": "2de4a512da615f6d73cd4b8651e6a419",
"semantic_hash": ""
},
"design/imgusage.json": {
"mtime": 1790000370.6153483,
"ast_hash": "00b2a8d870c5324489f326969b1b4c85",
"semantic_hash": ""
},
"design/node-4-48.json": {
"mtime": 1790000094.0240362,
"ast_hash": "efb5bc302a86c3500cca0656d4710527",
"semantic_hash": ""
},
"h5/assets/mock/build-fixture.py": {
"mtime": 1790528158.658554,
"ast_hash": "759c1402050f8d09ac713c0ec45dd7ae",
"semantic_hash": ""
},
"h5/assets/mock/report-fixture.js": {
"mtime": 1790528158.6625543,
"ast_hash": "a29ac0b23b262206470345e32041a0c8",
"semantic_hash": ""
},
"h5/assets/mock/smoke-test.js": {
"mtime": 1790438217.8753266,
"ast_hash": "4aa15834481b394b873c32f38c782bb0",
"semantic_hash": ""
},
"h5/assets/voice/manifest.json": {
"mtime": 1790528422.8225558,
"ast_hash": "5ae7cc1c36fc4bed0017ac9dbf517acf",
"semantic_hash": ""
},
"h5/js/app.js": {
"mtime": 1790530694.3984115,
"ast_hash": "390ca82fc17f04546bc17adee8dcb7ef",
"semantic_hash": ""
},
"h5/js/head-pose.js": {
"mtime": 1790528422.8265557,
"ast_hash": "165cc2ae73d0a9526db0755ec62ffaac",
"semantic_hash": ""
},
"h5/js/skin-score.js": {
"mtime": 1790528158.6665542,
"ast_hash": "61d27784c13fc9fd5ea3b4e2f6187756",
"semantic_hash": ""
},
"h5/server.js": {
"mtime": 1790528158.6705542,
"ast_hash": "e23a541e2ce85e0815616071820b46ef",
"semantic_hash": ""
},
"h5/test/build_fixtures.py": {
"mtime": 1790438217.95594,
"ast_hash": "71c960e0089ed6e10a26789f8aee17d3",
"semantic_hash": ""
},
"h5/test/fixtures/case1.json": {
"mtime": 1790438217.95594,
"ast_hash": "879ad7b59bd68ab233e20f90b76e3a9f",
"semantic_hash": ""
},
"h5/test/fixtures/case2.json": {
"mtime": 1790438217.95594,
"ast_hash": "66c1aaebec257b6d7ba237d7d4bbe3da",
"semantic_hash": ""
},
"h5/test/fixtures/truth.json": {
"mtime": 1790438217.95594,
"ast_hash": "c85c9f5317c0603afd0a04f1e92361bc",
"semantic_hash": ""
},
"h5/test/regression.js": {
"mtime": 1790528158.6705542,
"ast_hash": "d83fc0a378d1117fc2203569d325ca24",
"semantic_hash": ""
},
"h5/vendor/faceapi/face-api.js": {
"mtime": 1790438217.9597785,
"ast_hash": "6939d12050455a60cdc7871d56e16d37",
"semantic_hash": ""
},
"h5/vendor/faceapi/models/face_landmark_68_model-weights_manifest.json": {
"mtime": 1790438217.9597785,
"ast_hash": "1d4029763003335bc6921aadeb58706a",
"semantic_hash": ""
},
"h5/vendor/faceapi/models/tiny_face_detector_model-weights_manifest.json": {
"mtime": 1790438217.9597785,
"ast_hash": "5bab50532388f5da9b4cd85b15adc11c",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/call_skinanalyze.sh": {
"mtime": 1790395590.0,
"ast_hash": "14041c2f7ede800a3d661e6d6dd31568",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/call_skinanalyze_3view.sh": {
"mtime": 1790407434.0,
"ast_hash": "f024f01d1869662aa896a69e5c7efd3b",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/last_3view_result.json": {
"mtime": 1790438217.9636173,
"ast_hash": "8097ab0b741dae75ea7aa07e506755f0",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/ref_3view_raw.json": {
"mtime": 1790438217.9904885,
"ast_hash": "bbd2255eecada059f2253e7adde0527a",
"semantic_hash": ""
},
"tools/gen_voice.py": {
"mtime": 1790528422.8265557,
"ast_hash": "d013b6add11227fba2750c3c32f6fd70",
"semantic_hash": ""
},
"design/\u8bbe\u8ba1\u89c4\u8303.md": {
"mtime": 1790049369.1868372,
"ast_hash": "cdddd8fbd14bcd79b66ec6c4b707d309",
"semantic_hash": ""
},
"docs/\u8bed\u97f3\u64ad\u62a5\u5185\u5bb9\u8bbe\u8ba1\u6587\u6863_V1.0.md": {
"mtime": 1790530239.438451,
"ast_hash": "b92987c9c6a608b38114e5bc807f898b",
"semantic_hash": ""
},
"h5/README.md": {
"mtime": 1790530240.070451,
"ast_hash": "160028aef32214dc2dbaee578ccc8231",
"semantic_hash": ""
},
"h5/index.html": {
"mtime": 1790530056.962443,
"ast_hash": "84b044c8318fada26e92f6a0b55dc9e7",
"semantic_hash": ""
},
"h5/vendor/faceapi/README.md": {
"mtime": 1790438217.95594,
"ast_hash": "dac9995fc002041506663986698a82ae",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/SKILL.md": {
"mtime": 1790407478.0,
"ast_hash": "3a0039ccbaf7e2aa0f830486bcbd5391",
"semantic_hash": ""
},
"design/01-\u542f\u52a8\u9875.png": {
"mtime": 1790000154.6901708,
"ast_hash": "d2ca3923a7c401966a73e44d438ba4e7",
"semantic_hash": ""
},
"design/02-\u542f\u52a8\u9875\u5f39\u7a97.png": {
"mtime": 1790000158.6925905,
"ast_hash": "7f19630b71855608f9679132461d55ae",
"semantic_hash": ""
},
"design/03-\u6863\u6848\u586b\u5199.png": {
"mtime": 1790000162.200167,
"ast_hash": "9807a1be1ebe6e9f1c502571cbe54d78",
"semantic_hash": ""
},
"design/04-\u62cd\u7167\u5f39\u7a97.png": {
"mtime": 1790000166.471339,
"ast_hash": "f4a252af1137ed2187898e20a380a88f",
"semantic_hash": ""
},
"design/05-\u6b63\u9762.png": {
"mtime": 1790000168.8546982,
"ast_hash": "e4b3fa148783b4362d26347fd703c71b",
"semantic_hash": ""
},
"design/06-\u5de6\u9762.png": {
"mtime": 1790000173.1124754,
"ast_hash": "e637771b374a3ddd58324e8d97e3d4a2",
"semantic_hash": ""
},
"design/07-\u53f3\u9762.png": {
"mtime": 1790000175.8311493,
"ast_hash": "1a7b7e8c334a9209101e572103fa67c2",
"semantic_hash": ""
},
"design/08-\u62a5\u544a\u9875.png": {
"mtime": 1790000180.7451975,
"ast_hash": "4ff22bccae9a45c44df7c86fe6cb981f",
"semantic_hash": ""
},
"design/09-\u80a4\u8d28\u9009\u62e9.png": {
"mtime": 1790000513.5305562,
"ast_hash": "6d1e321fde605e85357a5be744c4def5",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-1.png": {
"mtime": 1790000430.1019387,
"ast_hash": "c6df1a56cf0e33713030e3eaa198a5e0",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-2.png": {
"mtime": 1790000404.3295372,
"ast_hash": "cf579c739843a70967ff2c422d0c9325",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-3.png": {
"mtime": 1790000421.2071846,
"ast_hash": "6936c50c6e4b85282ddbbda9577f8b9c",
"semantic_hash": ""
},
"design/assets/images/\u4ea7\u54c1\u56fe-4.png": {
"mtime": 1790000399.6728995,
"ast_hash": "9e23a07171a70733d27aa782381d97e6",
"semantic_hash": ""
},
"design/assets/images/\u53f3\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000437.9018357,
"ast_hash": "b3e2b5821568a915996819c1cfc7a904",
"semantic_hash": ""
},
"design/assets/images/\u542f\u52a8\u9875-\u80cc\u666f.png": {
"mtime": 1790000413.581229,
"ast_hash": "bf422f0e71871971b2c80fe42be6b64b",
"semantic_hash": ""
},
"design/assets/images/\u542f\u52a8\u9875-\u9876\u90e8\u88c5\u9970.png": {
"mtime": 1790000426.6591818,
"ast_hash": "b8efcb504f76bd344db8d6e3033b6c3a",
"semantic_hash": ""
},
"design/assets/images/\u5de6\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000416.8443816,
"ast_hash": "77648573f074abec346a3d37e08bcf0a",
"semantic_hash": ""
},
"design/assets/images/\u62a5\u544a\u9875-\u80cc\u666f.png": {
"mtime": 1790000396.365109,
"ast_hash": "bae154cd0079887afd54061a9f82289d",
"semantic_hash": ""
},
"design/assets/images/\u6863\u6848\u586b\u5199-\u80cc\u666f.png": {
"mtime": 1790000418.3826458,
"ast_hash": "43803b9afed439c0a76644a3aedd9c43",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-1.png": {
"mtime": 1790000408.6502259,
"ast_hash": "974334dd6b09a2d433b1c332b078c552",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-2.png": {
"mtime": 1790000435.4466016,
"ast_hash": "0183da8dafa710b60f5bd050be660b4f",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-3.png": {
"mtime": 1790000432.671956,
"ast_hash": "bb835cb62b9d93edd9be15c00b08321e",
"semantic_hash": ""
},
"design/assets/images/\u68c0\u6d4b\u56fe-4.png": {
"mtime": 1790000424.6448433,
"ast_hash": "8b58cd531d67b6cec999af5f70507d93",
"semantic_hash": ""
},
"design/assets/images/\u6b63\u9762-\u62cd\u7167\u793a\u610f.png": {
"mtime": 1790000393.3901157,
"ast_hash": "16c0b62b53b41b1b0b9478b256bc4844",
"semantic_hash": ""
},
"design/assets/svg/\u54c1\u724c-1me.svg": {
"mtime": 1790000462.5893614,
"ast_hash": "9e2d6467c9652c0bf993a63a1cb4b86c",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u4e0b\u62c9\u4e0e\u8fd4\u56de.svg": {
"mtime": 1790000457.297922,
"ast_hash": "969224abe7e91e6c791c6d568a9f520c",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u5173\u95ed.svg": {
"mtime": 1790000455.4710763,
"ast_hash": "b5305a8fd62af5f2b572883261b6d01d",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u76f8\u518c.svg": {
"mtime": 1790000459.09632,
"ast_hash": "b88e51bfc2badd09969127d262692196",
"semantic_hash": ""
},
"design/assets/svg/\u56fe\u6807-\u91cd\u62cd.svg": {
"mtime": 1790000460.9408302,
"ast_hash": "5851ef2c4d9d327e0d2ee5e75457c7f2",
"semantic_hash": ""
},
"design/assets/svg/\u62cd\u7167-\u5feb\u95e8.svg": {
"mtime": 1790000453.87119,
"ast_hash": "cf41a6fa1e677b1fb3e920bc8329a8bf",
"semantic_hash": ""
},
"design/assets/svg/\u6309\u94ae-\u4e3b\u6309\u94ae.svg": {
"mtime": 1790000452.1367342,
"ast_hash": "413cd4ae4a09fe4714e0ca11c12d0f23",
"semantic_hash": ""
},
"design/assets/svg/\u80a4\u8d28-\u9762\u90e8\u63d2\u753b.svg": {
"mtime": 1790000464.5260975,
"ast_hash": "d5196714a0b74dd1776c814b70fd34ca",
"semantic_hash": ""
},
"h5/assets/favicon.svg": {
"mtime": 1790049363.6837668,
"ast_hash": "c607b5042971f9c893c72c50ccabfbd2",
"semantic_hash": ""
},
"h5/assets/img/bg-splash.jpg": {
"mtime": 1790438217.8714879,
"ast_hash": "e1a17b5eca9b820d00e1f1f4ade26dd4",
"semantic_hash": ""
},
"h5/assets/img/cam-front.jpg": {
"mtime": 1790002769.368461,
"ast_hash": "c6fc84aa9669a62e93827a8afc8080c5",
"semantic_hash": ""
},
"h5/assets/img/cam-left.jpg": {
"mtime": 1790528422.8225558,
"ast_hash": "778113ed834bf0d7524f285a4796d0c6",
"semantic_hash": ""
},
"h5/assets/img/cam-right.jpg": {
"mtime": 1790528422.8225558,
"ast_hash": "0204aaa790b6ec96458fe15cafc8c09f",
"semantic_hash": ""
},
"h5/assets/img/det-1.jpg": {
"mtime": 1790002770.475919,
"ast_hash": "a40b32001b6eec4e540cf8c59ce6cfff",
"semantic_hash": ""
},
"h5/assets/img/det-2.jpg": {
"mtime": 1790002770.4835565,
"ast_hash": "32958edf9582ef0e76aae6ffbb234e88",
"semantic_hash": ""
},
"h5/assets/img/prod-1.jpg": {
"mtime": 1790002770.4491873,
"ast_hash": "f4785fb93b92b943bf82e33383bf2989",
"semantic_hash": ""
},
"h5/assets/img/skin-0-dry.png": {
"mtime": 1790002750.3837938,
"ast_hash": "d29aa6f0991f1d323c2070f8d176f29a",
"semantic_hash": ""
},
"h5/assets/img/skin-1-mixeddry.png": {
"mtime": 1790002752.342788,
"ast_hash": "bb292677c581ce480c1a46619c1a3875",
"semantic_hash": ""
},
"h5/assets/img/skin-2-neutral.png": {
"mtime": 1790002753.958099,
"ast_hash": "f355bd6e48f75ba4b3e15a8099e540f7",
"semantic_hash": ""
},
"h5/assets/img/skin-3-oily.png": {
"mtime": 1790002755.8330815,
"ast_hash": "be8f518b42e53cf97f57451c1270ac29",
"semantic_hash": ""
},
"h5/assets/img/skin-4-mixedoily.png": {
"mtime": 1790002759.3910704,
"ast_hash": "8aa99ca6593dcb550492ce483940807a",
"semantic_hash": ""
},
"h5/assets/svg/\u54c1\u724c-1me.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "9e2d6467c9652c0bf993a63a1cb4b86c",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u4e0b\u62c9\u4e0e\u8fd4\u56de.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "969224abe7e91e6c791c6d568a9f520c",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u5173\u95ed.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "b5305a8fd62af5f2b572883261b6d01d",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u76f8\u518c.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "b88e51bfc2badd09969127d262692196",
"semantic_hash": ""
},
"h5/assets/svg/\u56fe\u6807-\u91cd\u62cd.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "5851ef2c4d9d327e0d2ee5e75457c7f2",
"semantic_hash": ""
},
"h5/assets/svg/\u62cd\u7167-\u5feb\u95e8.svg": {
"mtime": 1790002759.3987067,
"ast_hash": "cf41a6fa1e677b1fb3e920bc8329a8bf",
"semantic_hash": ""
},
"h5/preview/01-splash.png": {
"mtime": 1790050131.6772592,
"ast_hash": "c715cc3da1bad38ce7bf023746e8081e",
"semantic_hash": ""
},
"h5/preview/02-privacy.png": {
"mtime": 1790050131.6772592,
"ast_hash": "d04922d16ce5b9cdd7e7f2ac4c4b09a3",
"semantic_hash": ""
},
"h5/preview/03-policy.png": {
"mtime": 1790050131.6772592,
"ast_hash": "e8913d2d0d9aa11fb6c57f5c9bc774df",
"semantic_hash": ""
},
"h5/preview/04-profile.png": {
"mtime": 1790050131.6772592,
"ast_hash": "f0a6894d702f773ffb1bedd7b49812a2",
"semantic_hash": ""
},
"h5/preview/05-profile-skin1.png": {
"mtime": 1790050131.6772592,
"ast_hash": "1d47579cd47578c383e244e9aa6b9282",
"semantic_hash": ""
},
"h5/preview/06-profile-skin3.png": {
"mtime": 1790050131.6772592,
"ast_hash": "3974c06483739676578d320e485a7e8c",
"semantic_hash": ""
},
"h5/preview/07-photoguide.png": {
"mtime": 1790050131.6772592,
"ast_hash": "0d90b2f73832739a7f52c9a236114a60",
"semantic_hash": ""
},
"h5/preview/08-cam-front.png": {
"mtime": 1790528422.8265557,
"ast_hash": "6a91a1ad636b7dfc6894b24dbf56a28b",
"semantic_hash": ""
},
"h5/preview/09-cam-left.png": {
"mtime": 1790528422.8265557,
"ast_hash": "b5112fc38a23d5a56705a54bc4459120",
"semantic_hash": ""
},
"h5/preview/10-cam-right.png": {
"mtime": 1790528422.8265557,
"ast_hash": "336a83daf1bb236f1eba0938cffba08d",
"semantic_hash": ""
},
"h5/preview/11-report-top.png": {
"mtime": 1790050131.6772592,
"ast_hash": "c02509ee4f78ef5120a151fce6698d51",
"semantic_hash": ""
},
"h5/preview/12-report-mid.png": {
"mtime": 1790050131.6772592,
"ast_hash": "664b00f9c7123cd19aa98b9297d91552",
"semantic_hash": ""
},
"h5/preview/13-report-bottom.png": {
"mtime": 1790050131.6772592,
"ast_hash": "664b00f9c7123cd19aa98b9297d91552",
"semantic_hash": ""
},
"h5/preview/14-report-vm-viewport.png": {
"mtime": 1790438217.8791654,
"ast_hash": "180ce2cde0f2f40000cc7f8d6fe955c3",
"semantic_hash": ""
},
"h5/preview/15-report-vm-full.png": {
"mtime": 1790438217.8791654,
"ast_hash": "280932f0bc053e918c314cb745e851ae",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/01-splash.png": {
"mtime": 1790438217.8945203,
"ast_hash": "8e2627a1b5bc4bc112c89d0fc9ca0b15",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/02-privacy.png": {
"mtime": 1790438217.898359,
"ast_hash": "32bb6862f6706b46627d4ce93732fd74",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/03-profile.png": {
"mtime": 1790438217.898359,
"ast_hash": "50da58d92e1a70467cc79a370f0c0d4b",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/04-photoguide.png": {
"mtime": 1790438217.9021978,
"ast_hash": "dba989b00270fc733b2478ca4bc06bae",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/05-cam-step1.png": {
"mtime": 1790438217.9021978,
"ast_hash": "d0bf44295ec0eead4db79a8513e7cee6",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-bottom.png": {
"mtime": 1790438217.9060364,
"ast_hash": "33cb9b3ab0982b2c8d9ddab060153502",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab0.png": {
"mtime": 1790438217.9060364,
"ast_hash": "e0f8cb949cd37fe5fbec206ab9700d36",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab1.png": {
"mtime": 1790438217.9098752,
"ast_hash": "e693fbe6914b8f56cb186534493c7b83",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/06-mock-report-tab2.png": {
"mtime": 1790438217.9098752,
"ast_hash": "f864c88ef9088ff1b130dd35372d150c",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-bottom.png": {
"mtime": 1790438217.9098752,
"ast_hash": "a458d0674304fb3b1312caa915c8e515",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab0.png": {
"mtime": 1790438217.913714,
"ast_hash": "923315723540ffd1e8759ffd6b29ffb8",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab1.png": {
"mtime": 1790438217.913714,
"ast_hash": "9c39170a3937002e8dc2a2a494c654f4",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/08-real-report-tab2.png": {
"mtime": 1790438217.9175527,
"ast_hash": "30a60c22a71b98c1c4ff8a2f065bae7e",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-end.png": {
"mtime": 1790438217.9175527,
"ast_hash": "0c46468e37116cdbc4380cf226630c70",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-mid.png": {
"mtime": 1790438217.9213915,
"ast_hash": "16ed812b52d452db5153bff5a8f3f964",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/09-policy-top.png": {
"mtime": 1790438217.9213915,
"ast_hash": "29b3c9f9083afe6810a0c75e7b3a845b",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp352x736-splash.png": {
"mtime": 1790438217.9290688,
"ast_hash": "cc4e8f45d3a6aca94710b7c099cb895d",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp375x812-splash.png": {
"mtime": 1790438217.9329076,
"ast_hash": "8e2627a1b5bc4bc112c89d0fc9ca0b15",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp390x844-splash.png": {
"mtime": 1790438217.940585,
"ast_hash": "9a5d05c6534f65ba6cd244b2d2fc55c1",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/vp414x896-splash.png": {
"mtime": 1790438217.9521012,
"ast_hash": "09350489e9692fc8b3b7b70c1a0de047",
"semantic_hash": ""
},
"h5/preview/verify-report.png": {
"mtime": 1790438217.9521012,
"ast_hash": "65029ee2e9ee620e2513c999ad5650cb",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_-135.jpg": {
"mtime": 1790407491.0,
"ast_hash": "65e145520cf438df78b985ddddebe6fd",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_135.jpg": {
"mtime": 1790407491.0,
"ast_hash": "af8c5642cfa8b4a4af1f48e4bb02f602",
"semantic_hash": ""
},
"reference/facepp-skinanalyze/examples/images/C3_180.jpg": {
"mtime": 1790407491.0,
"ast_hash": "3b3ba2bbe11175c76f25ea63730106bd",
"semantic_hash": ""
},
"h5/assets/voice/analyze-fail.mp3": {
"mtime": 1790438527.0770879,
"ast_hash": "d1c9babebdf8ce4a4b84cbcc91ae75a8",
"semantic_hash": ""
},
"h5/assets/voice/analyzing.mp3": {
"mtime": 1790438526.9699075,
"ast_hash": "215590766d8155ba6a31623ad124990f",
"semantic_hash": ""
},
"h5/assets/voice/countdown-321.mp3": {
"mtime": 1790476628.9047492,
"ast_hash": "2d70857eb145ff43c48070e3b1dc68e7",
"semantic_hash": ""
},
"h5/assets/voice/hint-far.mp3": {
"mtime": 1790438526.610088,
"ast_hash": "5909ae510464763f60d0c0d22a8253e7",
"semantic_hash": ""
},
"h5/assets/voice/hint-front.mp3": {
"mtime": 1790438526.6636782,
"ast_hash": "fb3d866925dcde339e99a46a83c41598",
"semantic_hash": ""
},
"h5/assets/voice/hint-hold.mp3": {
"mtime": 1790438526.7938256,
"ast_hash": "a12c24dff61679831b24d9dfad121ad1",
"semantic_hash": ""
},
"h5/assets/voice/hint-near.mp3": {
"mtime": 1790438526.5718093,
"ast_hash": "eb3ad138d3d9bf45cefd82c8b1c2013f",
"semantic_hash": ""
},
"h5/assets/voice/hint-noface.mp3": {
"mtime": 1790438526.5105634,
"ast_hash": "c3ef6d710e1cacb9a03f00bf1a08fd45",
"semantic_hash": ""
},
"h5/assets/voice/hint-turn-left.mp3": {
"mtime": 1790438526.7057848,
"ast_hash": "03596c1fcd62f0656c0c674a67ac0649",
"semantic_hash": ""
},
"h5/assets/voice/hint-turn-right.mp3": {
"mtime": 1790438526.755547,
"ast_hash": "7a73db280cb86b3c513f044e6cceeaa2",
"semantic_hash": ""
},
"h5/assets/voice/shot-done.mp3": {
"mtime": 1790438526.897178,
"ast_hash": "09eaefdee08f5f5edbe75c58fe57f1ff",
"semantic_hash": ""
},
"h5/assets/voice/step1-front.mp3": {
"mtime": 1790438526.2005062,
"ast_hash": "8b19ad0d6dd7692bc6a10fcab5fd6ee7",
"semantic_hash": ""
},
"tools/voice_wav_tmp/analyze-fail.wav": {
"mtime": 1790438526.9737353,
"ast_hash": "65abad5af593c912e19c245c6f14483c",
"semantic_hash": ""
},
"tools/voice_wav_tmp/analyzing.wav": {
"mtime": 1790438526.897178,
"ast_hash": "08ffd1d47f4c9d83f17120a938ef1839",
"semantic_hash": ""
},
"tools/voice_wav_tmp/countdown-321.wav": {
"mtime": 1790476628.7545965,
"ast_hash": "3b8e9ffcab556fd7adf8ec393bc39a82",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-far.wav": {
"mtime": 1790438526.5718093,
"ast_hash": "4b7b0555fc3a826bcb18d251247b6aea",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-front.wav": {
"mtime": 1790438526.613916,
"ast_hash": "64e7c24d89c5ded6bfcd7fabc8b9f314",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-hold.wav": {
"mtime": 1790438526.7593749,
"ast_hash": "406f91fa180fe2eb6502e26ab8d30170",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-near.wav": {
"mtime": 1790438526.5143914,
"ast_hash": "44baaf9c5b68bdcab51893d0464c950e",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-noface.wav": {
"mtime": 1790438526.3957274,
"ast_hash": "5289e30144bda0019352fcae944e253a",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-turn-left.wav": {
"mtime": 1790438526.667506,
"ast_hash": "cb4b8752c0d918e0a7d0f10eeeb510a8",
"semantic_hash": ""
},
"tools/voice_wav_tmp/hint-turn-right.wav": {
"mtime": 1790438526.7096126,
"ast_hash": "61513064e4a0b0727e0e68ac5d41ed43",
"semantic_hash": ""
},
"tools/voice_wav_tmp/shot-done.wav": {
"mtime": 1790438526.866555,
"ast_hash": "b7053fef4fb194acb8646d105970fdaf",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step1-front.wav": {
"mtime": 1790438526.0703588,
"ast_hash": "f528486fa595066fb8c89ba68f82987f",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step2-rightface.wav": {
"mtime": 1790438526.204334,
"ast_hash": "5b4d9391087ec0f7aeaff7efdbacd39b",
"semantic_hash": ""
},
"tools/voice_wav_tmp/step3-leftface.wav": {
"mtime": 1790438526.322998,
"ast_hash": "890de5970d83b76604a1823f47faa567",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/10-history-list.png": {
"mtime": 1790476530.4511077,
"ast_hash": "98aac9734d0734ab786479ea4b46db55",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/11-auto3shot-report.png": {
"mtime": 1790476530.4548612,
"ast_hash": "010ce5731435048085fe4a2ae4edd558",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/debug-cam-live.png": {
"mtime": 1790476530.4548612,
"ast_hash": "6519b24c8da157b893ec654fec5c6457",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r6-region.png": {
"mtime": 1790476530.4586143,
"ast_hash": "641d1de74e43e17f59c93083eb449a87",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r6-report.png": {
"mtime": 1790476530.4586143,
"ast_hash": "411861be4980af6506712519d63fb5e1",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r7-policy.png": {
"mtime": 1790476530.4586143,
"ast_hash": "b18e55a76b10c77f68934c9655d323aa",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r7-tab1.png": {
"mtime": 1790476530.4586143,
"ast_hash": "731fac1d0ce5efb0d8914b18b51c2177",
"semantic_hash": ""
},
"h5/test/e2e-browser.mjs": {
"mtime": 1790530426.5784566,
"ast_hash": "9421a74ff984165fc8d326122af15177",
"semantic_hash": ""
},
"h5/assets/svg/prod-badge.svg": {
"mtime": 1790528422.8225558,
"ast_hash": "672628fa098279e7ff6af11ac46f0d40",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r8-cam-step2.png": {
"mtime": 1790528158.6665542,
"ast_hash": "426f78d3a7707a6055de143e1b7db62f",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r8-report-mid.png": {
"mtime": 1790528158.6665542,
"ast_hash": "fa33c1814681a8875c059535725cc3fb",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r9-hint.png": {
"mtime": 1790528158.6705542,
"ast_hash": "12e66e2c4dd2a2eb3868e9ebf3422823",
"semantic_hash": ""
},
"h5/preview/e2e-20260926/r9-tab.png": {
"mtime": 1790528158.6705542,
"ast_hash": "5844e3cdce417de3c7cd448cc226688b",
"semantic_hash": ""
},
"h5/assets/voice/step2-leftface.mp3": {
"mtime": 1790528422.8225558,
"ast_hash": "9f7ec9320aad81e86fbb1677228e6483",
"semantic_hash": ""
},
"h5/assets/voice/step3-rightface.mp3": {
"mtime": 1790528422.8225558,
"ast_hash": "8c0a0adf17ae494cc10d61d16c2bde90",
"semantic_hash": ""
}
}