@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,244 @@
|
|
|
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) > [Create and Edit Text](./text.md) > [Text Effects](./text/effects.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Add visual depth and interest to text blocks using drop shadows and stroke outlines.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
> **Reading time:** 5 minutes
|
|
12
|
+
>
|
|
13
|
+
> **Resources:**
|
|
14
|
+
>
|
|
15
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-text-effects-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-text-effects-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-text-effects-browser/)
|
|
19
|
+
|
|
20
|
+
Text effects in CE.SDK include drop shadows for depth and stroke outlines for text borders. These visual effects are distinct from text styling properties like colors, fonts, and backgrounds.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-text-effects-browser/browser.ts reference-only
|
|
23
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
+
|
|
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
|
+
|
|
43
|
+
/**
|
|
44
|
+
* CE.SDK Plugin: Text Effects Guide
|
|
45
|
+
*
|
|
46
|
+
* Demonstrates applying visual effects to text blocks:
|
|
47
|
+
* - Drop shadows for depth
|
|
48
|
+
* - Outline effect for text borders
|
|
49
|
+
* - Glow effect for luminous aura
|
|
50
|
+
*/
|
|
51
|
+
class Example implements EditorPlugin {
|
|
52
|
+
name = packageJson.name;
|
|
53
|
+
|
|
54
|
+
version = packageJson.version;
|
|
55
|
+
|
|
56
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
57
|
+
if (!cesdk) {
|
|
58
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
62
|
+
|
|
63
|
+
// Add asset source plugins
|
|
64
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
65
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
66
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
67
|
+
await cesdk.addPlugin(
|
|
68
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
69
|
+
);
|
|
70
|
+
await cesdk.addPlugin(
|
|
71
|
+
new DemoAssetSources({
|
|
72
|
+
include: [
|
|
73
|
+
'ly.img.templates.blank.*',
|
|
74
|
+
'ly.img.templates.presentation.*',
|
|
75
|
+
'ly.img.templates.print.*',
|
|
76
|
+
'ly.img.templates.social.*',
|
|
77
|
+
'ly.img.image.*'
|
|
78
|
+
]
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
82
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
83
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
84
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
85
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
86
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
87
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
88
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
89
|
+
|
|
90
|
+
await cesdk.actions.run('scene.create', {
|
|
91
|
+
page: { width: 800, height: 500, unit: 'Pixel' }
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const engine = cesdk.engine;
|
|
95
|
+
const page = engine.block.findByType('page')[0];
|
|
96
|
+
|
|
97
|
+
// Create a text block with drop shadow
|
|
98
|
+
const shadowText = engine.block.create('//ly.img.ubq/text');
|
|
99
|
+
engine.block.replaceText(shadowText, 'Drop Shadow');
|
|
100
|
+
engine.block.setTextFontSize(shadowText, 90);
|
|
101
|
+
engine.block.setWidthMode(shadowText, 'Auto');
|
|
102
|
+
engine.block.setHeightMode(shadowText, 'Auto');
|
|
103
|
+
engine.block.setPositionX(shadowText, 50);
|
|
104
|
+
engine.block.setPositionY(shadowText, 50);
|
|
105
|
+
engine.block.appendChild(page, shadowText);
|
|
106
|
+
|
|
107
|
+
// Enable and configure drop shadow
|
|
108
|
+
engine.block.setDropShadowEnabled(shadowText, true);
|
|
109
|
+
engine.block.setDropShadowColor(shadowText, {
|
|
110
|
+
r: 0,
|
|
111
|
+
g: 0,
|
|
112
|
+
b: 0,
|
|
113
|
+
a: 0.6
|
|
114
|
+
});
|
|
115
|
+
engine.block.setDropShadowOffsetX(shadowText, 5);
|
|
116
|
+
engine.block.setDropShadowOffsetY(shadowText, 5);
|
|
117
|
+
engine.block.setDropShadowBlurRadiusX(shadowText, 10);
|
|
118
|
+
engine.block.setDropShadowBlurRadiusY(shadowText, 10);
|
|
119
|
+
|
|
120
|
+
// Create a text block with stroke outline
|
|
121
|
+
const outlineText = engine.block.create('//ly.img.ubq/text');
|
|
122
|
+
engine.block.replaceText(outlineText, 'Outline');
|
|
123
|
+
engine.block.setTextFontSize(outlineText, 90);
|
|
124
|
+
engine.block.setWidthMode(outlineText, 'Auto');
|
|
125
|
+
engine.block.setHeightMode(outlineText, 'Auto');
|
|
126
|
+
engine.block.setPositionX(outlineText, 50);
|
|
127
|
+
engine.block.setPositionY(outlineText, 180);
|
|
128
|
+
engine.block.appendChild(page, outlineText);
|
|
129
|
+
|
|
130
|
+
// Enable and configure stroke
|
|
131
|
+
engine.block.setStrokeEnabled(outlineText, true);
|
|
132
|
+
engine.block.setStrokeWidth(outlineText, 2);
|
|
133
|
+
engine.block.setStrokeColor(outlineText, {
|
|
134
|
+
r: 0.2,
|
|
135
|
+
g: 0.4,
|
|
136
|
+
b: 0.9,
|
|
137
|
+
a: 1.0
|
|
138
|
+
});
|
|
139
|
+
engine.block.setStrokeStyle(outlineText, 'Solid');
|
|
140
|
+
engine.block.setStrokePosition(outlineText, 'Center');
|
|
141
|
+
|
|
142
|
+
// Select the first text block
|
|
143
|
+
engine.block.select(shadowText);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export default Example;
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
This guide covers how to apply drop shadows and stroke outlines to text blocks programmatically using the Block API.
|
|
151
|
+
|
|
152
|
+
## Drop Shadows
|
|
153
|
+
|
|
154
|
+
Drop shadows add depth and emphasis to text. CE.SDK provides dedicated APIs for configuring shadow properties on text blocks.
|
|
155
|
+
|
|
156
|
+
```typescript highlight-drop-shadow
|
|
157
|
+
// Create a text block with drop shadow
|
|
158
|
+
const shadowText = engine.block.create('//ly.img.ubq/text');
|
|
159
|
+
engine.block.replaceText(shadowText, 'Drop Shadow');
|
|
160
|
+
engine.block.setTextFontSize(shadowText, 90);
|
|
161
|
+
engine.block.setWidthMode(shadowText, 'Auto');
|
|
162
|
+
engine.block.setHeightMode(shadowText, 'Auto');
|
|
163
|
+
engine.block.setPositionX(shadowText, 50);
|
|
164
|
+
engine.block.setPositionY(shadowText, 50);
|
|
165
|
+
engine.block.appendChild(page, shadowText);
|
|
166
|
+
|
|
167
|
+
// Enable and configure drop shadow
|
|
168
|
+
engine.block.setDropShadowEnabled(shadowText, true);
|
|
169
|
+
engine.block.setDropShadowColor(shadowText, {
|
|
170
|
+
r: 0,
|
|
171
|
+
g: 0,
|
|
172
|
+
b: 0,
|
|
173
|
+
a: 0.6
|
|
174
|
+
});
|
|
175
|
+
engine.block.setDropShadowOffsetX(shadowText, 5);
|
|
176
|
+
engine.block.setDropShadowOffsetY(shadowText, 5);
|
|
177
|
+
engine.block.setDropShadowBlurRadiusX(shadowText, 10);
|
|
178
|
+
engine.block.setDropShadowBlurRadiusY(shadowText, 10);
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
The drop shadow API provides control over color, position, and blur. The offset values position the shadow relative to the text, while the blur radius controls shadow softness. Horizontal and vertical blur can be configured independently for asymmetric effects.
|
|
182
|
+
|
|
183
|
+
## Stroke Outlines
|
|
184
|
+
|
|
185
|
+
Stroke outlines add a colored border around text. We enable stroke with `setStrokeEnabled()`, then configure width, color, style, and position.
|
|
186
|
+
|
|
187
|
+
```typescript highlight-stroke
|
|
188
|
+
// Create a text block with stroke outline
|
|
189
|
+
const outlineText = engine.block.create('//ly.img.ubq/text');
|
|
190
|
+
engine.block.replaceText(outlineText, 'Outline');
|
|
191
|
+
engine.block.setTextFontSize(outlineText, 90);
|
|
192
|
+
engine.block.setWidthMode(outlineText, 'Auto');
|
|
193
|
+
engine.block.setHeightMode(outlineText, 'Auto');
|
|
194
|
+
engine.block.setPositionX(outlineText, 50);
|
|
195
|
+
engine.block.setPositionY(outlineText, 180);
|
|
196
|
+
engine.block.appendChild(page, outlineText);
|
|
197
|
+
|
|
198
|
+
// Enable and configure stroke
|
|
199
|
+
engine.block.setStrokeEnabled(outlineText, true);
|
|
200
|
+
engine.block.setStrokeWidth(outlineText, 2);
|
|
201
|
+
engine.block.setStrokeColor(outlineText, {
|
|
202
|
+
r: 0.2,
|
|
203
|
+
g: 0.4,
|
|
204
|
+
b: 0.9,
|
|
205
|
+
a: 1.0
|
|
206
|
+
});
|
|
207
|
+
engine.block.setStrokeStyle(outlineText, 'Solid');
|
|
208
|
+
engine.block.setStrokePosition(outlineText, 'Center');
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The stroke width is specified in pixels. Text blocks use centered stroke positioning. Stroke styles include `'Solid'`, `'Dashed'`, `'Dotted'`, and other line patterns.
|
|
212
|
+
|
|
213
|
+
## API Reference
|
|
214
|
+
|
|
215
|
+
| Method | Purpose |
|
|
216
|
+
| ----------------------------------------- | -------------------------------------- |
|
|
217
|
+
| `engine.block.supportsDropShadow()` | Check if block supports drop shadows |
|
|
218
|
+
| `engine.block.setDropShadowEnabled()` | Enable or disable drop shadow |
|
|
219
|
+
| `engine.block.setDropShadowColor()` | Set shadow color |
|
|
220
|
+
| `engine.block.setDropShadowOffsetX()` | Set horizontal shadow offset |
|
|
221
|
+
| `engine.block.setDropShadowOffsetY()` | Set vertical shadow offset |
|
|
222
|
+
| `engine.block.setDropShadowBlurRadiusX()` | Set horizontal blur radius |
|
|
223
|
+
| `engine.block.setDropShadowBlurRadiusY()` | Set vertical blur radius |
|
|
224
|
+
| `engine.block.setStrokeEnabled()` | Enable or disable stroke |
|
|
225
|
+
| `engine.block.setStrokeWidth()` | Set stroke width in pixels |
|
|
226
|
+
| `engine.block.setStrokeColor()` | Set stroke color |
|
|
227
|
+
| `engine.block.setStrokeStyle()` | Set stroke style (Solid, Dashed, etc.) |
|
|
228
|
+
|
|
229
|
+
## Troubleshooting
|
|
230
|
+
|
|
231
|
+
**Drop shadow not visible**: Ensure `setDropShadowEnabled()` is called after configuring properties. Verify `supportsDropShadow()` returns true for the block.
|
|
232
|
+
|
|
233
|
+
**Stroke not visible**: Ensure `setStrokeEnabled()` is called with `true` and stroke width is greater than 0.
|
|
234
|
+
|
|
235
|
+
**Stroke too thick or thin**: Adjust the value passed to `setStrokeWidth()` to control outline thickness.
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## More Resources
|
|
240
|
+
|
|
241
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
242
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
243
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
244
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,310 @@
|
|
|
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) > [Create and Edit Text](./text.md) > [Emojis](./text/emojis.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Configure emoji rendering in CE.SDK text blocks using a dedicated emoji font for consistent cross-platform display.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
> **Reading time:** 5 minutes
|
|
12
|
+
>
|
|
13
|
+
> **Resources:**
|
|
14
|
+
>
|
|
15
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-text-emojis-browser)
|
|
17
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-text-emojis-browser)
|
|
18
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-text-emojis-browser/)
|
|
19
|
+
|
|
20
|
+
Emojis are Unicode characters representing pictographic symbols. They can be single code points (π), multi-character sequences (flags like π©πͺ), ZWJ-joined combinations (π¨βπ©βπ§), or skin tone variants (ππ½). CE.SDK renders text to canvas for precise layout control, which bypasses browser font fallback. This means CE.SDK must explicitly provide an emoji fontβit uses Noto Color Emoji by default.
|
|
21
|
+
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-text-emojis-browser/browser.ts reference-only
|
|
23
|
+
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
+
|
|
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
|
+
|
|
43
|
+
/**
|
|
44
|
+
* CE.SDK Plugin: Emojis Guide
|
|
45
|
+
*
|
|
46
|
+
* Demonstrates emoji rendering configuration:
|
|
47
|
+
* - Understanding the default emoji font (Noto Color Emoji)
|
|
48
|
+
* - Getting and setting the emoji font URI
|
|
49
|
+
* - Creating text blocks with emojis
|
|
50
|
+
*/
|
|
51
|
+
class Example implements EditorPlugin {
|
|
52
|
+
name = packageJson.name;
|
|
53
|
+
|
|
54
|
+
version = packageJson.version;
|
|
55
|
+
|
|
56
|
+
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
57
|
+
if (!cesdk) {
|
|
58
|
+
throw new Error('CE.SDK instance is required for this plugin');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
await cesdk.addPlugin(new DesignEditorConfig());
|
|
62
|
+
|
|
63
|
+
// Add asset source plugins
|
|
64
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
65
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
66
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
67
|
+
await cesdk.addPlugin(
|
|
68
|
+
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
69
|
+
);
|
|
70
|
+
await cesdk.addPlugin(
|
|
71
|
+
new DemoAssetSources({
|
|
72
|
+
include: [
|
|
73
|
+
'ly.img.templates.blank.*',
|
|
74
|
+
'ly.img.templates.presentation.*',
|
|
75
|
+
'ly.img.templates.print.*',
|
|
76
|
+
'ly.img.templates.social.*',
|
|
77
|
+
'ly.img.image.*'
|
|
78
|
+
]
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
82
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
83
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
84
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
85
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
86
|
+
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
87
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
88
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
89
|
+
|
|
90
|
+
await cesdk.actions.run('scene.create', {
|
|
91
|
+
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const engine = cesdk.engine;
|
|
95
|
+
const page = engine.block.findByType('page')[0];
|
|
96
|
+
|
|
97
|
+
// CE.SDK uses Noto Color Emoji by default for consistent cross-platform rendering
|
|
98
|
+
// Get the current emoji font URI
|
|
99
|
+
const defaultEmojiFontUri = engine.editor.getSetting(
|
|
100
|
+
'defaultEmojiFontFileUri'
|
|
101
|
+
);
|
|
102
|
+
console.log('Default emoji font URI:', defaultEmojiFontUri);
|
|
103
|
+
|
|
104
|
+
// You can set a custom emoji font if needed
|
|
105
|
+
// engine.editor.setSetting(
|
|
106
|
+
// 'defaultEmojiFontFileUri',
|
|
107
|
+
// 'https://your-cdn.com/fonts/CustomEmoji.ttf'
|
|
108
|
+
// );
|
|
109
|
+
|
|
110
|
+
// For this guide, we use the default Noto Color Emoji font
|
|
111
|
+
// which is already configured in CE.SDK
|
|
112
|
+
|
|
113
|
+
// Create a text block with emoji content
|
|
114
|
+
const textBlock = engine.block.create('text');
|
|
115
|
+
engine.block.appendChild(page, textBlock);
|
|
116
|
+
|
|
117
|
+
// Set text content with emojis
|
|
118
|
+
engine.block.replaceText(textBlock, 'Hello World! ππβ¨');
|
|
119
|
+
|
|
120
|
+
// Configure text appearance
|
|
121
|
+
engine.block.setTextFontSize(textBlock, 64);
|
|
122
|
+
engine.block.setWidthMode(textBlock, 'Auto');
|
|
123
|
+
engine.block.setHeightMode(textBlock, 'Auto');
|
|
124
|
+
|
|
125
|
+
// Position the text block
|
|
126
|
+
engine.block.setPositionX(textBlock, 50);
|
|
127
|
+
engine.block.setPositionY(textBlock, 100);
|
|
128
|
+
|
|
129
|
+
// Create additional text blocks demonstrating various emoji types
|
|
130
|
+
|
|
131
|
+
// Single emoji characters
|
|
132
|
+
const singleEmojis = engine.block.create('text');
|
|
133
|
+
engine.block.appendChild(page, singleEmojis);
|
|
134
|
+
engine.block.replaceText(singleEmojis, 'Single emojis: π π β€οΈ β');
|
|
135
|
+
engine.block.setTextFontSize(singleEmojis, 36);
|
|
136
|
+
engine.block.setWidthMode(singleEmojis, 'Auto');
|
|
137
|
+
engine.block.setHeightMode(singleEmojis, 'Auto');
|
|
138
|
+
engine.block.setPositionX(singleEmojis, 50);
|
|
139
|
+
engine.block.setPositionY(singleEmojis, 200);
|
|
140
|
+
|
|
141
|
+
// Flag emojis (multi-character sequences)
|
|
142
|
+
const flagEmojis = engine.block.create('text');
|
|
143
|
+
engine.block.appendChild(page, flagEmojis);
|
|
144
|
+
engine.block.replaceText(flagEmojis, 'Flags: π©πͺ πΊπΈ π―π΅ π¬π§');
|
|
145
|
+
engine.block.setTextFontSize(flagEmojis, 36);
|
|
146
|
+
engine.block.setWidthMode(flagEmojis, 'Auto');
|
|
147
|
+
engine.block.setHeightMode(flagEmojis, 'Auto');
|
|
148
|
+
engine.block.setPositionX(flagEmojis, 50);
|
|
149
|
+
engine.block.setPositionY(flagEmojis, 270);
|
|
150
|
+
|
|
151
|
+
// ZWJ (Zero Width Joiner) sequences
|
|
152
|
+
const familyEmojis = engine.block.create('text');
|
|
153
|
+
engine.block.appendChild(page, familyEmojis);
|
|
154
|
+
engine.block.replaceText(familyEmojis, 'Families: π¨βπ©βπ§ π¨βπ©βπ¦βπ¦ π©βπ¦');
|
|
155
|
+
engine.block.setTextFontSize(familyEmojis, 36);
|
|
156
|
+
engine.block.setWidthMode(familyEmojis, 'Auto');
|
|
157
|
+
engine.block.setHeightMode(familyEmojis, 'Auto');
|
|
158
|
+
engine.block.setPositionX(familyEmojis, 50);
|
|
159
|
+
engine.block.setPositionY(familyEmojis, 340);
|
|
160
|
+
|
|
161
|
+
// Skin tone variants
|
|
162
|
+
const skinToneEmojis = engine.block.create('text');
|
|
163
|
+
engine.block.appendChild(page, skinToneEmojis);
|
|
164
|
+
engine.block.replaceText(skinToneEmojis, 'Skin tones: π ππ» ππ½ ππΏ');
|
|
165
|
+
engine.block.setTextFontSize(skinToneEmojis, 36);
|
|
166
|
+
engine.block.setWidthMode(skinToneEmojis, 'Auto');
|
|
167
|
+
engine.block.setHeightMode(skinToneEmojis, 'Auto');
|
|
168
|
+
engine.block.setPositionX(skinToneEmojis, 50);
|
|
169
|
+
engine.block.setPositionY(skinToneEmojis, 410);
|
|
170
|
+
|
|
171
|
+
// Zoom to show all content
|
|
172
|
+
engine.scene.zoomToBlock(page, { padding: 40 });
|
|
173
|
+
|
|
174
|
+
// Select the main text block to show it in the inspector
|
|
175
|
+
engine.block.setSelected(textBlock, true);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export default Example;
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
This guide covers understanding the default emoji font, configuring a custom emoji font, and adding text with emojis programmatically.
|
|
183
|
+
|
|
184
|
+
## Default Emoji Font
|
|
185
|
+
|
|
186
|
+
CE.SDK uses Noto Color Emoji (~9.9 MB, PNG-based) from `https://cdn.img.ly/assets/v5/emoji/NotoColorEmoji.ttf` by default. This ensures identical emoji rendering across all platforms and browsersβdesigns created on macOS look the same on Windows or Android. No configuration is needed; emoji rendering works out of the box.
|
|
187
|
+
|
|
188
|
+
We retrieve the current emoji font URI using `engine.editor.getSetting()`:
|
|
189
|
+
|
|
190
|
+
```typescript highlight-default-emoji-font
|
|
191
|
+
// CE.SDK uses Noto Color Emoji by default for consistent cross-platform rendering
|
|
192
|
+
// Get the current emoji font URI
|
|
193
|
+
const defaultEmojiFontUri = engine.editor.getSetting('defaultEmojiFontFileUri');
|
|
194
|
+
console.log('Default emoji font URI:', defaultEmojiFontUri);
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Configuring the Emoji Font
|
|
198
|
+
|
|
199
|
+
We can change the emoji font using `engine.editor.setSetting()`. The URI can point to any accessible URL, CDN, or local file containing an emoji font.
|
|
200
|
+
|
|
201
|
+
```typescript highlight-configure-emoji-font
|
|
202
|
+
// You can set a custom emoji font if needed
|
|
203
|
+
// engine.editor.setSetting(
|
|
204
|
+
// 'defaultEmojiFontFileUri',
|
|
205
|
+
// 'https://your-cdn.com/fonts/CustomEmoji.ttf'
|
|
206
|
+
// );
|
|
207
|
+
|
|
208
|
+
// For this guide, we use the default Noto Color Emoji font
|
|
209
|
+
// which is already configured in CE.SDK
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Adding Emojis to Text Blocks
|
|
213
|
+
|
|
214
|
+
We create text blocks and add emoji content using `engine.block.replaceText()`. Emojis are inserted directly as Unicode characters:
|
|
215
|
+
|
|
216
|
+
```typescript highlight-create-text-with-emojis
|
|
217
|
+
// Create a text block with emoji content
|
|
218
|
+
const textBlock = engine.block.create('text');
|
|
219
|
+
engine.block.appendChild(page, textBlock);
|
|
220
|
+
|
|
221
|
+
// Set text content with emojis
|
|
222
|
+
engine.block.replaceText(textBlock, 'Hello World! ππβ¨');
|
|
223
|
+
|
|
224
|
+
// Configure text appearance
|
|
225
|
+
engine.block.setTextFontSize(textBlock, 64);
|
|
226
|
+
engine.block.setWidthMode(textBlock, 'Auto');
|
|
227
|
+
engine.block.setHeightMode(textBlock, 'Auto');
|
|
228
|
+
|
|
229
|
+
// Position the text block
|
|
230
|
+
engine.block.setPositionX(textBlock, 50);
|
|
231
|
+
engine.block.setPositionY(textBlock, 100);
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
CE.SDK handles all emoji types automaticallyβsingle characters, flag sequences, ZWJ combinations, and skin tone variants:
|
|
235
|
+
|
|
236
|
+
```typescript highlight-emoji-examples
|
|
237
|
+
// Create additional text blocks demonstrating various emoji types
|
|
238
|
+
|
|
239
|
+
// Single emoji characters
|
|
240
|
+
const singleEmojis = engine.block.create('text');
|
|
241
|
+
engine.block.appendChild(page, singleEmojis);
|
|
242
|
+
engine.block.replaceText(singleEmojis, 'Single emojis: π π β€οΈ β');
|
|
243
|
+
engine.block.setTextFontSize(singleEmojis, 36);
|
|
244
|
+
engine.block.setWidthMode(singleEmojis, 'Auto');
|
|
245
|
+
engine.block.setHeightMode(singleEmojis, 'Auto');
|
|
246
|
+
engine.block.setPositionX(singleEmojis, 50);
|
|
247
|
+
engine.block.setPositionY(singleEmojis, 200);
|
|
248
|
+
|
|
249
|
+
// Flag emojis (multi-character sequences)
|
|
250
|
+
const flagEmojis = engine.block.create('text');
|
|
251
|
+
engine.block.appendChild(page, flagEmojis);
|
|
252
|
+
engine.block.replaceText(flagEmojis, 'Flags: π©πͺ πΊπΈ π―π΅ π¬π§');
|
|
253
|
+
engine.block.setTextFontSize(flagEmojis, 36);
|
|
254
|
+
engine.block.setWidthMode(flagEmojis, 'Auto');
|
|
255
|
+
engine.block.setHeightMode(flagEmojis, 'Auto');
|
|
256
|
+
engine.block.setPositionX(flagEmojis, 50);
|
|
257
|
+
engine.block.setPositionY(flagEmojis, 270);
|
|
258
|
+
|
|
259
|
+
// ZWJ (Zero Width Joiner) sequences
|
|
260
|
+
const familyEmojis = engine.block.create('text');
|
|
261
|
+
engine.block.appendChild(page, familyEmojis);
|
|
262
|
+
engine.block.replaceText(familyEmojis, 'Families: π¨βπ©βπ§ π¨βπ©βπ¦βπ¦ π©βπ¦');
|
|
263
|
+
engine.block.setTextFontSize(familyEmojis, 36);
|
|
264
|
+
engine.block.setWidthMode(familyEmojis, 'Auto');
|
|
265
|
+
engine.block.setHeightMode(familyEmojis, 'Auto');
|
|
266
|
+
engine.block.setPositionX(familyEmojis, 50);
|
|
267
|
+
engine.block.setPositionY(familyEmojis, 340);
|
|
268
|
+
|
|
269
|
+
// Skin tone variants
|
|
270
|
+
const skinToneEmojis = engine.block.create('text');
|
|
271
|
+
engine.block.appendChild(page, skinToneEmojis);
|
|
272
|
+
engine.block.replaceText(skinToneEmojis, 'Skin tones: π ππ» ππ½ ππΏ');
|
|
273
|
+
engine.block.setTextFontSize(skinToneEmojis, 36);
|
|
274
|
+
engine.block.setWidthMode(skinToneEmojis, 'Auto');
|
|
275
|
+
engine.block.setHeightMode(skinToneEmojis, 'Auto');
|
|
276
|
+
engine.block.setPositionX(skinToneEmojis, 50);
|
|
277
|
+
engine.block.setPositionY(skinToneEmojis, 410);
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## The `forceSystemEmojis` Setting
|
|
281
|
+
|
|
282
|
+
CE.SDK has a `forceSystemEmojis` setting (default: `true`). Despite its name, this setting has no practical effect on web because regular text fonts don't contain emoji glyphs and canvas rendering cannot access browser emoji fallback. CE.SDK always uses `defaultEmojiFontFileUri` for emoji characters. The setting exists for cross-platform compatibility.
|
|
283
|
+
|
|
284
|
+
## Troubleshooting
|
|
285
|
+
|
|
286
|
+
**Emojis look different than expected**: CE.SDK uses Noto Color Emoji by default. To use a different emoji style, change `defaultEmojiFontFileUri` to another emoji font.
|
|
287
|
+
|
|
288
|
+
**Missing emojis**: The emoji font may not support all Unicode emoji characters. Ensure your custom emoji font has comprehensive Unicode coverage.
|
|
289
|
+
|
|
290
|
+
**Large initial download**: The default Noto Color Emoji font is ~9.9 MB. Consider preloading it or showing a loading indicator for your users.
|
|
291
|
+
|
|
292
|
+
**Want browser-native emojis**: This is not possible with canvas rendering. CE.SDK requires an explicit emoji font file for consistent cross-platform results.
|
|
293
|
+
|
|
294
|
+
## API Reference
|
|
295
|
+
|
|
296
|
+
| Method | Purpose |
|
|
297
|
+
| ---------------------------------------------------------- | --------------------------------- |
|
|
298
|
+
| `engine.editor.getSetting('defaultEmojiFontFileUri')` | Get the current emoji font URI |
|
|
299
|
+
| `engine.editor.setSetting('defaultEmojiFontFileUri', uri)` | Set a custom emoji font URI |
|
|
300
|
+
| `engine.block.create('text')` | Create a text block |
|
|
301
|
+
| `engine.block.replaceText(id, text)` | Set text content including emojis |
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## More Resources
|
|
306
|
+
|
|
307
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
308
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
309
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
310
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|