@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,549 @@
|
|
|
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:** [Plugins](./plugins.md) > [Print Ready PDFs](./plugins/print-ready-pdf.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
In this guide, you'll learn how to use the Print Ready PDF plugin to transform
|
|
8
|
+
CE.SDK's standard RGB PDF exports into PDF/X-3 compliant, CMYK-based files
|
|
9
|
+
suitable for professional commercial printing. We'll add a custom export
|
|
10
|
+
button that handles color space conversion, ICC profile embedding, and PDF/X
|
|
11
|
+
compliance—all client-side without any backend infrastructure.
|
|
12
|
+
|
|
13
|
+
> **Reading time:** 15 minutes
|
|
14
|
+
>
|
|
15
|
+
> **Resources:**
|
|
16
|
+
>
|
|
17
|
+
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
18
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/plugins-print-ready-pdf-browser)
|
|
19
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/plugins-print-ready-pdf-browser)
|
|
20
|
+
> - [Live demo](https://img.ly/docs/cesdk/examples/plugins-print-ready-pdf-browser/)
|
|
21
|
+
|
|
22
|
+
## What You'll Build
|
|
23
|
+
|
|
24
|
+
A complete print-ready PDF export workflow that:
|
|
25
|
+
|
|
26
|
+
- Adds a custom "Export Print-Ready PDF" button to CE.SDK
|
|
27
|
+
- Exports designs as standard PDFs using CE.SDK's engine
|
|
28
|
+
- Converts RGB PDFs to CMYK with professional ICC profiles
|
|
29
|
+
- Adds PDF/X-3:2003 compliance for commercial printing
|
|
30
|
+
- Handles transparency flattening automatically
|
|
31
|
+
- Downloads print-ready files directly in the browser
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- Modern browser with WebAssembly support (Chrome 90+, Firefox 88+, Safari 14+)
|
|
36
|
+
- Basic knowledge of JavaScript/TypeScript and CE.SDK
|
|
37
|
+
- Optional: CE.SDK license to remove watermark - [Get a free trial](https://img.ly/forms/free-trial)
|
|
38
|
+
|
|
39
|
+
## Step 1: Install the Plugin
|
|
40
|
+
|
|
41
|
+
First, add the Print Ready PDF plugin to your project alongside CE.SDK:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm install @cesdk/cesdk-js@$UBQ_VERSION$ @imgly/plugin-print-ready-pdfs-web@1.0.0
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The plugin is a standalone npm package that works with any CE.SDK integration.
|
|
48
|
+
|
|
49
|
+
**Package details:**
|
|
50
|
+
|
|
51
|
+
- `@cesdk/cesdk-js`: CE.SDK core library
|
|
52
|
+
- `@imgly/plugin-print-ready-pdfs-web`: Print-ready PDF conversion plugin
|
|
53
|
+
|
|
54
|
+
**Try it yourself:**
|
|
55
|
+
|
|
56
|
+
1. Run `npm install` in your project
|
|
57
|
+
2. Verify packages appear in `package.json`
|
|
58
|
+
3. Check node_modules contains both packages
|
|
59
|
+
|
|
60
|
+
## Step 2: Set Up CE.SDK with Custom Export Button
|
|
61
|
+
|
|
62
|
+
Initialize CE.SDK and add a custom export button to the navigation bar:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
// Initialize CE.SDK
|
|
66
|
+
const cesdk = await CreativeEditorSDK.create('#cesdk-container', config);
|
|
67
|
+
|
|
68
|
+
// Add custom export button to navigation bar
|
|
69
|
+
cesdk.ui.insertOrderComponent(
|
|
70
|
+
{ in: 'ly.img.navigation.bar', position: 'end' },
|
|
71
|
+
{
|
|
72
|
+
id: 'ly.img.actions.navigationBar',
|
|
73
|
+
children: [
|
|
74
|
+
{
|
|
75
|
+
key: 'export-print-ready-pdf',
|
|
76
|
+
id: 'ly.img.action.navigationBar',
|
|
77
|
+
label: 'Export Print-Ready PDF',
|
|
78
|
+
iconName: '@imgly/Download',
|
|
79
|
+
onClick: async () => {
|
|
80
|
+
await exportPrintReadyPDF();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**CE.SDK concepts explained:**
|
|
89
|
+
|
|
90
|
+
- **`insertOrderComponent()`**: Dynamically adds UI components to the navigation bar
|
|
91
|
+
- **`position: 'end'`**: Position for the button (can be `'first'`, `'last'`, or after specific components)
|
|
92
|
+
- **`iconName`**: Uses CE.SDK's built-in icon library (`@imgly/icons/`)
|
|
93
|
+
- **`onClick`**: Function executed when button is clicked
|
|
94
|
+
|
|
95
|
+
The custom action button integrates seamlessly with CE.SDK's UI, appearing alongside built-in export options.
|
|
96
|
+
|
|
97
|
+
**Verify the integration:**
|
|
98
|
+
|
|
99
|
+
1. Start your development server
|
|
100
|
+
2. Open CE.SDK in the browser
|
|
101
|
+
3. Look for "Export Print-Ready PDF" button in the navigation bar
|
|
102
|
+
4. Button should be clickable (even if export isn't implemented yet)
|
|
103
|
+
|
|
104
|
+
## Step 3: Export PDF from CE.SDK
|
|
105
|
+
|
|
106
|
+
Now implement the export logic to get the PDF from CE.SDK's engine:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
// Get current scene ID
|
|
110
|
+
const scene = cesdk.engine.scene.get();
|
|
111
|
+
|
|
112
|
+
// Get all pages in the scene
|
|
113
|
+
const pages = cesdk.engine.block.findByType('page');
|
|
114
|
+
|
|
115
|
+
// Export first page as PDF
|
|
116
|
+
const pdfBlob = await cesdk.engine.block.export(pages[0], {
|
|
117
|
+
mimeType: 'application/pdf'
|
|
118
|
+
});
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**CE.SDK export methods in detail:**
|
|
122
|
+
|
|
123
|
+
- **`engine.scene.get()`**: Returns the ID of the current scene (the design being edited)
|
|
124
|
+
- **`engine.block.export()`**: Exports a specific block (in this case, the entire scene) as a Blob
|
|
125
|
+
- **`'application/pdf'`**: MIME type specifying PDF format output
|
|
126
|
+
|
|
127
|
+
The `engine.block.export()` method is the recommended approach for PDF export. CE.SDK handles all PDF generation internally.
|
|
128
|
+
|
|
129
|
+
**Test your implementation:**
|
|
130
|
+
|
|
131
|
+
- Open CE.SDK and create a simple design
|
|
132
|
+
- Click the custom export button
|
|
133
|
+
- Check browser console shows no errors
|
|
134
|
+
- Verify PDF blob has `size > 0`
|
|
135
|
+
|
|
136
|
+
## Step 4: Convert to Print-Ready Format
|
|
137
|
+
|
|
138
|
+
Use the plugin to convert CE.SDK's RGB PDF to CMYK PDF/X-3 format:
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
// Convert to print-ready PDF/X-3 format
|
|
142
|
+
const printReadyPDF = await convertToPDFX3(pdfBlob, {
|
|
143
|
+
outputProfile: 'fogra39', // European printing standard
|
|
144
|
+
title: 'Print-Ready Export'
|
|
145
|
+
});
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**How this integrates with CE.SDK:**
|
|
149
|
+
|
|
150
|
+
- CE.SDK exports standard RGB PDF (optimized for screens)
|
|
151
|
+
- Plugin intercepts the PDF blob
|
|
152
|
+
- Converts RGB colors to CMYK using professional ICC profiles
|
|
153
|
+
- Adds PDF/X-3:2003 compliance markers
|
|
154
|
+
- Embeds color profile for consistent printing
|
|
155
|
+
|
|
156
|
+
**Color profile selection:**
|
|
157
|
+
|
|
158
|
+
The `outputProfile` parameter determines the color space and printing standard:
|
|
159
|
+
|
|
160
|
+
- **`'fogra39'`**: European offset printing (ISO Coated v2 ECI)
|
|
161
|
+
- **`'gracol'`**: USA commercial printing (GRACoL 2013)
|
|
162
|
+
- **`'srgb'`**: Digital distribution (keeps RGB)
|
|
163
|
+
- **`'custom'`**: Use your own ICC profile file
|
|
164
|
+
|
|
165
|
+
Choose the profile that matches your print region or vendor requirements.
|
|
166
|
+
|
|
167
|
+
**Verify the conversion:**
|
|
168
|
+
|
|
169
|
+
1. Conversion should complete in 2-5 seconds
|
|
170
|
+
2. Output PDF is larger than input (~400-500KB for ICC profile)
|
|
171
|
+
3. No error messages in console
|
|
172
|
+
4. Blob size increased indicates successful conversion
|
|
173
|
+
|
|
174
|
+
## Step 5: Download Print-Ready PDF
|
|
175
|
+
|
|
176
|
+
Trigger the browser download for the converted PDF:
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
// Download the print-ready PDF
|
|
180
|
+
const url = URL.createObjectURL(printReadyPDF);
|
|
181
|
+
const link = document.createElement('a');
|
|
182
|
+
link.href = url;
|
|
183
|
+
link.download = 'design-print-ready.pdf';
|
|
184
|
+
link.click();
|
|
185
|
+
URL.revokeObjectURL(url);
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Browser download pattern explained:**
|
|
189
|
+
|
|
190
|
+
- **`URL.createObjectURL()`**: Creates temporary URL for the Blob
|
|
191
|
+
- **`document.createElement('a')`**: Creates download link element
|
|
192
|
+
- **`link.click()`**: Triggers browser's download dialog
|
|
193
|
+
- **`URL.revokeObjectURL()`**: Cleans up temporary URL (prevents memory leaks)
|
|
194
|
+
|
|
195
|
+
This pattern works in all modern browsers without requiring server endpoints.
|
|
196
|
+
|
|
197
|
+
**Test the complete workflow:**
|
|
198
|
+
|
|
199
|
+
1. Create a design in CE.SDK
|
|
200
|
+
2. Click "Export Print-Ready PDF" button
|
|
201
|
+
3. Browser should prompt to save file
|
|
202
|
+
4. Downloaded PDF should open in PDF viewers
|
|
203
|
+
5. Check file properties for PDF/X-3:2003 compliance
|
|
204
|
+
|
|
205
|
+
## Complete Implementation
|
|
206
|
+
|
|
207
|
+
Here's the full integration combining all steps:
|
|
208
|
+
|
|
209
|
+
```typescript file=@cesdk_web_examples/plugins-print-ready-pdf-browser/src/index.ts reference-only
|
|
210
|
+
import CreativeEditorSDK from '@cesdk/cesdk-js';
|
|
211
|
+
// @ts-expect-error - Plugin types will be available in future release
|
|
212
|
+
import { convertToPDFX3 } from '@imgly/plugin-print-ready-pdfs-web';
|
|
213
|
+
import {
|
|
214
|
+
BlurAssetSource,
|
|
215
|
+
CaptionPresetsAssetSource,
|
|
216
|
+
ColorPaletteAssetSource,
|
|
217
|
+
CropPresetsAssetSource,
|
|
218
|
+
DemoAssetSources,
|
|
219
|
+
EffectsAssetSource,
|
|
220
|
+
FiltersAssetSource,
|
|
221
|
+
PagePresetsAssetSource,
|
|
222
|
+
StickerAssetSource,
|
|
223
|
+
TextAssetSource,
|
|
224
|
+
TypefaceAssetSource,
|
|
225
|
+
VectorShapeAssetSource
|
|
226
|
+
} from '@cesdk/cesdk-js/plugins';
|
|
227
|
+
|
|
228
|
+
let cesdk: CreativeEditorSDK;
|
|
229
|
+
|
|
230
|
+
const config = {
|
|
231
|
+
// By default, CE.SDK runs with a watermark.
|
|
232
|
+
// Get a free trial license at https://img.ly/forms/free-trial to remove it.
|
|
233
|
+
// Uncomment the line below and add your license key:
|
|
234
|
+
// license: 'your-license-key-here',
|
|
235
|
+
// baseURL: `https://cdn.img.ly/packages/imgly/cesdk-js/${CreativeEditorSDK.version}/assets`,
|
|
236
|
+
// Use local assets when developing with local packages
|
|
237
|
+
...((import.meta as any).env?.CESDK_USE_LOCAL && {
|
|
238
|
+
baseURL: import.meta.env.VITE_CESDK_ASSETS_BASE_URL
|
|
239
|
+
})
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
async function init() {
|
|
243
|
+
// Initialize CE.SDK
|
|
244
|
+
cesdk = await CreativeEditorSDK.create('#cesdk-container', config);
|
|
245
|
+
|
|
246
|
+
cesdk.ui.insertOrderComponent(
|
|
247
|
+
{ in: 'ly.img.navigation.bar', position: 'end' },
|
|
248
|
+
{
|
|
249
|
+
id: 'ly.img.actions.navigationBar',
|
|
250
|
+
children: [
|
|
251
|
+
{
|
|
252
|
+
key: 'export-print-ready-pdf',
|
|
253
|
+
id: 'ly.img.action.navigationBar',
|
|
254
|
+
label: 'Export Print-Ready PDF',
|
|
255
|
+
iconName: '@imgly/Download',
|
|
256
|
+
onClick: async () => {
|
|
257
|
+
await exportPrintReadyPDF();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
]
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
|
|
264
|
+
// Load default scene
|
|
265
|
+
await cesdk.actions.run('scene.create', {
|
|
266
|
+
page: {
|
|
267
|
+
sourceId: 'ly.img.page.presets',
|
|
268
|
+
assetId: 'ly.img.page.presets.print.iso.a6.landscape'
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
await cesdk.addPlugin(new BlurAssetSource());
|
|
272
|
+
await cesdk.addPlugin(new CaptionPresetsAssetSource());
|
|
273
|
+
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
274
|
+
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
275
|
+
await cesdk.addPlugin(new EffectsAssetSource());
|
|
276
|
+
await cesdk.addPlugin(new FiltersAssetSource());
|
|
277
|
+
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
278
|
+
await cesdk.addPlugin(new StickerAssetSource());
|
|
279
|
+
await cesdk.addPlugin(new TextAssetSource());
|
|
280
|
+
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
281
|
+
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
282
|
+
await cesdk.addPlugin(new DemoAssetSources());
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
async function exportPrintReadyPDF() {
|
|
286
|
+
try {
|
|
287
|
+
// Check if CE.SDK is initialized
|
|
288
|
+
if (!cesdk) {
|
|
289
|
+
throw new Error('CE.SDK not initialized');
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Get current scene ID
|
|
293
|
+
const scene = cesdk.engine.scene.get();
|
|
294
|
+
|
|
295
|
+
if (scene == null) {
|
|
296
|
+
throw new Error('No scene loaded');
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Get all pages in the scene
|
|
300
|
+
const pages = cesdk.engine.block.findByType('page');
|
|
301
|
+
|
|
302
|
+
if (pages.length === 0) {
|
|
303
|
+
throw new Error('No pages found in scene');
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// Export first page as PDF
|
|
307
|
+
const pdfBlob = await cesdk.engine.block.export(pages[0], {
|
|
308
|
+
mimeType: 'application/pdf'
|
|
309
|
+
});
|
|
310
|
+
|
|
311
|
+
// Convert to print-ready PDF/X-3 format
|
|
312
|
+
const printReadyPDF = await convertToPDFX3(pdfBlob, {
|
|
313
|
+
outputProfile: 'fogra39', // European printing standard
|
|
314
|
+
title: 'Print-Ready Export'
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
// Download the print-ready PDF
|
|
318
|
+
const url = URL.createObjectURL(printReadyPDF);
|
|
319
|
+
const link = document.createElement('a');
|
|
320
|
+
link.href = url;
|
|
321
|
+
link.download = 'design-print-ready.pdf';
|
|
322
|
+
link.click();
|
|
323
|
+
URL.revokeObjectURL(url);
|
|
324
|
+
|
|
325
|
+
console.log('Print-ready PDF exported successfully!');
|
|
326
|
+
} catch (error) {
|
|
327
|
+
console.error('Export failed:', error);
|
|
328
|
+
alert('Failed to export print-ready PDF. Please try again.');
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// Initialize when page loads
|
|
333
|
+
init().catch((error) => {
|
|
334
|
+
console.error('Failed to initialize CE.SDK:', error);
|
|
335
|
+
});
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
This implementation adds a complete print-ready PDF export workflow to CE.SDK with just a few lines of code.
|
|
339
|
+
|
|
340
|
+
Find the complete working example in the [GitHub repository](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/plugins-print-ready-pdf-browser).
|
|
341
|
+
|
|
342
|
+
## Transparency Handling
|
|
343
|
+
|
|
344
|
+
PDF/X-3:2003 is based on PDF 1.3 which does not support transparency. By default, the plugin flattens all transparency to ensure compliance.
|
|
345
|
+
|
|
346
|
+
**Why Flattening is Required:**
|
|
347
|
+
|
|
348
|
+
Transparency flattening is mandatory for PDF/X-3 compliance—this is a requirement of the standard itself, not a limitation of the tooling. Any PDF with transparency must have those elements composited into opaque equivalents before it can be a valid PDF/X-3 file.
|
|
349
|
+
|
|
350
|
+
**What happens during flattening:**
|
|
351
|
+
|
|
352
|
+
- Pages without transparency → Preserved as vectors (text, shapes remain editable)
|
|
353
|
+
- Pages with transparency → Rasterized to bitmaps during conversion
|
|
354
|
+
- Mixed content → Only transparent elements are rasterized
|
|
355
|
+
|
|
356
|
+
### Known Issue: Black Backgrounds During Flattening
|
|
357
|
+
|
|
358
|
+
During the flattening process, certain elements with transparency may render with black backgrounds instead of their intended appearance. Affected elements include:
|
|
359
|
+
|
|
360
|
+
- Gradients that fade to transparent
|
|
361
|
+
- PNG images with alpha channels (e.g., stickers, icons)
|
|
362
|
+
- Text with emoji characters
|
|
363
|
+
- Overlapping semi-transparent elements
|
|
364
|
+
|
|
365
|
+
### Workaround: Preserve Transparency
|
|
366
|
+
|
|
367
|
+
If visual fidelity is more important than strict PDF/X-3 compliance, you can disable transparency flattening:
|
|
368
|
+
|
|
369
|
+
```typescript
|
|
370
|
+
// Preserve transparency for better visual fidelity
|
|
371
|
+
const printReadyPDF = await convertToPDFX3(pdfBlob, {
|
|
372
|
+
outputProfile: 'fogra39',
|
|
373
|
+
title: 'Visual Fidelity Preserved',
|
|
374
|
+
flattenTransparency: false // Preserves appearance but may not be strictly PDF/X-3 compliant
|
|
375
|
+
});
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Trade-offs
|
|
379
|
+
|
|
380
|
+
| Setting | Visual Fidelity | PDF/X-3 Compliance |
|
|
381
|
+
| ------------------------------------- | ------------------ | --------------------------------------- |
|
|
382
|
+
| `flattenTransparency: true` (default) | May have artifacts | Strictly compliant |
|
|
383
|
+
| `flattenTransparency: false` | Preserved | May not validate if transparency exists |
|
|
384
|
+
|
|
385
|
+
### Designing for Print Compatibility
|
|
386
|
+
|
|
387
|
+
To ensure best results with PDF/X-3, design without transparency:
|
|
388
|
+
|
|
389
|
+
- Use 100% opacity for all elements
|
|
390
|
+
- Avoid PNG images with alpha channels
|
|
391
|
+
- Use solid fills instead of gradients with opacity
|
|
392
|
+
- Avoid gradients that fade to transparent
|
|
393
|
+
- Export without blend modes
|
|
394
|
+
|
|
395
|
+
## Advanced: Opting Out of ICC Profile Embedding
|
|
396
|
+
|
|
397
|
+
If a downstream prepress pipeline (e.g. ZePrA, PitStop) handles ICC profile embedding and color normalization, you can keep the RGB→CMYK color conversion from the plugin and skip the embedded OutputIntent so the downstream tool can add its own:
|
|
398
|
+
|
|
399
|
+
```typescript
|
|
400
|
+
// Convert to CMYK without embedding the ICC profile or PDF/X-3 metadata
|
|
401
|
+
const cmykPDF = await convertToPDFX3(pdfBlob, {
|
|
402
|
+
outputProfile: 'fogra39',
|
|
403
|
+
embedICCProfile: false,
|
|
404
|
+
title: 'CMYK for Downstream Pipeline'
|
|
405
|
+
});
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**What changes when `embedICCProfile` is `false`:**
|
|
409
|
+
|
|
410
|
+
- The selected `outputProfile` still determines whether the output is device CMYK (for `fogra39`, `gracol`, or a custom CMYK profile) or RGB (for `srgb`).
|
|
411
|
+
- The output PDF does not include the ICC profile, the `OutputIntent`, or the `GTS_PDFXVersion`/`GTS_PDFXConformance` markers.
|
|
412
|
+
- The resulting file is a plain CMYK PDF, not PDF/X-3 compliant. Your downstream prepress tool is responsible for assigning the final ICC profile and applying any color normalization.
|
|
413
|
+
|
|
414
|
+
Use this when your existing pipeline already enforces ICC profile embedding and color normalization rules you need to preserve.
|
|
415
|
+
|
|
416
|
+
## Advanced: Custom ICC Profiles
|
|
417
|
+
|
|
418
|
+
Use printer-specific ICC profiles:
|
|
419
|
+
|
|
420
|
+
```typescript
|
|
421
|
+
// Load custom ICC profile from your server
|
|
422
|
+
const customProfile = await fetch('/path/to/custom.icc').then((r) => r.blob());
|
|
423
|
+
|
|
424
|
+
const printReadyPDF = await convertToPDFX3(pdfBlob, {
|
|
425
|
+
outputProfile: 'custom',
|
|
426
|
+
customProfile: customProfile,
|
|
427
|
+
title: 'Custom Profile Export',
|
|
428
|
+
outputConditionIdentifier: 'Custom_CMYK_Profile',
|
|
429
|
+
outputCondition: 'Custom profile for specialized printing'
|
|
430
|
+
});
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
This allows you to meet specific print vendor requirements that may not be covered by standard profiles.
|
|
434
|
+
|
|
435
|
+
## Troubleshooting
|
|
436
|
+
|
|
437
|
+
### "Input must be a Blob" Error
|
|
438
|
+
|
|
439
|
+
**Problem:** Plugin reports invalid input type
|
|
440
|
+
|
|
441
|
+
**Solution:** Ensure CE.SDK export returns a Blob:
|
|
442
|
+
|
|
443
|
+
```typescript
|
|
444
|
+
const blob = await cesdk.engine.block.export(sceneId, 'application/pdf');
|
|
445
|
+
console.log(blob instanceof Blob); // Should be true
|
|
446
|
+
console.log(blob.size); // Should be > 0
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
If `blob.size === 0`, the CE.SDK export failed. Check for scene errors.
|
|
450
|
+
|
|
451
|
+
### Converted PDF is Much Larger
|
|
452
|
+
|
|
453
|
+
**Problem:** Output file is significantly larger than input
|
|
454
|
+
|
|
455
|
+
**Solution:** This is expected behavior:
|
|
456
|
+
|
|
457
|
+
- ICC profiles add ~400-500KB (FOGRA39/GRACoL)
|
|
458
|
+
- Transparency flattening may rasterize content
|
|
459
|
+
- For smaller files, use `srgb` profile (digital-only)
|
|
460
|
+
- Disable transparency flattening if no transparency exists: `flattenTransparency: false`
|
|
461
|
+
|
|
462
|
+
### Text Becomes Rasterized
|
|
463
|
+
|
|
464
|
+
**Problem:** Text appears pixelated or blurry in output
|
|
465
|
+
|
|
466
|
+
**Solution:** Transparency flattening converts transparent pages to bitmaps. See [Transparency Handling](#transparency-handling) for details.
|
|
467
|
+
|
|
468
|
+
- Avoid transparency in CE.SDK designs (use 100% opacity)
|
|
469
|
+
- Don't use alpha channel PNG images
|
|
470
|
+
- Use solid fills instead of gradients with opacity
|
|
471
|
+
- Or disable flattening: `flattenTransparency: false` if visual fidelity is more important than strict compliance
|
|
472
|
+
|
|
473
|
+
### Colors Look Different
|
|
474
|
+
|
|
475
|
+
**Problem:** Colors appear different in exported PDF
|
|
476
|
+
|
|
477
|
+
**Solution:** This is expected when converting RGB to CMYK:
|
|
478
|
+
|
|
479
|
+
- CMYK has a smaller color gamut than RGB
|
|
480
|
+
- Some bright RGB colors cannot be reproduced in CMYK
|
|
481
|
+
- Preview in CMYK-capable viewer (Adobe Acrobat) for accurate representation
|
|
482
|
+
- For color-critical work, use CMYK values directly in CE.SDK designs
|
|
483
|
+
|
|
484
|
+
### Custom Button Doesn't Appear
|
|
485
|
+
|
|
486
|
+
**Problem:** Export button not visible in UI
|
|
487
|
+
|
|
488
|
+
**Solution:** Verify your button insertion code:
|
|
489
|
+
|
|
490
|
+
```typescript
|
|
491
|
+
cesdk.ui.insertOrderComponent(
|
|
492
|
+
{ in: 'ly.img.navigation.bar', position: 'end' },
|
|
493
|
+
{
|
|
494
|
+
id: 'ly.img.actions.navigationBar',
|
|
495
|
+
children: [
|
|
496
|
+
{
|
|
497
|
+
key: 'export-print-ready-pdf',
|
|
498
|
+
id: 'ly.img.action.navigationBar',
|
|
499
|
+
label: 'Export Print-Ready PDF',
|
|
500
|
+
iconName: '@imgly/Download',
|
|
501
|
+
onClick: async () => {
|
|
502
|
+
/* ... */
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
]
|
|
506
|
+
}
|
|
507
|
+
);
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
Check browser console for configuration errors. Ensure the button is added after CE.SDK initialization completes.
|
|
511
|
+
|
|
512
|
+
## Validating PDF/X-3 Compliance
|
|
513
|
+
|
|
514
|
+
Verify your exported PDFs meet print standards:
|
|
515
|
+
|
|
516
|
+
**Adobe Acrobat Pro:**
|
|
517
|
+
|
|
518
|
+
1. Open converted PDF
|
|
519
|
+
2. File → Properties → Description
|
|
520
|
+
3. Should show "PDF version: 1.3 (PDF/X-3:2003)"
|
|
521
|
+
4. File → Properties → Advanced
|
|
522
|
+
5. Should show OutputIntent with ICC profile name
|
|
523
|
+
|
|
524
|
+
**Free online validators:**
|
|
525
|
+
|
|
526
|
+
- [PDF/A-X Validator](https://www.pdf-online.com/osa/validate.aspx) - Upload and validate compliance
|
|
527
|
+
- Check for PDF/X-3:2003 standard confirmation
|
|
528
|
+
|
|
529
|
+
**Command-line verification:**
|
|
530
|
+
|
|
531
|
+
```bash
|
|
532
|
+
# Check PDF version
|
|
533
|
+
pdfinfo output.pdf | grep "PDF version"
|
|
534
|
+
|
|
535
|
+
# Validate structure
|
|
536
|
+
qpdf --check output.pdf
|
|
537
|
+
|
|
538
|
+
# Search for PDF/X markers
|
|
539
|
+
grep -a "PDF/X-3" output.pdf
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
## More Resources
|
|
545
|
+
|
|
546
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
547
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
548
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
549
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -0,0 +1,36 @@
|
|
|
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:** [Plugins](./plugins.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Learn how to extend CE.SDK functionality with plugins to add custom features, effects, and integrations.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Related Pages
|
|
12
|
+
|
|
13
|
+
- [Asset Source Plugins](./plugins/asset-sources.md) - Reference documentation for CE.SDK asset source plugins - pre-built asset libraries for images, stickers, filters, effects, fonts, and more
|
|
14
|
+
- [How to Export Print-Ready PDFs with CE.SDK](./plugins/print-ready-pdf.md) - Learn to convert CE.SDK's PDF exports into PDF/X-3 compliant, CMYK print-ready files for professional commercial printing
|
|
15
|
+
- [AI Integration](./user-interface/ai-integration.md) - Integrate external AI services into CE.SDK to enhance creative workflows and power advanced features.
|
|
16
|
+
- [IMG.LY AI Gateway](./user-interface/ai-integration/gateway-provider.md) - Connect CE.SDK to AI models for image, video, text, and audio generation through the IMG.LY AI Gateway, a managed service that handles authentication, model routing, and billing.
|
|
17
|
+
- [AI Text Generation](./user-interface/ai-integration/text-generation.md) - Generate creative content for headlines, descriptions, captions, and marketing copy using Claude or GPT with both a built-in UI and programmatic control.
|
|
18
|
+
- [AI Image Generation](./user-interface/ai-integration/image-generation.md) - Create visuals from text prompts or transform existing images using leading AI providers like fal.ai (RecraftV3, Recraft20b, IdeogramV3, GeminiFlash) and OpenAI (GPT Image) with support for both raster and vector outputs.
|
|
19
|
+
- [AI Video Generation](./user-interface/ai-integration/video-generation.md) - Create dynamic videos from text descriptions or animate static images using leading AI providers like fal.ai with Minimax Video, Pixverse, Kling Video, and ByteDance Seedance models.
|
|
20
|
+
- [Audio Generation](./user-interface/ai-integration/audio-generation.md) - Integrate AI-powered audio generation into CE.SDK with text-to-speech and sound effects using the Audio Generation plugin.
|
|
21
|
+
- [Auto Captions](./user-interface/ai-integration/auto-captions.md) - Integrate automatic caption generation into your CE.SDK application using the Auto Caption plugin with pluggable speech-to-text providers.
|
|
22
|
+
- [Export to HTML5](./export-save-publish/export/to-html5.md) - Export CE.SDK designs as HTML5 bundles with customizable output for display ads and interactive web content.
|
|
23
|
+
- [Remove Background](./edit-image/remove-bg.md) - Remove image backgrounds to isolate subjects or prepare assets for compositing and reuse.
|
|
24
|
+
- [Vectorize](./edit-image/vectorize.md) - Convert raster images into scalable vector graphics for flexible resizing and editing.
|
|
25
|
+
- [Create Cutout](./stickers-and-shapes/create-cutout.md) - Create cutout paths for cutting printers to produce die-cut stickers, iron-on decals, and custom-shaped prints.
|
|
26
|
+
- [Insert QR Code](./stickers-and-shapes/insert-qr-code.md) - Add scannable QR codes to designs using image fills.
|
|
27
|
+
- [Integrate Soundstripe Audio Library](./import-media/from-remote-source/soundstripe.md) - Search and import royalty-free audio tracks from Soundstripe directly into CE.SDK.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## More Resources
|
|
32
|
+
|
|
33
|
+
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
34
|
+
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
35
|
+
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
36
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|