{ "landmarks": { "coordSystem": "screen (image pixel: x=0 좌측, y=0 상단; left=작은 x, right=큰 x; 인물 해부학적 좌우 아님)", "eyeLeft": { "innerCorner": [ 430.65, 594.22 ], "outerCorner": [ 337.59, 576.66 ], "upperLidTop": [ 375.88, 563.92 ], "lowerLidBottom": [ 380.92, 598.49 ], "iris": { "center": [ 384.73, 580.01 ], "radius": 21.31 } }, "eyeRight": { "innerCorner": [ 566.39, 593.44 ], "outerCorner": [ 659.22, 572.86 ], "upperLidTop": [ 621.39, 561.68 ], "lowerLidBottom": [ 616.77, 596.57 ], "iris": { "center": [ 613.31, 577.95 ], "radius": 21.41 } }, "eyebrowLeft": { "inner": [ 449.35, 524.62 ], "peak": [ 353.25, 508.35 ], "outer": [ 303.65, 507.6 ] }, "eyebrowRight": { "inner": [ 540.92, 523.73 ], "peak": [ 642.6, 502.27 ], "outer": [ 695.08, 500.19 ] }, "noseTip": [ 498.62, 728.19 ], "mouthCornerLeft": [ 426.22, 819.4 ], "mouthCornerRight": [ 571.46, 818.64 ], "upperLipTopCenter": [ 497.87, 791.61 ], "lowerLipBottomCenter": [ 498.73, 852.31 ], "chinTip": [ 502.66, 940.61 ], "faceWidthAtEyeLevelLeft": [ 268.63, 621.0 ], "faceWidthAtEyeLevelRight": [ 734.35, 616.97 ] }, "landmarkDetector": "mediapipe FaceLandmarker (tasks) 1.0.1, model=face_landmarker(float16, v1)", "pipelineRun": { "persona": "P4", "timestamp": "2026-10-01T22:01:29", "completed": true, "stages": [ { "stage": "brow_sprite", "ok": true, "elapsedSec": 2.66 }, { "stage": "paper_grain", "ok": true, "elapsedSec": 2.27 }, { "stage": "lip_texture", "ok": true, "elapsedSec": 2.11 }, { "stage": "jaw_pieces", "ok": true, "elapsedSec": 2.16 }, { "stage": "export_rig", "ok": true, "elapsedSec": 16.36 }, { "stage": "final_previews", "ok": true, "elapsedSec": 19.22 } ] }, "browCenterline": { "method": "Otsu(front lum in bbox) AND diff(F-front)>=25, morphological closing to merge hatching, single global degree-2 polyfit on column-weighted centroid with one-pass outlier removal", "diffThresh": 25.0, "bboxPad": { "x": 25.0, "yUp": 42.0, "yDown": 14.0 }, "closingKernel": [ 7, 11 ], "minComponentAreaPx": 30.0, "outlierStdMult": 2.0, "edgeInsetFrac": 0.03, "peakWindow": [ 0.25, 0.6 ], "peakFallbackFrac": 0.35, "peakFlatHeightPx": 3.0, "peakFailEdgeFrac": 0.2, "oldPoints": { "browLeft": { "inner": [ 446.99, 539.65 ], "peak": [ 342.01, 492.32 ], "outer": [ 291.42, 518.67 ] }, "browRight": { "inner": [ 548.3, 538.45 ], "peak": [ 652.48, 487.92 ], "outer": [ 706.06, 512.97 ] } }, "newPoints": { "browLeft": { "name": "browLeft", "bbox": [ 266, 450, 472, 554 ], "otsuThresh": 121.0, "colRange": [ 299, 454 ], "width": 155.0, "nColumns": 156, "nOutliersRemoved": 4, "fitCoeffs": [ 0.00105736, -0.67933648, 616.38397622 ], "inner": [ 449.35, 524.62 ], "peak": [ 353.25, 508.35 ], "outer": [ 303.65, 507.6 ], "peakMethod": "fallback35", "peakFracFromOuterEdge": 0.35, "peakFail": false, "checkA_fracColumnsFitWithinMask": 0.9295, "checkA_pass": true, "halfWidthInner": 6.756, "halfWidthPeak": 6.485, "halfWidthOuter": 2.498, "bandX0": 266, "bandY0": 450, "colMin": 299, "colMax": 454 }, "browRight": { "name": "browRight", "bbox": [ 523, 446, 731, 552 ], "otsuThresh": 121.0, "colRange": [ 536, 700 ], "width": 164.0, "nColumns": 165, "nOutliersRemoved": 7, "fitCoeffs": [ 0.00111283, -1.52815002, 1024.73237057 ], "inner": [ 540.92, 523.73 ], "peak": [ 642.6, 502.27 ], "outer": [ 695.08, 500.19 ], "peakMethod": "fallback35", "peakFracFromOuterEdge": 0.35, "peakFail": false, "checkA_fracColumnsFitWithinMask": 0.903, "checkA_pass": true, "halfWidthInner": 2.378, "halfWidthPeak": 6.718, "halfWidthOuter": 1.5, "bandX0": 523, "bandY0": 446, "colMin": 536, "colMax": 700 } }, "halfWidthLeft": [ 6.756, 6.485, 2.498 ], "halfWidthRight": [ 2.378, 6.718, 1.5 ], "halfWidthNote": "원화 눈썹 잉크 띠 반두께[inner,peak,outer](px, 중심선 법선 방향). export_rig.py가 persona.json browHalfWidthFromArt!=false(기본)면 RigBrow.halfWidth로 내보낸다.", "checkB_innerMinusPeakY": { "browLeft": 16.27, "browRight": 21.46 }, "checkD_symmetry": { "innerYDiff": 0.89, "peakYDiff": 6.08 }, "evidenceImage": "preview/v2/brow-centerline.jpg" }, "schemaVersion": "vignette.avatar.v3.layers.v1", "persona": "P4", "canvas": { "w": 1005, "h": 1566 }, "base": { "front": "base/base-front.png", "faceless": "base/base-faceless.png", "facelessPadded": "base/base-faceless-padded.png", "facelessSize": [ 1005, 1566 ], "padNote": "base-faceless.png 마지막 행을 0번 복제해 1005x1566(base-front.png 크기)으로 패딩한 것이 F다." }, "segmenter": { "model": "selfie_multiclass_256x256.tflite (mediapipe ImageSegmenter, storage.googleapis.com)", "categories": { "0": "background", "1": "hair", "2": "bodySkin", "3": "faceSkin", "4": "clothes", "5": "others" }, "categoryPixelCounts": { "0": 614690, "1": 147103, "2": 69058, "3": 257454, "4": 475638, "5": 9887 }, "hairEdgeRefine": { "dilatePx": 6, "lumThreshold": 110, "addedPixels": 9030 } }, "chinLine": { "landmarkIndex": 152, "xy": [ 502.66, 940.61 ], "marginPx": 8, "cutY": 948.61 }, "faceOval": { "landmarkLoop": [ 10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288, 397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136, 172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109 ], "scale": 1.04, "sourceImage": "base/base-front.png" }, "layers": [ { "id": "body", "file": "layers/body.png", "source": "base-faceless-masked+regenerated-fill", "alphaBBox": [ 0, 436, 1005, 1566 ], "opaquePixels": 566179, "greenResidue": 0, "fillTargetPixels": 25601, "fillSourceRaw": "raw/body.png (rejected 재생성이 아니라 수용된 body.png의 크로마키 결과; head/hairFront와 달리 body 재생성은 승인됨)" }, { "id": "head", "file": "layers/head.png", "source": "base-faceless-masked", "alphaBBox": [ 171, 114, 822, 1011 ], "opaquePixels": 405288, "greenResidue": 0 }, { "id": "hairFront", "file": "layers/hairFront.png", "source": "base-faceless-masked", "alphaBBox": [ 250, 405, 751, 856 ], "opaquePixels": 7245, "greenResidue": 0 } ], "rejectedRawEdits": { "body": { "file": "raw/body.png", "status": "accepted-as-fill-source", "reason": "정렬 (0,0), 형태 변형 없음 — head_mask 채움 전용 소스로 재사용" } }, "composite": { "meanAbsDiff": { "full": 2.063827732347204, "face": 0.31170282724581405, "hairOutline": 10.115052289163106 }, "target": { "full": 3.0, "pass": true }, "backgroundNote": "카테고리0(배경)은 종이결 텍스처 노이즈(표준편차 ~29/채널)를 포함해 평탄한 크림(#EEE5D3)과 자체적으로 평균절대차 ~7 차이가 난다." }, "layersV2": { "chinBandFix": { "targetRegionPixels": 15310, "sourceBandHeight": 150, "rowJitterRange": [ -2.0, 2.0 ], "rngSeed": 20260930 }, "hairEdgeFix": { "bandOuterPx": 40, "bandInnerPx": 6, "lumSmoothstep": [ 205.0, 150.0 ], "minFragmentAreaPx": 60, "head": { "bandOuterPixels": 91955, "bandInnerPixels": 28677, "componentsBefore": 203, "removed": 197, "removedPixels": 1271 }, "hairFront": { "bandOuterPixels": 10689, "bandInnerPixels": 9516, "componentsBefore": 228, "removed": 220, "removedPixels": 983 } }, "hairPaperGapFix": { "regionDilatePx": 6, "paperColorDistThreshold": 40.0, "paperLumThreshold": 195.0, "paperSatThreshold": 40.0, "opaqueAlphaThreshold": 0.95, "regionPixels": 162151, "head": { "targetPixels": 943, "componentsBefore": 6, "removed": 0, "removedPixels": 0, "faceSkinAlphaDiff": 0.0 }, "hairFront": { "targetPixels": 1, "componentsBefore": 8, "removed": 0, "removedPixels": 0, "faceSkinAlphaDiff": 0.0 } }, "jawInkFix": { "mouthCenterY": 815.65, "distThresholdPx": 14.0, "mergePx": 3, "aspectThreshold": 1.0, "removedGroups": [ { "pixels": 237, "bbox": [ 308, 816, 342, 843 ], "width": 34, "height": 27, "aspect": 1.259 } ], "keptGroups": [ { "pixels": 755, "bbox": [ 650, 816, 686, 857 ], "width": 36, "height": 41, "aspect": 0.878 } ], "removedPixels": 237, "strayFragmentCleanup": { "componentsBefore": 8, "removed": 0, "removedPixels": 0 } }, "metrics": { "body": { "haloPct": 1.1048826062230888 }, "head": { "haloPct": 0.4306284483918719, "bgLeakAlphaMean": 0.0002120053053522035, "hairPaperOpaquePct": 0.0, "disconnectedFragmentsUnder60px": 0 }, "hairFront": { "haloPct": 0.0, "bgLeakAlphaMean": 0.0, "hairPaperOpaquePct": 0.0, "disconnectedFragmentsUnder60px": 0 } }, "layers": [ { "id": "body", "bbox": [ 0, 436, 1005, 1566 ], "opaque": 528300, "greenResidue": 0 }, { "id": "head", "bbox": [ 161, 97, 822, 1021 ], "opaque": 412754, "greenResidue": 0 }, { "id": "hairFront", "bbox": [ 234, 405, 768, 890 ], "opaque": 11323, "greenResidue": 0 } ], "faceDetail": { "browLandmarksSource": "manifest.landmarks.eyebrowLeft/Right", "region": "face", "faceInsetPx": 24.0, "matchFacelessColor": true, "matchFacelessColorDeltaRgb": { "eyeLeft": [ -12.17, -11.69, -12.49 ], "eyeRight": [ -11.08, -10.8, -11.58 ], "browLeft": [ -4.26, -3.81, -5.51 ], "browRight": [ -4.9, -4.31, -5.97 ], "mouth": [ -3.64, -3.3, -4.77 ] }, "regions": { "eyeLeft": [ 307.6, 498.4, 455.6, 668.5 ], "eyeRight": [ 541.4, 492.3, 689.2, 666.6 ], "mouth": [ 381.2, 753.2, 616.5, 925.6 ], "moles": [] }, "exclusionPixels": { "eyeLeft": 12156, "eyeRight": 11941, "browLeft": 9643, "browRight": 9985, "mouth": 18139, "union": 58587 }, "hairMaskPixels": 159429, "bbox": [ 266, 394, 736, 945 ], "textureCloneStamp": { "cloneTargetThreshold": 65.0, "avoidThreshold": 110.0, "lineOpeningIterations": 3, "featherPx": 4.0, "badTexturePixels": 13, "preservedShadowPixels": 0, "components": [ { "componentId": 1, "pixels": 3, "offset": [ 0, -60 ], "method": "clone-stamp" }, { "componentId": 2, "pixels": 1, "offset": [ -40, 40 ], "method": "clone-stamp" }, { "componentId": 3, "pixels": 9, "offset": [ 0, -180 ], "method": "clone-stamp" } ] }, "genericPatches": { "forehead": [ 380, 402, 428, 450 ], "cheekLeft": [ 327, 646, 375, 694 ], "cheekRight": [ 518, 644, 566, 692 ] }, "genericPatchBaseline": { "highFreqEnergy": 7.458109656082686, "lineEnergy": 3.8710488075882026 }, "checkA_meanAbsDiff": 0.4965093898211362, "checkB_seamLumDiff": 1.6296153373646405, "checkC_holeDarkResiduePct": 0.010252729789306404, "checkC_violationPixels": 6, "checkD_texturePreservation": { "eyeLeft": { "insideEnergy": 6.2165950887128805, "baselineEnergy": 7.458109656082686, "ratio": 0.8335349539467751, "pass": true }, "eyeRight": { "insideEnergy": 5.8870599073096015, "baselineEnergy": 7.458109656082686, "ratio": 0.7893501408239865, "pass": true }, "browLeft": { "insideEnergy": 7.674279349434956, "baselineEnergy": 7.458109656082686, "ratio": 1.0289845152887993, "pass": true }, "browRight": { "insideEnergy": 8.00513210373071, "baselineEnergy": 7.458109656082686, "ratio": 1.0733459915277437, "pass": true }, "mouth": { "insideEnergy": 5.4462341485874255, "baselineEnergy": 7.458109656082686, "ratio": 0.7302432385323786, "pass": true } }, "checkD_allPass": true, "checkE_ghostOutline": { "eyeLeft": { "bandLineEnergy": 7.300975232426853, "baselineLineEnergy": 3.8710488075882026, "ratio": 1.8860457708813063, "pass": false }, "eyeRight": { "bandLineEnergy": 6.426403576872062, "baselineLineEnergy": 3.8710488075882026, "ratio": 1.6601194912021617, "pass": false }, "browLeft": { "bandLineEnergy": 5.16448064507108, "baselineLineEnergy": 3.8710488075882026, "ratio": 1.3341295606884198, "pass": true }, "browRight": { "bandLineEnergy": 4.6860081826909505, "baselineLineEnergy": 3.8710488075882026, "ratio": 1.2105267630584322, "pass": true }, "mouth": { "bandLineEnergy": 3.2433439561515796, "baselineLineEnergy": 3.8710488075882026, "ratio": 0.8378463091950255, "pass": true } }, "checkE_allPass": false, "checkDarkCircle": { "eyeLeft": { "compositeMean": 149.70914285714284, "frontMean": 149.53695238095236, "diff": 0.17219047619047956, "pass": true }, "eyeRight": { "compositeMean": 155.92419047619046, "frontMean": 155.87638095238097, "diff": 0.047809523809490884, "pass": true } }, "checkDarkCircle_allPass": true }, "paperGrain": { "sourceImage": "base/base-front.png", "sourceOrigin": [ 10, 734 ], "tileSize": 256, "personMarginPx": 20, "cleanFraction": 0.9996795654296875, "contaminatedPixelsFilled": 21, "chromaKeep": 0.3, "targetLumRange": [ 245.0, 250.0 ], "lumShift": 23.586695353190095, "finalMeanLum": 247.41994095532309, "finalLumStd": 7.731769387649097, "seamContinuity": { "leftRightDiff": 0.33841442178375775, "topBottomDiff": 0.11046582323295222 } } }, "lipTexture": { "designVersion": "A5(아랫입술 그늘 띠를 lip-shadow 조각으로 분리)", "landmarks": { "mouthCornerLeft": [ 426.22, 819.4 ], "mouthCornerRight": [ 571.46, 818.64 ], "upperLipTop": [ 497.87, 791.61 ], "lowerLipBottom": [ 498.73, 852.31 ], "mouthCenter": [ 498.3611898869276, 815.6509176492691 ] }, "capBBox": [ 417.84, 786.96, 579.84, 856.96 ], "otsuThreshLabA": 139.0, "diffThresh": 20.0, "dilatePx": 10.0, "alphaRampPx": 4.0, "splitOverlapPx": 2.0, "shadowBandPx": 18.0, "shadowTopOverlapPx": 6.0, "shadowSideRampPx": 6.0, "shadowTopRampPx": 4.0, "checks": { "lip-upper": { "regionPixelCount": 5425, "fullOpacityPixelCount": 4663, "rampPixelCount": 762, "preserveMaxDiffFullOpacity": 0, "check1Preserve": true, "spriteBBoxWorkingLocal": [ 32, 30, 179, 46 ] }, "lip-lower": { "regionPixelCount": 5651, "fullOpacityPixelCount": 4868, "rampPixelCount": 783, "preserveMaxDiffFullOpacity": 0, "check1Preserve": true, "spriteBBoxWorkingLocal": [ 32, 69, 178, 51 ] }, "lip-shadow": { "regionPixelCount": 3264, "fullOpacityPixelCount": 1504, "rampPixelCount": 1760, "preserveMaxDiffFullOpacity": 0, "check1Preserve": true, "spriteBBoxWorkingLocal": [ 42, 67, 159, 61 ] }, "splitOverlapPixelCount": 355, "splitOverlapBandOk": true, "splitOverlapAlphaMaxDiff": 0, "splitOverlapConsistentOk": true, "splitCoverageMismatchPixelCount": 0, "splitCheckOk": true, "shadowLowerOverlapPixelCount": 2539, "shadowLowerOverlapMaxDiff": 64.72410611303343, "shadowLowerOverlapDiffGt1PixelCount": 306, "shadowLowerOverlapOk": false }, "check3NeutralComposite": { "fullOpacityMaxDiff": 0.0, "rampMeanAbsDiff": 4.973, "mouthBBoxMeanAbsDiff": 1.491 }, "pngFileSizes": { "lip-upper": 21921, "lip-lower": 24895, "lip-shadow": 26686 }, "canvasOrigin": { "upper": [ 410, 777 ], "lower": [ 410, 816 ], "shadow": [ 420, 814 ] }, "evidenceImage": "preview/v2/lip-texture.jpg", "check4WebpVsPngMeanAbsDiff": { "upper": 0.0, "lower": 0.0, "shadow": 0.0 } }, "jaw": { "designVersion": "A5(결정문 §8.4 하관 띠 변형 — 턱 조각 원본)", "noseTip": [ 498.62, 728.19 ], "chinTip": [ 502.66, 940.61 ], "yFormula": "noseTip.y - 50 - 10 .. chinTip.y + 40", "noseToTopPx": 60.0, "chinToBottomPx": 40.0, "ovalOutsetPx": 18.0, "faceOvalSource": "export_rig.detect_face_landmarks + compute_face_oval(base-front.png, 결정적)", "bboxCanvas": [ 250, 668, 754, 981 ], "naiveXRangeForComparison": [ 250, 754 ], "checks": { "head": { "pngRoundTripMaxDiff": 0, "pngRoundTripOk": true, "pngFileSize": 328118 }, "detail": { "pngRoundTripMaxDiff": 0, "pngRoundTripOk": true, "pngFileSize": 379279 } }, "evidenceImage": "preview/v2/jaw-pieces.jpg", "check1VsPublishedLayerAbsDiff": { "head": { "comparedAgainstPublishedLayer": "head.webp", "meanAbsDiffPremultipliedRgb": 2.629, "maxAbsDiffPremultipliedRgb": 42.0, "meanAbsDiffAlpha": 0.0, "maxAbsDiffAlpha": 0.0, "meetsTarget": false }, "detail": { "comparedAgainstPublishedLayer": "face-detail.webp", "meanAbsDiffPremultipliedRgb": 1.718, "maxAbsDiffPremultipliedRgb": 36.0, "meanAbsDiffAlpha": 0.0, "maxAbsDiffAlpha": 0.0, "meetsTarget": true } } }, "lipTexturePublish": { "quality": "lossless", "fileSizes": { "lip-upper": 14906, "lip-lower": 17226, "lip-shadow": 19124 }, "totalBytes": 51256, "budgetBytes": 81920, "webpVsPngMeanAbsDiff": { "upper": 0.0, "lower": 0.0, "shadow": 0.0 } }, "jawPublish": { "quality": 80, "scale": 1.0, "fileSizes": { "jaw-head": 33156, "jaw-detail": 22606 }, "totalBytes": 55762, "budgetBytes": 204800, "vsPublishedLayerAbsDiff": { "head": { "comparedAgainstPublishedLayer": "head.webp", "meanAbsDiffPremultipliedRgb": 2.629, "maxAbsDiffPremultipliedRgb": 42.0, "meanAbsDiffAlpha": 0.0, "maxAbsDiffAlpha": 0.0, "meetsTarget": false }, "detail": { "comparedAgainstPublishedLayer": "face-detail.webp", "meanAbsDiffPremultipliedRgb": 1.718, "maxAbsDiffPremultipliedRgb": 36.0, "meanAbsDiffAlpha": 0.0, "maxAbsDiffAlpha": 0.0, "meetsTarget": true } } }, "motifPublish": null, "browSprite": { "enabled": true, "bandExtraHalfHeightPx": 8.0, "bandEndExtendPx": 6.0, "diffThresh": 25.0, "closingKernel": [ 7, 11 ], "minComponentAreaPx": 30.0, "hairSource": "layers/v2/hairFront.png alpha(게시되는 레이어 그 자체, 분할 카테고리 아님)", "hairAlphaThresh": 128.0, "hairDilateIterations": 1, "rampPx": 1.5, "inkLumMethod": "median(ink-classified pixels in band, region after hair removal)", "minAlphaForUnmix": 0.05, "hairMaskPixelCount": 14569, "left": { "bboxCanvas": [ 299, 499, 156, 36 ], "halfHeightPx": 14.756, "otsuThresh": 123.0, "lSkin": 183.667, "lInk": 62.0, "regionPixelCount": 1987, "hairOverlapPixelCount": 0, "neutralCompositeMeanAbsDiffAlphaRegion": 2.883, "pngFileSizeBytes": 7862 }, "right": { "bboxCanvas": [ 536, 491, 164, 42 ], "halfHeightPx": 14.718, "otsuThresh": 122.0, "lSkin": 182.667, "lInk": 60.333, "regionPixelCount": 1987, "hairOverlapPixelCount": 0, "neutralCompositeMeanAbsDiffAlphaRegion": 3.014, "pngFileSizeBytes": 7777 }, "canvasOrigin": { "left": [ 299.0, 499.0 ], "right": [ 536.0, 491.0 ] }, "evidenceImage": "preview/v2/brow-sprite.jpg", "checkWebpVsPngMeanAbsDiff": { "left": 0.0, "right": 0.0 } }, "eyeLineScale": { "enabled": true, "method": "눈 폭 가운데 60% 열마다 upperLidTop.y-12 ~ 홍채중심y 사이 첫 연속 어두운(lum<80) 구간 길이의 중앙값", "windowAbovePx": 12.0, "darkLumThresh": 80.0, "columnMiddleFrac": 0.6, "p1BaselinePx": 2.0, "lineScaleClampRange": [ 1.0, 2.5 ], "left": { "measuredPx": 10.0, "nColumns": 57, "ratio": 5.0, "lineScale": 2.5 }, "right": { "measuredPx": 11.0, "nColumns": 57, "ratio": 5.5, "lineScale": 2.5 } }, "iris": { "method": "가로: 중심 y 부근 상하 각 4행에서 중심 x를 포함하는 연속 어두운(lum<100) 구간의 중앙값으로 반지름·중심x. 세로: 중심 x 부근 좌우 각 4열에서 중심 y를 포함하는 연속 어두운 구간의 아래쪽 끝 중앙값에서 가로 반지름을 빼 중심y(세로축은 윗눈꺼풀 잉크와 홍채가 같은 톤으로 이어져 위쪽 경계를 가를 수 없다).", "darkLumThresh": 100.0, "scanBandPx": 4, "left": { "measuredCenter": [ 385.0, 576.0 ], "measuredRadius": 20.0, "rigCenter": [ 384.73, 580.01 ], "rigRadius": 21.31, "nRowsHorizontal": 9, "nColsVertical": 9 }, "right": { "measuredCenter": [ 611.5, 574.5 ], "measuredRadius": 18.5, "rigCenter": [ 613.31, 577.95 ], "rigRadius": 21.41, "nRowsHorizontal": 9, "nColsVertical": 9 } }, "browSpritePublish": { "quality": "lossless", "fileSizes": { "brow-left": 5150, "brow-right": 4998 }, "totalBytes": 10148, "budgetBytes": 61440, "webpVsPngMeanAbsDiff": { "left": 0.0, "right": 0.0 } } }