F1 — что это
Встраиваемый табличный процессор Excel-класса: где находится Rust, как связаны слои и что партнёр получает как SDK.
F1 — табличная часть платформы FastOffice: независимый spreadsheet engine с формулами, sparse workbook state, историей, импортом и сохранением, а также готовой или заменяемой Web Shell.
Концептуальная архитектура для команды документарной системы
| Короткий ответ F1 состоит из двух основных частей: Web-оболочка показывает редактор, а единое ядро на Rust понимает рабочую книгу и выполняет операции. Между ними находится один compute contract. Система партнёра окружает F1: выдаёт файл и права, принимает события и сохраняет новую версию. |
|---|
| Продукт партнёра / DMS карточка документа, пользователи, права, версии, аудит, процессы |
|---|
| F1 Web Shell лента, сетка, диалоги, клавиатура, отображение результата |
| Compute Contract единый язык команд, результатов, ошибок, ревизий и событий |
| F1 Rust Core книга, формулы, операции, история, импорт/экспорт, сохранение |
| Адаптер выполнения WASM в браузере или native process на компьютере/сервере |
Как читать документ
Заголовок раздела «Как читать документ»Сначала — компоненты и объекты. Затем — путь одной операции. После этого показано, как одна и та же архитектура размещается в браузере, на сервере, на настольном компьютере и на мобильном устройстве. В конце — сильные стороны, ограничения и границы готовности.
1 · КОМПОНЕНТЫ
Excel-класс как embedded spreadsheet processor
Заголовок раздела «Excel-класс как embedded spreadsheet processor»F1 - табличная часть платформы. Её задача: дать партнёру независимый spreadsheet engine с формулами, sparse workbook state, историей, импортом/сохранением и готовой или заменяемой Web Shell.
| Принцип | Следствие для архитектуры | Пользовательская ценность |
|---|---|---|
| Один Rust Core | Формулы, клетки, history и file semantics не дублируются в JavaScript. | Одинаковое значение документа между native, WASM и shell. |
| Один Compute Contract | UI, automation и host adapters проходят через типизированную границу. | Стабильный SDK вместо доступа к внутренним операциям. |
| Sparse execution | Workbook subset -> sparse store -> viewport preview без полной материализации. | Большие книги можно открывать и редактировать через bounded viewport. |
| Fail closed | stale revision, malformed input, policy denial дают typed refusal до мутации. | Нет silent failure и скрытой порчи книги. |
| Atomic history | Операция создаёт одну central history entry либо не меняет документ. | Undo/Redo и audit остаются согласованными. |
| Host ownership | Auth, storage, telemetry destination, network policy и branding у партнёра. | Данные остаются в deployment boundary партнёра. |
Внешний SDK facade
Заголовок раздела «Внешний SDK facade»| Метод | Результат | Гарантия |
|---|---|---|
| FastSheet.create(options) | Engine instance | Выбор backend, admission, contract negotiation. |
| engine.open(source, options) | DocumentSession | Изолированная identity, capabilities, revision 0+. |
| document.getSnapshot(scope) | Bounded projection | Нет скрытой полной материализации. |
| document.execute(intent, options) | OperationResult | Atomic success либо typed refusal. |
| document.subscribe(filter, handler) | Subscription | Упорядоченные события сессии. |
| document.save(target, options) | SaveResult | Явный format/save capability. |
| document.close() | void | Идемпотентный teardown. |
Источник / основание: F1 Architecture Specification: Rust Core является единственным владельцем табличной и файловой семантики; Public SDK facade должен скрывать внутренний Compute Contract и давать стабильные методы create/open/execute/subscribe/save/close.