scenri 0.20.6 → 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,13 @@
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
+
3
11
  ## [0.20.6](https://github.com/tonygorb/Scenri/compare/v0.20.5...v0.20.6) (2026-10-02)
4
12
 
5
13
 
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,17 @@ 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
+ },
16389
16397
  {
16390
16398
  version: "0.20.6",
16391
16399
  date: "2026-10-02",
@@ -18828,7 +18836,6 @@ function buildServer(opts) {
18828
18836
  );
18829
18837
  const inheritedDirectives = [];
18830
18838
  let inheritedMark = false;
18831
- let inheritedRef = false;
18832
18839
  const inheritedProduct = inheritedTokens.some((t) => t.t === "product");
18833
18840
  const inheritedPerson = inheritedTokens.some((t) => t.t === "character");
18834
18841
  for (const tok of inheritedTokens) {
@@ -18849,9 +18856,6 @@ function buildServer(opts) {
18849
18856
  } else if (tok.t === "mark" && !inheritedMark) {
18850
18857
  inheritedMark = true;
18851
18858
  inheritedDirectives.push(markEditDirective());
18852
- } else if (tok.t === "ref" && !inheritedRef) {
18853
- inheritedRef = true;
18854
- inheritedDirectives.push(inheritedRefDirective());
18855
18859
  }
18856
18860
  }
18857
18861
  if (inheritedPerson) inheritedDirectives.push(personSkinDirective());
@@ -18871,9 +18875,9 @@ function buildServer(opts) {
18871
18875
  editScope: verdict.scope,
18872
18876
  editRemoval: verdict.removal ?? false,
18873
18877
  // Kinds, not a count: the identity claim speaks only about the kinds
18874
- // that actually ride. A mark-only or ref-only inheritance emits no
18875
- // generic claim - markEditDirective and inheritedRefDirective speak
18876
- // 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.
18877
18881
  inheritedIdentity: inheritedProduct || inheritedPerson ? { product: inheritedProduct, person: inheritedPerson } : false,
18878
18882
  inheritedDirectives,
18879
18883
  // Only the explicit op drops the dimension promise: an implicit legacy
@@ -18896,7 +18900,7 @@ function buildServer(opts) {
18896
18900
  productAngles.set(String(a.id ?? a.hash), n);
18897
18901
  return n <= 2;
18898
18902
  }
18899
- return a.essential || a.role === "brand" || a.role === "reference";
18903
+ return a.essential || a.role === "brand";
18900
18904
  }).map((a) => ({ ...a, inherited: true }));
18901
18905
  }
18902
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.6",
3
+ "version": "0.20.7",
4
4
  "author": "Tony Gorb <hello@scenri.co>",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",