scenri 0.20.5 → 0.20.7

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
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.20.7](https://github.com/tonygorb/Scenri/compare/v0.20.6...v0.20.7) (2026-10-03)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * keep a parent's reference photo off a refinement ([6d74815](https://github.com/tonygorb/Scenri/commit/6d74815fdcdb246ef7c7038a639a20a63042ea29))
9
+ * keep a parent's reference photo off a refinement ([0acd180](https://github.com/tonygorb/Scenri/commit/0acd18031c72c9aeabd971fd72e140a88006accb))
10
+
11
+ ## [0.20.6](https://github.com/tonygorb/Scenri/compare/v0.20.5...v0.20.6) (2026-10-02)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **deps:** lift brace-expansion to 5.0.12 and fast-uri 3.x to 3.1.8 ([382c048](https://github.com/tonygorb/Scenri/commit/382c048581cbb01bfa35865518e63e9cec6f843c))
17
+ * **deps:** lift brace-expansion to 5.0.12 and fast-uri 3.x to 3.1.8 ([b91e09d](https://github.com/tonygorb/Scenri/commit/b91e09d144a655d61da756c01696d74cf7bc1bec))
18
+
3
19
  ## [0.20.5](https://github.com/tonygorb/Scenri/compare/v0.20.4...v0.20.5) (2026-09-29)
4
20
 
5
21
 
package/dist/serve.js CHANGED
@@ -5468,9 +5468,6 @@ function inheritedIdentityDirective(kinds) {
5468
5468
  return "The attached product references show the same product that is already in this picture. Use them to hold its identity exact while you make the change, not as a reason to re-stage the shot.";
5469
5469
  return "The attached person reference shows the same person who is already in this picture. Use it to hold their identity exact while you make the change, not as a reason to re-stage the shot.";
5470
5470
  }
5471
- function inheritedRefDirective() {
5472
- return "The carried reference is attached for composition, lighting and treatment only. Any person or product visible in it lends mood, never identity \u2014 nobody and nothing in this photograph takes a face, a body or a design from it.";
5473
- }
5474
5471
  function productFactDirectives(p) {
5475
5472
  const out = [];
5476
5473
  if (p.preservationNotes) out.push(String(p.preservationNotes));
@@ -16386,6 +16383,28 @@ function registerImageRoutes(app, deps) {
16386
16383
  var HEADLINES_KEPT = 5;
16387
16384
  var FIRST_PUBLIC = "0.2.0";
16388
16385
  var RELEASES = [
16386
+ {
16387
+ version: "0.20.7",
16388
+ date: "2026-10-03",
16389
+ title: "A refinement keeps the shot, not the reference",
16390
+ sections: [
16391
+ {
16392
+ heading: "Refine",
16393
+ body: "A shot made with a reference picture keeps its own person, product and brand when you refine it. The reference shaped the first picture, and it is not sent again."
16394
+ }
16395
+ ]
16396
+ },
16397
+ {
16398
+ version: "0.20.6",
16399
+ date: "2026-10-02",
16400
+ title: "Two dependencies are on their patched releases",
16401
+ sections: [
16402
+ {
16403
+ heading: "Security",
16404
+ body: "The address parser and the file pattern matcher under the local server are on their patched releases, for five published advisories. Nothing about how Scenri works changes."
16405
+ }
16406
+ ]
16407
+ },
16389
16408
  {
16390
16409
  version: "0.20.5",
16391
16410
  date: "2026-09-29",
@@ -18817,7 +18836,6 @@ function buildServer(opts) {
18817
18836
  );
18818
18837
  const inheritedDirectives = [];
18819
18838
  let inheritedMark = false;
18820
- let inheritedRef = false;
18821
18839
  const inheritedProduct = inheritedTokens.some((t) => t.t === "product");
18822
18840
  const inheritedPerson = inheritedTokens.some((t) => t.t === "character");
18823
18841
  for (const tok of inheritedTokens) {
@@ -18838,9 +18856,6 @@ function buildServer(opts) {
18838
18856
  } else if (tok.t === "mark" && !inheritedMark) {
18839
18857
  inheritedMark = true;
18840
18858
  inheritedDirectives.push(markEditDirective());
18841
- } else if (tok.t === "ref" && !inheritedRef) {
18842
- inheritedRef = true;
18843
- inheritedDirectives.push(inheritedRefDirective());
18844
18859
  }
18845
18860
  }
18846
18861
  if (inheritedPerson) inheritedDirectives.push(personSkinDirective());
@@ -18860,9 +18875,9 @@ function buildServer(opts) {
18860
18875
  editScope: verdict.scope,
18861
18876
  editRemoval: verdict.removal ?? false,
18862
18877
  // Kinds, not a count: the identity claim speaks only about the kinds
18863
- // that actually ride. A mark-only or ref-only inheritance emits no
18864
- // generic claim - markEditDirective and inheritedRefDirective speak
18865
- // for themselves.
18878
+ // that actually ride. A mark-only inheritance emits no generic claim.
18879
+ // markEditDirective speaks for the mark. A carried reference photograph
18880
+ // is recorded and not attached, so it emits nothing either.
18866
18881
  inheritedIdentity: inheritedProduct || inheritedPerson ? { product: inheritedProduct, person: inheritedPerson } : false,
18867
18882
  inheritedDirectives,
18868
18883
  // Only the explicit op drops the dimension promise: an implicit legacy
@@ -18885,7 +18900,7 @@ function buildServer(opts) {
18885
18900
  productAngles.set(String(a.id ?? a.hash), n);
18886
18901
  return n <= 2;
18887
18902
  }
18888
- return a.essential || a.role === "brand" || a.role === "reference";
18903
+ return a.essential || a.role === "brand";
18889
18904
  }).map((a) => ({ ...a, inherited: true }));
18890
18905
  }
18891
18906
  const cap2 = Math.max(0, engineCaps.maxReferenceImages - 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scenri",
3
- "version": "0.20.5",
3
+ "version": "0.20.7",
4
4
  "author": "Tony Gorb <hello@scenri.co>",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "ajv-formats": "^3.0.1",
23
23
  "better-sqlite3": "^12.0.0",
24
24
  "cheerio": "^1.0.0",
25
- "fastify": "^5.12.1",
25
+ "fastify": "^5.12.5",
26
26
  "jszip": "^3.10.1",
27
27
  "node-html-parser": "^7.0.1",
28
28
  "open": "^10.1.0",