Перейти к содержимому
FastOffice

DTO · api-view.ts

18 интерфейсов и 6 псевдонимов типов shell-contract — отображение: режимы инспектора, операции отрисовки, текстовые эффекты и описатели печатного вида.

Источник: apps/fastdoc-shell/src/shell-contract/api-view.ts.

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:4

type InspectorMode = "print" | "paginate" | "report" | "review";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:5

type ShellDrawOpKind = "draw-text-line" | "draw-line-number" | "draw-table-cell-box" | "draw-table-row-box" | "draw-image-placeholder" | "draw-paragraph-border-box" | "draw-paragraph-shading-box" | "draw-body-tracked-change-redline" | "draw-body-tracked-change-balloon-bar" | "draw-body-tracked-change-balloon-leader" | "draw-review-comment-anchor" | "draw-review-comment-surface" | "draw-footnote-separator-line" | "draw-endnote-separator-line" | "draw-footnote-table-cell-box" | "draw-footnote-table-row-box" | "draw-shape-textbox" | "draw-shape-rect" | "draw-shape-ellipse" | "draw-shape-round-rect" | "draw-shape-triangle" | "draw-shape-diamond" | "draw-shape-pentagon" | "draw-shape-hexagon" | "draw-shape-parallelogram" | "draw-shape-trapezoid" | "draw-shape-plus" | "draw-shape-star5" | "draw-shape-can" | "draw-shape-cube" | "draw-shape-cloud" | "draw-shape-flowchart-process" | "draw-shape-flowchart-decision" | "draw-shape-flowchart-data" | "draw-shape-flowchart-terminator" | "draw-shape-flowchart-document" | "draw-shape-line" | "draw-shape-left-arrow" | "draw-shape-right-arrow" | "draw-shape-up-arrow" | "draw-shape-down-arrow" | "draw-chart-column" | "draw-chart-line" | "draw-chart-pie" | "draw-chart-error" | "draw-embedded-preserved";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:53

