@imgly/codesign-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +16 -0
- package/README.md +158 -0
- package/assets/docs/api/SKILL.md +49 -0
- package/assets/docs/api/index.d.ts +10518 -0
- package/assets/docs/guide/SKILL.md +142 -0
- package/assets/docs/guide/actions.md +1038 -0
- package/assets/docs/guide/animation/create/base.md +467 -0
- package/assets/docs/guide/animation/create/text.md +453 -0
- package/assets/docs/guide/animation/create.md +558 -0
- package/assets/docs/guide/animation/edit.md +501 -0
- package/assets/docs/guide/animation/overview.md +22 -0
- package/assets/docs/guide/animation/types.md +430 -0
- package/assets/docs/guide/animation.md +23 -0
- package/assets/docs/guide/api/AssetAPI.md +602 -0
- package/assets/docs/guide/api/BlockAPI.md +6152 -0
- package/assets/docs/guide/api/CreativeEngine.md +180 -0
- package/assets/docs/guide/api/EditorAPI.md +1261 -0
- package/assets/docs/guide/api/EventAPI.md +25 -0
- package/assets/docs/guide/api/SceneAPI.md +729 -0
- package/assets/docs/guide/api/VariableAPI.md +59 -0
- package/assets/docs/guide/api/types.md +71 -0
- package/assets/docs/guide/api-reference/overview.md +20 -0
- package/assets/docs/guide/automation/auto-resize.md +412 -0
- package/assets/docs/guide/automation/batch-processing.md +474 -0
- package/assets/docs/guide/automation/data-merge.md +406 -0
- package/assets/docs/guide/automation/design-generation.md +107 -0
- package/assets/docs/guide/automation/overview.md +16 -0
- package/assets/docs/guide/automation.md +24 -0
- package/assets/docs/guide/browser-support.md +38 -0
- package/assets/docs/guide/capabilities.md +18 -0
- package/assets/docs/guide/colors/adjust.md +551 -0
- package/assets/docs/guide/colors/apply.md +349 -0
- package/assets/docs/guide/colors/basics.md +440 -0
- package/assets/docs/guide/colors/conversion.md +504 -0
- package/assets/docs/guide/colors/create-color-palette.md +426 -0
- package/assets/docs/guide/colors/for-print/cmyk.md +577 -0
- package/assets/docs/guide/colors/for-print/spot.md +751 -0
- package/assets/docs/guide/colors/for-print.md +21 -0
- package/assets/docs/guide/colors/for-screen/p3.md +60 -0
- package/assets/docs/guide/colors/for-screen/srgb.md +463 -0
- package/assets/docs/guide/colors/for-screen.md +21 -0
- package/assets/docs/guide/colors/overview.md +20 -0
- package/assets/docs/guide/colors/replace.md +535 -0
- package/assets/docs/guide/colors.md +28 -0
- package/assets/docs/guide/compatibility.md +27 -0
- package/assets/docs/guide/concepts/architecture.md +99 -0
- package/assets/docs/guide/concepts/assets.md +360 -0
- package/assets/docs/guide/concepts/blocks.md +750 -0
- package/assets/docs/guide/concepts/buffers.md +546 -0
- package/assets/docs/guide/concepts/design-units.md +333 -0
- package/assets/docs/guide/concepts/edit-modes.md +431 -0
- package/assets/docs/guide/concepts/editing-workflow.md +303 -0
- package/assets/docs/guide/concepts/events.md +466 -0
- package/assets/docs/guide/concepts/headless-mode/browser.md +291 -0
- package/assets/docs/guide/concepts/pages.md +396 -0
- package/assets/docs/guide/concepts/resources.md +496 -0
- package/assets/docs/guide/concepts/scenes.md +443 -0
- package/assets/docs/guide/concepts/templating.md +194 -0
- package/assets/docs/guide/concepts/terminology.md +296 -0
- package/assets/docs/guide/concepts/undo-and-history.md +461 -0
- package/assets/docs/guide/concepts.md +38 -0
- package/assets/docs/guide/configuration.md +469 -0
- package/assets/docs/guide/conversion/overview.md +22 -0
- package/assets/docs/guide/conversion/to-base64.md +234 -0
- package/assets/docs/guide/conversion/to-pdf.md +616 -0
- package/assets/docs/guide/conversion/to-png.md +290 -0
- package/assets/docs/guide/conversion.md +23 -0
- package/assets/docs/guide/create-audio/audio/add-music.md +430 -0
- package/assets/docs/guide/create-audio/audio/add-sound-effects.md +664 -0
- package/assets/docs/guide/create-audio/audio/loop.md +370 -0
- package/assets/docs/guide/create-audio/audio.md +336 -0
- package/assets/docs/guide/create-composition/add-background.md +395 -0
- package/assets/docs/guide/create-composition/blend-modes.md +372 -0
- package/assets/docs/guide/create-composition/collage.md +432 -0
- package/assets/docs/guide/create-composition/group-and-ungroup.md +388 -0
- package/assets/docs/guide/create-composition/layer-management.md +503 -0
- package/assets/docs/guide/create-composition/layout.md +396 -0
- package/assets/docs/guide/create-composition/lock-design.md +362 -0
- package/assets/docs/guide/create-composition/multi-page.md +204 -0
- package/assets/docs/guide/create-composition/overview.md +18 -0
- package/assets/docs/guide/create-composition/programmatic.md +593 -0
- package/assets/docs/guide/create-composition.md +30 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +688 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +600 -0
- package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +647 -0
- package/assets/docs/guide/create-templates/add-dynamic-content.md +307 -0
- package/assets/docs/guide/create-templates/add-to-template-library.md +297 -0
- package/assets/docs/guide/create-templates/edit-or-remove.md +441 -0
- package/assets/docs/guide/create-templates/from-scratch.md +558 -0
- package/assets/docs/guide/create-templates/import/from-scene-file.md +440 -0
- package/assets/docs/guide/create-templates/import.md +244 -0
- package/assets/docs/guide/create-templates/lock.md +325 -0
- package/assets/docs/guide/create-templates/overview.md +16 -0
- package/assets/docs/guide/create-templates.md +32 -0
- package/assets/docs/guide/create-video/audio/adjust-speed.md +302 -0
- package/assets/docs/guide/create-video/audio/adjust-volume.md +346 -0
- package/assets/docs/guide/create-video/control.md +285 -0
- package/assets/docs/guide/create-video/limitations.md +396 -0
- package/assets/docs/guide/create-video/overview.md +224 -0
- package/assets/docs/guide/create-video/timeline-editor.md +622 -0
- package/assets/docs/guide/create-video/update-caption-presets.md +676 -0
- package/assets/docs/guide/create-video.md +32 -0
- package/assets/docs/guide/edit-image/add-watermark.md +497 -0
- package/assets/docs/guide/edit-image/overview.md +22 -0
- package/assets/docs/guide/edit-image/remove-bg.md +420 -0
- package/assets/docs/guide/edit-image/replace-colors.md +680 -0
- package/assets/docs/guide/edit-image/transform/crop.md +523 -0
- package/assets/docs/guide/edit-image/transform/move.md +279 -0
- package/assets/docs/guide/edit-image/transform/resize.md +301 -0
- package/assets/docs/guide/edit-image/transform/rotate.md +408 -0
- package/assets/docs/guide/edit-image/transform/scale.md +278 -0
- package/assets/docs/guide/edit-image/transform.md +24 -0
- package/assets/docs/guide/edit-image/vectorize.md +204 -0
- package/assets/docs/guide/edit-image.md +25 -0
- package/assets/docs/guide/edit-video/add-captions.md +589 -0
- package/assets/docs/guide/edit-video/add-watermark.md +429 -0
- package/assets/docs/guide/edit-video/join-and-arrange.md +540 -0
- package/assets/docs/guide/edit-video/redaction.md +544 -0
- package/assets/docs/guide/edit-video/split.md +634 -0
- package/assets/docs/guide/edit-video/transform/crop.md +380 -0
- package/assets/docs/guide/edit-video/transform/flip.md +182 -0
- package/assets/docs/guide/edit-video/transform/move.md +413 -0
- package/assets/docs/guide/edit-video/transform/resize.md +534 -0
- package/assets/docs/guide/edit-video/transform/rotate.md +312 -0
- package/assets/docs/guide/edit-video/transform/scale.md +603 -0
- package/assets/docs/guide/edit-video/transform.md +25 -0
- package/assets/docs/guide/edit-video/trim.md +773 -0
- package/assets/docs/guide/engine-interface.md +108 -0
- package/assets/docs/guide/export-save-publish/create-thumbnail.md +292 -0
- package/assets/docs/guide/export-save-publish/export/compress.md +639 -0
- package/assets/docs/guide/export-save-publish/export/overview.md +576 -0
- package/assets/docs/guide/export-save-publish/export/partial-export.md +694 -0
- package/assets/docs/guide/export-save-publish/export/size-limits.md +401 -0
- package/assets/docs/guide/export-save-publish/export/to-html5.md +474 -0
- package/assets/docs/guide/export-save-publish/export/to-jpeg.md +312 -0
- package/assets/docs/guide/export-save-publish/export/to-mp4.md +364 -0
- package/assets/docs/guide/export-save-publish/export/to-pdf.md +389 -0
- package/assets/docs/guide/export-save-publish/export/to-png.md +255 -0
- package/assets/docs/guide/export-save-publish/export/to-raw-data.md +303 -0
- package/assets/docs/guide/export-save-publish/export/to-webp.md +261 -0
- package/assets/docs/guide/export-save-publish/export/with-color-mask.md +278 -0
- package/assets/docs/guide/export-save-publish/export.md +36 -0
- package/assets/docs/guide/export-save-publish/for-printing.md +423 -0
- package/assets/docs/guide/export-save-publish/for-social-media.md +318 -0
- package/assets/docs/guide/export-save-publish/pre-export-validation.md +698 -0
- package/assets/docs/guide/export-save-publish/save.md +340 -0
- package/assets/docs/guide/export-save-publish/store-custom-metadata.md +367 -0
- package/assets/docs/guide/file-format-support.md +34 -0
- package/assets/docs/guide/fills/color.md +678 -0
- package/assets/docs/guide/fills/image.md +539 -0
- package/assets/docs/guide/fills/overview.md +144 -0
- package/assets/docs/guide/fills/video.md +641 -0
- package/assets/docs/guide/fills.md +24 -0
- package/assets/docs/guide/filters-and-effects/apply.md +1019 -0
- package/assets/docs/guide/filters-and-effects/blur.md +382 -0
- package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +445 -0
- package/assets/docs/guide/filters-and-effects/create-custom-filters.md +614 -0
- package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +426 -0
- package/assets/docs/guide/filters-and-effects/distortion.md +527 -0
- package/assets/docs/guide/filters-and-effects/duotone.md +602 -0
- package/assets/docs/guide/filters-and-effects/gradients.md +1311 -0
- package/assets/docs/guide/filters-and-effects/overview.md +22 -0
- package/assets/docs/guide/filters-and-effects/support.md +623 -0
- package/assets/docs/guide/filters-and-effects.md +28 -0
- package/assets/docs/guide/get-started/agent-skills.md +119 -0
- package/assets/docs/guide/get-started/build-with-ai.md +45 -0
- package/assets/docs/guide/get-started/mcp-server.md +119 -0
- package/assets/docs/guide/get-started/overview.md +28 -0
- package/assets/docs/guide/get-started/vanilla-js/quickstart.md +175 -0
- package/assets/docs/guide/grid-and-rulers.md +222 -0
- package/assets/docs/guide/guides/export-save-publish/export/audio.md +224 -0
- package/assets/docs/guide/guides/text/rendering-internals.md +796 -0
- package/assets/docs/guide/guides.md +49 -0
- package/assets/docs/guide/import-media/asset-library.md +23 -0
- package/assets/docs/guide/import-media/asset-panel/basics.md +324 -0
- package/assets/docs/guide/import-media/asset-panel/customize.md +478 -0
- package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +415 -0
- package/assets/docs/guide/import-media/asset-panel/thumbnails.md +633 -0
- package/assets/docs/guide/import-media/capture-from-camera/record-video.md +137 -0
- package/assets/docs/guide/import-media/capture-from-camera.md +20 -0
- package/assets/docs/guide/import-media/concepts.md +173 -0
- package/assets/docs/guide/import-media/content-json-schema.md +615 -0
- package/assets/docs/guide/import-media/default-assets.md +381 -0
- package/assets/docs/guide/import-media/edit-or-remove-assets.md +489 -0
- package/assets/docs/guide/import-media/file-format-support.md +178 -0
- package/assets/docs/guide/import-media/from-local-source/user-upload.md +438 -0
- package/assets/docs/guide/import-media/from-local-source.md +20 -0
- package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +390 -0
- package/assets/docs/guide/import-media/from-remote-source/getty-images.md +627 -0
- package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +625 -0
- package/assets/docs/guide/import-media/from-remote-source/pexels.md +692 -0
- package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +473 -0
- package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +497 -0
- package/assets/docs/guide/import-media/from-remote-source/third-party.md +51 -0
- package/assets/docs/guide/import-media/from-remote-source/unsplash.md +914 -0
- package/assets/docs/guide/import-media/from-remote-source/your-server.md +764 -0
- package/assets/docs/guide/import-media/from-remote-source.md +28 -0
- package/assets/docs/guide/import-media/overview.md +32 -0
- package/assets/docs/guide/import-media/retrieve-mimetype.md +274 -0
- package/assets/docs/guide/import-media/size-limits.md +20 -0
- package/assets/docs/guide/import-media/source-sets.md +476 -0
- package/assets/docs/guide/import-media.md +32 -0
- package/assets/docs/guide/insert-media/audio.md +291 -0
- package/assets/docs/guide/insert-media/images.md +380 -0
- package/assets/docs/guide/insert-media/position-and-align.md +734 -0
- package/assets/docs/guide/insert-media/shapes-or-stickers.md +799 -0
- package/assets/docs/guide/insert-media/videos.md +308 -0
- package/assets/docs/guide/insert-media.md +24 -0
- package/assets/docs/guide/key-capabilities.md +24 -0
- package/assets/docs/guide/key-concepts.md +83 -0
- package/assets/docs/guide/licensing.md +45 -0
- package/assets/docs/guide/llms-txt.md +53 -0
- package/assets/docs/guide/open-the-editor/blank-canvas.md +124 -0
- package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +228 -0
- package/assets/docs/guide/open-the-editor/from-image.md +205 -0
- package/assets/docs/guide/open-the-editor/from-template.md +189 -0
- package/assets/docs/guide/open-the-editor/from-video.md +274 -0
- package/assets/docs/guide/open-the-editor/import-design/from-archive.md +504 -0
- package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +680 -0
- package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +865 -0
- package/assets/docs/guide/open-the-editor/import-design.md +481 -0
- package/assets/docs/guide/open-the-editor/load-scene.md +178 -0
- package/assets/docs/guide/open-the-editor/overview.md +20 -0
- package/assets/docs/guide/open-the-editor/set-zoom-level.md +303 -0
- package/assets/docs/guide/open-the-editor/uri-resolver.md +347 -0
- package/assets/docs/guide/open-the-editor.md +29 -0
- package/assets/docs/guide/outlines/overview.md +14 -0
- package/assets/docs/guide/outlines/shadows-and-glows.md +515 -0
- package/assets/docs/guide/outlines/strokes.md +292 -0
- package/assets/docs/guide/outlines.md +22 -0
- package/assets/docs/guide/overview.md +22 -0
- package/assets/docs/guide/performance.md +217 -0
- package/assets/docs/guide/plugins/asset-sources.md +553 -0
- package/assets/docs/guide/plugins/print-ready-pdf.md +549 -0
- package/assets/docs/guide/plugins.md +36 -0
- package/assets/docs/guide/rules/asset-handling.md +180 -0
- package/assets/docs/guide/rules/common-pitfalls.md +272 -0
- package/assets/docs/guide/rules/content-fill-mode.md +29 -0
- package/assets/docs/guide/rules/enforce-brand-guidelines.md +672 -0
- package/assets/docs/guide/rules/lock-content.md +478 -0
- package/assets/docs/guide/rules/moderate-content.md +761 -0
- package/assets/docs/guide/rules/overview.md +514 -0
- package/assets/docs/guide/rules/silent-init-errors.md +137 -0
- package/assets/docs/guide/rules/verify-properties-before-use.md +78 -0
- package/assets/docs/guide/rules.md +23 -0
- package/assets/docs/guide/security.md +199 -0
- package/assets/docs/guide/serve-assets.md +332 -0
- package/assets/docs/guide/settings.md +199 -0
- package/assets/docs/guide/shapes.md +23 -0
- package/assets/docs/guide/starterkits/3d-mockup-editor.md +748 -0
- package/assets/docs/guide/starterkits/advanced-editor.md +698 -0
- package/assets/docs/guide/starterkits/advanced-video-editor.md +696 -0
- package/assets/docs/guide/starterkits/ai-editor.md +749 -0
- package/assets/docs/guide/starterkits/airtable-image-editor.md +672 -0
- package/assets/docs/guide/starterkits/apparel-ui.md +188 -0
- package/assets/docs/guide/starterkits/assets.md +27 -0
- package/assets/docs/guide/starterkits/auto-resize.md +586 -0
- package/assets/docs/guide/starterkits/automated-video-generation.md +692 -0
- package/assets/docs/guide/starterkits/background-removal-editor.md +480 -0
- package/assets/docs/guide/starterkits/content-moderation.md +863 -0
- package/assets/docs/guide/starterkits/creative-automation.md +28 -0
- package/assets/docs/guide/starterkits/custom-built-uis.md +26 -0
- package/assets/docs/guide/starterkits/customization.md +29 -0
- package/assets/docs/guide/starterkits/cutout-lines-editor.md +470 -0
- package/assets/docs/guide/starterkits/data-merge.md +850 -0
- package/assets/docs/guide/starterkits/design-editor.md +698 -0
- package/assets/docs/guide/starterkits/design-generation.md +719 -0
- package/assets/docs/guide/starterkits/design-validation.md +808 -0
- package/assets/docs/guide/starterkits/editor-ui-configurations.md +14 -0
- package/assets/docs/guide/starterkits/export-options.md +724 -0
- package/assets/docs/guide/starterkits/export-using-renderer.md +708 -0
- package/assets/docs/guide/starterkits/extensibility.md +28 -0
- package/assets/docs/guide/starterkits/force-crop-editor.md +675 -0
- package/assets/docs/guide/starterkits/form-based-template-adoption.md +522 -0
- package/assets/docs/guide/starterkits/getty-images-editor.md +700 -0
- package/assets/docs/guide/starterkits/html5-ads-exporter.md +719 -0
- package/assets/docs/guide/starterkits/indesign-template-import.md +580 -0
- package/assets/docs/guide/starterkits/layouts-editor.md +724 -0
- package/assets/docs/guide/starterkits/mobile-ui.md +185 -0
- package/assets/docs/guide/starterkits/mockup-editor.md +745 -0
- package/assets/docs/guide/starterkits/multi-image-generation.md +542 -0
- package/assets/docs/guide/starterkits/page-sizes-editor.md +657 -0
- package/assets/docs/guide/starterkits/pexels-image-editor.md +665 -0
- package/assets/docs/guide/starterkits/photo-editor.md +755 -0
- package/assets/docs/guide/starterkits/photo-ui.md +186 -0
- package/assets/docs/guide/starterkits/photobook-ui.md +188 -0
- package/assets/docs/guide/starterkits/placeholders.md +678 -0
- package/assets/docs/guide/starterkits/player.md +405 -0
- package/assets/docs/guide/starterkits/plugins.md +25 -0
- package/assets/docs/guide/starterkits/postcard-editor.md +202 -0
- package/assets/docs/guide/starterkits/pptx-template-import.md +581 -0
- package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +746 -0
- package/assets/docs/guide/starterkits/product-editor.md +773 -0
- package/assets/docs/guide/starterkits/psd-template-import.md +580 -0
- package/assets/docs/guide/starterkits/qr-code-editor.md +470 -0
- package/assets/docs/guide/starterkits/single-page-editor.md +661 -0
- package/assets/docs/guide/starterkits/start-with-image.md +684 -0
- package/assets/docs/guide/starterkits/start-with-video.md +651 -0
- package/assets/docs/guide/starterkits/t-shirt-designer.md +742 -0
- package/assets/docs/guide/starterkits/templating.md +23 -0
- package/assets/docs/guide/starterkits/theming.md +662 -0
- package/assets/docs/guide/starterkits/translation-internationalization.md +662 -0
- package/assets/docs/guide/starterkits/unsplash-editor.md +839 -0
- package/assets/docs/guide/starterkits/vectorizer-editor.md +466 -0
- package/assets/docs/guide/starterkits/version-history.md +745 -0
- package/assets/docs/guide/starterkits/video-animations.md +853 -0
- package/assets/docs/guide/starterkits/video-captions.md +884 -0
- package/assets/docs/guide/starterkits/video-editing.md +25 -0
- package/assets/docs/guide/starterkits/video-editor.md +696 -0
- package/assets/docs/guide/starterkits/video-export-options.md +676 -0
- package/assets/docs/guide/starterkits/viewer.md +400 -0
- package/assets/docs/guide/starterkits.md +41 -0
- package/assets/docs/guide/stickers-and-shapes/combine.md +743 -0
- package/assets/docs/guide/stickers-and-shapes/create-cutout.md +425 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +794 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +290 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +211 -0
- package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +362 -0
- package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +208 -0
- package/assets/docs/guide/stickers.md +21 -0
- package/assets/docs/guide/text/add.md +641 -0
- package/assets/docs/guide/text/adjust-spacing.md +288 -0
- package/assets/docs/guide/text/auto-size.md +404 -0
- package/assets/docs/guide/text/custom-fonts.md +401 -0
- package/assets/docs/guide/text/decorations.md +330 -0
- package/assets/docs/guide/text/edit.md +458 -0
- package/assets/docs/guide/text/effects.md +244 -0
- package/assets/docs/guide/text/emojis.md +310 -0
- package/assets/docs/guide/text/enumerations.md +258 -0
- package/assets/docs/guide/text/language-support.md +604 -0
- package/assets/docs/guide/text/overview.md +14 -0
- package/assets/docs/guide/text/styling.md +390 -0
- package/assets/docs/guide/text/text-designs.md +834 -0
- package/assets/docs/guide/text.md +33 -0
- package/assets/docs/guide/to-v1-10.md +131 -0
- package/assets/docs/guide/to-v1-13.md +165 -0
- package/assets/docs/guide/to-v1-19.md +315 -0
- package/assets/docs/guide/to-v1-32.md +110 -0
- package/assets/docs/guide/to-v1-69.md +468 -0
- package/assets/docs/guide/to-v1-72.md +193 -0
- package/assets/docs/guide/upgrade.md +25 -0
- package/assets/docs/guide/use-templates/apply-template.md +279 -0
- package/assets/docs/guide/use-templates/generate.md +405 -0
- package/assets/docs/guide/use-templates/library.md +450 -0
- package/assets/docs/guide/use-templates/overview.md +20 -0
- package/assets/docs/guide/use-templates/programmatic.md +482 -0
- package/assets/docs/guide/use-templates/replace-content.md +399 -0
- package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +428 -0
- package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +337 -0
- package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +853 -0
- package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +1045 -0
- package/assets/docs/guide/user-interface/ai-integration/image-generation.md +641 -0
- package/assets/docs/guide/user-interface/ai-integration/integrate.md +966 -0
- package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +99 -0
- package/assets/docs/guide/user-interface/ai-integration/text-generation.md +498 -0
- package/assets/docs/guide/user-interface/ai-integration/video-generation.md +493 -0
- package/assets/docs/guide/user-interface/ai-integration.md +30 -0
- package/assets/docs/guide/user-interface/appearance/change-ui-font.md +316 -0
- package/assets/docs/guide/user-interface/appearance/custom-labels.md +509 -0
- package/assets/docs/guide/user-interface/appearance/icons.md +373 -0
- package/assets/docs/guide/user-interface/appearance/theming.md +665 -0
- package/assets/docs/guide/user-interface/appearance.md +23 -0
- package/assets/docs/guide/user-interface/build-your-own-ui.md +620 -0
- package/assets/docs/guide/user-interface/customization/canvas-menu.md +412 -0
- package/assets/docs/guide/user-interface/customization/canvas.md +281 -0
- package/assets/docs/guide/user-interface/customization/color-palette.md +413 -0
- package/assets/docs/guide/user-interface/customization/crop-presets.md +384 -0
- package/assets/docs/guide/user-interface/customization/disable-or-enable.md +676 -0
- package/assets/docs/guide/user-interface/customization/dock.md +399 -0
- package/assets/docs/guide/user-interface/customization/force-crop.md +289 -0
- package/assets/docs/guide/user-interface/customization/inspector-bar.md +371 -0
- package/assets/docs/guide/user-interface/customization/navigation-bar.md +516 -0
- package/assets/docs/guide/user-interface/customization/page-format.md +436 -0
- package/assets/docs/guide/user-interface/customization/panel.md +605 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +531 -0
- package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +358 -0
- package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +374 -0
- package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +323 -0
- package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +294 -0
- package/assets/docs/guide/user-interface/customization/quick-start.md +12 -0
- package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +519 -0
- package/assets/docs/guide/user-interface/customization/reference/component-reference.md +333 -0
- package/assets/docs/guide/user-interface/customization/reference.md +12 -0
- package/assets/docs/guide/user-interface/customization.md +39 -0
- package/assets/docs/guide/user-interface/localization.md +633 -0
- package/assets/docs/guide/user-interface/overview.md +167 -0
- package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +411 -0
- package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +721 -0
- package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +331 -0
- package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +553 -0
- package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +672 -0
- package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +415 -0
- package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +521 -0
- package/assets/docs/guide/user-interface/ui-extensions.md +26 -0
- package/assets/docs/guide/user-interface.md +25 -0
- package/assets/docs/guide/what-is-cesdk.md +319 -0
- package/assets/docs/handbook/SKILL.md +521 -0
- package/assets/prompts/evals-assetGenerate.md +12 -0
- package/assets/prompts/evals-brutalistCore.md +34 -0
- package/assets/prompts/evals-danskCatalogue.md +31 -0
- package/assets/prompts/evals-exportRoundTrip.md +12 -0
- package/assets/prompts/evals-inspectPriorCode.md +16 -0
- package/assets/prompts/evals-listProjectFiles.md +6 -0
- package/assets/prompts/evals-readAndExplainScript.md +6 -0
- package/assets/prompts/evals-resumeAcrossRestart.md +15 -0
- package/assets/prompts/evals-rewindRecovery.md +10 -0
- package/assets/prompts/evals-searchAcrossFiles.md +6 -0
- package/assets/prompts/evals-weddingCard.md +20 -0
- package/assets/prompts/explain.md +6 -0
- package/assets/prompts/review.md +6 -0
- package/dist/assets/inline.generated.d.ts +2 -0
- package/dist/assets/inline.generated.d.ts.map +1 -0
- package/dist/assets/inline.generated.js +413 -0
- package/dist/assets/inline.generated.js.map +1 -0
- package/dist/assets/load-browser.d.ts +8 -0
- package/dist/assets/load-browser.d.ts.map +1 -0
- package/dist/assets/load-browser.js +11 -0
- package/dist/assets/load-browser.js.map +1 -0
- package/dist/assets/load-node.d.ts +8 -0
- package/dist/assets/load-node.d.ts.map +1 -0
- package/dist/assets/load-node.js +11 -0
- package/dist/assets/load-node.js.map +1 -0
- package/dist/cli/http.d.ts +2 -0
- package/dist/cli/http.d.ts.map +1 -0
- package/dist/cli/http.js +231 -0
- package/dist/cli/http.js.map +1 -0
- package/dist/cli/redirect-console.d.ts +10 -0
- package/dist/cli/redirect-console.d.ts.map +1 -0
- package/dist/cli/redirect-console.js +18 -0
- package/dist/cli/redirect-console.js.map +1 -0
- package/dist/cli/resolve-license.d.ts +2 -0
- package/dist/cli/resolve-license.d.ts.map +1 -0
- package/dist/cli/resolve-license.js +13 -0
- package/dist/cli/resolve-license.js.map +1 -0
- package/dist/cli/stdio.d.ts +2 -0
- package/dist/cli/stdio.d.ts.map +1 -0
- package/dist/cli/stdio.js +124 -0
- package/dist/cli/stdio.js.map +1 -0
- package/dist/cli/trial-license.generated.d.ts +2 -0
- package/dist/cli/trial-license.generated.d.ts.map +1 -0
- package/dist/cli/trial-license.generated.js +4 -0
- package/dist/cli/trial-license.generated.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +61 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +102 -0
- package/dist/config.js.map +1 -0
- package/dist/cross-ref.d.ts +2 -0
- package/dist/cross-ref.d.ts.map +1 -0
- package/dist/cross-ref.js +31 -0
- package/dist/cross-ref.js.map +1 -0
- package/dist/dashboard/router.d.ts +3 -0
- package/dist/dashboard/router.d.ts.map +1 -0
- package/dist/dashboard/router.js +19 -0
- package/dist/dashboard/router.js.map +1 -0
- package/dist/dashboard/spa-assets.generated.d.ts +2 -0
- package/dist/dashboard/spa-assets.generated.d.ts.map +1 -0
- package/dist/dashboard/spa-assets.generated.js +220 -0
- package/dist/dashboard/spa-assets.generated.js.map +1 -0
- package/dist/engine/asset-sources.d.ts +17 -0
- package/dist/engine/asset-sources.d.ts.map +1 -0
- package/dist/engine/asset-sources.js +75 -0
- package/dist/engine/asset-sources.js.map +1 -0
- package/dist/engine/cesdk-adapter.d.ts +10 -0
- package/dist/engine/cesdk-adapter.d.ts.map +1 -0
- package/dist/engine/cesdk-adapter.js +19 -0
- package/dist/engine/cesdk-adapter.js.map +1 -0
- package/dist/engine/index.d.ts +3 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +3 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/mutex.d.ts +5 -0
- package/dist/engine/mutex.d.ts.map +1 -0
- package/dist/engine/mutex.js +42 -0
- package/dist/engine/mutex.js.map +1 -0
- package/dist/engine/session.d.ts +50 -0
- package/dist/engine/session.d.ts.map +1 -0
- package/dist/engine/session.js +95 -0
- package/dist/engine/session.js.map +1 -0
- package/dist/engine/uri-resolver.d.ts +14 -0
- package/dist/engine/uri-resolver.d.ts.map +1 -0
- package/dist/engine/uri-resolver.js +12 -0
- package/dist/engine/uri-resolver.js.map +1 -0
- package/dist/frontmatter.d.ts +15 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +46 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/gateway/hosted-stub.d.ts +6 -0
- package/dist/gateway/hosted-stub.d.ts.map +1 -0
- package/dist/gateway/hosted-stub.js +11 -0
- package/dist/gateway/hosted-stub.js.map +1 -0
- package/dist/gateway/index.d.ts +4 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +4 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/local.d.ts +14 -0
- package/dist/gateway/local.d.ts.map +1 -0
- package/dist/gateway/local.js +41 -0
- package/dist/gateway/local.js.map +1 -0
- package/dist/gateway/types.d.ts +24 -0
- package/dist/gateway/types.d.ts.map +1 -0
- package/dist/gateway/types.js +7 -0
- package/dist/gateway/types.js.map +1 -0
- package/dist/http/server.d.ts +80 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +183 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/session-manager.d.ts +42 -0
- package/dist/http/session-manager.d.ts.map +1 -0
- package/dist/http/session-manager.js +82 -0
- package/dist/http/session-manager.js.map +1 -0
- package/dist/http/workspace-auth.d.ts +9 -0
- package/dist/http/workspace-auth.d.ts.map +1 -0
- package/dist/http/workspace-auth.js +29 -0
- package/dist/http/workspace-auth.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/metrics/mount.d.ts +11 -0
- package/dist/metrics/mount.d.ts.map +1 -0
- package/dist/metrics/mount.js +13 -0
- package/dist/metrics/mount.js.map +1 -0
- package/dist/metrics/recorder.d.ts +55 -0
- package/dist/metrics/recorder.d.ts.map +1 -0
- package/dist/metrics/recorder.js +97 -0
- package/dist/metrics/recorder.js.map +1 -0
- package/dist/revisions/hash.d.ts +7 -0
- package/dist/revisions/hash.d.ts.map +1 -0
- package/dist/revisions/hash.js +24 -0
- package/dist/revisions/hash.js.map +1 -0
- package/dist/revisions/index.d.ts +4 -0
- package/dist/revisions/index.d.ts.map +1 -0
- package/dist/revisions/index.js +4 -0
- package/dist/revisions/index.js.map +1 -0
- package/dist/revisions/store.d.ts +69 -0
- package/dist/revisions/store.d.ts.map +1 -0
- package/dist/revisions/store.js +196 -0
- package/dist/revisions/store.js.map +1 -0
- package/dist/revisions/types.d.ts +39 -0
- package/dist/revisions/types.d.ts.map +1 -0
- package/dist/revisions/types.js +2 -0
- package/dist/revisions/types.js.map +1 -0
- package/dist/server.d.ts +51 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +175 -0
- package/dist/server.js.map +1 -0
- package/dist/skill-tools.d.ts +3 -0
- package/dist/skill-tools.d.ts.map +1 -0
- package/dist/skill-tools.js +105 -0
- package/dist/skill-tools.js.map +1 -0
- package/dist/test/test/cli/dispatcher.test.d.ts +2 -0
- package/dist/test/test/cli/dispatcher.test.d.ts.map +1 -0
- package/dist/test/test/cli/dispatcher.test.js +47 -0
- package/dist/test/test/cli/dispatcher.test.js.map +1 -0
- package/dist/test/test/cross-ref.test.d.ts +2 -0
- package/dist/test/test/cross-ref.test.d.ts.map +1 -0
- package/dist/test/test/cross-ref.test.js +39 -0
- package/dist/test/test/cross-ref.test.js.map +1 -0
- package/dist/test/test/engine/session.test.d.ts +2 -0
- package/dist/test/test/engine/session.test.d.ts.map +1 -0
- package/dist/test/test/engine/session.test.js +144 -0
- package/dist/test/test/engine/session.test.js.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts +2 -0
- package/dist/test/test/engine/uri-resolver.test.d.ts.map +1 -0
- package/dist/test/test/engine/uri-resolver.test.js +38 -0
- package/dist/test/test/engine/uri-resolver.test.js.map +1 -0
- package/dist/test/test/frontmatter.test.d.ts +2 -0
- package/dist/test/test/frontmatter.test.d.ts.map +1 -0
- package/dist/test/test/frontmatter.test.js +55 -0
- package/dist/test/test/frontmatter.test.js.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/gateway/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/gateway/hosted-stub.test.js +11 -0
- package/dist/test/test/gateway/hosted-stub.test.js.map +1 -0
- package/dist/test/test/gateway/local.test.d.ts +2 -0
- package/dist/test/test/gateway/local.test.d.ts.map +1 -0
- package/dist/test/test/gateway/local.test.js +29 -0
- package/dist/test/test/gateway/local.test.js.map +1 -0
- package/dist/test/test/handbook-contract.test.d.ts +2 -0
- package/dist/test/test/handbook-contract.test.d.ts.map +1 -0
- package/dist/test/test/handbook-contract.test.js +71 -0
- package/dist/test/test/handbook-contract.test.js.map +1 -0
- package/dist/test/test/http/server.test.d.ts +2 -0
- package/dist/test/test/http/server.test.d.ts.map +1 -0
- package/dist/test/test/http/server.test.js +245 -0
- package/dist/test/test/http/server.test.js.map +1 -0
- package/dist/test/test/http/session-manager.test.d.ts +2 -0
- package/dist/test/test/http/session-manager.test.d.ts.map +1 -0
- package/dist/test/test/http/session-manager.test.js +83 -0
- package/dist/test/test/http/session-manager.test.js.map +1 -0
- package/dist/test/test/revisions/hash.test.d.ts +2 -0
- package/dist/test/test/revisions/hash.test.d.ts.map +1 -0
- package/dist/test/test/revisions/hash.test.js +33 -0
- package/dist/test/test/revisions/hash.test.js.map +1 -0
- package/dist/test/test/revisions/store.test.d.ts +2 -0
- package/dist/test/test/revisions/store.test.d.ts.map +1 -0
- package/dist/test/test/revisions/store.test.js +245 -0
- package/dist/test/test/revisions/store.test.js.map +1 -0
- package/dist/test/test/server.test.d.ts +2 -0
- package/dist/test/test/server.test.d.ts.map +1 -0
- package/dist/test/test/server.test.js +157 -0
- package/dist/test/test/server.test.js.map +1 -0
- package/dist/test/test/skill-tools.test.d.ts +2 -0
- package/dist/test/test/skill-tools.test.d.ts.map +1 -0
- package/dist/test/test/skill-tools.test.js +84 -0
- package/dist/test/test/skill-tools.test.js.map +1 -0
- package/dist/test/test/smoke.test.d.ts +2 -0
- package/dist/test/test/smoke.test.d.ts.map +1 -0
- package/dist/test/test/smoke.test.js +8 -0
- package/dist/test/test/smoke.test.js.map +1 -0
- package/dist/test/test/tools/asset-generate.test.d.ts +2 -0
- package/dist/test/test/tools/asset-generate.test.d.ts.map +1 -0
- package/dist/test/test/tools/asset-generate.test.js +66 -0
- package/dist/test/test/tools/asset-generate.test.js.map +1 -0
- package/dist/test/test/tools/edit.test.d.ts +2 -0
- package/dist/test/test/tools/edit.test.d.ts.map +1 -0
- package/dist/test/test/tools/edit.test.js +205 -0
- package/dist/test/test/tools/edit.test.js.map +1 -0
- package/dist/test/test/tools/export.test.d.ts +2 -0
- package/dist/test/test/tools/export.test.d.ts.map +1 -0
- package/dist/test/test/tools/export.test.js +144 -0
- package/dist/test/test/tools/export.test.js.map +1 -0
- package/dist/test/test/tools/history.test.d.ts +2 -0
- package/dist/test/test/tools/history.test.d.ts.map +1 -0
- package/dist/test/test/tools/history.test.js +29 -0
- package/dist/test/test/tools/history.test.js.map +1 -0
- package/dist/test/test/tools/inspect.test.d.ts +2 -0
- package/dist/test/test/tools/inspect.test.d.ts.map +1 -0
- package/dist/test/test/tools/inspect.test.js +62 -0
- package/dist/test/test/tools/inspect.test.js.map +1 -0
- package/dist/test/test/tools/list.test.d.ts +2 -0
- package/dist/test/test/tools/list.test.d.ts.map +1 -0
- package/dist/test/test/tools/list.test.js +23 -0
- package/dist/test/test/tools/list.test.js.map +1 -0
- package/dist/test/test/tools/open-editor.test.d.ts +2 -0
- package/dist/test/test/tools/open-editor.test.d.ts.map +1 -0
- package/dist/test/test/tools/open-editor.test.js +53 -0
- package/dist/test/test/tools/open-editor.test.js.map +1 -0
- package/dist/test/test/tools/preview.test.d.ts +2 -0
- package/dist/test/test/tools/preview.test.d.ts.map +1 -0
- package/dist/test/test/tools/preview.test.js +73 -0
- package/dist/test/test/tools/preview.test.js.map +1 -0
- package/dist/test/test/tools/rename.test.d.ts +2 -0
- package/dist/test/test/tools/rename.test.d.ts.map +1 -0
- package/dist/test/test/tools/rename.test.js +17 -0
- package/dist/test/test/tools/rename.test.js.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts +2 -0
- package/dist/test/test/viewer/broadcaster.test.d.ts.map +1 -0
- package/dist/test/test/viewer/broadcaster.test.js +53 -0
- package/dist/test/test/viewer/broadcaster.test.js.map +1 -0
- package/dist/test/test/viewer/resource-route.test.d.ts +2 -0
- package/dist/test/test/viewer/resource-route.test.d.ts.map +1 -0
- package/dist/test/test/viewer/resource-route.test.js +70 -0
- package/dist/test/test/viewer/resource-route.test.js.map +1 -0
- package/dist/test/test/viewer/router.test.d.ts +2 -0
- package/dist/test/test/viewer/router.test.d.ts.map +1 -0
- package/dist/test/test/viewer/router.test.js +171 -0
- package/dist/test/test/viewer/router.test.js.map +1 -0
- package/dist/test/test/viewer/url-builder.test.d.ts +2 -0
- package/dist/test/test/viewer/url-builder.test.d.ts.map +1 -0
- package/dist/test/test/viewer/url-builder.test.js +31 -0
- package/dist/test/test/viewer/url-builder.test.js.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts +2 -0
- package/dist/test/test/workspace/hosted-stub.test.d.ts.map +1 -0
- package/dist/test/test/workspace/hosted-stub.test.js +30 -0
- package/dist/test/test/workspace/hosted-stub.test.js.map +1 -0
- package/dist/test/test/workspace/in-memory.test.d.ts +2 -0
- package/dist/test/test/workspace/in-memory.test.d.ts.map +1 -0
- package/dist/test/test/workspace/in-memory.test.js +4 -0
- package/dist/test/test/workspace/in-memory.test.js.map +1 -0
- package/dist/test/test/workspace/node-fs.test.d.ts +2 -0
- package/dist/test/test/workspace/node-fs.test.d.ts.map +1 -0
- package/dist/test/test/workspace/node-fs.test.js +20 -0
- package/dist/test/test/workspace/node-fs.test.js.map +1 -0
- package/dist/test/test/workspace/shared-contract.d.ts +3 -0
- package/dist/test/test/workspace/shared-contract.d.ts.map +1 -0
- package/dist/test/test/workspace/shared-contract.js +92 -0
- package/dist/test/test/workspace/shared-contract.js.map +1 -0
- package/dist/test/tsconfig.test.tsbuildinfo +1 -0
- package/dist/test/vitest.config.d.ts +3 -0
- package/dist/test/vitest.config.d.ts.map +1 -0
- package/dist/test/vitest.config.js +8 -0
- package/dist/test/vitest.config.js.map +1 -0
- package/dist/tools/asset-generate.d.ts +12 -0
- package/dist/tools/asset-generate.d.ts.map +1 -0
- package/dist/tools/asset-generate.js +112 -0
- package/dist/tools/asset-generate.js.map +1 -0
- package/dist/tools/asset-search.d.ts +10 -0
- package/dist/tools/asset-search.d.ts.map +1 -0
- package/dist/tools/asset-search.js +120 -0
- package/dist/tools/asset-search.js.map +1 -0
- package/dist/tools/content-types.d.ts +11 -0
- package/dist/tools/content-types.d.ts.map +1 -0
- package/dist/tools/content-types.js +2 -0
- package/dist/tools/content-types.js.map +1 -0
- package/dist/tools/edit.d.ts +29 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +165 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/engine.d.ts +31 -0
- package/dist/tools/engine.d.ts.map +1 -0
- package/dist/tools/engine.js +59 -0
- package/dist/tools/engine.js.map +1 -0
- package/dist/tools/export.d.ts +19 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +179 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/history.d.ts +7 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +54 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +72 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/inspect.d.ts +7 -0
- package/dist/tools/inspect.d.ts.map +1 -0
- package/dist/tools/inspect.js +80 -0
- package/dist/tools/inspect.js.map +1 -0
- package/dist/tools/list.d.ts +7 -0
- package/dist/tools/list.d.ts.map +1 -0
- package/dist/tools/list.js +18 -0
- package/dist/tools/list.js.map +1 -0
- package/dist/tools/metrics.d.ts +11 -0
- package/dist/tools/metrics.d.ts.map +1 -0
- package/dist/tools/metrics.js +28 -0
- package/dist/tools/metrics.js.map +1 -0
- package/dist/tools/open-editor.d.ts +10 -0
- package/dist/tools/open-editor.d.ts.map +1 -0
- package/dist/tools/open-editor.js +62 -0
- package/dist/tools/open-editor.js.map +1 -0
- package/dist/tools/preview.d.ts +12 -0
- package/dist/tools/preview.d.ts.map +1 -0
- package/dist/tools/preview.js +104 -0
- package/dist/tools/preview.js.map +1 -0
- package/dist/tools/rename.d.ts +7 -0
- package/dist/tools/rename.d.ts.map +1 -0
- package/dist/tools/rename.js +39 -0
- package/dist/tools/rename.js.map +1 -0
- package/dist/tools/result.d.ts +12 -0
- package/dist/tools/result.d.ts.map +1 -0
- package/dist/tools/result.js +55 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/tools/save.d.ts +19 -0
- package/dist/tools/save.d.ts.map +1 -0
- package/dist/tools/save.js +117 -0
- package/dist/tools/save.js.map +1 -0
- package/dist/viewer/broadcaster.d.ts +13 -0
- package/dist/viewer/broadcaster.d.ts.map +1 -0
- package/dist/viewer/broadcaster.js +44 -0
- package/dist/viewer/broadcaster.js.map +1 -0
- package/dist/viewer/index.d.ts +7 -0
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +7 -0
- package/dist/viewer/index.js.map +1 -0
- package/dist/viewer/listener.d.ts +16 -0
- package/dist/viewer/listener.d.ts.map +1 -0
- package/dist/viewer/listener.js +30 -0
- package/dist/viewer/listener.js.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts +30 -0
- package/dist/viewer/presigned-r2-url-builder.d.ts.map +1 -0
- package/dist/viewer/presigned-r2-url-builder.js +40 -0
- package/dist/viewer/presigned-r2-url-builder.js.map +1 -0
- package/dist/viewer/resource-route.d.ts +9 -0
- package/dist/viewer/resource-route.d.ts.map +1 -0
- package/dist/viewer/resource-route.js +59 -0
- package/dist/viewer/resource-route.js.map +1 -0
- package/dist/viewer/router.d.ts +20 -0
- package/dist/viewer/router.d.ts.map +1 -0
- package/dist/viewer/router.js +142 -0
- package/dist/viewer/router.js.map +1 -0
- package/dist/viewer/session-mount.d.ts +10 -0
- package/dist/viewer/session-mount.d.ts.map +1 -0
- package/dist/viewer/session-mount.js +24 -0
- package/dist/viewer/session-mount.js.map +1 -0
- package/dist/viewer/spa-assets.generated.d.ts +2 -0
- package/dist/viewer/spa-assets.generated.d.ts.map +1 -0
- package/dist/viewer/spa-assets.generated.js +989 -0
- package/dist/viewer/spa-assets.generated.js.map +1 -0
- package/dist/viewer/url-builder.d.ts +48 -0
- package/dist/viewer/url-builder.d.ts.map +1 -0
- package/dist/viewer/url-builder.js +38 -0
- package/dist/viewer/url-builder.js.map +1 -0
- package/dist/workspace/hosted-stub.d.ts +28 -0
- package/dist/workspace/hosted-stub.d.ts.map +1 -0
- package/dist/workspace/hosted-stub.js +44 -0
- package/dist/workspace/hosted-stub.js.map +1 -0
- package/dist/workspace/in-memory.d.ts +23 -0
- package/dist/workspace/in-memory.d.ts.map +1 -0
- package/dist/workspace/in-memory.js +161 -0
- package/dist/workspace/in-memory.js.map +1 -0
- package/dist/workspace/index.d.ts +6 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +6 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/node-fs.d.ts +23 -0
- package/dist/workspace/node-fs.d.ts.map +1 -0
- package/dist/workspace/node-fs.js +90 -0
- package/dist/workspace/node-fs.js.map +1 -0
- package/dist/workspace/s3.d.ts +32 -0
- package/dist/workspace/s3.d.ts.map +1 -0
- package/dist/workspace/s3.js +191 -0
- package/dist/workspace/s3.js.map +1 -0
- package/dist/workspace/scoped.d.ts +32 -0
- package/dist/workspace/scoped.d.ts.map +1 -0
- package/dist/workspace/scoped.js +76 -0
- package/dist/workspace/scoped.js.map +1 -0
- package/dist/workspace/types.d.ts +75 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/dist/workspace/types.js +18 -0
- package/dist/workspace/types.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,678 @@
|
|
|
1
|
+
> This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
|
+
|
|
3
|
+
**Navigation:** [Guides](./guides.md) > [Fills](./fills.md) > [Solid Color](./fills/color.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Apply uniform solid colors to shapes, text, and design blocks using CE.SDK's
|
|
8
|
+
comprehensive color fill system with support for multiple color spaces.
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
> **Reading time:** 15 minutes
|
|
13
|
+
>
|
|
14
|
+
> **Resources:**
|
|
15
|
+
>
|
|
16
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
17
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-fills-color-browser)
|
|
18
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-fills-color-browser)
|
|
19
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-fills-color-browser/)
|
|
20
|
+
|
|
21
|
+
Color fills are one of the fundamental fill types in CE.SDK, allowing you to paint design blocks with solid, uniform colors. Unlike gradient fills that transition between colors or image fills that display photo content, color fills apply a single color across the entire block. The color fill system supports multiple color spaces including RGB for screen display, CMYK for print workflows, and Spot Colors for brand consistency.
|
|
22
|
+
|
|
23
|
+
```typescript file=@cesdk_web_examples/guides-fills-color-browser/browser.ts reference-only
|
|
24
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
25
|
+
import {
|
|
26
|
+
BlurAssetSource,
|
|
27
|
+
ColorPaletteAssetSource,
|
|
28
|
+
CropPresetsAssetSource,
|
|
29
|
+
DemoAssetSources,
|
|
30
|
+
EffectsAssetSource,
|
|
31
|
+
FiltersAssetSource,
|
|
32
|
+
PagePresetsAssetSource,
|
|
33
|
+
StickerAssetSource,
|
|
34
|
+
TextAssetSource,
|
|
35
|
+
TextComponentAssetSource,
|
|
36
|
+
TypefaceAssetSource,
|
|
37
|
+
UploadAssetSources,
|
|
38
|
+
VectorShapeAssetSource
|
|
39
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
40
|
+
import { DesignEditorConfig } from './design-editor/plugin';
|
|
41
|
+
import packageJson from './package.json';
|
|
42
|
+
import { calculateGridLayout } from './utils';
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* CE.SDK Plugin: Color Fills Guide
|
|
46
|
+
*
|
|
47
|
+
* This example demonstrates:
|
|
48
|
+
* - Creating and applying color fills
|
|
49
|
+
* - Working with RGB, CMYK, and Spot Colors
|
|
50
|
+
* - Managing fill properties
|
|
51
|
+
* - Enabling/disabling fills
|
|
52
|
+
* - Sharing fills between blocks
|
|
53
|
+
*/
|
|
54
|
+
class Example implements EditorPlugin {
|
|
55
|
+
name = packageJson.name;
|
|
56
|
+
|
|
57
|
+
version = packageJson.version;
|
|
58
|
+
|
|
59
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
60
|
+
if (!cesdk) {
|
|
61
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
65
|
+
// Add asset source plugins
|
|
66
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
67
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
68
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
69
|
+
await cesdk.addPlugin(
|
|
70
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
71
|
+
);
|
|
72
|
+
await cesdk.addPlugin(
|
|
73
|
+
new DemoAssetSources({
|
|
74
|
+
include: [
|
|
75
|
+
'ly.img.templates.blank.*',
|
|
76
|
+
'ly.img.templates.presentation.*',
|
|
77
|
+
'ly.img.templates.print.*',
|
|
78
|
+
'ly.img.templates.social.*',
|
|
79
|
+
'ly.img.image.*'
|
|
80
|
+
]
|
|
81
|
+
})
|
|
82
|
+
);
|
|
83
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
84
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
85
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
86
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
87
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
88
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
89
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
90
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
91
|
+
|
|
92
|
+
// Create a design scene using CE.SDK cesdk method
|
|
93
|
+
await cesdk.actions.run('scene.create', {
|
|
94
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
const engine = cesdk.engine;
|
|
98
|
+
|
|
99
|
+
// Get the page
|
|
100
|
+
const pages = engine.block.findByType('page');
|
|
101
|
+
const page = pages[0];
|
|
102
|
+
if (!page) {
|
|
103
|
+
throw new Error('No page found');
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Set page background to light gray
|
|
107
|
+
const pageFill = engine.block.getFill(page);
|
|
108
|
+
engine.block.setColor(pageFill, 'fill/color/value', {
|
|
109
|
+
r: 0.96,
|
|
110
|
+
g: 0.96,
|
|
111
|
+
b: 0.96,
|
|
112
|
+
a: 1.0
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Calculate responsive grid layout based on page dimensions
|
|
116
|
+
const pageWidth = engine.block.getWidth(page);
|
|
117
|
+
const pageHeight = engine.block.getHeight(page);
|
|
118
|
+
const layout = calculateGridLayout(pageWidth, pageHeight, 12);
|
|
119
|
+
const { blockWidth, blockHeight, getPosition } = layout;
|
|
120
|
+
|
|
121
|
+
// Helper function to create a shape with a fill
|
|
122
|
+
const createShapeWithFill = (
|
|
123
|
+
shapeType: 'rect' | 'ellipse' | 'polygon' | 'star' = 'rect'
|
|
124
|
+
): { block: number; fill: number } => {
|
|
125
|
+
const block = engine.block.create('graphic');
|
|
126
|
+
const shape = engine.block.createShape(shapeType);
|
|
127
|
+
engine.block.setShape(block, shape);
|
|
128
|
+
|
|
129
|
+
// Set size
|
|
130
|
+
engine.block.setWidth(block, blockWidth);
|
|
131
|
+
engine.block.setHeight(block, blockHeight);
|
|
132
|
+
|
|
133
|
+
// Append to page
|
|
134
|
+
engine.block.appendChild(page, block);
|
|
135
|
+
|
|
136
|
+
// Check if block supports fills
|
|
137
|
+
const canHaveFill = engine.block.supportsFill(block);
|
|
138
|
+
if (!canHaveFill) {
|
|
139
|
+
throw new Error('Block does not support fills');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Create a color fill
|
|
143
|
+
const colorFill = engine.block.createFill('color');
|
|
144
|
+
|
|
145
|
+
// Apply the fill to the block
|
|
146
|
+
engine.block.setFill(block, colorFill);
|
|
147
|
+
|
|
148
|
+
return { block, fill: colorFill };
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
// Example 1: RGB Color Fill (Red)
|
|
152
|
+
const { block: rgbBlock, fill: rgbFill } = createShapeWithFill();
|
|
153
|
+
engine.block.setColor(rgbFill, 'fill/color/value', {
|
|
154
|
+
r: 1.0, // Red (0.0 to 1.0)
|
|
155
|
+
g: 0.0, // Green
|
|
156
|
+
b: 0.0, // Blue
|
|
157
|
+
a: 1.0 // Alpha (opacity)
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Example 2: RGB Color Fill (Green with transparency)
|
|
161
|
+
const { block: transparentBlock, fill: transparentFill } =
|
|
162
|
+
createShapeWithFill();
|
|
163
|
+
engine.block.setColor(transparentFill, 'fill/color/value', {
|
|
164
|
+
r: 0.0,
|
|
165
|
+
g: 0.8,
|
|
166
|
+
b: 0.2,
|
|
167
|
+
a: 0.5 // 50% opacity
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
// Example 3: RGB Color Fill (Blue)
|
|
171
|
+
const { block: blueBlock, fill: blueFill } = createShapeWithFill();
|
|
172
|
+
engine.block.setColor(blueFill, 'fill/color/value', {
|
|
173
|
+
r: 0.2,
|
|
174
|
+
g: 0.4,
|
|
175
|
+
b: 0.9,
|
|
176
|
+
a: 1.0
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
// Get the current fill from a block
|
|
180
|
+
const currentFill = engine.block.getFill(blueBlock);
|
|
181
|
+
const fillType = engine.block.getType(currentFill);
|
|
182
|
+
// eslint-disable-next-line no-console
|
|
183
|
+
console.log('Fill type:', fillType); // '//ly.img.ubq/fill/color'
|
|
184
|
+
|
|
185
|
+
// Get the current color value
|
|
186
|
+
const currentColor = engine.block.getColor(blueFill, 'fill/color/value');
|
|
187
|
+
// eslint-disable-next-line no-console
|
|
188
|
+
console.log('Current color:', currentColor);
|
|
189
|
+
|
|
190
|
+
// Example 4: CMYK Color Fill (Magenta)
|
|
191
|
+
const { block: cmykBlock, fill: cmykFill } = createShapeWithFill('ellipse');
|
|
192
|
+
engine.block.setColor(cmykFill, 'fill/color/value', {
|
|
193
|
+
c: 0.0, // Cyan (0.0 to 1.0)
|
|
194
|
+
m: 1.0, // Magenta
|
|
195
|
+
y: 0.0, // Yellow
|
|
196
|
+
k: 0.0, // Key/Black
|
|
197
|
+
tint: 1.0 // Tint value (0.0 to 1.0)
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
// Example 5: Print-Ready CMYK Color
|
|
201
|
+
const { block: printBlock, fill: printFill } =
|
|
202
|
+
createShapeWithFill('ellipse');
|
|
203
|
+
engine.block.setColor(printFill, 'fill/color/value', {
|
|
204
|
+
c: 0.0,
|
|
205
|
+
m: 0.85,
|
|
206
|
+
y: 1.0,
|
|
207
|
+
k: 0.0,
|
|
208
|
+
tint: 1.0
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
// Example 6: Spot Color (Brand Color)
|
|
212
|
+
// First define the spot color globally
|
|
213
|
+
engine.editor.setSpotColorRGB('BrandRed', 0.9, 0.1, 0.1);
|
|
214
|
+
engine.editor.setSpotColorRGB('BrandBlue', 0.1, 0.3, 0.9);
|
|
215
|
+
|
|
216
|
+
// Then apply to fill
|
|
217
|
+
const { block: spotBlock, fill: spotFill } = createShapeWithFill('ellipse');
|
|
218
|
+
engine.block.setColor(spotFill, 'fill/color/value', {
|
|
219
|
+
name: 'BrandRed',
|
|
220
|
+
tint: 1.0,
|
|
221
|
+
externalReference: '' // Optional reference system
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
// Example 7: Brand Color Application
|
|
225
|
+
// Apply brand color to multiple elements
|
|
226
|
+
const { block: headerBlock, fill: headerFill } =
|
|
227
|
+
createShapeWithFill('star');
|
|
228
|
+
const brandColor = { name: 'BrandBlue', tint: 1.0, externalReference: '' };
|
|
229
|
+
engine.block.setColor(headerFill, 'fill/color/value', brandColor);
|
|
230
|
+
|
|
231
|
+
// Example 8: Second element with same brand color
|
|
232
|
+
const { block: buttonBlock, fill: buttonFill } =
|
|
233
|
+
createShapeWithFill('star');
|
|
234
|
+
engine.block.setColor(buttonFill, 'fill/color/value', brandColor);
|
|
235
|
+
|
|
236
|
+
// Example 9: Toggle fill visibility
|
|
237
|
+
const { block: toggleBlock, fill: toggleFill } =
|
|
238
|
+
createShapeWithFill('star');
|
|
239
|
+
engine.block.setColor(toggleFill, 'fill/color/value', {
|
|
240
|
+
r: 1.0,
|
|
241
|
+
g: 0.5,
|
|
242
|
+
b: 0.0,
|
|
243
|
+
a: 1.0
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
// Check fill state
|
|
247
|
+
const isEnabled = engine.block.isFillEnabled(toggleBlock);
|
|
248
|
+
// eslint-disable-next-line no-console
|
|
249
|
+
console.log('Fill enabled:', isEnabled); // true
|
|
250
|
+
|
|
251
|
+
// Example 10: Shared Fill
|
|
252
|
+
const block1 = engine.block.create('graphic');
|
|
253
|
+
const shape1 = engine.block.createShape('rect');
|
|
254
|
+
engine.block.setShape(block1, shape1);
|
|
255
|
+
engine.block.setWidth(block1, blockWidth);
|
|
256
|
+
engine.block.setHeight(block1, blockHeight / 2);
|
|
257
|
+
engine.block.appendChild(page, block1);
|
|
258
|
+
|
|
259
|
+
const block2 = engine.block.create('graphic');
|
|
260
|
+
const shape2 = engine.block.createShape('rect');
|
|
261
|
+
engine.block.setShape(block2, shape2);
|
|
262
|
+
engine.block.setWidth(block2, blockWidth);
|
|
263
|
+
engine.block.setHeight(block2, blockHeight / 2);
|
|
264
|
+
engine.block.appendChild(page, block2);
|
|
265
|
+
|
|
266
|
+
// Create one fill
|
|
267
|
+
const sharedFill = engine.block.createFill('color');
|
|
268
|
+
engine.block.setColor(sharedFill, 'fill/color/value', {
|
|
269
|
+
r: 0.5,
|
|
270
|
+
g: 0.0,
|
|
271
|
+
b: 0.5,
|
|
272
|
+
a: 1.0
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
// Apply to both blocks
|
|
276
|
+
engine.block.setFill(block1, sharedFill);
|
|
277
|
+
engine.block.setFill(block2, sharedFill);
|
|
278
|
+
|
|
279
|
+
// Example 11: Yellow Star
|
|
280
|
+
const { block: replaceBlock, fill: replaceFill } =
|
|
281
|
+
createShapeWithFill('star');
|
|
282
|
+
engine.block.setColor(replaceFill, 'fill/color/value', {
|
|
283
|
+
r: 0.9,
|
|
284
|
+
g: 0.9,
|
|
285
|
+
b: 0.1,
|
|
286
|
+
a: 1.0
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
// Example 12: Color Space Conversion (for demonstration)
|
|
290
|
+
const rgbColor = { r: 1.0, g: 0.0, b: 0.0, a: 1.0 };
|
|
291
|
+
|
|
292
|
+
// Convert to CMYK
|
|
293
|
+
const cmykColor = engine.editor.convertColorToColorSpace(rgbColor, 'CMYK');
|
|
294
|
+
// eslint-disable-next-line no-console
|
|
295
|
+
console.log('Converted CMYK color:', cmykColor);
|
|
296
|
+
|
|
297
|
+
// ===== Position all blocks in grid layout =====
|
|
298
|
+
const blocks = [
|
|
299
|
+
rgbBlock, // Position 0
|
|
300
|
+
transparentBlock, // Position 1
|
|
301
|
+
blueBlock, // Position 2
|
|
302
|
+
cmykBlock, // Position 3
|
|
303
|
+
printBlock, // Position 4
|
|
304
|
+
spotBlock, // Position 5
|
|
305
|
+
headerBlock, // Position 6
|
|
306
|
+
buttonBlock, // Position 7
|
|
307
|
+
toggleBlock, // Position 8
|
|
308
|
+
block1, // Position 9
|
|
309
|
+
block2, // Position 10
|
|
310
|
+
replaceBlock // Position 11
|
|
311
|
+
];
|
|
312
|
+
|
|
313
|
+
blocks.forEach((block, index) => {
|
|
314
|
+
const pos = getPosition(index);
|
|
315
|
+
engine.block.setPositionX(block, pos.x);
|
|
316
|
+
engine.block.setPositionY(block, pos.y);
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
// Zoom to fit all content
|
|
320
|
+
await engine.scene.zoomToBlock(page, {
|
|
321
|
+
padding: {
|
|
322
|
+
left: 40,
|
|
323
|
+
top: 40,
|
|
324
|
+
right: 40,
|
|
325
|
+
bottom: 40
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
export default Example;
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
This guide demonstrates how to create, apply, and modify color fills programmatically, work with different color spaces, and manage fill properties for various design elements.
|
|
335
|
+
|
|
336
|
+
## Understanding Color Fills
|
|
337
|
+
|
|
338
|
+
### What is a Color Fill?
|
|
339
|
+
|
|
340
|
+
A color fill is a fill object identified by the type `'//ly.img.ubq/fill/color'` (or its shorthand `'color'`) that paints a design block with a single, uniform color. Color fills are part of the broader fill system in CE.SDK and contain a `fill/color/value` property that defines the actual color using various color space formats.
|
|
341
|
+
|
|
342
|
+
Color fills differ from other fill types available in CE.SDK:
|
|
343
|
+
|
|
344
|
+
- **Color fills**: Solid, uniform color across the entire block
|
|
345
|
+
- **Gradient fills**: Color transitions (linear, radial, conical)
|
|
346
|
+
- **Image fills**: Photo or raster content
|
|
347
|
+
- **Video fills**: Animated video content
|
|
348
|
+
|
|
349
|
+
### Supported Color Spaces
|
|
350
|
+
|
|
351
|
+
CE.SDK's color fill system supports multiple color spaces to accommodate different design and production workflows:
|
|
352
|
+
|
|
353
|
+
- **RGB/sRGB**: Red, Green, Blue with alpha channel (standard for screen display)
|
|
354
|
+
- **CMYK**: Cyan, Magenta, Yellow, Key (black) with tint (for print production)
|
|
355
|
+
- **Spot Colors**: Named colors with RGB/CMYK approximations (for brand consistency)
|
|
356
|
+
|
|
357
|
+
Each color space serves specific use cases—use RGB for digital designs, CMYK for print-ready content, and Spot Colors to maintain brand standards across projects.
|
|
358
|
+
|
|
359
|
+
## Checking Color Fill Support
|
|
360
|
+
|
|
361
|
+
### Verifying Block Compatibility
|
|
362
|
+
|
|
363
|
+
Before applying color fills to a block, verify that the block type supports fills. Not all block types can have fills—for example, scene and page blocks typically don't support fills.
|
|
364
|
+
|
|
365
|
+
```typescript highlight-check-fill-support
|
|
366
|
+
// Check if block supports fills
|
|
367
|
+
const canHaveFill = engine.block.supportsFill(block);
|
|
368
|
+
if (!canHaveFill) {
|
|
369
|
+
throw new Error('Block does not support fills');
|
|
370
|
+
}
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Graphic blocks, shapes, and text blocks typically support fills. Always check `supportsFill()` before accessing fill APIs to avoid runtime errors and ensure smooth operation.
|
|
374
|
+
|
|
375
|
+
## Creating Color Fills
|
|
376
|
+
|
|
377
|
+
### Creating a New Color Fill
|
|
378
|
+
|
|
379
|
+
Create a new color fill instance using the `createFill()` method with the type `'color'` or the full type name `'//ly.img.ubq/fill/color'`.
|
|
380
|
+
|
|
381
|
+
```typescript highlight-create-fill
|
|
382
|
+
// Create a color fill
|
|
383
|
+
const colorFill = engine.block.createFill('color');
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
The `createFill()` method returns a numeric fill ID. The fill exists independently until you attach it to a block using `setFill()`. If you create a fill but don't attach it to a block, you must destroy it manually to prevent memory leaks.
|
|
387
|
+
|
|
388
|
+
### Default Color Fill Properties
|
|
389
|
+
|
|
390
|
+
New color fills have default properties—typically white or transparent. You can discover all available properties using `findAllProperties()`:
|
|
391
|
+
|
|
392
|
+
```typescript
|
|
393
|
+
const properties = engine.block.findAllProperties(colorFillId);
|
|
394
|
+
console.log(properties); // ["fill/color/value", "type"]
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## Applying Color Fills
|
|
398
|
+
|
|
399
|
+
### Setting a Fill on a Block
|
|
400
|
+
|
|
401
|
+
Once you've created a color fill, attach it to a block using `setFill()`:
|
|
402
|
+
|
|
403
|
+
```typescript highlight-apply-fill
|
|
404
|
+
// Apply the fill to the block
|
|
405
|
+
engine.block.setFill(block, colorFill);
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
This example creates a graphic block with a rectangle shape and applies the color fill to it. The block will now render with the fill's color.
|
|
409
|
+
|
|
410
|
+
### Getting the Current Fill
|
|
411
|
+
|
|
412
|
+
Retrieve the current fill attached to a block using `getFill()` and inspect its type:
|
|
413
|
+
|
|
414
|
+
```typescript highlight-get-fill
|
|
415
|
+
// Get the current fill from a block
|
|
416
|
+
const currentFill = engine.block.getFill(blueBlock);
|
|
417
|
+
const fillType = engine.block.getType(currentFill);
|
|
418
|
+
// eslint-disable-next-line no-console
|
|
419
|
+
console.log('Fill type:', fillType); // '//ly.img.ubq/fill/color'
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
## Modifying Color Fill Properties
|
|
423
|
+
|
|
424
|
+
### Setting RGB Colors
|
|
425
|
+
|
|
426
|
+
Set the fill color using RGB values with the `setColor()` method. RGB values are normalized floats from 0.0 to 1.0, and the alpha channel controls opacity.
|
|
427
|
+
|
|
428
|
+
```typescript highlight-set-rgb
|
|
429
|
+
const { block: rgbBlock, fill: rgbFill } = createShapeWithFill();
|
|
430
|
+
engine.block.setColor(rgbFill, 'fill/color/value', {
|
|
431
|
+
r: 1.0, // Red (0.0 to 1.0)
|
|
432
|
+
g: 0.0, // Green
|
|
433
|
+
b: 0.0, // Blue
|
|
434
|
+
a: 1.0 // Alpha (opacity)
|
|
435
|
+
});
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
The alpha channel (a) controls opacity: 1.0 is fully opaque, 0.0 is fully transparent. This allows you to create semi-transparent overlays and layered color effects.
|
|
439
|
+
|
|
440
|
+
### Setting CMYK Colors
|
|
441
|
+
|
|
442
|
+
For print workflows, use CMYK color space with the `setColor()` method. CMYK values are also normalized from 0.0 to 1.0, and include a tint value for partial color application.
|
|
443
|
+
|
|
444
|
+
```typescript highlight-set-cmyk
|
|
445
|
+
const { block: cmykBlock, fill: cmykFill } = createShapeWithFill('ellipse');
|
|
446
|
+
engine.block.setColor(cmykFill, 'fill/color/value', {
|
|
447
|
+
c: 0.0, // Cyan (0.0 to 1.0)
|
|
448
|
+
m: 1.0, // Magenta
|
|
449
|
+
y: 0.0, // Yellow
|
|
450
|
+
k: 0.0, // Key/Black
|
|
451
|
+
tint: 1.0 // Tint value (0.0 to 1.0)
|
|
452
|
+
});
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
The tint value allows partial application of the color, useful for creating lighter variations without changing the base CMYK values.
|
|
456
|
+
|
|
457
|
+
### Setting Spot Colors
|
|
458
|
+
|
|
459
|
+
Spot colors are named colors that must be defined before use. They're ideal for maintaining brand consistency and can have both RGB and CMYK approximations for different output scenarios.
|
|
460
|
+
|
|
461
|
+
```typescript highlight-set-spot
|
|
462
|
+
// First define the spot color globally
|
|
463
|
+
engine.editor.setSpotColorRGB('BrandRed', 0.9, 0.1, 0.1);
|
|
464
|
+
engine.editor.setSpotColorRGB('BrandBlue', 0.1, 0.3, 0.9);
|
|
465
|
+
|
|
466
|
+
// Then apply to fill
|
|
467
|
+
const { block: spotBlock, fill: spotFill } = createShapeWithFill('ellipse');
|
|
468
|
+
engine.block.setColor(spotFill, 'fill/color/value', {
|
|
469
|
+
name: 'BrandRed',
|
|
470
|
+
tint: 1.0,
|
|
471
|
+
externalReference: '' // Optional reference system
|
|
472
|
+
});
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
First, define the spot color globally using `setSpotColorRGB()` or `setSpotColorCMYK()`, then apply it to your fill using the color name. The tint value controls intensity from 0.0 to 1.0.
|
|
476
|
+
|
|
477
|
+
### Getting Current Color Value
|
|
478
|
+
|
|
479
|
+
Retrieve the current color value from a fill using `getColor()`:
|
|
480
|
+
|
|
481
|
+
```typescript highlight-get-color
|
|
482
|
+
// Get the current color value
|
|
483
|
+
const currentColor = engine.block.getColor(blueFill, 'fill/color/value');
|
|
484
|
+
// eslint-disable-next-line no-console
|
|
485
|
+
console.log('Current color:', currentColor);
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
## Enabling and Disabling Color Fills
|
|
489
|
+
|
|
490
|
+
### Toggle Fill Visibility
|
|
491
|
+
|
|
492
|
+
You can temporarily disable a fill without removing it from the block. This preserves all fill properties while making the block transparent:
|
|
493
|
+
|
|
494
|
+
```typescript highlight-toggle-fill
|
|
495
|
+
const { block: toggleBlock, fill: toggleFill } = createShapeWithFill('star');
|
|
496
|
+
engine.block.setColor(toggleFill, 'fill/color/value', {
|
|
497
|
+
r: 1.0,
|
|
498
|
+
g: 0.5,
|
|
499
|
+
b: 0.0,
|
|
500
|
+
a: 1.0
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
// Check fill state
|
|
504
|
+
const isEnabled = engine.block.isFillEnabled(toggleBlock);
|
|
505
|
+
// eslint-disable-next-line no-console
|
|
506
|
+
console.log('Fill enabled:', isEnabled); // true
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
Disabling fills is useful for creating stroke-only designs or for temporarily hiding fills during interactive editing sessions. The fill properties remain intact and can be re-enabled at any time.
|
|
510
|
+
|
|
511
|
+
## Additional Techniques
|
|
512
|
+
|
|
513
|
+
### Sharing Color Fills
|
|
514
|
+
|
|
515
|
+
You can share a single fill instance between multiple blocks. Changes to the shared fill affect all blocks using it:
|
|
516
|
+
|
|
517
|
+
```typescript highlight-share-fill
|
|
518
|
+
const block1 = engine.block.create('graphic');
|
|
519
|
+
const shape1 = engine.block.createShape('rect');
|
|
520
|
+
engine.block.setShape(block1, shape1);
|
|
521
|
+
engine.block.setWidth(block1, blockWidth);
|
|
522
|
+
engine.block.setHeight(block1, blockHeight / 2);
|
|
523
|
+
engine.block.appendChild(page, block1);
|
|
524
|
+
|
|
525
|
+
const block2 = engine.block.create('graphic');
|
|
526
|
+
const shape2 = engine.block.createShape('rect');
|
|
527
|
+
engine.block.setShape(block2, shape2);
|
|
528
|
+
engine.block.setWidth(block2, blockWidth);
|
|
529
|
+
engine.block.setHeight(block2, blockHeight / 2);
|
|
530
|
+
engine.block.appendChild(page, block2);
|
|
531
|
+
|
|
532
|
+
// Create one fill
|
|
533
|
+
const sharedFill = engine.block.createFill('color');
|
|
534
|
+
engine.block.setColor(sharedFill, 'fill/color/value', {
|
|
535
|
+
r: 0.5,
|
|
536
|
+
g: 0.0,
|
|
537
|
+
b: 0.5,
|
|
538
|
+
a: 1.0
|
|
539
|
+
});
|
|
540
|
+
|
|
541
|
+
// Apply to both blocks
|
|
542
|
+
engine.block.setFill(block1, sharedFill);
|
|
543
|
+
engine.block.setFill(block2, sharedFill);
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
With shared fills, modifying the fill's color updates all blocks simultaneously. The fill is only destroyed when the last block referencing it is destroyed.
|
|
547
|
+
|
|
548
|
+
### Color Space Conversion
|
|
549
|
+
|
|
550
|
+
Convert colors between different color spaces using `convertColorToColorSpace()`:
|
|
551
|
+
|
|
552
|
+
```typescript highlight-convert-color
|
|
553
|
+
const rgbColor = { r: 1.0, g: 0.0, b: 0.0, a: 1.0 };
|
|
554
|
+
|
|
555
|
+
// Convert to CMYK
|
|
556
|
+
const cmykColor = engine.editor.convertColorToColorSpace(rgbColor, 'CMYK');
|
|
557
|
+
// eslint-disable-next-line no-console
|
|
558
|
+
console.log('Converted CMYK color:', cmykColor);
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
This is useful when you need to ensure color consistency across different output mediums (screen vs. print).
|
|
562
|
+
|
|
563
|
+
## Common Use Cases
|
|
564
|
+
|
|
565
|
+
### Brand Color Application
|
|
566
|
+
|
|
567
|
+
Define and apply brand colors as spot colors to maintain consistency across all design elements:
|
|
568
|
+
|
|
569
|
+
```typescript highlight-brand-colors
|
|
570
|
+
// Apply brand color to multiple elements
|
|
571
|
+
const { block: headerBlock, fill: headerFill } = createShapeWithFill('star');
|
|
572
|
+
const brandColor = { name: 'BrandBlue', tint: 1.0, externalReference: '' };
|
|
573
|
+
engine.block.setColor(headerFill, 'fill/color/value', brandColor);
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
Using spot colors ensures brand consistency and makes it easy to update all instances of a brand color by modifying the spot color definition.
|
|
577
|
+
|
|
578
|
+
### Transparency Effects
|
|
579
|
+
|
|
580
|
+
Create semi-transparent overlays and visual effects by adjusting the alpha channel:
|
|
581
|
+
|
|
582
|
+
```typescript highlight-transparency
|
|
583
|
+
const { block: transparentBlock, fill: transparentFill } =
|
|
584
|
+
createShapeWithFill();
|
|
585
|
+
engine.block.setColor(transparentFill, 'fill/color/value', {
|
|
586
|
+
r: 0.0,
|
|
587
|
+
g: 0.8,
|
|
588
|
+
b: 0.2,
|
|
589
|
+
a: 0.5 // 50% opacity
|
|
590
|
+
});
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
### Print-Ready Colors
|
|
594
|
+
|
|
595
|
+
Use CMYK color space for designs destined for print production:
|
|
596
|
+
|
|
597
|
+
```typescript highlight-print-colors
|
|
598
|
+
const { block: printBlock, fill: printFill } = createShapeWithFill('ellipse');
|
|
599
|
+
engine.block.setColor(printFill, 'fill/color/value', {
|
|
600
|
+
c: 0.0,
|
|
601
|
+
m: 0.85,
|
|
602
|
+
y: 1.0,
|
|
603
|
+
k: 0.0,
|
|
604
|
+
tint: 1.0
|
|
605
|
+
});
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
## Troubleshooting
|
|
609
|
+
|
|
610
|
+
### Fill Not Visible
|
|
611
|
+
|
|
612
|
+
If your fill doesn't appear:
|
|
613
|
+
|
|
614
|
+
- Check if fill is enabled: `engine.block.isFillEnabled(block)`
|
|
615
|
+
- Verify alpha channel is not 0: Check the `a` property in RGBA colors
|
|
616
|
+
- Ensure block has valid dimensions (width and height > 0)
|
|
617
|
+
- Confirm block is in the scene hierarchy
|
|
618
|
+
|
|
619
|
+
### Color Looks Different Than Expected
|
|
620
|
+
|
|
621
|
+
If colors don't match expectations:
|
|
622
|
+
|
|
623
|
+
- Verify you're using the correct color space (RGB vs CMYK)
|
|
624
|
+
- Check if spot color is properly defined before use
|
|
625
|
+
- Review tint values (should be 0.0-1.0)
|
|
626
|
+
- Consider color space conversion for your output medium
|
|
627
|
+
|
|
628
|
+
### Memory Leaks
|
|
629
|
+
|
|
630
|
+
To prevent memory leaks:
|
|
631
|
+
|
|
632
|
+
- Always destroy replaced fills: `engine.block.destroy(oldFill)`
|
|
633
|
+
- Don't create fills without attaching them to blocks
|
|
634
|
+
- Clean up shared fills when they're no longer needed
|
|
635
|
+
|
|
636
|
+
### Cannot Apply Color to Block
|
|
637
|
+
|
|
638
|
+
If you can't apply a color fill:
|
|
639
|
+
|
|
640
|
+
- Verify block supports fills: `engine.block.supportsFill(block)`
|
|
641
|
+
- Check if block has a shape: Some blocks require shapes before fills work
|
|
642
|
+
- Ensure fill object is valid and not already destroyed
|
|
643
|
+
|
|
644
|
+
## API Reference
|
|
645
|
+
|
|
646
|
+
| Method | Description |
|
|
647
|
+
| ---------------------------------------- | ----------------------------------------- |
|
|
648
|
+
| `createFill('color')` | Create a new color fill object |
|
|
649
|
+
| `setFill(block, fill)` | Assign fill to a block |
|
|
650
|
+
| `getFill(block)` | Get the fill ID from a block |
|
|
651
|
+
| `setColor(fill, property, color)` | Set color value (RGB, CMYK, or Spot) |
|
|
652
|
+
| `getColor(fill, property)` | Get current color value |
|
|
653
|
+
| `setFillEnabled(block, enabled)` | Enable or disable fill rendering |
|
|
654
|
+
| `isFillEnabled(block)` | Check if fill is enabled |
|
|
655
|
+
| `supportsFill(block)` | Check if block supports fills |
|
|
656
|
+
| `findAllProperties(fill)` | List all properties of the fill |
|
|
657
|
+
| `convertColorToColorSpace(color, space)` | Convert between color spaces |
|
|
658
|
+
| `setSpotColorRGB(name, r, g, b)` | Define spot color with RGB approximation |
|
|
659
|
+
| `setSpotColorCMYK(name, c, m, y, k)` | Define spot color with CMYK approximation |
|
|
660
|
+
|
|
661
|
+
## Next Steps
|
|
662
|
+
|
|
663
|
+
Now that you understand color fills, explore other fill types and color management features:
|
|
664
|
+
|
|
665
|
+
- Learn about Gradient Fills for color transitions
|
|
666
|
+
- Explore Image Fills for photo content
|
|
667
|
+
- Understand Fill Overview for the comprehensive fill system
|
|
668
|
+
- Review Apply Colors for color management across properties
|
|
669
|
+
- Study Blocks Concept for understanding the block system
|
|
670
|
+
|
|
671
|
+
---
|
|
672
|
+
|
|
673
|
+
## More Resources
|
|
674
|
+
|
|
675
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
676
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
677
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
678
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|