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?
optionalallowFontChoice:boolean
Enables font selection in the user interface. When true, users can choose from available fonts during customization.
availableFonts?
optionalavailableFonts:string[]
List of font family names available for user selection. Curated list ensures brand consistency and technical compatibility.
code?
optionalcode:string
Configuration code for variant generation. Integrates engraving options into the product's configuration system.
fontFamilies?
optionalfontFamilies:FontFamilies
Organized collection of fonts by source for efficient loading. Separates Google Fonts from custom-uploaded brand fonts.
fontFamily?
optionalfontFamily:string
Default font family applied before user customization. Sets the initial appearance and ensures a valid starting state.
fontGroupId?
optionalfontGroupId: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?
optionalfontStyles: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?
optionalmaterialId:string
Target material ID for the engraving application. Specifies which product surface receives the engraved text.
maxCharacters?
optionalmaxCharacters: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?
optionalpreserveLeadingSpaces: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?
optionalpreserveMultipleSpaces:boolean
Maintains multiple consecutive spaces in text.
When true, preserves deliberate spacing between words. Useful for formatted text or visual alignment needs.
priceCode?
optionalpriceCode: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?
optionaltextBaseline:CanvasTextBaseline
Deprecated
Vertical text alignment
textTransform?
optionaltextTransform: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?
optionaltextVerticalAlign: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?
optionaluseMultilineInput:boolean
Enables multi-line text input interface. Provides appropriate UI for single vs multi-line text entry.
visibility-code?
optionalvisibility-code:string
Conditional visibility based on other selections. Controls when engraving options become available.