[
  {
    "index": 0,
    "name": "paste",
    "commandKeys": [
      "editor.paste"
    ],
    "purpose": "기존 Affinity paste 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 1,
    "name": "copy",
    "commandKeys": [
      "editor.copy"
    ],
    "purpose": "기존 Affinity copy 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 2,
    "name": "cut",
    "commandKeys": [
      "editor.cut"
    ],
    "purpose": "기존 Affinity cut 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 3,
    "name": "save",
    "commandKeys": [
      "sheet.saveas",
      "editor.save"
    ],
    "purpose": "기존 Affinity save 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 4,
    "name": "undo",
    "commandKeys": [
      "search.undo"
    ],
    "purpose": "기존 Affinity undo 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 5,
    "name": "redo",
    "commandKeys": [
      "search.redo"
    ],
    "purpose": "기존 Affinity redo 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 6,
    "name": "bold",
    "commandKeys": [
      "sheet.font",
      "sheet.size",
      "ribbon.bold"
    ],
    "purpose": "기존 Affinity bold 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 7,
    "name": "italic",
    "commandKeys": [
      "ribbon.italic"
    ],
    "purpose": "기존 Affinity italic 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 8,
    "name": "underline",
    "commandKeys": [
      "conditional.underline"
    ],
    "purpose": "기존 Affinity underline 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 9,
    "name": "textcolor",
    "commandKeys": [
      "sheet.textcolor"
    ],
    "purpose": "기존 Affinity textcolor 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 10,
    "name": "fill",
    "commandKeys": [
      "object.panel.fill",
      "sheet.fill"
    ],
    "purpose": "기존 Affinity fill 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 11,
    "name": "borders",
    "commandKeys": [
      "object.panel.line",
      "select.blanks",
      "showgrid",
      "sheet.borders"
    ],
    "purpose": "기존 Affinity borders 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 12,
    "name": "top",
    "commandKeys": [
      "alignment.top"
    ],
    "purpose": "기존 Affinity top 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 13,
    "name": "middle",
    "commandKeys": [
      "alignment.vertical"
    ],
    "purpose": "기존 Affinity middle 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 14,
    "name": "bottom",
    "commandKeys": [
      "alignment.bottom"
    ],
    "purpose": "기존 Affinity bottom 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 15,
    "name": "left",
    "commandKeys": [
      "sheet.left"
    ],
    "purpose": "기존 Affinity left 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 16,
    "name": "center",
    "commandKeys": [
      "sheet.center"
    ],
    "purpose": "기존 Affinity center 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 17,
    "name": "right",
    "commandKeys": [
      "sheet.right"
    ],
    "purpose": "기존 Affinity right 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 18,
    "name": "wrap",
    "commandKeys": [
      "sheet.wrap"
    ],
    "purpose": "기존 Affinity wrap 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 19,
    "name": "merge",
    "commandKeys": [
      "sheet.merge"
    ],
    "purpose": "기존 Affinity merge 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 20,
    "name": "unmerge",
    "commandKeys": [
      "sheet.unmerge"
    ],
    "purpose": "기존 Affinity unmerge 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 21,
    "name": "percent",
    "commandKeys": [
      "ribbon.percent"
    ],
    "purpose": "기존 Affinity percent 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 22,
    "name": "decimal",
    "commandKeys": [
      "ribbon.decimal"
    ],
    "purpose": "기존 Affinity decimal 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 23,
    "name": "number",
    "commandKeys": [
      "select.constants",
      "sheet.number"
    ],
    "purpose": "기존 Affinity number 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 24,
    "name": "find",
    "commandKeys": [
      "editor.find"
    ],
    "purpose": "기존 Affinity find 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 25,
    "name": "clear",
    "commandKeys": [
      "editor.deletecurrent",
      "editor.deleteselection",
      "object.delete",
      "editor.clear"
    ],
    "purpose": "기존 Affinity clear 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 26,
    "name": "chart",
    "commandKeys": [
      "chart.insert",
      "object.panel.chart",
      "chart.open",
      "chart.title"
    ],
    "purpose": "기존 Affinity chart 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 27,
    "name": "objects",
    "commandKeys": [
      "object.addshape",
      "insert.shapes",
      "design.changeshape",
      "object.title"
    ],
    "purpose": "기존 Affinity objects 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 28,
    "name": "filter",
    "commandKeys": [
      "filter.reapply",
      "filter.title"
    ],
    "purpose": "기존 Affinity filter 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 29,
    "name": "conditional",
    "commandKeys": [
      "conditional.title"
    ],
    "purpose": "기존 Affinity conditional 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 30,
    "name": "format",
    "commandKeys": [
      "sheet.format"
    ],
    "purpose": "기존 Affinity format 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 31,
    "name": "row",
    "commandKeys": [
      "editor.showallrows",
      "editor.row",
      "editor.rowactions"
    ],
    "purpose": "기존 Affinity row 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 32,
    "name": "column",
    "commandKeys": [
      "editor.showallcolumns",
      "editor.column",
      "editor.columnactions"
    ],
    "purpose": "기존 Affinity column 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 33,
    "name": "import",
    "commandKeys": [
      "import.title"
    ],
    "purpose": "기존 Affinity import 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 34,
    "name": "export",
    "commandKeys": [
      "export.csv",
      "export.json",
      "export.xml",
      "export.xlsx",
      "export.lua",
      "export.title"
    ],
    "purpose": "기존 Affinity export 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 35,
    "name": "dependencies",
    "commandKeys": [
      "dependencies.title"
    ],
    "purpose": "기존 Affinity dependencies 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 36,
    "name": "formula",
    "commandKeys": [
      "select.formulas",
      "formula.help"
    ],
    "purpose": "기존 Affinity formula 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 37,
    "name": "recalculate",
    "commandKeys": [
      "context.rebuild",
      "workbook.reload",
      "recovery.restore",
      "sheet.recalculate"
    ],
    "purpose": "기존 Affinity recalculate 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 38,
    "name": "names",
    "commandKeys": [
      "context.definitions",
      "sheet.names"
    ],
    "purpose": "기존 Affinity names 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 39,
    "name": "debug",
    "commandKeys": [
      "bug.title",
      "debug.title"
    ],
    "purpose": "기존 Affinity debug 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 40,
    "name": "diagnostic",
    "commandKeys": [
      "context.validate",
      "diagnostic.title"
    ],
    "purpose": "기존 Affinity diagnostic 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 41,
    "name": "view",
    "commandKeys": [
      "context.datasheets",
      "editor.unhideselection",
      "select.visible",
      "view.title"
    ],
    "purpose": "기존 Affinity view 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 42,
    "name": "sources",
    "commandKeys": [
      "global.connect",
      "sources.title"
    ],
    "purpose": "기존 Affinity sources 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 43,
    "name": "register",
    "commandKeys": [
      "data.usegame",
      "register.title",
      "register.registered",
      "ribbon.schema"
    ],
    "purpose": "기존 Affinity register 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 44,
    "name": "close",
    "commandKeys": [
      "editor.close"
    ],
    "purpose": "기존 Affinity close 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 45,
    "name": "minimize",
    "commandKeys": [
      "editor.minimize"
    ],
    "purpose": "기존 Affinity minimize 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 46,
    "name": "maximize",
    "commandKeys": [
      "editor.maximize"
    ],
    "purpose": "기존 Affinity maximize 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 47,
    "name": "restore",
    "commandKeys": [
      "window.restore"
    ],
    "purpose": "기존 Affinity restore 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 48,
    "name": "previous",
    "commandKeys": [
      "search.previous"
    ],
    "purpose": "기존 Affinity previous 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 49,
    "name": "next",
    "commandKeys": [
      "search.next"
    ],
    "purpose": "기존 Affinity next 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 50,
    "name": "plus",
    "commandKeys": [
      "sheet.add"
    ],
    "purpose": "기존 Affinity plus 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 51,
    "name": "down",
    "commandKeys": [
      "formula.expand"
    ],
    "purpose": "기존 Affinity down 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 52,
    "name": "up",
    "commandKeys": [
      "formula.collapse"
    ],
    "purpose": "기존 Affinity up 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 53,
    "name": "settings",
    "commandKeys": [
      "short"
    ],
    "purpose": "기존 Affinity settings 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 54,
    "name": "table",
    "commandKeys": [
      "context.selecttable",
      "table.create",
      "ribbon.tableformat"
    ],
    "purpose": "기존 Affinity table 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 55,
    "name": "sheet",
    "commandKeys": [
      "sheet.newfile",
      "editor.new",
      "compatibility.legacy",
      "compatibility.title",
      "workbook.reveal"
    ],
    "purpose": "기존 Affinity sheet 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 56,
    "name": "check",
    "commandKeys": [
      "editor.apply"
    ],
    "purpose": "기존 Affinity check 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 57,
    "name": "cancel",
    "commandKeys": [
      "editor.cancel"
    ],
    "purpose": "기존 Affinity cancel 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 58,
    "name": "gamebadge",
    "commandKeys": [
      "window.gamebadge"
    ],
    "purpose": "기존 Affinity gamebadge 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 59,
    "name": "eyedropper",
    "commandKeys": [
      "window.eyedropper"
    ],
    "purpose": "기존 Affinity eyedropper 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 60,
    "name": "language",
    "commandKeys": [
      "data.uselocalization",
      "data.localizationactive",
      "localization.manage",
      "settings.language",
      "compatibility.unicode",
      "localization.register"
    ],
    "purpose": "기존 Affinity language 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 61,
    "name": "globe",
    "commandKeys": [],
    "purpose": "기존 Affinity globe 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 62,
    "name": "generated",
    "commandKeys": [
      "export.scriptableobject",
      "localization.asset"
    ],
    "purpose": "기존 Affinity generated 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 63,
    "name": "enum",
    "commandKeys": [
      "enum.consolidate",
      "sheet.addenum"
    ],
    "purpose": "기존 Affinity enum 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 64,
    "name": "globalenum",
    "commandKeys": [
      "data.useglobal",
      "global.active"
    ],
    "purpose": "기존 Affinity globalenum 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 65,
    "name": "palette",
    "commandKeys": [
      "settings.appearance"
    ],
    "purpose": "기존 Affinity palette 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 66,
    "name": "keyboard",
    "commandKeys": [
      "settings.shortcuts"
    ],
    "purpose": "기존 Affinity keyboard 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 67,
    "name": "schema",
    "commandKeys": [],
    "purpose": "기존 Affinity schema 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 68,
    "name": "text",
    "commandKeys": [
      "object.panel.text"
    ],
    "purpose": "기존 Affinity text 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 69,
    "name": "layout",
    "commandKeys": [
      "object.panel.layout",
      "object.position",
      "view.freezeat"
    ],
    "purpose": "기존 Affinity layout 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 70,
    "name": "layers",
    "commandKeys": [
      "object.panel.organize"
    ],
    "purpose": "기존 Affinity layers 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 71,
    "name": "folder",
    "commandKeys": [
      "sheet.open"
    ],
    "purpose": "기존 Affinity folder 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 72,
    "name": "lock",
    "commandKeys": [
      "format.protection",
      "sheet.protection",
      "editor.idprotected"
    ],
    "purpose": "기존 Affinity lock 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 73,
    "name": "help",
    "commandKeys": [
      "sheet.help"
    ],
    "purpose": "기존 Affinity help 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 74,
    "name": "summary",
    "commandKeys": [
      "sheet.summary"
    ],
    "purpose": "기존 Affinity summary 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 75,
    "name": "unlink",
    "commandKeys": [],
    "purpose": "기존 Affinity unlink 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 76,
    "name": "refreshlanguage",
    "commandKeys": [
      "localization.rebuild"
    ],
    "purpose": "기존 Affinity refreshlanguage 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 77,
    "name": "defaultlanguage",
    "commandKeys": [
      "localization.default"
    ],
    "purpose": "기존 Affinity defaultlanguage 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 78,
    "name": "comments",
    "commandKeys": [
      "settings.comments"
    ],
    "purpose": "기존 Affinity comments 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 79,
    "name": "edit",
    "commandKeys": [
      "settings.editing"
    ],
    "purpose": "기존 Affinity edit 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 80,
    "name": "searchtable",
    "commandKeys": [],
    "purpose": "기존 Affinity searchtable 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 81,
    "name": "translate",
    "commandKeys": [],
    "purpose": "기존 Affinity translate 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 82,
    "name": "image",
    "commandKeys": [
      "object.addimage",
      "insert.pictures",
      "object.image"
    ],
    "purpose": "기존 Affinity image 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 83,
    "name": "play",
    "commandKeys": [
      "media.play"
    ],
    "purpose": "기존 Affinity play 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 84,
    "name": "linktable",
    "commandKeys": [
      "settings.registry"
    ],
    "purpose": "기존 Affinity linktable 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 85,
    "name": "status-error",
    "commandKeys": [
      "diagnostics.error"
    ],
    "purpose": "기존 Affinity status-error 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 86,
    "name": "status-warning",
    "commandKeys": [
      "diagnostics.warning"
    ],
    "purpose": "기존 Affinity status-warning 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 87,
    "name": "status-info",
    "commandKeys": [
      "diagnostics.info"
    ],
    "purpose": "기존 Affinity status-info 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 88,
    "name": "print",
    "commandKeys": [
      "editor.print"
    ],
    "purpose": "기존 Affinity print 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 89,
    "name": "sort",
    "commandKeys": [
      "data.sort"
    ],
    "purpose": "기존 Affinity sort 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 90,
    "name": "calendar",
    "commandKeys": [
      "sheet.calendar"
    ],
    "purpose": "기존 Affinity calendar 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 91,
    "name": "hyperlink",
    "commandKeys": [
      "insert.link"
    ],
    "purpose": "기존 Affinity hyperlink 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 92,
    "name": "zoom",
    "commandKeys": [
      "view.zoom"
    ],
    "purpose": "기존 Affinity zoom 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 93,
    "name": "freeze",
    "commandKeys": [
      "view.freeze"
    ],
    "purpose": "기존 Affinity freeze 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 94,
    "name": "pivot",
    "commandKeys": [
      "insert.pivot"
    ],
    "purpose": "기존 Affinity pivot 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 95,
    "name": "checkbox",
    "commandKeys": [
      "insert.checkbox"
    ],
    "purpose": "기존 Affinity checkbox 의미 유지; 광학 크기·획·여백 검토",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 96,
    "name": "autosum",
    "commandKeys": [
      "ribbon.autosum"
    ],
    "purpose": "자동 합계:Σ",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 97,
    "name": "crop",
    "commandKeys": [
      "object.crop"
    ],
    "purpose": "이미지 자르기:교차한 자르기 모서리",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 98,
    "name": "symbols",
    "commandKeys": [
      "insert.symbols"
    ],
    "purpose": "기호 삽입:Ω",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 99,
    "name": "filldown",
    "commandKeys": [
      "shortcut.filldown"
    ],
    "purpose": "아래로 채우기:표+아래 화살표",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 100,
    "name": "fillright",
    "commandKeys": [
      "shortcut.fillright"
    ],
    "purpose": "오른쪽 채우기:표+오른쪽 화살표",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 101,
    "name": "statistics",
    "commandKeys": [
      "review.statistics"
    ],
    "purpose": "통계:막대 그래프",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 102,
    "name": "sortascending",
    "commandKeys": [
      "filter.ascending"
    ],
    "purpose": "오름차순:A→Z",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 103,
    "name": "sortdescending",
    "commandKeys": [
      "filter.descending"
    ],
    "purpose": "내림차순:Z→A",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 104,
    "name": "chartstyles",
    "commandKeys": [
      "chart.builtinstyle"
    ],
    "purpose": "차트 스타일:차트+붓",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 105,
    "name": "chartcolors",
    "commandKeys": [
      "chart.seriescolorapply"
    ],
    "purpose": "계열 색상:색상별 막대",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 106,
    "name": "unfreeze",
    "commandKeys": [
      "view.unfreeze"
    ],
    "purpose": "틀 고정 해제:고정 표+해제선",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 107,
    "name": "convertrange",
    "commandKeys": [
      "table.convertrange"
    ],
    "purpose": "표를 범위로:표+전환 화살표",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 108,
    "name": "hide",
    "commandKeys": [
      "editor.hideselection"
    ],
    "purpose": "숨기기:눈+가림선",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 109,
    "name": "clearfilters",
    "commandKeys": [
      "filter.clearall"
    ],
    "purpose": "필터 지우기:필터+삭제",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 110,
    "name": "unregister",
    "commandKeys": [
      "data.removegame"
    ],
    "purpose": "게임 데이터 등록 해제:표+빼기",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  },
  {
    "index": 111,
    "name": "pastevalues",
    "commandKeys": [
      "paste.values"
    ],
    "purpose": "값만 붙여넣기:클립보드+123",
    "review": "18px·26px 실제 Direct3D 렌더와 원본 패스 대조"
  }
]