@ait-co/devtools 0.1.16 → 0.1.18

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/README.md CHANGED
@@ -327,10 +327,10 @@ mount(); // 깨끗한 상태로 다시 마운트. 중복 <style>·liste
327
327
  | 카테고리 | 기기 |
328
328
  |---|---|
329
329
  | Apple | iPhone SE (3rd gen), iPhone 16e, iPhone 17, iPhone Air, iPhone 17 Pro, iPhone 17 Pro Max |
330
- | Samsung | Galaxy S26 *(S25 fallback)*, S26+ *(S25 fallback)*, S26 Ultra *(S25 fallback)*, Z Flip7, Z Fold7 (folded / unfolded) |
330
+ | Samsung | Galaxy S26, S26+, S26 Ultra, Z Flip7, Z Fold7 (folded / unfolded) |
331
331
  | 기타 | Custom (width/height 직접 입력), None (기본) |
332
332
 
333
- > **Galaxy S26 시리즈는 2026-05 기준 미출시.** 드롭다운에 보이는 `Galaxy S26 / S26+ / S26 Ultra` 항목은 현재 S25 / S25+ / S25 Ultraviewport spec(`width × height`, DPR, safe area)을 그대로 fallback으로 쓰고 있습니다. 라벨에 `(S25 fallback)`이 붙어 있어 UI에서 즉시 구분 가능하며, S26 시리즈 출시 후 확정 spec으로 갱신될 예정입니다. QA에서 픽셀 단위 정확도가 필요한 경우 값을 절대값으로 신뢰하지 마세요.
333
+ > **Galaxy S26 시리즈** (2026-03-11 출시)의 CSS viewport 값은 [phone-simulator.com](https://www.phone-simulator.com/)측정치를 사용합니다. safe area insets는 토스 호스트 환경 실측 전까지 S25 값을 잠정 사용 픽셀 단위 정확도가 필요한 QA는 기기에서 더 확인하세요.
334
334
  >
335
335
  > iPhone 17 시리즈는 2025-09에 출시되어 실제 spec 기반입니다.
336
336
 
@@ -408,7 +408,7 @@ Viewport 탭 하단에 현재 적용된 값을 실시간으로 보여줍니다:
408
408
  ### Known limitations
409
409
 
410
410
  - **Body가 스크롤 컨테이너가 됩니다** — 뷰포트 활성화 중에는 스크롤이 `window`가 아닌 `document.body`에서 발생합니다. `window.addEventListener('scroll', ...)`나 root에 붙은 `IntersectionObserver`는 실 디바이스와 다른 동작을 보일 수 있습니다. 미니앱 코드에서 스크롤을 다룬다면 `body`도 함께 검증하세요.
411
- - **추정/fallback 프리셋** — iPhone Air는 `(est)` 라벨(미출시), Galaxy S26 / S26+ / S26 Ultra는 `(S25 fallback)` 라벨(미출시, S25 spec을 그대로 사용). 모두 실제 출시 갱신 예정이며, QA 절대값으로 신뢰하지 마세요.
411
+ - **추정 프리셋** — iPhone Air는 `(est)` 라벨(미출시) 표시되며, 실제 출시 갱신 예정입니다. Galaxy S26 시리즈는 출시 spec(phone-simulator.com 측정치) 기반이지만 safe area는 S25 값을 잠정 사용 픽셀 단위 정확도가 필요한 QA 기기 확인을 권장합니다.
412
412
 
413
413
  ## `window.__ait` 콘솔 API
414
414
 
@@ -582,7 +582,7 @@ function readGlobalString(key) {
582
582
  }
583
583
  const TELEMETRY_ENDPOINT = readGlobalString("__TELEMETRY_ENDPOINT__") ?? "https://t.aitc.dev";
584
584
  function getVersion() {
585
- return readGlobalString("__VERSION__") ?? "0.0.0";
585
+ return "0.1.18";
586
586
  }
587
587
  let panelVisibleSince = null;
588
588
  let accumulatedMs = 0;
@@ -2771,8 +2771,9 @@ const NONE_PRESET = {
2771
2771
  };
2772
2772
  /**
2773
2773
  * Device presets (2026). CSS viewport 크기는 실제 기기의 `window.innerWidth/innerHeight`.
2774
- * iPhone 17 시리즈는 2025-09 출시. iPhone Air Galaxy S26 시리즈는 2026-04 기준 미출시라
2775
- * 추정 값(`(est)` 라벨 표기). 실제 출시 값을 갱신한다.
2774
+ * iPhone 17 시리즈는 2025-09 출시. iPhone Air 2026-04 기준 미출시 추정(`(est)` 라벨).
2775
+ * Galaxy S26 시리즈는 2026-03-11 출시 viewport 값은 phone-simulator.com에서 보고된
2776
+ * 측정치를 사용. safe area는 토스 호스트 환경 실측 필요 — S25 값으로 잠정.
2776
2777
  *
2777
2778
  * iPhone 17과 17 Pro는 CSS viewport / DPR / safe area가 동일 — 이는 의도이며 카피-페이스트
2778
2779
  * 실수가 아니다. Apple의 17 lineup은 base와 Pro의 web-relevant 스펙이 같다.
@@ -2841,9 +2842,9 @@ const VIEWPORT_PRESETS = [
2841
2842
  },
2842
2843
  {
2843
2844
  id: "galaxy-s26",
2844
- label: "Galaxy S26 (S25 fallback)",
2845
- width: 384,
2846
- height: 832,
2845
+ label: "Galaxy S26",
2846
+ width: 360,
2847
+ height: 773,
2847
2848
  dpr: 3,
2848
2849
  notch: "punch-hole-center",
2849
2850
  safeAreaTop: 32,
@@ -2851,9 +2852,9 @@ const VIEWPORT_PRESETS = [
2851
2852
  },
2852
2853
  {
2853
2854
  id: "galaxy-s26-plus",
2854
- label: "Galaxy S26+ (S25 fallback)",
2855
- width: 412,
2856
- height: 915,
2855
+ label: "Galaxy S26+",
2856
+ width: 480,
2857
+ height: 1040,
2857
2858
  dpr: 3,
2858
2859
  notch: "punch-hole-center",
2859
2860
  safeAreaTop: 32,
@@ -2861,10 +2862,10 @@ const VIEWPORT_PRESETS = [
2861
2862
  },
2862
2863
  {
2863
2864
  id: "galaxy-s26-ultra",
2864
- label: "Galaxy S26 Ultra (S25 fallback)",
2865
- width: 412,
2866
- height: 915,
2867
- dpr: 3.5,
2865
+ label: "Galaxy S26 Ultra",
2866
+ width: 480,
2867
+ height: 1040,
2868
+ dpr: 3,
2868
2869
  notch: "punch-hole-center",
2869
2870
  safeAreaTop: 40,
2870
2871
  safeAreaBottom: 0
@@ -3653,7 +3654,7 @@ function mount() {
3653
3654
  mockBadge.textContent = aitState.state.panelEditable ? "EDIT" : "READ-ONLY";
3654
3655
  refreshPanel();
3655
3656
  });
3656
- const headerRight = h("span", { style: "display:flex;align-items:center;gap:6px" }, mockBadge, h("span", { style: "font-size:11px;color:#666;font-weight:400" }, `v0.1.16`), closeBtn);
3657
+ const headerRight = h("span", { style: "display:flex;align-items:center;gap:6px" }, mockBadge, h("span", { style: "font-size:11px;color:#666;font-weight:400" }, `v0.1.18`), closeBtn);
3657
3658
  const header = h("div", { className: "ait-panel-header" }, h("span", {}, "AIT DevTools"), headerRight);
3658
3659
  tabsEl = h("div", { className: "ait-panel-tabs" });
3659
3660
  for (const tab of TABS) {