Skip to main content

Interface: BlockEngraveSettings

Comprehensive configuration for text engraving capabilities on products.

BlockEngraveSettings controls all aspects of how users can personalize products with custom text engravings. This includes font selection, text styling, positioning, and the visual rendering of engraved text on 3D models. These settings define both the creative options available to users and the technical parameters for rendering.

This configuration is essential for products offering personalization through engraving, embossing, or similar text-based customization methods. It balances creative flexibility with technical constraints to ensure high-quality results.

Properties

adjustFont

adjustFont: boolean

Automatically scales text to fit within designated area. Ensures long text remains visible without manual adjustment.


allowFontChoice?

optional allowFontChoice: boolean

Enables font selection in the user interface. When true, users can choose from available fonts during customization.


availableFonts?

optional availableFonts: string[]

List of font family names available for user selection. Curated list ensures brand consistency and technical compatibility.


code?

optional code: string

Configuration code for variant generation. Integrates engraving options into the product's configuration system.


fontFamilies?

optional fontFamilies: FontFamilies

Organized collection of fonts by source for efficient loading. Separates Google Fonts from custom-uploaded brand fonts.


fontFamily?

optional fontFamily: string

Default font family applied before user customization. Sets the initial appearance and ensures a valid starting state.


fontGroupId?

optional fontGroupId: string

Reference to a predefined font collection. Allows sharing font sets across multiple products for consistency.


fontSize

fontSize: string | number

Base text size in pixels or CSS units. Determines the default scale of engraved text on the product.


fontStyles?

optional fontStyles: string[]

Available font style variations (normal, italic, bold, etc.). Provides text emphasis options within the selected font family.


invertH

invertH: boolean

Inverts the engraving effect from recessed to raised (embossing). Creates text that appears to protrude from the surface.


level

level: string | number

Technical depth parameter for the engraving simulation. Fine-tunes the visual depth perception of the engraved text.


lines

lines: string | number

Number of text lines available for user input. Defines single-line vs multi-line engraving capabilities.


lineSpace

lineSpace: string | number

Vertical spacing between text lines in multi-line engravings. Controls text density and readability for longer messages.


materialId?

optional materialId: string

Target material ID for the engraving application. Specifies which product surface receives the engraved text.


maxCharacters?

optional maxCharacters: string | number

Maximum character limit to prevent excessive text. Ensures engravings remain legible and within technical limits.


mobileTextureSize

mobileTextureSize: number

Reduced texture resolution for mobile devices. Optimizes performance on memory-constrained devices.


preserveLeadingSpaces?

optional preserveLeadingSpaces: boolean

Preserves leading whitespace in user input.

When true, maintains intentional spacing at the start of text. Important for precise text alignment and artistic layouts.


preserveMultipleSpaces?

optional preserveMultipleSpaces: boolean

Maintains multiple consecutive spaces in text.

When true, preserves deliberate spacing between words. Useful for formatted text or visual alignment needs.


priceCode?

optional priceCode: string

Pricing code for cost calculations. Links engraving options to pricing rules and surcharges.


smoothing

smoothing: string | number

Edge softness control for engraved text appearance. Balances sharp, crisp edges against smooth, natural transitions.


strength

strength: string | number

Intensity of the engraving effect on the material surface. Higher values create deeper, more pronounced engravings.


textAlign

textAlign: CanvasTextAlign

Horizontal text alignment within the engraving area. Controls text positioning relative to the engraving boundaries.


textBaseline?

optional textBaseline: CanvasTextBaseline

Deprecated

Vertical text alignment


textTransform?

optional textTransform: EngraveCaseType

Text case transformation rules (uppercase, lowercase, capitalize). Enforces consistent text formatting across all engravings.


textureSize

textureSize: number

Texture resolution for desktop rendering (typically 1024-4096). Higher values provide sharper text at the cost of memory usage.


textVerticalAlign?

optional textVerticalAlign: TextVerticalAlign

Vertical positioning of text within the engraving area.

Controls whether text appears at the top, middle, or bottom of the designated engraving space.


useAlbedo

useAlbedo: boolean

Applies color changes to the engraved area. Simulates realistic material discoloration from engraving.


useBump

useBump: boolean

Creates visual depth through bump/normal mapping. Essential for realistic 3D appearance of engraved text.


useMultilineInput?

optional useMultilineInput: boolean

Enables multi-line text input interface. Provides appropriate UI for single vs multi-line text entry.


visibility-code?

optional visibility-code: string

Conditional visibility based on other selections. Controls when engraving options become available.