1mod changes;
8mod clipboard;
9mod document;
10mod format;
11mod geometry;
12mod geometry_facts;
13mod gesture;
14mod gpui;
15mod graph;
16#[doc(hidden)]
17pub mod index;
18mod json_canvas;
19mod layer;
20mod mutation;
21mod persistence;
22mod record_scope;
23mod relations;
24mod routing;
25mod runtime;
26mod runtime_query;
27mod schema;
28mod session;
29mod snap;
30mod spatial_cache;
31mod store;
32#[cfg(test)]
33mod test_support;
34mod tool;
35mod transform;
36
37pub use changes::{
38 CanvasChangeOrigin, CanvasRecord, CanvasRecordChange, CanvasRecordOperation,
39 CanvasRecordOperationBatch, CanvasRelationChange, CanvasRelationOperation,
40 CanvasRelationOperationBatch,
41};
42pub use clipboard::{CanvasClipboardPayload, CanvasPasteTransaction};
43pub use document::{
44 BindingId, CanvasConnectionEndpointRole, CanvasDocument, CanvasDocumentBuilder,
45 CanvasDocumentDiff, CanvasEdge, CanvasEdgeRoute, CanvasEdgeRouteKind, CanvasEndpoint,
46 CanvasHandle, CanvasNode, CanvasRecordId, CanvasShape, CanvasSnapshot, CanvasStyle,
47 CanvasTransaction, CanvasValue, DocumentCommand, DocumentError, EdgeId, HandleId, HandleRole,
48 NodeId, ShapeId,
49};
50pub use format::{
51 CANVAS_DOCUMENT_FORMAT_VERSION, CANVAS_DOCUMENT_MIN_SUPPORTED_FORMAT_VERSION,
52 CANVAS_SNAPSHOT_MIGRATIONS, CanvasSnapshotMigration, default_document_format_version,
53 migrate_canvas_snapshot, validate_canvas_document_format_version,
54};
55pub use geometry::{CanvasViewport, TransformError};
56pub use geometry_facts::{
57 CanvasGeometryFacts, CanvasRecordGeometry, CanvasResolvedEdgeGeometry, connection_hit_options,
58};
59pub use gpui::{
60 CanvasConnectionPreviewRoute, CanvasEditorInputHandler, CanvasEditorInputMapper,
61 CanvasInputMapper, CanvasPaintConnectionPreview, CanvasPaintConnectionTargetFeedback,
62 CanvasPaintConnectionTargetState, CanvasPaintEdgeGeometry, CanvasPaintFrame,
63 CanvasPaintInteraction, CanvasPaintInteractionFrame, CanvasPaintLabel, CanvasPaintModel,
64 CanvasPaintOptions, CanvasPaintReconnectEndpoint, CanvasPaintReconnectHandle,
65 CanvasPaintReconnectHandleShape, CanvasPaintRecord, CanvasPaintSnapGuide, CanvasPaintTheme,
66 CanvasPaintTransformHandle, CanvasPaintWireVisualState, CanvasPreparedPaintFrame,
67 CanvasSceneFrame, CanvasSceneLayerItem, CanvasSceneLayerPhase, CanvasSceneRecordGroup,
68 CanvasWidgetOverlayFrame, CanvasWidgetOverlayHitPriority, CanvasWidgetOverlayOptions,
69 CanvasWidgetOverlayPlacement, canvas_editor_scene_view_with_frame, canvas_editor_view,
70 canvas_editor_view_with_frame, canvas_scene_view, canvas_view, collect_visible_records,
71 collect_widget_overlay_frame, paint_canvas_frame, paint_canvas_scene_phase,
72 prepaint_canvas_frame, prepare_canvas_frame, register_canvas_editor_input,
73};
74pub use graph::{
75 CanvasEdgeDirection, CanvasGraph, CanvasGraphEndpointIds, CanvasGraphIndex, CanvasIndexedGraph,
76};
77pub use index::{HitOptions, HitRecord, HitTarget};
78pub use json_canvas::{
79 JsonCanvas, JsonCanvasEdge, JsonCanvasEndpointShape, JsonCanvasError, JsonCanvasNode,
80 JsonCanvasSide, document_from_json_canvas_str, document_to_json_canvas_string,
81};
82pub use layer::CanvasZOrderCommand;
83pub use mutation::{CanvasCommittedMutation, CanvasPreparedMutation};
84pub use persistence::{
85 CANVAS_LORO_CRDT_FEATURE, CANVAS_PERSISTENCE_ADAPTERS, CANVAS_PERSISTENCE_CODEC_VERSION,
86 CANVAS_REDB_STORE_FEATURE, CANVAS_RKYV_SNAPSHOT_FEATURE, CanvasCheckpoint,
87 CanvasEncodedLogEntry, CanvasJsonPersistenceCodec, CanvasLogEntry, CanvasLogEntryKind,
88 CanvasPersistenceAdapter, CanvasPersistenceAdapterStatus, CanvasPersistenceByteStore,
89 CanvasPersistenceByteStoreAdapter, CanvasPersistenceByteStoreError, CanvasPersistenceCodec,
90 CanvasPersistenceCodecError, CanvasPersistenceCursor, CanvasPersistenceEnvelope,
91 CanvasPersistenceError, CanvasPersistenceRecord, CanvasPersistenceRecordKind,
92 CanvasPersistenceStore, CanvasPersistentToolRegistryError, CanvasReplayError,
93 MemoryCanvasPersistenceByteStore, MemoryCanvasPersistenceStore,
94 apply_persistent_store_transaction, apply_persistent_tool_intent,
95 apply_persistent_tool_intents, apply_persistent_transaction,
96 canvas_persistence_adapter_statuses, handle_persistent_event,
97 handle_persistent_event_with_custom_tool, handle_persistent_event_with_tool_registry,
98 load_canvas_document, load_canvas_persistence_cursor, redo_persistent_store_transaction,
99 redo_persistent_transaction, replay_canvas_log, save_canvas_checkpoint,
100 save_canvas_store_checkpoint, undo_persistent_store_transaction, undo_persistent_transaction,
101};
102pub use record_scope::{
103 CanvasRecordScope, CanvasRecordScopeOptions, CanvasResolvedSelectionScope, normalize_selection,
104 resolve_selection_scope, selection_record_scope,
105};
106pub use relations::{
107 CanvasRecordBindingRelation, CanvasRecordGroupRelation, CanvasRecordParentRelation,
108 CanvasRecordRelation, CanvasRecordRelationKey, CanvasRecordRelationKind, CanvasRecordRelations,
109 CanvasRecordRelationsBuilder,
110};
111pub use routing::{
112 CanvasDefaultEdgeRouter, CanvasEdgeRouter, CanvasRoutePath, CanvasRouteRequest,
113 CanvasRouteSegment,
114};
115pub use runtime::CanvasRuntime;
116pub use schema::{
117 CanvasEdgeKind, CanvasEdgeRenderPolicy, CanvasEdgeSchemaPolicy, CanvasKindLabel,
118 CanvasKindPaint, CanvasKindRegistry, CanvasNodeBoundsHitTest, CanvasNodeGeometryPolicy,
119 CanvasNodeHitTest, CanvasNodeInteractionPolicy, CanvasNodeKind, CanvasNodeRenderPolicy,
120 CanvasNodeResizeProposal, CanvasNodeSchemaPolicy, CanvasNodeTransformPolicy, CanvasRecordKind,
121 CanvasSchemaError, CanvasShapeBoundsHitTest, CanvasShapeGeometryPolicy, CanvasShapeHitTest,
122 CanvasShapeInteractionPolicy, CanvasShapeKind, CanvasShapeRenderPolicy,
123 CanvasShapeResizeProposal, CanvasShapeSchemaPolicy, CanvasShapeTransformPolicy,
124};
125pub use snap::{
126 CanvasSnapAxis, CanvasSnapGuide, CanvasSnapResult, DEFAULT_SNAP_THRESHOLD,
127 snap_delta_for_resize_selection, snap_delta_for_selection,
128};
129pub use store::{
130 CanvasStore, CanvasStoreChange, CanvasStoreHistoryEffect, CanvasStoreListenerId,
131 CanvasStoreMutationSource,
132};
133pub use tool::{
134 CanvasConnectedRelease, CanvasConnectionDragState, CanvasConnectionRejectReason,
135 CanvasConnectionRelease, CanvasDroppedConnectionRelease, CanvasDroppedReconnectRelease,
136 CanvasEditor, CanvasEvent, CanvasHistory, CanvasKey, CanvasKeyModifiers,
137 CanvasReconnectedRelease, CanvasRejectedConnectionRelease, CanvasSelection,
138 CanvasSelectionMode, CanvasTool, CanvasToolContext, CanvasToolId, CanvasToolIntent,
139 CanvasToolReducer, CanvasToolRegistry, CanvasToolRegistryError, PointerButton,
140};
141pub use transform::{
142 CanvasResizeHandle, CanvasTransformHandle, CanvasTransformTarget, canvas_transform_handles,
143};