@selimssevgi/cube-design-angular 0.8.0 → 0.8.1

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
@@ -4,6 +4,10 @@
4
4
 
5
5
  nothing yet.
6
6
 
7
+ ## 0.8.1 (7 november 2026: a level stands still once it shows)
8
+
9
+ - `<cube-square>` no longer plays its zoom-out step when it measures its room. it lays itself out for a phone's width until the first measure; on a computer that measure gave it four columns instead of three, and it played the step meant for "a square that has to hold more" on a level nobody asked to zoom, so every level shrank and slid into place in its first half second (selim, 7 november, on mosaic's home: "the tiles are moving … it feels like it's getting narrower"). now only a change in what it holds plays the step; a window made wider lays out again without moving. guarded by cube-screens `regressions/shared/standing-still.md` (RC-14) and two specs. a patch: nothing an app sets changes.
10
+
7
11
  ## 0.8.0 (7 november 2026: the screen's ground, so every cube app stops copying it)
8
12
 
9
13
  the first library round of the flow (cube-screens `uat/use-cases/flow.md`, selim 7 november 12:59; his yes to the list the same day). what every app copied, and what the every-level model page built because the package lacked it (`prototypes/every-level-4/gaps.md` › the library check), moved in. nothing that was here changes: an app that takes 0.8.0 and sets nothing new sees no change.
package/README.md CHANGED
@@ -472,7 +472,7 @@ in one across. a tile fills its cell; give it `height: 100%` or `display: grid`
472
472
  page scrolls.
473
473
  - open places only finish the last row; a view never draws a whole empty row (decision of
474
474
  2026-11-01): three pieces in 4 × 5 are one row of four. the square keeps its n × n.
475
- - when it has to hold more it zooms out a step (not when the phone asks for less motion).
475
+ - when it has to hold more it zooms out a step (not when the phone asks for less motion). only what it holds plays the step: measuring its room (the first measure, a wider window) lays it out again without moving, so a level stands still once it shows (since 0.8.1).
476
476
  - it says no word and draws no tile, so each app keeps its own pictures, tones, hold and hide.
477
477
  `squareLayout(view, count, room)` is the same layout as a pure function.
478
478
 
@@ -2800,16 +2800,20 @@ var CubeSquare = class CubeSquare {
2800
2800
  });
2801
2801
  let before = 0;
2802
2802
  let beforeView = null;
2803
+ let beforeCount = -1;
2803
2804
  effect(() => {
2804
2805
  const { cols, list } = this.layout();
2805
2806
  const view = this.view();
2807
+ const count = this.tiles().length;
2808
+ const measured = this.room().width > 0;
2806
2809
  const el = this.grid()?.nativeElement;
2807
- if (el && before && cols !== before && view === beforeView && !list && !reducedMotion$1() && typeof el.animate === "function") el.animate([{ transform: `scale(${cols / before})` }, { transform: "none" }], {
2810
+ if (el && before && measured && cols !== before && count !== beforeCount && beforeCount >= 0 && view === beforeView && !list && !reducedMotion$1() && typeof el.animate === "function") el.animate([{ transform: `scale(${cols / before})` }, { transform: "none" }], {
2808
2811
  duration: 420,
2809
2812
  easing: "cubic-bezier(.2,.7,.2,1)"
2810
2813
  });
2811
2814
  before = cols;
2812
2815
  beforeView = view;
2816
+ if (measured) beforeCount = count;
2813
2817
  });
2814
2818
  }
2815
2819
  static ɵfac = i0.ɵɵngDeclareFactory({