文件
crab-input-rtos/docs/public-validation.json
T

2232 行
52 KiB
JSON

{
"version": "1.1.0",
"public_tree": true,
"vendor": "gx v0.10.1 / 3ed38835",
"memory_profile_kib": 8192,
"engine_assertions": 40,
"ux_assertions": 29,
"native_cases": [
{
"profile": "round",
"case": "auto-open",
"passed": true,
"checks": [
"IME_CHECK field opens full screen T9",
"IME_CHECK duplicate opener guarded"
]
},
{
"profile": "round",
"case": "t9-phrase",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK frequency ranks common phrase first",
"IME_CHECK native candidate commits phrase"
]
},
{
"profile": "round",
"case": "continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK prefix phrase retained",
"IME_CHECK dictionary settled",
"IME_CHECK only matched pinyin consumed",
"IME_CHECK remaining syllables compose"
]
},
{
"profile": "round",
"case": "complete-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK full list paginated",
"IME_CHECK last candidate page accessible"
]
},
{
"profile": "round",
"case": "candidate-select",
"passed": true,
"checks": [
"IME_CHECK last original candidate can commit"
]
},
{
"profile": "round",
"case": "full-pinyin",
"passed": true,
"checks": [
"IME_CHECK standard 10-9-7 QWERTY order",
"IME_CHECK dictionary settled",
"IME_CHECK long phrase in full dictionary",
"IME_CHECK native full pinyin commit"
]
},
{
"profile": "round",
"case": "14-key-phrase",
"passed": true,
"checks": [
"IME_CHECK 14-key mode has fourteen real buttons",
"IME_CHECK dictionary settled",
"IME_CHECK paired ambiguity retains both valid phrases",
"IME_CHECK 14-key uncommitted input blocks finish",
"IME_CHECK 14-key mode switch preserves composition",
"IME_CHECK native 14-key phrase commit"
]
},
{
"profile": "round",
"case": "14-key-continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK dictionary settled",
"IME_CHECK 14-key consumes five matched keys only",
"IME_CHECK 14-key continuous phrase commit"
]
},
{
"profile": "round",
"case": "14-key-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK 14-key full dictionary candidates",
"IME_CHECK 14-key first full candidate page",
"IME_CHECK 14-key native next candidate page",
"IME_CHECK 14-key native previous candidate page",
"IME_CHECK 14-key expanded candidate commit"
]
},
{
"profile": "round",
"case": "english",
"passed": true,
"checks": [
"IME_CHECK English follows standard QWERTY",
"IME_CHECK uppercase and lowercase native keys"
]
},
{
"profile": "round",
"case": "symbols",
"passed": true,
"checks": [
"IME_CHECK ASCII and Chinese punctuation native keys"
]
},
{
"profile": "round",
"case": "cursor-unicode",
"passed": true,
"checks": [
"IME_CHECK Unicode-safe deletion",
"IME_CHECK insertion at moved cursor"
]
},
{
"profile": "round",
"case": "hold-delete",
"passed": true,
"checks": [
"IME_CHECK hold repeats delete",
"IME_CHECK release stops repeats"
]
},
{
"profile": "round",
"case": "length-and-mode",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK overlong candidate not truncated",
"IME_CHECK uncommitted composition not dropped",
"IME_CHECK mode switch preserves uncommitted composition"
]
},
{
"profile": "round",
"case": "learning",
"passed": true,
"checks": [
"IME_CHECK learning defaults off",
"IME_CHECK learning opt-in",
"IME_CHECK dictionary settled",
"IME_CHECK only chosen candidate learned",
"IME_CHECK learning cleared"
]
},
{
"profile": "round",
"case": "cancel",
"passed": true,
"checks": [
"IME_CHECK cancel keeps original document"
]
},
{
"profile": "round",
"case": "numeric",
"passed": true,
"checks": [
"IME_CHECK numeric field auto keyboard",
"IME_CHECK numeric result returned"
]
},
{
"profile": "round",
"case": "password-privacy",
"passed": true,
"checks": [
"IME_CHECK secret preview masked",
"IME_CHECK secret cannot enable learning",
"IME_CHECK secret erased on actual app switch"
]
},
{
"profile": "round",
"case": "long-text-clear",
"passed": true,
"checks": [
"IME_CHECK long text preview bounded",
"IME_CHECK clear needs confirmation",
"IME_CHECK confirmed clear"
]
},
{
"profile": "round",
"case": "lookup-performance",
"passed": true,
"checks": [
"IME_CHECK lookup nihao",
"IME_CHECK lookup zhongguo",
"IME_CHECK lookup shijie",
"IME_CHECK lookup shurufa",
"IME_CHECK lookup beijing",
"IME_CHECK lookup tianqi",
"IME_CHECK lookup shanghai",
"IME_CHECK lookup gongzuo",
"IME_CHECK bounded decoded shard cache",
"IME_CHECK emulator lookup under one second"
]
},
{
"profile": "round",
"case": "finish-save",
"passed": true,
"checks": [
"IME_CHECK finished text returned to opener",
"IME_CHECK explicit local draft save"
]
},
{
"profile": "rect",
"case": "auto-open",
"passed": true,
"checks": [
"IME_CHECK field opens full screen T9",
"IME_CHECK duplicate opener guarded"
]
},
{
"profile": "rect",
"case": "t9-phrase",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK frequency ranks common phrase first",
"IME_CHECK native candidate commits phrase"
]
},
{
"profile": "rect",
"case": "continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK prefix phrase retained",
"IME_CHECK dictionary settled",
"IME_CHECK only matched pinyin consumed",
"IME_CHECK remaining syllables compose"
]
},
{
"profile": "rect",
"case": "complete-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK full list paginated",
"IME_CHECK last candidate page accessible"
]
},
{
"profile": "rect",
"case": "candidate-select",
"passed": true,
"checks": [
"IME_CHECK last original candidate can commit"
]
},
{
"profile": "rect",
"case": "full-pinyin",
"passed": true,
"checks": [
"IME_CHECK standard 10-9-7 QWERTY order",
"IME_CHECK dictionary settled",
"IME_CHECK long phrase in full dictionary",
"IME_CHECK native full pinyin commit"
]
},
{
"profile": "rect",
"case": "14-key-phrase",
"passed": true,
"checks": [
"IME_CHECK 14-key mode has fourteen real buttons",
"IME_CHECK dictionary settled",
"IME_CHECK paired ambiguity retains both valid phrases",
"IME_CHECK 14-key uncommitted input blocks finish",
"IME_CHECK 14-key mode switch preserves composition",
"IME_CHECK native 14-key phrase commit"
]
},
{
"profile": "rect",
"case": "14-key-continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK dictionary settled",
"IME_CHECK 14-key consumes five matched keys only",
"IME_CHECK 14-key continuous phrase commit"
]
},
{
"profile": "rect",
"case": "14-key-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK 14-key full dictionary candidates",
"IME_CHECK 14-key first full candidate page",
"IME_CHECK 14-key native next candidate page",
"IME_CHECK 14-key native previous candidate page",
"IME_CHECK 14-key expanded candidate commit"
]
},
{
"profile": "rect",
"case": "english",
"passed": true,
"checks": [
"IME_CHECK English follows standard QWERTY",
"IME_CHECK uppercase and lowercase native keys"
]
},
{
"profile": "rect",
"case": "symbols",
"passed": true,
"checks": [
"IME_CHECK ASCII and Chinese punctuation native keys"
]
},
{
"profile": "rect",
"case": "cursor-unicode",
"passed": true,
"checks": [
"IME_CHECK Unicode-safe deletion",
"IME_CHECK insertion at moved cursor"
]
},
{
"profile": "rect",
"case": "hold-delete",
"passed": true,
"checks": [
"IME_CHECK hold repeats delete",
"IME_CHECK release stops repeats"
]
},
{
"profile": "rect",
"case": "length-and-mode",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK overlong candidate not truncated",
"IME_CHECK uncommitted composition not dropped",
"IME_CHECK mode switch preserves uncommitted composition"
]
},
{
"profile": "rect",
"case": "learning",
"passed": true,
"checks": [
"IME_CHECK learning defaults off",
"IME_CHECK learning opt-in",
"IME_CHECK dictionary settled",
"IME_CHECK only chosen candidate learned",
"IME_CHECK learning cleared"
]
},
{
"profile": "rect",
"case": "cancel",
"passed": true,
"checks": [
"IME_CHECK cancel keeps original document"
]
},
{
"profile": "rect",
"case": "numeric",
"passed": true,
"checks": [
"IME_CHECK numeric field auto keyboard",
"IME_CHECK numeric result returned"
]
},
{
"profile": "rect",
"case": "password-privacy",
"passed": true,
"checks": [
"IME_CHECK secret preview masked",
"IME_CHECK secret cannot enable learning",
"IME_CHECK secret erased on actual app switch"
]
},
{
"profile": "rect",
"case": "long-text-clear",
"passed": true,
"checks": [
"IME_CHECK long text preview bounded",
"IME_CHECK clear needs confirmation",
"IME_CHECK confirmed clear"
]
},
{
"profile": "rect",
"case": "lookup-performance",
"passed": true,
"checks": [
"IME_CHECK lookup nihao",
"IME_CHECK lookup zhongguo",
"IME_CHECK lookup shijie",
"IME_CHECK lookup shurufa",
"IME_CHECK lookup beijing",
"IME_CHECK lookup tianqi",
"IME_CHECK lookup shanghai",
"IME_CHECK lookup gongzuo",
"IME_CHECK bounded decoded shard cache",
"IME_CHECK emulator lookup under one second"
]
},
{
"profile": "rect",
"case": "finish-save",
"passed": true,
"checks": [
"IME_CHECK finished text returned to opener",
"IME_CHECK explicit local draft save"
]
},
{
"profile": "round-quickapp",
"case": "auto-open",
"passed": true,
"checks": [
"IME_CHECK field opens full screen T9",
"IME_CHECK duplicate opener guarded"
]
},
{
"profile": "round-quickapp",
"case": "t9-phrase",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK frequency ranks common phrase first",
"IME_CHECK native candidate commits phrase"
]
},
{
"profile": "round-quickapp",
"case": "continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK prefix phrase retained",
"IME_CHECK dictionary settled",
"IME_CHECK only matched pinyin consumed",
"IME_CHECK remaining syllables compose"
]
},
{
"profile": "round-quickapp",
"case": "complete-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK full list paginated",
"IME_CHECK last candidate page accessible"
]
},
{
"profile": "round-quickapp",
"case": "candidate-select",
"passed": true,
"checks": [
"IME_CHECK last original candidate can commit"
]
},
{
"profile": "round-quickapp",
"case": "full-pinyin",
"passed": true,
"checks": [
"IME_CHECK standard 10-9-7 QWERTY order",
"IME_CHECK dictionary settled",
"IME_CHECK long phrase in full dictionary",
"IME_CHECK native full pinyin commit"
]
},
{
"profile": "round-quickapp",
"case": "14-key-phrase",
"passed": true,
"checks": [
"IME_CHECK 14-key mode has fourteen real buttons",
"IME_CHECK dictionary settled",
"IME_CHECK paired ambiguity retains both valid phrases",
"IME_CHECK 14-key uncommitted input blocks finish",
"IME_CHECK 14-key mode switch preserves composition",
"IME_CHECK native 14-key phrase commit"
]
},
{
"profile": "round-quickapp",
"case": "14-key-continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK dictionary settled",
"IME_CHECK 14-key consumes five matched keys only",
"IME_CHECK 14-key continuous phrase commit"
]
},
{
"profile": "round-quickapp",
"case": "14-key-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK 14-key full dictionary candidates",
"IME_CHECK 14-key first full candidate page",
"IME_CHECK 14-key native next candidate page",
"IME_CHECK 14-key native previous candidate page",
"IME_CHECK 14-key expanded candidate commit"
]
},
{
"profile": "round-quickapp",
"case": "english",
"passed": true,
"checks": [
"IME_CHECK English follows standard QWERTY",
"IME_CHECK uppercase and lowercase native keys"
]
},
{
"profile": "round-quickapp",
"case": "symbols",
"passed": true,
"checks": [
"IME_CHECK ASCII and Chinese punctuation native keys"
]
},
{
"profile": "round-quickapp",
"case": "cursor-unicode",
"passed": true,
"checks": [
"IME_CHECK Unicode-safe deletion",
"IME_CHECK insertion at moved cursor"
]
},
{
"profile": "round-quickapp",
"case": "hold-delete",
"passed": true,
"checks": [
"IME_CHECK hold repeats delete",
"IME_CHECK release stops repeats"
]
},
{
"profile": "round-quickapp",
"case": "length-and-mode",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK overlong candidate not truncated",
"IME_CHECK uncommitted composition not dropped",
"IME_CHECK mode switch preserves uncommitted composition"
]
},
{
"profile": "round-quickapp",
"case": "learning",
"passed": true,
"checks": [
"IME_CHECK learning defaults off",
"IME_CHECK learning opt-in",
"IME_CHECK dictionary settled",
"IME_CHECK only chosen candidate learned",
"IME_CHECK learning cleared"
]
},
{
"profile": "round-quickapp",
"case": "cancel",
"passed": true,
"checks": [
"IME_CHECK cancel keeps original document"
]
},
{
"profile": "round-quickapp",
"case": "numeric",
"passed": true,
"checks": [
"IME_CHECK numeric field auto keyboard",
"IME_CHECK numeric result returned"
]
},
{
"profile": "round-quickapp",
"case": "password-privacy",
"passed": true,
"checks": [
"IME_CHECK secret preview masked",
"IME_CHECK secret cannot enable learning",
"IME_CHECK secret erased on actual app switch"
]
},
{
"profile": "round-quickapp",
"case": "long-text-clear",
"passed": true,
"checks": [
"IME_CHECK long text preview bounded",
"IME_CHECK clear needs confirmation",
"IME_CHECK confirmed clear"
]
},
{
"profile": "round-quickapp",
"case": "lookup-performance",
"passed": true,
"checks": [
"IME_CHECK lookup nihao",
"IME_CHECK lookup zhongguo",
"IME_CHECK lookup shijie",
"IME_CHECK lookup shurufa",
"IME_CHECK lookup beijing",
"IME_CHECK lookup tianqi",
"IME_CHECK lookup shanghai",
"IME_CHECK lookup gongzuo",
"IME_CHECK bounded decoded shard cache",
"IME_CHECK emulator lookup under one second"
]
},
{
"profile": "round-quickapp",
"case": "finish-save",
"passed": true,
"checks": [
"IME_CHECK finished text returned to opener",
"IME_CHECK explicit local draft save"
]
},
{
"profile": "rect-quickapp",
"case": "auto-open",
"passed": true,
"checks": [
"IME_CHECK field opens full screen T9",
"IME_CHECK duplicate opener guarded"
]
},
{
"profile": "rect-quickapp",
"case": "t9-phrase",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK frequency ranks common phrase first",
"IME_CHECK native candidate commits phrase"
]
},
{
"profile": "rect-quickapp",
"case": "continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK prefix phrase retained",
"IME_CHECK dictionary settled",
"IME_CHECK only matched pinyin consumed",
"IME_CHECK remaining syllables compose"
]
},
{
"profile": "rect-quickapp",
"case": "complete-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK full list paginated",
"IME_CHECK last candidate page accessible"
]
},
{
"profile": "rect-quickapp",
"case": "candidate-select",
"passed": true,
"checks": [
"IME_CHECK last original candidate can commit"
]
},
{
"profile": "rect-quickapp",
"case": "full-pinyin",
"passed": true,
"checks": [
"IME_CHECK standard 10-9-7 QWERTY order",
"IME_CHECK dictionary settled",
"IME_CHECK long phrase in full dictionary",
"IME_CHECK native full pinyin commit"
]
},
{
"profile": "rect-quickapp",
"case": "14-key-phrase",
"passed": true,
"checks": [
"IME_CHECK 14-key mode has fourteen real buttons",
"IME_CHECK dictionary settled",
"IME_CHECK paired ambiguity retains both valid phrases",
"IME_CHECK 14-key uncommitted input blocks finish",
"IME_CHECK 14-key mode switch preserves composition",
"IME_CHECK native 14-key phrase commit"
]
},
{
"profile": "rect-quickapp",
"case": "14-key-continuous",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK dictionary settled",
"IME_CHECK 14-key consumes five matched keys only",
"IME_CHECK 14-key continuous phrase commit"
]
},
{
"profile": "rect-quickapp",
"case": "14-key-candidates",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK 14-key full dictionary candidates",
"IME_CHECK 14-key first full candidate page",
"IME_CHECK 14-key native next candidate page",
"IME_CHECK 14-key native previous candidate page",
"IME_CHECK 14-key expanded candidate commit"
]
},
{
"profile": "rect-quickapp",
"case": "english",
"passed": true,
"checks": [
"IME_CHECK English follows standard QWERTY",
"IME_CHECK uppercase and lowercase native keys"
]
},
{
"profile": "rect-quickapp",
"case": "symbols",
"passed": true,
"checks": [
"IME_CHECK ASCII and Chinese punctuation native keys"
]
},
{
"profile": "rect-quickapp",
"case": "cursor-unicode",
"passed": true,
"checks": [
"IME_CHECK Unicode-safe deletion",
"IME_CHECK insertion at moved cursor"
]
},
{
"profile": "rect-quickapp",
"case": "hold-delete",
"passed": true,
"checks": [
"IME_CHECK hold repeats delete",
"IME_CHECK release stops repeats"
]
},
{
"profile": "rect-quickapp",
"case": "length-and-mode",
"passed": true,
"checks": [
"IME_CHECK dictionary settled",
"IME_CHECK overlong candidate not truncated",
"IME_CHECK uncommitted composition not dropped",
"IME_CHECK mode switch preserves uncommitted composition"
]
},
{
"profile": "rect-quickapp",
"case": "learning",
"passed": true,
"checks": [
"IME_CHECK learning defaults off",
"IME_CHECK learning opt-in",
"IME_CHECK dictionary settled",
"IME_CHECK only chosen candidate learned",
"IME_CHECK learning cleared"
]
},
{
"profile": "rect-quickapp",
"case": "cancel",
"passed": true,
"checks": [
"IME_CHECK cancel keeps original document"
]
},
{
"profile": "rect-quickapp",
"case": "numeric",
"passed": true,
"checks": [
"IME_CHECK numeric field auto keyboard",
"IME_CHECK numeric result returned"
]
},
{
"profile": "rect-quickapp",
"case": "password-privacy",
"passed": true,
"checks": [
"IME_CHECK secret preview masked",
"IME_CHECK secret cannot enable learning",
"IME_CHECK secret erased on actual app switch"
]
},
{
"profile": "rect-quickapp",
"case": "long-text-clear",
"passed": true,
"checks": [
"IME_CHECK long text preview bounded",
"IME_CHECK clear needs confirmation",
"IME_CHECK confirmed clear"
]
},
{
"profile": "rect-quickapp",
"case": "lookup-performance",
"passed": true,
"checks": [
"IME_CHECK lookup nihao",
"IME_CHECK lookup zhongguo",
"IME_CHECK lookup shijie",
"IME_CHECK lookup shurufa",
"IME_CHECK lookup beijing",
"IME_CHECK lookup tianqi",
"IME_CHECK lookup shanghai",
"IME_CHECK lookup gongzuo",
"IME_CHECK bounded decoded shard cache",
"IME_CHECK emulator lookup under one second"
]
},
{
"profile": "rect-quickapp",
"case": "finish-save",
"passed": true,
"checks": [
"IME_CHECK finished text returned to opener",
"IME_CHECK explicit local draft save"
]
}
],
"native_layouts": [
{
"profile": "round",
"case": "auto-open",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "t9-phrase",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "continuous",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "complete-candidates",
"page": "keyboard",
"buttons": 9,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "candidate-select",
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "full-pinyin",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "14-key-phrase",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "14-key-continuous",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "14-key-candidates",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "english",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "symbols",
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "cursor-unicode",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "hold-delete",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "length-and-mode",
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "learning",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "cancel",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "numeric",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 199.62,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "password-privacy",
"page": "main",
"buttons": 0,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "long-text-clear",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "lookup-performance",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round",
"case": "finish-save",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 199.62,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "auto-open",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "t9-phrase",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "continuous",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "complete-candidates",
"page": "keyboard",
"buttons": 9,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "candidate-select",
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "full-pinyin",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "14-key-phrase",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "14-key-continuous",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "14-key-candidates",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "english",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "symbols",
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "cursor-unicode",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "hold-delete",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "length-and-mode",
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "learning",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "cancel",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "numeric",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "password-privacy",
"page": "main",
"buttons": 0,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "long-text-clear",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "lookup-performance",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect",
"case": "finish-save",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "auto-open",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "t9-phrase",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "continuous",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "complete-candidates",
"page": "keyboard",
"buttons": 9,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "candidate-select",
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "full-pinyin",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "14-key-phrase",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "14-key-continuous",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "14-key-candidates",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "english",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "symbols",
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "cursor-unicode",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "hold-delete",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "length-and-mode",
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "learning",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "cancel",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "numeric",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 215.81,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "password-privacy",
"page": "main",
"buttons": 0,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "long-text-clear",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "lookup-performance",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true
},
{
"profile": "round-quickapp",
"case": "finish-save",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 215.81,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "auto-open",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "t9-phrase",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "continuous",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "complete-candidates",
"page": "keyboard",
"buttons": 9,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "candidate-select",
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "full-pinyin",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "14-key-phrase",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "14-key-continuous",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "14-key-candidates",
"page": "keyboard",
"buttons": 25,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "english",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "symbols",
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "cursor-unicode",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "hold-delete",
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "length-and-mode",
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "learning",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "cancel",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "numeric",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "password-privacy",
"page": "main",
"buttons": 0,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "long-text-clear",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "lookup-performance",
"page": "keyboard",
"buttons": 20,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true
},
{
"profile": "rect-quickapp",
"case": "finish-save",
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true
}
],
"visual_screens": [
{
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 199.62,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "home"
},
{
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "t9"
},
{
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "pinyin"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "candidates"
},
{
"page": "keyboard",
"buttons": 14,
"icons": 3,
"max_button_radius": 227.86,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "tools"
},
{
"page": "keyboard",
"buttons": 29,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "14-key"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "14-candidates"
},
{
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "en"
},
{
"page": "keyboard",
"buttons": 23,
"icons": 4,
"max_button_radius": 226.01,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "num"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "sym"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round",
"screen": "sym2"
},
{
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "home"
},
{
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "t9"
},
{
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "pinyin"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "candidates"
},
{
"page": "keyboard",
"buttons": 14,
"icons": 3,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "tools"
},
{
"page": "keyboard",
"buttons": 29,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "14-key"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "14-candidates"
},
{
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "en"
},
{
"page": "keyboard",
"buttons": 23,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "num"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "sym"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect",
"screen": "sym2"
},
{
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 215.81,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "home"
},
{
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "t9"
},
{
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "pinyin"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "candidates"
},
{
"page": "keyboard",
"buttons": 14,
"icons": 3,
"max_button_radius": 227.86,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "tools"
},
{
"page": "keyboard",
"buttons": 29,
"icons": 5,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "14-key"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 226.12,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "14-candidates"
},
{
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "en"
},
{
"page": "keyboard",
"buttons": 23,
"icons": 4,
"max_button_radius": 226.01,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "num"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "sym"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 224.08,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "round-quickapp",
"screen": "sym2"
},
{
"page": "main",
"buttons": 6,
"icons": 0,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "home"
},
{
"page": "keyboard",
"buttons": 24,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "t9"
},
{
"page": "keyboard",
"buttons": 41,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "pinyin"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "candidates"
},
{
"page": "keyboard",
"buttons": 14,
"icons": 3,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "tools"
},
{
"page": "keyboard",
"buttons": 29,
"icons": 5,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "14-key"
},
{
"page": "keyboard",
"buttons": 11,
"icons": 6,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "14-candidates"
},
{
"page": "keyboard",
"buttons": 37,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "en"
},
{
"page": "keyboard",
"buttons": 23,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "num"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "sym"
},
{
"page": "keyboard",
"buttons": 30,
"icons": 4,
"max_button_radius": 0,
"failures": [],
"passed": true,
"dark_edge_pixels": 0,
"profile": "rect-quickapp",
"screen": "sym2"
}
],
"artifacts": {
"round": {
"sha256": "D0D0BBCBACA78A3300F9CE7538BD39CC0810BCF9872B3B42F0E4ED040EDB0A51",
"bytes": 11042679
},
"rect": {
"sha256": "767D7A034D943D4B2D75CBE1EA623BEAAEF8CCBF0033B7944A3763513E74B291",
"bytes": 11038035
},
"round-quickapp": {
"sha256": "C82E78F47B4CDCBD33B6E39D2C08005CCFFD617608336A17CF5C4F808370E31F",
"bytes": 11046661
},
"rect-quickapp": {
"sha256": "A1CA39663B85D36FF464BE5D62949C7ADEFD2EFA7939C8E65ABD90DF41F192E8",
"bytes": 11045856
}
},
"real_device": false,
"store_review": false,
"passed": true
}