@graphty/webgpu-graph-algorithms 0.6.25 → 0.6.26

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.
@@ -40,7 +40,9 @@ export declare class Lcg {
40
40
  * "fa2"`; `"fr"` is [0, 1)), otherwise uniform inside the [min, max] box of the finite components per axis,
41
41
  * converted to layout units (an axis with no finite value falls back to the range box); the value is written as
42
42
  * `v * scale + center[axis]`, which for scale 1 / center 0 is bit-identical to the port's `u * 2 - 1` (resp. `u`);
43
- * in 2D the third component of a seeded row is written as center[2]. Finite components are never changed and a
43
+ * in 2D the third component of a seeded row is written as center[2]. An axis whose finite box has zero width (one
44
+ * finite row, or every finite row sharing that coordinate) is padded to the range box's width centered on it, so
45
+ * the drawn rows never all land on one point or one line. Finite components are never changed and a
44
46
  * fully finite row is never touched. No random number is drawn when nothing needs seeding.
45
47
  * PLAN DECISION 12 (P3-T1): the box is taken over every finite COMPONENT (the port's rule), not over the fully
46
48
  * finite ROWS only; the two differ only when a partially finite row's finite axis lies outside the fully finite
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/layouts/seed.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhE,mGAAmG;AACnG,eAAO,MAAM,KAAK,cAAc,CAAC;AACjC,0CAA0C;AAC1C,eAAO,MAAM,KAAK,SAAS,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,KAAK,IAAI,CAAC;AAEvB;;;;GAIG;AACH,qBAAa,GAAG;IACZ,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,KAAK,CAAS;IAEtB;;;OAGG;gBACS,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;OAGG;IACH,IAAI,IAAI,MAAM;CAIjB;AA0BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CACzB,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,GAAG,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,GAAG,EAAE,CAAC,GAAG,CAAC,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAChC,KAAK,EAAE,KAAK,GAAG,IAAI,GACpB,IAAI,CAgGN"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/layouts/seed.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhE,mGAAmG;AACnG,eAAO,MAAM,KAAK,cAAc,CAAC;AACjC,0CAA0C;AAC1C,eAAO,MAAM,KAAK,SAAS,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,KAAK,IAAI,CAAC;AAEvB;;;;GAIG;AACH,qBAAa,GAAG;IACZ,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,KAAK,CAAS;IAEtB;;;OAGG;gBACS,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;OAGG;IACH,IAAI,IAAI,MAAM;CAIjB;AA0BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CACzB,CAAC,EAAE,aAAa,EAChB,SAAS,EAAE,GAAG,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,GAAG,EAAE,CAAC,GAAG,CAAC,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAChC,KAAK,EAAE,KAAK,GAAG,IAAI,GACpB,IAAI,CAuGN"}
@@ -66,7 +66,9 @@ function resolveCenter(center) {
66
66
  * "fa2"`; `"fr"` is [0, 1)), otherwise uniform inside the [min, max] box of the finite components per axis,
67
67
  * converted to layout units (an axis with no finite value falls back to the range box); the value is written as
68
68
  * `v * scale + center[axis]`, which for scale 1 / center 0 is bit-identical to the port's `u * 2 - 1` (resp. `u`);
69
- * in 2D the third component of a seeded row is written as center[2]. Finite components are never changed and a
69
+ * in 2D the third component of a seeded row is written as center[2]. An axis whose finite box has zero width (one
70
+ * finite row, or every finite row sharing that coordinate) is padded to the range box's width centered on it, so
71
+ * the drawn rows never all land on one point or one line. Finite components are never changed and a
70
72
  * fully finite row is never touched. No random number is drawn when nothing needs seeding.
71
73
  * PLAN DECISION 12 (P3-T1): the box is taken over every finite COMPONENT (the port's rule), not over the fully
72
74
  * finite ROWS only; the two differ only when a partially finite row's finite axis lies outside the fully finite
@@ -145,6 +147,13 @@ export function seedPositions(s, positions, seed, dim, scale, center, range) {
145
147
  if (Number.isFinite(lo[axis]) && Number.isFinite(hi[axis])) {
146
148
  boxLo[axis] = (lo[axis] - c[axis]) / scale;
147
149
  boxHi[axis] = (hi[axis] - c[axis]) / scale;
150
+ if (boxLo[axis] === boxHi[axis]) {
151
+ // a zero-width axis (one finite row, or every finite row on one line) would stack every drawn
152
+ // row on that coordinate: pad it to the range box's width, centered on it
153
+ const half = (rangeHi - rangeLo) / 2;
154
+ boxLo[axis] -= half;
155
+ boxHi[axis] += half;
156
+ }
148
157
  }
149
158
  }
150
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/layouts/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/layouts/seed.ts"],"names":[],"mappings":"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"}
@@ -10672,6 +10672,11 @@ function seedPositions(s, positions, seed, dim, scale, center, range) {
10672
10672
  if (Number.isFinite(lo[axis]) && Number.isFinite(hi[axis])) {
10673
10673
  boxLo[axis] = (lo[axis] - c[axis]) / scale;
10674
10674
  boxHi[axis] = (hi[axis] - c[axis]) / scale;
10675
+ if (boxLo[axis] === boxHi[axis]) {
10676
+ const half = (rangeHi - rangeLo) / 2;
10677
+ boxLo[axis] -= half;
10678
+ boxHi[axis] += half;
10679
+ }
10675
10680
  }
10676
10681
  }
10677
10682
  }