# Changelog

## Unreleased

## 0.2.0 - 2026-07-18

### Added

- Added versioned scene configuration snapshots with object and JSON export/import APIs for `product-3d-viewer`.
- Added Graphics2D editing for multiple images and text elements, local `Blob` image input, transforms, Viewer-provided fonts, surface finishes, and high-level editor lifecycle management.
- Added scene resource bundles so Graphics2D image Blobs can move between pages without an upload step.
- Added localized `SiteConfig.messages` values, including exact-locale, base-language, and Chinese fallback resolution.
- Added public Graphics2D event/detail types and SDK API documentation.

### Changed

- Synced SiteConfig docs and Studio copy with uncapped positive `productDetail.recommendLimit` behavior.
- Documented direct `aliases.attributeValues` resolution for list/sidebar filter option labels.
- Added SiteConfig Studio editing for common attribute value aliases and enum whitelists.
- Standardized graphics image sizing on Viewer-owned `sizeScale`, preserving image aspect ratio across add, replacement, reset, and scene restoration.

### Fixed

- Reset now restores the Viewer project baseline, including Graphics2D content and surface finish, instead of loading a saved browser session.
- Hardened scene and Graphics2D snapshot validation before applying changes, including duplicate asset and element identifiers.
- Omit empty public-library query filters so unfiltered resource queries return public resources correctly.
- Scoped Biome checks away from generated/demo-only directories and fixed SDK-owned lint diagnostics.

## 0.0.6 - 2026-06-08

### Added

- Added `scope: "has_3d"` for filter fields. This maps selected values to the top-level `has_3d` search parameter instead of attribute filters.
- Added single-select behavior for `component: "select"` filters in `product-list-page` and `product-sidebar`.
- Added configurable product detail options for gallery arrows, product code visibility, title sizing, technical details heading style, unit hiding, and 3D loading states.
- Added a repository-local SiteConfig Studio for visually editing site settings and exporting portable TS / JSON snapshots.
- Added a migratable JSON config in the example project.

### Changed

- Updated the example project to use `3D PREVIEW` / `3D预览` as a single-select filter backed by `has_3d`.
- Improved detail attribute rendering so JSON material fields can be flattened into normal technical detail rows.
- Improved 3D loading UX so intermediate loading states do not show partial configurator modules.
- Updated docs for tenant configuration, filter scopes, and TS vs JSON config usage.

### Fixed

- Gallery arrow hover no longer renders a rectangular background block.
- Loading text shimmer now moves left to right.
