feat: unified shell, diagnostics pack, native Office, sticky board
All checks were successful
CI / Windows build (push) Successful in 14m22s
All checks were successful
CI / Windows build (push) Successful in 14m22s
Make Surface remote debugging and classroom workflows viable: always-on structured logs with one-click zip export, a single AppShell chrome, OOXML PPTX/DOCX annotation without LibreOffice, and a first-class sticky board. Also drop spike/legacy ink widgets and tighten pen feel (predictor, PenInfoHistory, page-tile layer). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -121,6 +121,18 @@
|
||||
"total": { "type": "int" }
|
||||
}
|
||||
},
|
||||
"libraryTab": "Library",
|
||||
"boardTab": "Stickies",
|
||||
"shellTagline": "Ink · Annotate · Know",
|
||||
"notesSection": "Notes",
|
||||
"documentsSection": "Documents",
|
||||
"emptyLibraryTitle": "Nothing here yet",
|
||||
"emptyLibraryBody": "Create a note, or import PDF / PPT / Word",
|
||||
"diagnosticsSection": "Diagnostics",
|
||||
"diagnosticsExport": "Export diagnostic pack",
|
||||
"diagnosticsExportHint": "Reproduce on Surface, export, and send the zip back",
|
||||
"diagnosticsToggle": "Input diagnostics overlay",
|
||||
"penSettingsUnified": "Pen & ink",
|
||||
"board": "Board",
|
||||
"boardTitle": "Sticky Board",
|
||||
"boardOpen": "Sticky note board",
|
||||
|
||||
@@ -644,6 +644,78 @@ abstract class AppLocalizations {
|
||||
/// **'{current} / {total}'**
|
||||
String pageOfPages(int current, int total);
|
||||
|
||||
/// No description provided for @libraryTab.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Library'**
|
||||
String get libraryTab;
|
||||
|
||||
/// No description provided for @boardTab.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Stickies'**
|
||||
String get boardTab;
|
||||
|
||||
/// No description provided for @shellTagline.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Ink · Annotate · Know'**
|
||||
String get shellTagline;
|
||||
|
||||
/// No description provided for @notesSection.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Notes'**
|
||||
String get notesSection;
|
||||
|
||||
/// No description provided for @documentsSection.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Documents'**
|
||||
String get documentsSection;
|
||||
|
||||
/// No description provided for @emptyLibraryTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Nothing here yet'**
|
||||
String get emptyLibraryTitle;
|
||||
|
||||
/// No description provided for @emptyLibraryBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Create a note, or import PDF / PPT / Word'**
|
||||
String get emptyLibraryBody;
|
||||
|
||||
/// No description provided for @diagnosticsSection.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Diagnostics'**
|
||||
String get diagnosticsSection;
|
||||
|
||||
/// No description provided for @diagnosticsExport.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Export diagnostic pack'**
|
||||
String get diagnosticsExport;
|
||||
|
||||
/// No description provided for @diagnosticsExportHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Reproduce on Surface, export, and send the zip back'**
|
||||
String get diagnosticsExportHint;
|
||||
|
||||
/// No description provided for @diagnosticsToggle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Input diagnostics overlay'**
|
||||
String get diagnosticsToggle;
|
||||
|
||||
/// No description provided for @penSettingsUnified.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Pen & ink'**
|
||||
String get penSettingsUnified;
|
||||
|
||||
/// No description provided for @board.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
||||
@@ -301,6 +301,43 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
return '$current / $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get libraryTab => 'Library';
|
||||
|
||||
@override
|
||||
String get boardTab => 'Stickies';
|
||||
|
||||
@override
|
||||
String get shellTagline => 'Ink · Annotate · Know';
|
||||
|
||||
@override
|
||||
String get notesSection => 'Notes';
|
||||
|
||||
@override
|
||||
String get documentsSection => 'Documents';
|
||||
|
||||
@override
|
||||
String get emptyLibraryTitle => 'Nothing here yet';
|
||||
|
||||
@override
|
||||
String get emptyLibraryBody => 'Create a note, or import PDF / PPT / Word';
|
||||
|
||||
@override
|
||||
String get diagnosticsSection => 'Diagnostics';
|
||||
|
||||
@override
|
||||
String get diagnosticsExport => 'Export diagnostic pack';
|
||||
|
||||
@override
|
||||
String get diagnosticsExportHint =>
|
||||
'Reproduce on Surface, export, and send the zip back';
|
||||
|
||||
@override
|
||||
String get diagnosticsToggle => 'Input diagnostics overlay';
|
||||
|
||||
@override
|
||||
String get penSettingsUnified => 'Pen & ink';
|
||||
|
||||
@override
|
||||
String get board => 'Board';
|
||||
|
||||
|
||||
@@ -300,6 +300,42 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
return '$current / $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get libraryTab => '库';
|
||||
|
||||
@override
|
||||
String get boardTab => '便利贴';
|
||||
|
||||
@override
|
||||
String get shellTagline => '手写 · 批注 · 知识';
|
||||
|
||||
@override
|
||||
String get notesSection => '笔记';
|
||||
|
||||
@override
|
||||
String get documentsSection => '文档';
|
||||
|
||||
@override
|
||||
String get emptyLibraryTitle => '还没有内容';
|
||||
|
||||
@override
|
||||
String get emptyLibraryBody => '新建笔记,或导入 PDF / PPT / Word';
|
||||
|
||||
@override
|
||||
String get diagnosticsSection => '诊断';
|
||||
|
||||
@override
|
||||
String get diagnosticsExport => '导出诊断包';
|
||||
|
||||
@override
|
||||
String get diagnosticsExportHint => '在 Surface 上复现问题后导出,发回给开发者分析';
|
||||
|
||||
@override
|
||||
String get diagnosticsToggle => '输入诊断叠加层';
|
||||
|
||||
@override
|
||||
String get penSettingsUnified => '笔与墨迹';
|
||||
|
||||
@override
|
||||
String get board => '便利贴板';
|
||||
|
||||
|
||||
@@ -97,6 +97,18 @@
|
||||
"failedToOpenPdf": "打开 PDF 失败:\n{error}",
|
||||
"pdfNoPages": "PDF 没有任何页面。",
|
||||
"pageOfPages": "{current} / {total}",
|
||||
"libraryTab": "库",
|
||||
"boardTab": "便利贴",
|
||||
"shellTagline": "手写 · 批注 · 知识",
|
||||
"notesSection": "笔记",
|
||||
"documentsSection": "文档",
|
||||
"emptyLibraryTitle": "还没有内容",
|
||||
"emptyLibraryBody": "新建笔记,或导入 PDF / PPT / Word",
|
||||
"diagnosticsSection": "诊断",
|
||||
"diagnosticsExport": "导出诊断包",
|
||||
"diagnosticsExportHint": "在 Surface 上复现问题后导出,发回给开发者分析",
|
||||
"diagnosticsToggle": "输入诊断叠加层",
|
||||
"penSettingsUnified": "笔与墨迹",
|
||||
"board": "便利贴板",
|
||||
"boardTitle": "便利贴板",
|
||||
"boardOpen": "便利贴板",
|
||||
|
||||
Reference in New Issue
Block a user