sbuilder-mcp 0.46.2 → 0.46.3

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/CHANGELOG.md CHANGED
@@ -6,6 +6,11 @@ All notable changes to this project are documented in this file.
6
6
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7
7
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [0.46.3] - 2026-09-14
10
+
11
+ ### Fixed
12
+ - The layout-overlap check now reads each element's computed position before reporting a collision, so an absolutely-, fixed-, or sticky-positioned decoration sitting over a band — a quickview badge, a sale ribbon, a wishlist heart — is no longer flagged as a defect; a relative element overlapping a sibling still is, since it still takes up space in the flow.
13
+
9
14
  ## [0.46.2] - 2026-09-14
10
15
 
11
16
  ### Fixed
package/CHANGELOG.vi.md CHANGED
@@ -6,6 +6,11 @@ Mọi thay đổi đáng chú ý của dự án được ghi lại trong file n
6
6
  Định dạng dựa trên [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7
7
  và dự án tuân theo [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [0.46.3] - 2026-09-14
10
+
11
+ ### Fixed
12
+ - Kiểm tra chồng lấn bố cục giờ đọc thuộc tính position đã tính toán của từng phần tử trước khi báo va chạm, nên một chi tiết trang trí đặt ở vị trí absolute, fixed hoặc sticky đè lên một khối — huy hiệu quickview, ruy băng khuyến mãi, trái tim yêu thích — không còn bị báo là lỗi; một phần tử relative đè lên phần tử anh em bên cạnh thì vẫn bị báo, vì nó vẫn chiếm chỗ trong luồng bố cục.
13
+
9
14
  ## [0.46.2] - 2026-09-14
10
15
 
11
16
  ### Fixed
@@ -73,6 +73,24 @@ export function measureShot(shot, skip = new Set()) {
73
73
  continue;
74
74
  if (a.w === 0 || a.h === 0 || b.w === 0 || b.h === 0)
75
75
  continue;
76
+ // AND THE COMMENT ABOVE IS NOW IMPLEMENTED. It has always said that "an
77
+ // absolutely-positioned decoration over a band is a design choice", and
78
+ // nothing checked: `Box` carried no `position`, so the rule could not tell
79
+ // a deliberate overlay from a collision. Every quickview badge, sale
80
+ // ribbon and wishlist heart on a product card is an overlay BY
81
+ // CONSTRUCTION, so this fired on storefronts that were built correctly —
82
+ // measured on a live home page, a `collection-media` reported against the
83
+ // `icon` sitting in its own corner.
84
+ //
85
+ // `static` is the only value that means "in the flow", which is what the
86
+ // rest of this rule is about: two boxes the LAYOUT put on top of each
87
+ // other. `relative` counts as in-flow too — it still takes its space, and
88
+ // a relative element overlapping a sibling is the negative-margin defect
89
+ // this check exists to find.
90
+ if (a.position && a.position !== 'static' && a.position !== 'relative')
91
+ continue;
92
+ if (b.position && b.position !== 'static' && b.position !== 'relative')
93
+ continue;
76
94
  const pairKey = `${a.id}|${b.id}`;
77
95
  if (seen.has(pairKey))
78
96
  continue;
@@ -354,6 +354,7 @@ async function shootOne(page, url, width, format, opts) {
354
354
  h: Math.round(r.height),
355
355
  fontPx: Math.round(parseFloat(cs.fontSize) || 0),
356
356
  hasText: own.length > 0,
357
+ position: cs.position,
357
358
  };
358
359
  })));
359
360
  // ZOOM. A designer does not judge a card by looking at the whole page, and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbuilder-mcp",
3
- "version": "0.46.2",
3
+ "version": "0.46.3",
4
4
  "description": "MCP server that designs and operates a Store Builder site — pages, data, theme and publish — through the platform's own API and live-edit protocol.",
5
5
  "mcpName": "io.github.vuluu2k/sbuilder-mcp",
6
6
  "type": "module",