interface ShellDrawOp {
draw_index: number;
op_kind: ShellDrawOpKind;
source_line_location: string;
scene_x_milli_px: number;
scene_y_milli_px: number;
scene_box_width_milli_px: number;
scene_box_height_milli_px: number;
text_baseline_offset_milli_px?: number | null;
text: string;
base_direction?: "ltr" | "rtl" | null;
font_family_name?: string | null;
font_size_half_points?: number | null;
font_bold?: boolean | null;
font_italic?: boolean | null;
font_color_rgb?: string | null;
font_underline?: string | null;
font_underline_color_rgb?: string | null;
text_highlight_color?: string | null;
text_shading_color_rgb?: string | null;
font_strikethrough?: string | null;
font_vertical_align?: string | null;
font_small_caps?: boolean | null;
font_small_caps_size_half_points?: number | null;
font_character_spacing_twips?: number | null;
d5_ink_bbox_scale_x_per_mille?: number | null;
table_cell_fill_color_rgb?: string | null;
table_cell_shading_pattern?: string | null;
table_cell_shading_foreground_color_rgb?: string | null;
table_cell_borders?: ShellTableCellBorder[] | null;
review_comment_id?: number | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:104

interface ShellTextEffectPaintPass {
pass_kind: "fill" | "stroke";
x_offset_milli_px: number;
y_offset_milli_px: number;
color_rgb: string;
alpha_per_mille: number;
line_width_milli_px: number;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:113

interface ShellTextEffectDrawOp {
page_index: number;
target_draw_index: number;
source_line_location: string;
source_run_locations: string[];
text: string;
text_effect: "outline" | "shadow" | "emboss" | "imprint";
paint_passes: ShellTextEffectPaintPass[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:123

interface ShellPrintLineItem {
page_index: number;
section_index: number;
page_role: string;
paragraph_index: number;
paragraph_location: string;
line_index: number;
line_location: string;
text: string;
base_direction?: "ltr" | "rtl" | null;
width_milli_px: number;
keep_with_next?: boolean;
keep_lines_together?: boolean;
widow_control?: boolean;
page_break_before?: boolean;
drop_cap_kind?: string | null;
source_fragment_location: string;
scene_x_milli_px?: number | null;
scene_y_milli_px?: number | null;
scene_box_width_milli_px?: number | null;
scene_box_height_milli_px?: number | null;
text_baseline_offset_milli_px?: number | null;
d5_ink_bbox_scale_x_per_mille?: number | null;
font_family_name?: string | null;
font_size_half_points?: number | null;
font_bold?: boolean | null;
font_italic?: boolean | null;
font_color_rgb?: string | null;
font_underline?: string | null;
text_highlight_color?: string | null;
text_shading_color_rgb?: string | null;
font_strikethrough?: string | null;
font_vertical_align?: string | null;
fragments?: Array<{
run_location: string;
text: string;
font_family_name?: string | null;
font_size_half_points?: number | null;
font_bold?: boolean | null;
font_italic?: boolean | null;
font_color_rgb?: string | null;
font_underline?: string | null;
text_highlight_color?: string | null;
text_shading_color_rgb?: string | null;
font_strikethrough?: string | null;
font_vertical_align?: string | null;
}>;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:172

interface ShellPrintPage {
page_index: number;
display_page_number: number;
section_index?: number;
page_role: string;
page_width_twips: number;
page_height_twips: number;
column_count: number;
column_space_twips?: number | null;
column_widths_twips: number[];
column_line_between: boolean;
column_right_to_left: boolean;
content_box_x_milli_px: number;
content_box_y_milli_px: number;
content_box_width_milli_px: number;
content_box_height_milli_px: number;
header_footer_live_band: {
text_left_milli_px: number;
header_text_top_milli_px: number;
footer_text_bottom_inset_milli_px: number;
header_band_top_milli_px: number;
footer_band_bottom_inset_milli_px: number;
band_height_milli_px: number;
line_height_milli_px: number;
retrospective_bar_left_milli_px: number;
font_family_name: string;
font_size_milli_px: number;
font_size_half_points: number;
font_bold: boolean;
font_italic: boolean;
};
scene_fingerprint: string;
screen_view: ShellPrintViewDescriptor;
pdf_view: ShellPrintViewDescriptor;
line_items?: ShellPrintLineItem[];
draw_ops: ShellDrawOp[];
support_markers?: ShellSupportMarker[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:211

interface ShellPrintViewDescriptor {
view_kind: "screen" | "pdf";
source_scene_fingerprint: string;
view_fingerprint: string;
page_width_twips: number;
page_height_twips: number;
column_count: number;
column_space_twips?: number | null;
column_widths_twips: number[];
column_line_between: boolean;
column_right_to_left: boolean;
content_box_x_milli_px: number;
content_box_y_milli_px: number;
content_box_width_milli_px: number;
content_box_height_milli_px: number;
draw_op_count: number;
deferred_lane_markers: string[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:230

interface ShellPrintSnapshot {
stage_id: string;
contract_mode: string;
fingerprint_mode: string;
document_fingerprint: string;
source_document_fingerprint?: string;
screen_view_fingerprint: string;
pdf_view_fingerprint: string;
page_count: number;
line_item_count: number;
draw_op_count: number;
text_effect_draw_ops?: ShellTextEffectDrawOp[];
pages: ShellPrintPage[];
support_markers?: ShellSupportMarker[];
scene_cache_limit?: number;
scene_cache_count?: number;
scene_cache_peak?: number;
hydration_payload_bytes?: number;
hydration_duration_ms?: number;
hydration_dropped_request_count?: number;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:264

interface ShellPaginateFragment {
page_index: number;
section_index: number;
section_source_location?: string;
section_type?: string | null;
title_page_enabled?: boolean;
page_number_in_section?: number;
page_number_start?: number | null;
page_role: string;
block_range_start: number;
block_range_end: number;
closing_boundary_kind: string;
observed_breaks?: ShellObservedBreak[];
header_binding?: {
binding_kind: string;
relationship_id: string;
target_part_name: string;
source_location: string;
source_kind?: string;
source_section_index?: number;
} | null;
footer_binding?: {
binding_kind: string;
relationship_id: string;
target_part_name: string;
source_location: string;
source_kind?: string;
source_section_index?: number;
} | null;
support_markers?: ShellSupportMarker[];
column_count?: number;
column_space_twips?: number;
column_widths_twips?: number[];
line_numbering_restart_mode?: string | null;
line_numbering_count_by?: number | null;
line_numbering_start?: number | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:302

interface ShellPaginateSnapshot {
stage_id: string;
mirror_margins_enabled?: boolean;
even_and_odd_headers_enabled?: boolean;
section_count: number;
explicit_break_count: number;
rendered_break_observation_count: number;
page_fragment_count: number;
hard_split_count: number;
sections?: Array<{
section_index: number;
source_location: string;
section_type?: string | null;
page_width_twips: number;
page_height_twips: number;
margin_top_twips?: number;
margin_right_twips?: number;
margin_bottom_twips?: number;
margin_left_twips?: number;
header_distance_twips?: number;
footer_distance_twips?: number;
gutter_twips?: number;
title_page_enabled?: boolean;
page_number_start?: number | null;
column_count?: number;
column_space_twips?: number;
column_widths_twips?: number[];
line_numbering_restart_mode?: string | null;
line_numbering_count_by?: number | null;
line_numbering_start?: number | null;
}>;
page_fragments: ShellPaginateFragment[];
support_markers?: ShellSupportMarker[];
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:337

interface CurrentDocumentTruthViewerData {
schema: "fastdoc.desktop-truth.current-document-viewer-data.v1";
docxPath: string;
repoRelativeDocxPath: string | null;
availability: string;
fixtureId: string | null;
fixturePath: string | null;
comparisonIndexPath: string;
packetJsonPath: string | null;
packetMarkdownPath: string | null;
indexEntry: Record<string, unknown> | null;
packet: Record<string, unknown> | null;
blockedStates: unknown[];
forbiddenClaims: string[];
productHeartbeat: Record<string, unknown> | null;
unavailableReason: string | null;
explicitUnclaimedAreas: string[];
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:356

type EditorV0QuickPrintRangeMode = "all" | "current-page" | "selection" | "pages";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:357

type EditorV0QuickPrintDuplexMode = "one-sided" | "long-edge" | "short-edge";

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:358

type EditorV0QuickPrintDispatchMode = "plan-only" | "native-print-test-dry-run" | "native-print-dialog" | "native-print";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:361

interface EditorV0QuickPrintSelectionGeometry {
anchorXMilliPx: number;
anchorYMilliPx: number;
focusXMilliPx: number;
focusYMilliPx: number;
lineLocation: string;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:369

interface EditorV0QuickPrintPlanRequest {
outputPath?: string | null;
rangeMode?: EditorV0QuickPrintRangeMode;
pageRange?: string | null;
copies?: number;
duplexMode?: EditorV0QuickPrintDuplexMode;
currentPageIndex?: number | null;
selectionGeometry?: EditorV0QuickPrintSelectionGeometry | null;
dispatchMode?: EditorV0QuickPrintDispatchMode | null;
deviceName?: string | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:381

interface EditorV0QuickPrintNativeDispatchResult {
schema: "fastdoc.shell.editor-v0-quick-print-native-dispatch.v1";
requested: boolean;
dispatchMode: EditorV0QuickPrintDispatchMode;
dispatchState: "plan-only" | "native-print-test-dry-run-not-spooled" | "native-print-spooled" | "native-print-failed" | "native-print-dialog-completed" | "native-print-dialog-canceled" | "native-print-dialog-failed";
sharedScenePdfPath: string | null;
hiddenPrintWindowLoaded: boolean;
nativePrintApiCalled: boolean;
systemPrintDialogInvoked: boolean;
printerDriverSpoolExecuted: boolean;
printSuccess: boolean | null;
printCanceled: boolean;
failureReason: string | null;
sharedSceneOwner: "D5";
sourceLayoutContract: string | null;
sourceDocumentFingerprint: string | null;
sourceViewFingerprint: string | null;
pageSceneFingerprints: string[];
pageTextContracts: Record<string, unknown>[];
selectedPageNumbers: number[];
pageCount: number | null;
copies: number;
duplexMode: EditorV0QuickPrintDuplexMode;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:413

interface EditorV0QuickPrintPlanResult {
prepared: boolean;
schema: "fastdoc.shell.editor-v0-quick-print-action-result.v1";
documentPath: string;
outputPath: string | null;
rangeMode: EditorV0QuickPrintRangeMode;
pageRange: string | null;
copies: number;
duplexMode: EditorV0QuickPrintDuplexMode;
duplexCapability: {
requestedMode: EditorV0QuickPrintDuplexMode;
planSupported: true;
nativeSupported: boolean;
state: "one-sided" | "plan-only-native-unsupported";
reason: string | null;
};
printerTarget: "a4-local-preview" | "system-default";
planPrinterTarget: "a4-local-preview";
planKind: string | null;
pageCount: number | null;
selectedPageNumbers: number[];
sheetCount: number | null;
dispatchFingerprint: string | null;
selectionGeometry: EditorV0QuickPrintSelectionGeometry | null;
dispatchMode: EditorV0QuickPrintDispatchMode;
nativePrintDispatch: EditorV0QuickPrintNativeDispatchResult;
plan: Record<string, unknown>;
claims: Record<string, unknown>;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:443

interface EditorV0SectionPageMarginsCommandRequest {
topMarginTwips: number;
rightMarginTwips: number;
bottomMarginTwips: number;
leftMarginTwips: number;
gutterTwips?: number | null;
gutterPosition?: "left" | "top" | null;
mirrorMarginsEnabled?: boolean | null;
multiplePages?: "normal" | "mirror" | "two-pages-per-sheet" | "book-fold" | "reverse-book-fold";
pageOrientation?: "portrait" | "landscape";
paperSize?: "a3" | "a4" | "a5" | "letter" | "custom";
paperWidthTwips?: number;
paperHeightTwips?: number;
paperSourceFirst?: number | null;
paperSourceOther?: number | null;
sectionStart?: "nextPage" | "continuous" | "newColumn" | "evenPage" | "oddPage";
suppressEndnotes?: boolean;
differentOddEvenPages?: boolean;
differentFirstPage?: boolean;
headerDistanceTwips?: number;
footerDistanceTwips?: number;
verticalAlignment?: "top" | "center" | "both" | "bottom";
lineNumberingMode?: "none" | "continuous" | "restart-page" | "restart-section";
lineNumberStart?: number;
lineNumberCountBy?: number;
lineNumberDistanceTwips?: number;
paragraphIndex: number;
paragraphIndexes?: number[] | null;
outputKind?: "editor-v0-vertical-ruler-margin-writeback";
rulerDragRole?: "section-left-margin" | "section-right-margin" | "section-top-margin" | "section-bottom-margin" | null;
outputPath?: string | null;
reopenAfterWrite?: boolean;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:482

interface EditorV0SectionPageMarginsCommandResult {
applied: boolean;
outputPath: string;
topMarginTwips: number;
rightMarginTwips: number;
bottomMarginTwips: number;
leftMarginTwips: number;
gutterTwips?: number | null;
gutterPosition?: "left" | "top" | null;
mirrorMarginsEnabled?: boolean | null;
pageSetupValues?: Record<string, unknown>;
paragraphIndex: number;
paragraphIndexes?: number[];
beforeTexts: string[];
afterTexts: string[];
}

TypeAliasDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:499

type EditorV0SectionPageSetupPreset = "paper-a3" | "paper-a4" | "paper-a5" | "paper-letter" | "orientation-portrait" | "orientation-landscape" | "margins-normal" | "margins-narrow" | "margins-wide" | "margins-2cm" | "margins-report" | "margins-mirror" | "margins-binding" | "margins-binding-top" | "margins-moderate" | "columns-one" | "columns-two" | "columns-three" | "columns-left" | "columns-right" | "columns-custom-widths";

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:522

interface EditorV0SectionPageSetupPresetRequest {
preset: EditorV0SectionPageSetupPreset;
paragraphIndex: number;
outputPath?: string | null;
reopenAfterWrite?: boolean;
columnWidthsTwips?: number[];
columnSpaceTwips?: number | null;
columnLineBetween?: boolean | null;
columnRightToLeft?: boolean | null;
selectedParagraphStartIndex?: number | null;
selectedParagraphEndIndex?: number | null;
}

InterfaceDeclaration · apps/fastdoc-shell/src/shell-contract/api-view.ts:535

interface EditorV0SectionPageSetupPresetResult {
applied: boolean;
outputPath: string;
preset: EditorV0SectionPageSetupPreset;
label: string;
paragraphIndex: number;
beforePageSetupState: Record<string, unknown>;
afterPageSetupState: Record<string, unknown> | null;
selectedAction: Record<string, unknown> | null;
mirrorMarginsEnabled?: boolean;
beforeTexts: string[];
afterTexts: string[];
popupWarningShown: false;
}

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.