Files
NumberSwipe_New/docs/design/bright-classroom/tokens.json
T

136 lines
8.2 KiB
JSON

{
"meta":{"name":"NumberSwipe 明亮教具室","version":"1.0-proposal","date":"2026-10-21","status":"Design specification; not applied to runtime","unit":"logical layout unit, not physical pixel","reference":[375,812]},
"color":{
"background":"#FFE69A","backgroundBottom":"#FFDE79","pattern":"#E8BE54","stage":"#FFF6DF","surface":"#FFFBF2","surfaceMuted":"#F1E6D0","cellFace":"#FFF8EA","cellDepth":"#D8C4A0","cellBoundary":"#8A7660","cellBevel":"#FFFFFF",
"ink":"#43382F","inkSecondary":"#71604F","primary":"#6552D9","primaryPressed":"#5140B7","primaryDepth":"#49379E","primarySoft":"#ECE7FF","primaryEdge":"#ADA0F1","onPrimary":"#FFFFFF",
"coral":"#F57950","coralInk":"#4F2418","coralSoft":"#FFE0CF","danger":"#B93B46","dangerDepth":"#8D2934","dangerSoft":"#FBE4E5","dangerInk":"#862735",
"hint":"#8B5E00","hintSoft":"#FFF0B8","hintCore":"#FFFFFF","hintCasing":"#43382F","hintRibbon":"#F49B75","hintRibbonDepth":"#C96E48","hintRibbonLight":"#FFF5DD","hintSpark":"#FFFDF0","success":"#2E6B52","successSoft":"#DEEFDC",
"categoryBlueFace":"#CEE4FF","categoryBlueInk":"#245A92","categoryOrangeFace":"#FFE0B2","categoryOrangeInk":"#8A470E","wallInk":"#43382F","wallStripe":"#F7C74D","doorClosed":"#8B4B29","doorOpen":"#2E6B52","disabledFace":"#E9E1D3","disabledInk":"#7A7064","focus":"#5140B7","overlay":"#43382F"
},
"referenceMatch":{
"version":"2-reference-cushion","authority":"User-supplied reference image; overrides earlier flat production proposal",
"color":{"background":"#FFE383","backgroundBottom":"#FFDA68","pattern":"#EFBF4D","stage":"#FAEED6","surface":"#FBEFD9","cellFace":"#F9EDD5","cellDepth":"#CDB590","ink":"#51452E","inkSecondary":"#796644","primary":"#8178F4","primaryPressed":"#7369DF","primaryDepth":"#5750BA","primaryEdge":"#B7AAFF","coral":"#FF7946"},
"pitchMax":104,"bridgeRatio":0.25,"cellDepthRatio":0.085,"cellDepthMax":7,"bevelRatio":0.085,"stageMargin":12,"buttonRadiusRatio":0.32,
"conditionFrames":false,"endpointCorners":false,"categoryVisitedFrames":false
},
"font":{"numeric":"Nunito","cjk":"Noto Sans SC","fallback":"system-ui, -apple-system, Segoe UI, Microsoft YaHei, sans-serif","numericWeight":800,"bodyWeight":500,"labelWeight":600,"headingWeight":700},
"type":{"display":{"size":32,"line":40,"weight":800},"pageTitle":{"size":24,"line":32,"weight":700},"section":{"size":18,"line":26,"weight":700},"body":{"size":16,"line":24,"weight":500},"button":{"size":16,"line":22,"weight":700},"label":{"size":14,"line":20,"weight":600},"caption":{"size":13,"line":18,"weight":500},"micro":{"size":12,"line":16,"weight":500}},
"spacing":[4,8,12,16,20,24,32,40,48],
"layout":{"referenceWidth":375,"referenceHeight":812,"margin":20,"compactMargin":16,"topbarHeight":48,"headerHeight":40,"statusHeight":28,"playfieldHeight":464,"feedbackHeight":40,"actionHeight":64,"actionGap":10,"tapTarget":48,"pitchPreferred":56,"pitchTargetMin":44,"pitchReviewBelow":44,"tileInsetRatio":0.045,"bridgeThicknessRatio":0.42,"stagePadding":16},
"radius":{"small":8,"label":12,"button":18,"stage":28,"card":24,"sheet":28,"dialog":24,"cellRatio":0.18,"cellMin":6,"cellMax":12,"concaveMaxRatio":0.06,"hexMaxRatio":0.11},
"material":{"light":"upper-left","cellDepthRatio":0.055,"cellDepthMin":2,"cellDepthMax":4,"pressedDepth":1,"cellBoundary":1.25,"bevelWidth":1,"gradientChannelDeltaMax":6,"cellShadow":{"x":0,"y":3,"blur":5,"alpha":0.10},"stageShadow":{"x":0,"y":4,"blur":10,"alpha":0.08},"buttonShadow":{"x":0,"y":3,"blur":5,"alpha":0.12},"dialogShadow":{"x":0,"y":12,"blur":28,"alpha":0.16}},
"motionMs":{"fast":120,"base":200,"slow":320,"hold":500,"buttonPress":80,"buttonRelease":120,"step":140,"bridge":120,"undo":100,"conflict":200,"hintAttention":2400,"hintSegmentCycleMin":1200,"door":160,"spinner":160,"clearSweep":320,"clearHold":500,"entryStagger":12,"entryStaggerCap":120},
"motion":{"easeOut":[0.22,1,0.36,1],"stepPeak":1.015,"stepPressed":0.985,"buttonPressed":0.98,"conflictTravelMax":1.5,"spinnerDegrees":120,"ambientAnimation":false,"reducedMotionHint":"static dashed path; keep all hint information"},
"contrastPairs":[
{"name":"标题/黄底","fg":"ink","bg":"background","minimum":4.5},
{"name":"辅助文字/黄底","fg":"inkSecondary","bg":"background","minimum":4.5},
{"name":"正文/舞台","fg":"ink","bg":"stage","minimum":4.5},
{"name":"辅助文字/舞台","fg":"inkSecondary","bg":"stage","minimum":4.5},
{"name":"数字/未走块","fg":"ink","bg":"cellFace","minimum":4.5},
{"name":"白数字/路径","fg":"onPrimary","bg":"primary","minimum":4.5},
{"name":"白字/按压紫","fg":"onPrimary","bg":"primaryPressed","minimum":4.5},
{"name":"白数字/错误","fg":"onPrimary","bg":"danger","minimum":4.5},
{"name":"错误说明/淡红","fg":"dangerInk","bg":"dangerSoft","minimum":4.5},
{"name":"珊瑚标签文字","fg":"coralInk","bg":"coral","minimum":4.5},
{"name":"淡紫选中文字","fg":"primaryPressed","bg":"primarySoft","minimum":4.5},
{"name":"提示文字/淡黄","fg":"hint","bg":"hintSoft","minimum":4.5},
{"name":"成功文字/淡绿","fg":"success","bg":"successSoft","minimum":4.5},
{"name":"蓝类别标记","fg":"categoryBlueInk","bg":"categoryBlueFace","minimum":4.5},
{"name":"橙类别标记","fg":"categoryOrangeInk","bg":"categoryOrangeFace","minimum":4.5},
{"name":"数字/蓝类别面","fg":"ink","bg":"categoryBlueFace","minimum":4.5},
{"name":"数字/橙类别面","fg":"ink","bg":"categoryOrangeFace","minimum":4.5},
{"name":"格边/格面","fg":"cellBoundary","bg":"cellFace","minimum":3},
{"name":"格边/舞台","fg":"cellBoundary","bg":"stage","minimum":3},
{"name":"路径/未走格","fg":"primary","bg":"cellFace","minimum":3},
{"name":"提示描边/舞台","fg":"hintCasing","bg":"stage","minimum":3},
{"name":"提示白芯/描边","fg":"hintCore","bg":"hintCasing","minimum":3},
{"name":"墙/黄色条纹","fg":"wallInk","bg":"wallStripe","minimum":3},
{"name":"墙/舞台","fg":"wallInk","bg":"stage","minimum":3},
{"name":"开门标记/舞台","fg":"doorOpen","bg":"stage","minimum":3},
{"name":"关门标记/舞台","fg":"doorClosed","bg":"stage","minimum":3},
{"name":"焦点/黄底","fg":"focus","bg":"background","minimum":3},
{"name":"白字/珊瑚(仅诊断,不采用)","fg":"onPrimary","bg":"coral","minimum":null},
{"name":"格面/舞台(仅诊断,格边承担识别)","fg":"cellFace","bg":"stage","minimum":null},
{"name":"蓝类别面/橙类别面(仅诊断,另配形状)","fg":"categoryBlueFace","bg":"categoryOrangeFace","minimum":null}
],
"hintSoftRibbon": {
"id": "hint-soft-ribbon-a3-bright",
"status": "production",
"units": "logical-canvas-pixels",
"body": {
"widthRatio": 0.235,
"widthMin": 7,
"widthMax": 26,
"cornerRadiusRatio": 0.2,
"edgeOuterExtra": 5,
"edgeInnerExtra": 2,
"edgeOuter": "rgba(255,191,126,0.10)",
"edgeInner": "rgba(255,199,140,0.18)",
"gradient": [
[
0,
"rgba(255,196,136,0.78)"
],
[
0.55,
"rgba(255,185,126,0.72)"
],
[
1,
"rgba(255,196,139,0.65)"
]
],
"crownWidthRatio": 0.76,
"crownOffset": [
-0.8,
-1.2
],
"crownColor": "rgba(255,240,203,0.24)",
"shadowColor": "rgba(197,122,53,0.09)",
"shadowBlur": 5,
"shadowY": 2
},
"highlight": {
"count": 1,
"speed": 60,
"minCycleMs": 1800,
"radiusRatioToWidth": 0.62,
"stretchAlongPath": 2.2,
"gradient": [
[
0,
"rgba(255,255,245,0.90)"
],
[
0.5,
"rgba(255,251,225,0.48)"
],
[
1,
"rgba(255,251,225,0)"
]
]
},
"endpointFade": {
"radiusRatio": 0.39,
"opaqueEraseUntil": 0.6
},
"target": {
"blur": 15,
"shadowColor": "rgba(250,194,99,0.70)",
"faceColor": "rgba(255,233,166,0.12)",
"tintCenterColor": "rgba(255,235,175,0.36)",
"tintRadiusRatio": 0.8,
"breathCycleMs": 2200,
"breathMin": 0.65,
"breathMax": 1
},
"constraints": {
"noArrows": true,
"noBracket": true,
"noTargetRing": true
},
"keepoutFeather": 3
}
}