canvas_editor_flutter 0.13.0
canvas_editor_flutter: ^0.13.0 copied to clipboard
Complete Flutter scene editor for canvas_core documents with turnkey UI and composable editing, asset, image-import, image-tools, and export capabilities.
0.13.0 #
- Breaking: require
canvas_core 0.10.xandcanvas_renderer_flutter 0.9.x. - Breaking: replace
CanvasFontAssets,CanvasMediaResolver, andFontDefwith passive runtime resources:FlutterFontLoader,FontPickerItem,IconCatalogPort, andCanvasImageAssetResolver. - Breaking: change
PngExportPortto receive one adapter-resolved, unpreparedCanvasSceneDocumentplusCanvasPngSpec; remove editable/prepared dual-scene PNG arguments andEditorExportSpec. - Add
EditorController.resolveSceneForOutput()as the canonical final-output seam. Interactive rendering still resolves and prepares scenes, while final PNG preparation belongs to the authoritative renderer. - Move intrinsic-image update subscription ownership from
EditorRuntimetoCanvasEditorSurface, which owns theFlutterImagePoollifecycle. - Make
EditorAssetCoordinator.ensureForScene()return whether requested fonts became available and delegate font discovery/loading to the shared core/renderer resource contracts. - Use configured picker/fallback fonts when creating text instead of persisting a hardcoded
Interdependency. - Migrate image import and the public example to the batch
CanvasImageAssetResolverboundary and canonicalFlutterCanvasPngRendererflow.
0.12.1 #
- Bound best-effort intrinsic metadata lookup during image import and retain the existing 200-by-200 fallback when metadata is unavailable.
- Allow intrinsic metadata resolution and raster preload to proceed independently so optional metadata cannot block image rendering.
0.12.0 #
- Breaking: require
canvas_core 0.9.xandcanvas_renderer_flutter 0.8.x. - Create and rebind document-local image assets for asset-library insertion, image import, source replacement, and background removal.
- Keep
CanvasFields.imageSourceas the semantic editing field while storing canonical image sources in the scene asset registry. - Persist resolved intrinsic dimensions for newly imported and library images when available.
0.11.3 #
- Route scene JSON exports through the canonical
canvas_coreserialization boundary. - Require
canvas_core 0.8.2.
0.11.2 #
- Invalidate cached text measurement and rendered layout when Flutter reports that the available fonts have changed.
- Size newly imported images from stable intrinsic metadata while retaining the existing 200-by-200 fallback when metadata is unavailable.
- Update the runnable example with deterministic symbol fallback, data-URI image metadata, and clearer embedded-image JSON export feedback.
0.11.1 #
- Add the optional
image_tools.dartcapability entrypoint. - Add the provider-neutral
BackgroundRemovalPortand typed background-removal results. - Add
backgroundRemovalExtensionfor host-owned background removal inside the standard Image inspector. - Keep background removal target-safe across asynchronous selection, source, target, field-editability, and prepared-scene changes.
- Commit successful replacements through the registered
CanvasFields.imageSourcefield path so normal field policy and undo/redo remain authoritative. - Keep image processing, persistence, provider lifecycle, byte handling, and cleanup of unreferenced outputs outside Canvas.
0.11.0 #
- Breaking: image import no longer participates in the exclusive
InspectorBuilderchain. It contributes source controls to the standard inspector instead, so an exclusive inspector override now suppresses image import content together with the intrinsic inspector. - Add
InspectorSectionBuilderandEditorSurfaceFeatures.inspectorSectionsfor additive standard-inspector content composed in extension registration order. - Keep additive inspector content inside the standard inspector card and before intrinsic field controls.
- Make asynchronous image replacement target-safe by rejecting stale results after selection, source, target, or field-editability changes.
0.10.0 #
- Breaking: remove
InspectorFieldRow.forceDisabledandInspectorFieldRow.disabledReasonOverride; registered field editability now flows throughFieldState.disabledReason. - Add
EditorDocumentAdapter.fieldEditDisabledReason(...)for source-document-aware registered literal edit restrictions. - Enforce source-document field denial in
EditorRuntime.commitField()using the current canonical transaction state. - Apply source-document editability to scene-level registered fields.
- Export
kSceneFieldsIdthrough the publicextensions.dartentrypoint.
0.9.0 #
- Breaking: require
canvas_core 0.8.xandcanvas_renderer_flutter 0.7.x. - Breaking: remove
PngExportAvailability; configurecanShareandcanSavedirectly onPngExportCapability. - Breaking: remove
JsonExportAvailability; configurecanCopyandcanSavedirectly onJsonExportCapability. - Breaking: remove the editor-owned
JsonMapalias. UseMap<String, Object?>or a domain-owned alias where needed. - Adopt the narrowed
NodeEditingXruntime editing surface. - No intended editor, rendering, preparation, or export behavior changes.
0.8.0 #
- Breaking: replace the split
EditorExportsandPngOutputPortPNG contracts with one host-ownedPngExportPort. - Pass both the canonical editable scene and the prepared render scene to PNG export hosts.
- Move final PNG resource preparation, rendering, policy, and output ownership behind the host export port.
- Keep scene JSON export based on the canonical editable scene.
- Update the runnable example to demonstrate host-owned PNG rendering and
sharing through
PngExportPort.
0.7.0 #
- Breaking: require
canvas_core 0.7.x. - Breaking: require
canvas_renderer_flutter 0.6.x. - Support the explicit component behavior
versionanddataenvelope introduced bycanvas_core 0.7.0.
0.6.0 #
- Breaking: remove the redundant
EditorActionIds.duplicateGroupandEditorActionIds.deleteGroupactions. - Breaking: require
EditorActionDispatcherto receive a non-nullEditorActionContext. - Keep the generic Duplicate and Delete actions working for groups and leaf nodes.
0.5.0 #
- Breaking: require
canvas_core 0.6.xandcanvas_renderer_flutter 0.5.x. - Breaking: replace
EditorExtension.renderBuilderandStaticEditorExtension.renderBuilderwithscenePreparer. - Breaking: reject extension compositions with more than one non-null
ScenePreparerby throwingStateError. - Breaking: change
EditorExports.renderPng()to accept a typedpreparedSceneinstead of scene JSON. - Resolve source documents through
EditorDocumentAdapter, apply optional scene preparation once, and then callCanvasRenderPipeline.build(). - Preserve canonical editable scenes for editing, history, persistence, and scene JSON export while using prepared runtime scenes for drawing and PNG export.
- Remove the PNG scene JSON encode/decode round trip.
- Consume the
CanvasViewportTransformreturned directly byCanvasViewportPlanner.plan().
0.4.0 #
- Breaking: require
canvas_core 0.5.xandcanvas_renderer_flutter 0.4.x. - Use one
FlutterTextPipelinefor both core text measurement and Flutter text painting. - Remove the editor's separate
FlutterTextMeasurerand session-long core text measurement cache. - Clear cached text layouts after new fonts load and before scheduling layout invalidation.
- Dispose the editor-owned text pipeline when the editor session is destroyed.
0.3.1 #
- Use
FlutterImagePoolas the editor's single image and intrinsic-state owner. - Remove duplicate image-intrinsics lifecycle management.
- Require
canvas_renderer_flutter 0.3.x.
0.3.0 #
- Breaking: remove
EditorExportFitand use the sharedCanvasFittype fromcanvas_core. - Keep the default export fit as
CanvasFit.contain.
0.2.0 #
- Breaking: require
canvas_core 0.4.xandcanvas_renderer_flutter 0.2.x. - Preserve fractional letter spacing through editing and history.
- Use quarter-pixel letter-spacing controls in the inspector.
0.1.1 #
- Made image replacement actions responsive in narrow inspector layouts.
- Added compact Gallery and Camera actions with enlarged-text coverage.
0.1.0 #
- Initial public release.
- Added the turnkey
CanvasSceneEditorembedding API. - Added selection, movement, inspection, layers, undo and redo.
- Added extension points for custom documents, rendering, fields, actions, and editor chrome.
- Added optional image import, PNG export, and JSON export capabilities.
- Added English-language editor UI.