@nodaro/prompts 1.25.0 → 1.25.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodaro/prompts",
3
- "version": "1.25.0",
3
+ "version": "1.25.1",
4
4
  "description": "Nodaro's prompt-engineering layer — person/picker catalogs with prompt hints, identity-lock clauses, entity prompt builders, brand presets, and prompt/reference assembly shared by the Nodaro platform and SDK.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -20,7 +20,7 @@
20
20
  "test": "vitest run"
21
21
  },
22
22
  "dependencies": {
23
- "@nodaro/shared": "^3.12.0"
23
+ "@nodaro/shared": "^3.12.1"
24
24
  },
25
25
  "devDependencies": {
26
26
  "tsup": "^8.5.0",
@@ -164,7 +164,9 @@ describe("transitions in a video prompt — `term (hint)`", () => {
164
164
  expect(r.startsWith(`${term} (`), t.id).toBe(true)
165
165
  expect(r.endsWith(")"), t.id).toBe(true)
166
166
  expect(r.slice(term.length + 2).toLowerCase().startsWith(`${term.toLowerCase()}:`), t.id).toBe(false)
167
- expect(r).not.toMatch(/\(\s*[^,;()]{1,60}: /)
167
+ // `rewind` opens with "reverse motion:" on purpose: that is the exact wording that won the A/B
168
+ // (descab4 C3), and it is a description lead-in, not the row's own "<label>:" heading.
169
+ if (t.id !== "rewind") expect(r, t.id).not.toMatch(/\(\s*[^,;()]{1,60}: /)
168
170
  }
169
171
  })
170
172
 
@@ -49,6 +49,14 @@ describe("approved row bodies", () => {
49
49
  )
50
50
  })
51
51
 
52
+ it("rewind (the prompted in-shot rewind; timed, not a cut)", () => {
53
+ expect(composeTransitionHintFromConnections("rewind", [], [], { position: "middle", duration: "short", intensity: "natural" })).toBe(
54
+ "reverse-motion rewind (reverse motion: the actions just seen are undone exactly as they happened, in reverse " +
55
+ "order and at the same pace, the subject retracing each step to where it began, ending on the end frame), " +
56
+ "the transition occurs in the middle of the clip, lasting approximately 1 second, with natural timing",
57
+ )
58
+ })
59
+
52
60
  it("zoom-into-mouth drops only 'the throat'", () => {
53
61
  expect(getTransitionPromptHint("zoom-into-mouth")).toBe(
54
62
  "the camera pushes into the subject's open mouth, the dark interior fills the frame, and the camera passes " +
@@ -135,7 +135,7 @@ export const TRANSITIONS: ReadonlyArray<Transition> = [
135
135
  { id: "aging", label: "Aging", category: "time", description: "Subject visibly ages forward in time",
136
136
  promptHint: "accelerated aging transition: the subject visibly ages forward - fine lines deepen into wrinkles, hair greys to silver, posture settles - while the framing stays unchanged", term: "accelerated aging" },
137
137
  { id: "rewind", label: "Rewind", category: "time", description: "Time reverses, motion plays backward",
138
- promptHint: "rewind transition: time reverses and all motion plays smoothly backward, water flows up, debris reassembles, the subject's recent actions undo, with a faint VHS-rewind tracking distortion at the edges", term: "reverse-motion rewind" },
138
+ promptHint: "rewind transition: reverse motion: the actions just seen are undone exactly as they happened, in reverse order and at the same pace, the subject retracing each step to where it began, ending on the end frame", term: "reverse-motion rewind" },
139
139
  { id: "freeze-frame-jump", label: "Freeze-Frame Jump", category: "time", description: "Action freezes, jumps forward in time",
140
140
  promptHint: "freeze-frame transition: all motion stops mid-action and the picture holds still for a beat; only then does it jump to the same view hours or days later, everything in new positions, and motion resumes", term: "freeze-frame time jump" },
141
141
  { id: "weather-shift", label: "Weather Shift", category: "time", description: "Same scene through changing weather",