Changelog for @ijewel3d/mini-viewer
[0.6.18] - 2026-09-02
Added
- Try-On now opens a Ring Configurator or Wedding Band Builder project. Mini Viewer sends the ring assembled by the configurator plugin to AR, so the project does not need a separate model file.
- A linked pair of wedding bands asks which ring to try on before AR starts. Every other project opens the selected ring.
- Custom integrations can use
getConfiguratorTryonRingChoices()andprepareConfiguratorTryon()from the Mini Viewer module or IIFE bundle to start and safely restore a configured ring withRingTryonPlugin. - A wedding band design can travel in a link. The restorable part of a configuration is compressed into the URL fragment, so a shopper can open their design on another device and a storefront can deep-link one. Nothing is stored on a server.
getDesignCode()returns the encoded design on its own, for a product field or an order record.getShareUrl()returns a ready link, andsetShareBaseUrl()overrides the host inside a cross-origin iframe.applyDesignLink()restores a design from a code, a?design=URL, or a#?design=URL. It also gives a cross-origin host the restore path the postMessage bridge was missing, which could calltoJSON()but neverfromJSON().- Saved designs can live in the project instead of the browser. A host supplies
save(designs)throughviewerOptions.wbbDesignHost, and the catalogue becomes one public JSON file in the project's folder, so a design saved once appears in every embed of that project. Without a host, saving falls back to browser storage. exportConfig()andgetMaterials()now report each material slot's base, variant, and finish. An unchanged slot reports the material's default variant.importConfig()now reads anexportConfig()record with slot variants, inlays, overlays, and the sleeve.- Manufacturing export can select an alloy from the material variant. The specification sheet now names the variant beside the metal.
Changed
- Tracking reports visible session time rather than wall-clock time, and reports a model that fails to load.
- The material configurator icon is smaller, which takes about 61 KB out of every bundle.
Fixed
- Changing a profile, width, or thickness during Try-On no longer freezes the session.
- A ring edited during Try-On no longer returns as a second ring on the finger, and the other rings of a compilation stay on their own slots.
- A share link keeps the host page's own route, so a storefront path survives being shared. Re-sharing an edited design no longer restores the earlier one.
- A malformed design code is reported instead of throwing. A design the project cannot build is refused rather than applied in part.
- A saved-design catalogue that cannot be read is never replaced with an empty one.
- A project with Try-On enabled but no saved fit now uses plugin defaults until the fit is calibrated.
- The loading screen now closes when AR fails to start or the customer cancels it.
- The Boutique layout now labels the Beveled and Comfort profiles correctly.
setDivisionParamsnow accepts the documented object form and the existing positional form.- Wedding Band settings now reject non-numeric values instead of storing
NaNand failing to build the geometry.
[0.6.17] - 2026-08-18
Added
- Outside features on a wedding band: up to three inlays — free-floating stripes across the band width — and one overlay per rim, each in its own material. An overlay covers all, part, or none of the ring's flat side face.
- An inside sleeve lines the bore in a second material, across the whole width or a centred part of it.
- A base, variant and finish material schema. A manifest declares each material once with its own variants (karats, species, shades) and only the finishes it has files for, and states where it is allowed: band, inlay, overlay or sleeve. Manifests with the old flat metal and finish lists still load unchanged.
- Modern Metals, a third Wedding Band Builder layout, selectable at runtime like Boutique.
- SDK:
setInlay,removeInlay,getInlays,getInlayBounds,setOverlay,removeOverlay,getOverlays,getOverlayWidthMax,setSleeveandgetSleeve.setOutsideFeatureschanges the whole set in one rebuild.areOutsideFeaturesAvailableandoutsideFeaturesFitreport what the current division and band width allow. - SDK:
getAvailableMaterials,getAvailableVariants,getAvailableFinishesForandsetMaterialRefaddress the new material tree. Theinlays:changed,overlays:changedandsleeve:changedevents also arrive over postMessage.
Changed
- Every profile in the catalogue is offered. A profile with no layout glyph falls back to the manifest icon instead of disappearing from the row.
- The metal and finish rows read the material catalogue. The finish row hides for a material that has no finishes, such as wood.
- Groove and edge names match the trade: Dome (was Convex U), Bevel (was Edge) and Double Milgrain (was Milgrain x2).
- The groove position bar numbers the partition sections and carries a value chip. Drag the chip, click it to centre the groove, or use the nudge buttons.
- The Boutique balance bar labels each block by its metal slot, so the bar reads in the same order as the ring.
- Theme variables also apply to the layout root, so a layout can paint the canvas area around the ring.
- A root-relative asset path resolves against the base URL's origin, so a project can serve its assets from its own domain.
Fixed
- A material file that fails to load no longer aborts the ring. Its region stays unpainted and every other segment keeps its own colour.
[0.6.16] - 2026-08-11
Added
- Boutique, a second Wedding Band Builder layout, selectable at runtime through the SDK or the project manifest. Any of the 12 themes works in either layout.
- Layouts now own their assets, labels, controls and sections, so a layout can bundle its own glyphs, swatches and imagery and override any section without forking the panel.
- Boutique covers the full workflow in four steps, with a ring-size wizard (bank-card screen calibration, then measure against a ring you own) and a free-stone editor offering curated patterns, per-stone type and colour, and drag placement.
- Boutique diamonds gain Placement and Eye orientation rows; a boutique step can declare dividers between sections.
- Stone colours can be set per stone, and grooves carry their own interior finish.
Changed
- The builder stylesheet is split into a shared base sheet and per-layout sheets, each scoped to the panel running that layout, so two builders in one document no longer style each other.
- Undo and redo perform exactly one history step per press and serialize, instead of collapsing rapid presses into a single step.
- Ring Width and Ring Thickness take their millimetre range from the engine or the manifest rather than a fixed preset cap, so wider bands are reachable and read their true size.
Fixed
- Wave-band stones, per-stone colour, groove finishes and milgrain.
- Boutique menu actions never fired inside a shadow root; boutique steps could not scroll on mobile.
- Cross-section preview now draws from the manifest cut vector, holds a fixed millimetre scale and reserves its height; free-stone strip follows the reference metrics.
- Slider scales match the reference, and whole-number scales label without decimals.
- Glyph tones follow the segment, option tiles size uniformly, and the balance bar matches the reference while throttling its mesh rebuilds.
- Ring tabs scroll again when a compilation adds rings; the price/export row honours its own hidden attribute.
- Profile options resolve against the catalogue index, so a filtered glyph set no longer selects the wrong profile or leaves none selected.
- An undo landing inside the engraving debounce window is no longer overwritten by the queued keystroke.
- Stone colour swatches share one frame with the metal and finish rows, so catalogue artwork and generated swatches no longer differ in size.
- A wedding band project that fails to load, or is reset before it becomes ready, no longer leaves callers waiting on the builder forever, and no longer strands the viewer on its loading screen.
- The ring-size wizard survives a sandboxed iframe or blocked site data, and the price bar clears its pending timer when the footer unmounts.
[0.6.15] - 2026-08-06
Changed
- Embed watermark simplified — removed the wordmark reveal and the hover flip; the logo mark now fades from 30% to 80% opacity on hover.
[0.6.14] - 2026-08-06
Changed
- Tryon attribution logo
[0.6.13] - 2026-08-06
Added
- Domain-based license verification for TryOn/AR
enableTryonForDomainprop in UiButtons to control TryOn attritubution visibility based on domain license- Listen for
ijewel-domain-verifiedevent for late domain verification
[0.6.12] - 2026-08-04
Added
- Wedding Band Builder Phase 2 runtime with multi-ring wedding, memoire, and engagement compilations; ring add, remove, reorder, swap, visibility, and metal controls.
- Custom band paths and shapes, profile-aware dimensions, multi-metal partitions and divisions, independent edges, design grooves, and wavy separation.
- Expanded gem settings including independent top and side stones, cross, tension, eye, free placement, diamond colours, and hidden bore stones.
- Styled engraving, undo/redo history, saved configurations, pricing, spec-sheet data, and manufacturing-data export APIs.
Changed
- Wedding Band controls are organized into profile, dimensions, materials, gems, joints, and engraving panels, with manifest-driven catalogs, limits, compatibility rules, and themes.
- Wedding Band state and APIs remain compatible with Drive and Mini Editor while supporting the extended Phase 2 schema.
Fixed
- Corrected material-slot application, polished-material loading, side-stone placement and spacing, touching-bezel cavities, wavy material divisions, and per-ring engraving isolation.
- Fixed ring switching, compiled-ring persistence, restored-ring sizing, hidden-stone engraving, zoom-scale dragging, and horizontal overflow in the ring tabs.
- Improved geometry, material, texture, and ring lifecycle disposal across rebuilds, project reloads, and viewer teardown.
- Hardened iframe API readiness, command replies, event forwarding, validation reporting, and cleanup for embedded integrations.
[0.6.11] - 2026-07-24
Fixed
- Wedding Band Builder: clearing the viewer or reloading a project now disposes the builder (controller, UI, message listeners), so stale state no longer leaks between projects. Hardened the cross-origin postMessage API and
readyevent.
[0.6.10] - 2026-07-17
Fixed
- Ring configurator component placement: each component now seats on its own placeholder anchor, aligned by geometry (centre in X/Z, base resting in Y), so heads no longer float above the anchor.
Changed
- Ring configurator now unregisters a swapped-out component's materials from the material manager registry when the component is disposed.
[0.6.9] - 2026-07-15
Added
- Wedding Band Builder (beta): parametric wedding band configurator (profiles, dimensions, materials, diamond settings, grooves, engraving, pricing and spec-sheet export) with its own themeable UI.
- Viewer modal support for wedding band projects: loads without a model URL and mounts the builder UI (
wbbRenderUI,showWbbUi/hideWbbUiembed options).
[0.6.8] - 2026-05-12
Fixed
- Bundle error.
[0.6.7] - 2026-05-12
Fixed
- Webgi bundle error when using tgz version.
[0.6.6] - 2026-05-06
Changed
- Upgrade webgi to 0.21.5
[0.6.5] - 2026-05-04
Changed
- Upgrade webgi to 0.21.3
[0.6.4] - 2026-05-04
Changed
- Upgrade webgi to 0.21.2
[0.6.3] - 2026-04-16
Changed
- Upgrade webgi to 0.20.0
DiamondPlugin.setKey()call removed (licensing now uses automatic domain verification in webgi 0.20.0)
[0.6.2] - 2026-04-12
Added
resolveFileutility to resolve file URLs from iJewel DriveloadModelByTagmethod to load models by tag and optional scopetagandscopeprops to ViewerComponent for tag-based model loading- Token is now optional in ViewerComponent
Changed
loadModelByIdandloadModelByNamenow useresolveFileinternally
Fixed
- Silent failure in ViewerComponent when loading errors occur
- Event listener leak in ViewerComponent cleanup
- Zoom + button Icon fixed
[0.6.1] - 2026-03-30
Added
- Added tracking of mini-viewer events
[0.6.0] - 2026-03-14
Changed
- Migrated to monorepo (ijewel-mono) with shared packages (common, ui)
- Moved OverlayTabs and EditorOption to shared @ijewel3d/ui package
- GitHub Actions deployment updated with package-scoped tags (mini-viewer-v*)
- Updated rclone path for monorepo workspace hoisting
- Reset Icon in UI buttons changed
Fixed
- Tooltip styling in Shadow DOM (portal rendering + CSS regeneration)
- Added readOnly mode to OverlayTabs (disables editing in viewer)
[0.5.10] - 2026-02-16
Added
- Ring Configurator Plugin Release
[0.5.9] - 2025-01-23
Changed
- Updated webgi to 0.19.1
[0.5.8] - 2025-12-29
Changed
- Increased camera zoom speed for AR
- Minor css fixes for zoom buttons
[0.5.7] - 2025-12-29
Changed
- Updated webgi to 0.19.0
Added
- Zoom buttons in AR mode.
[0.5.6] - 2025-12-15
Changed
- Release apply materials through url feature.
[0.5.5] - 2025-12-01
Fixed
- Overflow in some containers.
[0.5.4] - 2025-12-01
Fixed
- Tooltip styles.
[0.5.3] - 2025-11-28
Fixed
- Remove BatchExportPlugin.
[0.5.2] - 2025-11-27
Fixed
- Race condition in loading camera config.
[0.5.1] - 2025-11-24
Fixed
- Prompt component css issue.
[0.5.0] - 2025-11-17
Changed
- Migrated env map rotation to webgi 0.18.0.
[0.4.6] - 2025-11-14
Changed
- Use vjson preset loading settings.
[0.4.5] - 2025-11-14
Changed
- Update webgi to 0.18.0
[0.4.4] - 2025-11-04
Added
- Release css conflict fixes
[0.4.3] - 2025-10-30
Added
- A flip camera button in AR mode.
[0.4.3-dev.1] - 2025-10-13
Changed
-fix some css conflicts.
[0.4.2] - 2025-09-23
Changed
- Change AR icon to AR beta icon.
- Remove Domain based checking to enable AR.
[0.4.1] - 2025-08-22
Fixed
- Configurator, add max-width to labels in material configurator.
- Change the Configurator tab background to complement the white canvas.
[0.4.0] - 2025-08-12
Fixed
- Update material exist check for configurator to account for regexes
- Don't load material configurator if it has no variations.
- Event listeners added ijewel-file-data, ijewel-model-loaded and ijewel-scene-ready.
[0.3.33] - 2025-08-04
Fixed
- A build issue caused by tryon
- Domain check for SDK and Iframe for Tryon. Drive, Design and local are allowed allowed to show/hide Tryon button.
[0.3.32] - 2025-07-24
Changed
- Set applyOnLoad and applyOnLoadForce to true in material configurator plugin, this will apply selected material configurator options on load.
[0.3.31] - 2025-07-18
Added
- Added a default camera configuration to ensure the reset view gets applied.
- Only load inclusions plugin in webgi 0.14.2 and above.
[0.3.30] - 2025-07-17
Added
- Enable inclusions on unsupported sub-domains
[0.3.29] - 2025-07-15
Added
- Support for inclusion materials.
[0.3.29] - 2025-07-15
Added
- Support for inclusion materials.
[0.3.28] - 2025-07-15
Added
- Use the project's brandingSettings if available; these can be overridden by the viewer options' brandingSettings property.
- Move Embedding Setting business logic to mapping inside viewer.
Fixed
- To maintain backward compatibility, legacy logo-related options are internally mapped to the new brandingSettings structure.
- Changed the Configurator background, it was quite not visible on white background.
[0.3.27] - 2025-06-25
Fixed
- check for cameraConfig along with hideResetView, if no button is enabled in RHS control.
[0.3.26] - 2025-06-25
Fixed
- Added hideResetView flag to hide reset view button.
- Remove empty div if no button is enabled in RHS control.
[0.3.25] - 2025-06-16
Changed
- Update webgi to 0.12.3.
- Use model url and basepat from drive in loadModelById.
[0.3.25-dev.2] - 2025-06-04
Fixed
- To maintain backward compatibility, legacy logo-related options are internally mapped to the new brandingSettings structure.
[0.3.25-dev.1] - 2025-05-27
Fixed
- Ui not showing in Tryon.
- Better error handling for Tryon.
[0.3.25-dev.1] - 2025-05-27
Fixed
- Ui not showing in Tryon.
- Better error handling for Tryon.
[0.3.24] - 2025-05-23
Added
- Branding Logo, changed field name, and behaviour to show loading screen logo.
[0.3.24-dev.2] - 2025-05-24
Fixed
- Use instore Tryon library.
[0.3.24-dev.1] - 2025-05-24
Fixed
- A bug in tryon ui
[0.3.23] - 2025-05-21
Added
- Branding logo re-position on initial load.
[0.3.23-dev.2] - 2025-05-22
Fixed
- A bug in iffe build
[0.3.23-dev.1] - 2025-05-22
Added
- Web tryon integration
[0.3.22] - 2025-05-21
Added
-A new feature to Branding logo. With logo layout Setting.
[0.3.22-dev.3] - 2025-05-21
Added
-Branding logo, re-position on runtime fixed.
[0.3.22-dev.2] - 2025-05-20
Added
-Branding logo, fix css override issue.
[0.3.22-dev.1] - 2025-05-20
Added
- Show logo of Branding based on logo layout setting.
[0.3.21] - 2025-05-01
Added
- Deploy CHANGELOG.md to releases.ijewel3d.com
[0.3.20] - 2025-04-17
Added
- onViewerReady to
ViewerComponent. - viewerApp (webgi viewer) to Viewer class.
[0.3.19] - 2025-04-17
Added
ViewerComponentfor react.
[0.3.18] - 2025-04-15
Added
- add viewer parameter to
loadModelByNameandloadModelById
[0.3.17] - 2025-04-15
Added
- loadModelByName method, to load models from the ijewel drive using name and parent id.
[0.3.16] - 2025-04-10
Fixed
- A bug in svg backgrounds on Windows.
[0.3.15] - 2025-03-28
Fixed
- Load a default env map if there is none in the file or project.
- Use semver for version comparsion.
- Use window.devicePixelRatio instead of displayCanvasScaling for dpr.
- set loopAnimations to true on animation button click.
[0.3.15-dev.1] - 2025-03-22
Added
- added loadModelById method, to load any file from drive with id.
[0.3.14] - 2025-03-22
Fixed
- Hanlde loading model stage vjson config.
[0.3.13] - 2025-03-21
Fixed
- Handle a bug in materials mapping for old projects.
[0.3.12] - 2025-03-12
Fixed
- fix selected material configurator options not applied on load.
- In Dark mode, svg color fixed.
[0.3.11] - 2025-03-07
Fixed
- Minor issue when loading presets
[0.3.10] - 2025-02-27
Fixed
- Issues in React cycle, refactored shadow root
[0.3.9] - 2025-02-25
Added
- useDefaultVJSON parameter, to load a default vjson file from basepath
[0.3.8] - 2025-02-20
Changed
- Use white color when clearing background
[0.3.7] - 2025-02-20
Fixed
- A bug in iife build
[0.3.6] - 2025-02-18
Changed
- Anable interaction plugin even after the user refreshes the page
[0.3.5] - 2025-02-13
Fixed
- A bug in nowebgi build
[0.3.4] - 2025-02-13
Changed
- Update webgi to 0.10.5
[0.3.3] - 2025-02-13
Changed
- Update rclone path for deployment.
[0.3.2] - 2025-02-13
Added
- Hanlde currentPose in project.
Changed
- Update SimpleBackgroundEnvUiPlugin2 to load ssbevel from project.
[0.3.0-temp.1] - YYYY-MM-DD
Added
- Description of new features
Changed
- Details of modifications
Fixed
- Bug fixes and corrections
Removed
- Deprecated or deleted features