@nodaro/prompts 1.53.0 → 1.53.2

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.
@@ -19,6 +19,9 @@ var RESTYLE_PREVIEWS = {
19
19
  // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4
20
20
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4
21
21
  "felt-puppet": { url: "https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4" },
22
+ // Source shot: https://cdn.nodaro.ai/picker-renders/acf379d4-704b-40e5-a5d2-657341f1278a.mp4
23
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d3da4317-461f-4a10-a1e6-3d141fbb7802.mp4
24
+ "low-poly": { url: "https://cdn.nodaro.ai/picker-renders/4a5b1b1a-c3a4-46d4-9623-f57e80fcbb68.mp4", stillAtSeconds: 7 },
22
25
  // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4
23
26
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4
24
27
  "oil-painting": { url: "https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4" },
@@ -28,6 +31,9 @@ var RESTYLE_PREVIEWS = {
28
31
  // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4
29
32
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4
30
33
  "pop-art": { url: "https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4", stillAtSeconds: 7 },
34
+ // Source shot: https://cdn.nodaro.ai/picker-renders/f832aab2-5f30-48cc-81dd-e6a4b84128b3.mp4
35
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/67386080-e6f5-4fba-a7bc-cfb6de462804.mp4
36
+ "toy-figure-3d": { url: "https://cdn.nodaro.ai/picker-renders/eaebd242-7e53-4018-ba85-00673e2a9b2b.mp4", stillAtSeconds: 7 },
31
37
  // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4
32
38
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4
33
39
  watercolor: { url: "https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4" }
@@ -38,5 +44,5 @@ function restylePreviewStillUrl(preview, width) {
38
44
 
39
45
  exports.RESTYLE_PREVIEWS = RESTYLE_PREVIEWS;
40
46
  exports.restylePreviewStillUrl = restylePreviewStillUrl;
41
- //# sourceMappingURL=chunk-GJV7KTDX.cjs.map
42
- //# sourceMappingURL=chunk-GJV7KTDX.cjs.map
47
+ //# sourceMappingURL=chunk-NUC5RV4P.cjs.map
48
+ //# sourceMappingURL=chunk-NUC5RV4P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/picker-art/restyle-previews.ts"],"names":["lookPreviewStillUrl"],"mappings":";;;;;AAsBO,IAAM,gBAAA,GAA6D;AAAA;AAAA;AAAA,EAGxE,KAAA,EAAO,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGjH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,YAAA,EAAc,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGrG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,aAAA,EAAe,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGtG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGtH,cAAA,EAAgB,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGvG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,eAAA,EAAiB,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAG3H,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA;AACrB;AAGO,SAAS,sBAAA,CAAuB,SAAyB,KAAA,EAAoC;AAClG,EAAA,OAAOA,qCAAA,CAAoB,OAAA,CAAQ,GAAA,EAAK,KAAA,EAAO,QAAQ,cAAc,CAAA;AACvE","file":"chunk-NUC5RV4P.cjs","sourcesContent":["// Restyle previews: for each art style, a short clip of real footage wiping\n// into that style, for a picker that restyles a video. Keyed by the `style`\n// catalog's option id. An entry exists only for an approved clip: a style\n// without one has no preview here.\n//\n// Each approved style keeps the URLs of its source shot and its generated clip\n// (no wipe) in a comment beside its entry, so the clip can be composed again if\n// the switch animation changes.\n//\n// Separate from LOOK_PREVIEW_SETS.style, whose stills every other art style\n// picker keeps showing. Like every render, a clip lives under picker-renders/\n// on the CDN, a key no user owns; a test holds this.\nimport { lookPreviewStillUrl } from \"./images.js\"\n\n/** One style's preview clip. */\nexport interface RestylePreview {\n readonly url: string\n /** The moment of the clip its still is cut from, for a clip whose usual moment frames it badly. Absent: the usual moment (`lookPreviewStillUrl`). */\n readonly stillAtSeconds?: number\n}\n\n/** Art style id → its restyle preview clip. */\nexport const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {\n // Source shot: https://cdn.nodaro.ai/picker-renders/4054a0e1-af60-47f9-86bd-a78ab93f3800.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/9dc6b337-58b4-4a63-889f-70561a8f1f00.mp4\n anime: { url: \"https://cdn.nodaro.ai/picker-renders/7fbad6e4-023f-4282-ac3d-d186f2cbb37b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4ffff922-e807-42cc-a2a0-c66c3a8d492c.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/fca5d96d-ee9c-430e-ba82-2795c0adb8d6.mp4\n claymation: { url: \"https://cdn.nodaro.ai/picker-renders/2916a2f7-114c-4c7e-9be0-5bf229d76133.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/41faaa51-5e77-4097-aa9b-bef6738328b7.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5a28da72-f3ee-49a8-b732-f73e79741b62.mp4\n \"comic-book\": { url: \"https://cdn.nodaro.ai/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/a0ca72d5-1d4e-4f57-be74-ba3ac46dd9bd.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/cf977f6c-e755-4b72-b959-e6b954d631c3.mp4\n cyberpunk: { url: \"https://cdn.nodaro.ai/picker-renders/4868595c-cc88-4f82-b2a4-f33bfafe8198.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4\n \"felt-puppet\": { url: \"https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/acf379d4-704b-40e5-a5d2-657341f1278a.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d3da4317-461f-4a10-a1e6-3d141fbb7802.mp4\n \"low-poly\": { url: \"https://cdn.nodaro.ai/picker-renders/4a5b1b1a-c3a4-46d4-9623-f57e80fcbb68.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4\n \"oil-painting\": { url: \"https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/d9e12a4a-677e-4e36-8f44-8503f14dd6b8.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d4dad451-802a-4795-9cc3-71ff3ed70c69.mp4\n \"pixar-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/c5ea2111-3283-4f80-ab05-8ab4450946ce.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4\n \"pop-art\": { url: \"https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/f832aab2-5f30-48cc-81dd-e6a4b84128b3.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/67386080-e6f5-4fba-a7bc-cfb6de462804.mp4\n \"toy-figure-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/eaebd242-7e53-4018-ba85-00673e2a9b2b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4\n watercolor: { url: \"https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4\" },\n}\n\n/** A preview clip's still, a frame the CDN cuts from it at the clip's own moment. */\nexport function restylePreviewStillUrl(preview: RestylePreview, width?: number): string | undefined {\n return lookPreviewStillUrl(preview.url, width, preview.stillAtSeconds)\n}\n"]}
@@ -17,6 +17,9 @@ var RESTYLE_PREVIEWS = {
17
17
  // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4
18
18
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4
19
19
  "felt-puppet": { url: "https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4" },
20
+ // Source shot: https://cdn.nodaro.ai/picker-renders/acf379d4-704b-40e5-a5d2-657341f1278a.mp4
21
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d3da4317-461f-4a10-a1e6-3d141fbb7802.mp4
22
+ "low-poly": { url: "https://cdn.nodaro.ai/picker-renders/4a5b1b1a-c3a4-46d4-9623-f57e80fcbb68.mp4", stillAtSeconds: 7 },
20
23
  // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4
21
24
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4
22
25
  "oil-painting": { url: "https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4" },
@@ -26,6 +29,9 @@ var RESTYLE_PREVIEWS = {
26
29
  // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4
27
30
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4
28
31
  "pop-art": { url: "https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4", stillAtSeconds: 7 },
32
+ // Source shot: https://cdn.nodaro.ai/picker-renders/f832aab2-5f30-48cc-81dd-e6a4b84128b3.mp4
33
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/67386080-e6f5-4fba-a7bc-cfb6de462804.mp4
34
+ "toy-figure-3d": { url: "https://cdn.nodaro.ai/picker-renders/eaebd242-7e53-4018-ba85-00673e2a9b2b.mp4", stillAtSeconds: 7 },
29
35
  // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4
30
36
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4
31
37
  watercolor: { url: "https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4" }
@@ -35,5 +41,5 @@ function restylePreviewStillUrl(preview, width) {
35
41
  }
36
42
 
37
43
  export { RESTYLE_PREVIEWS, restylePreviewStillUrl };
38
- //# sourceMappingURL=chunk-CDTEETF3.js.map
39
- //# sourceMappingURL=chunk-CDTEETF3.js.map
44
+ //# sourceMappingURL=chunk-OMRFKG4M.js.map
45
+ //# sourceMappingURL=chunk-OMRFKG4M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/picker-art/restyle-previews.ts"],"names":[],"mappings":";;;AAsBO,IAAM,gBAAA,GAA6D;AAAA;AAAA;AAAA,EAGxE,KAAA,EAAO,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGjH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,YAAA,EAAc,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGrG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,aAAA,EAAe,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGtG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGtH,cAAA,EAAgB,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGvG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,eAAA,EAAiB,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAG3H,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA;AACrB;AAGO,SAAS,sBAAA,CAAuB,SAAyB,KAAA,EAAoC;AAClG,EAAA,OAAO,mBAAA,CAAoB,OAAA,CAAQ,GAAA,EAAK,KAAA,EAAO,QAAQ,cAAc,CAAA;AACvE","file":"chunk-OMRFKG4M.js","sourcesContent":["// Restyle previews: for each art style, a short clip of real footage wiping\n// into that style, for a picker that restyles a video. Keyed by the `style`\n// catalog's option id. An entry exists only for an approved clip: a style\n// without one has no preview here.\n//\n// Each approved style keeps the URLs of its source shot and its generated clip\n// (no wipe) in a comment beside its entry, so the clip can be composed again if\n// the switch animation changes.\n//\n// Separate from LOOK_PREVIEW_SETS.style, whose stills every other art style\n// picker keeps showing. Like every render, a clip lives under picker-renders/\n// on the CDN, a key no user owns; a test holds this.\nimport { lookPreviewStillUrl } from \"./images.js\"\n\n/** One style's preview clip. */\nexport interface RestylePreview {\n readonly url: string\n /** The moment of the clip its still is cut from, for a clip whose usual moment frames it badly. Absent: the usual moment (`lookPreviewStillUrl`). */\n readonly stillAtSeconds?: number\n}\n\n/** Art style id → its restyle preview clip. */\nexport const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {\n // Source shot: https://cdn.nodaro.ai/picker-renders/4054a0e1-af60-47f9-86bd-a78ab93f3800.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/9dc6b337-58b4-4a63-889f-70561a8f1f00.mp4\n anime: { url: \"https://cdn.nodaro.ai/picker-renders/7fbad6e4-023f-4282-ac3d-d186f2cbb37b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4ffff922-e807-42cc-a2a0-c66c3a8d492c.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/fca5d96d-ee9c-430e-ba82-2795c0adb8d6.mp4\n claymation: { url: \"https://cdn.nodaro.ai/picker-renders/2916a2f7-114c-4c7e-9be0-5bf229d76133.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/41faaa51-5e77-4097-aa9b-bef6738328b7.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5a28da72-f3ee-49a8-b732-f73e79741b62.mp4\n \"comic-book\": { url: \"https://cdn.nodaro.ai/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/a0ca72d5-1d4e-4f57-be74-ba3ac46dd9bd.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/cf977f6c-e755-4b72-b959-e6b954d631c3.mp4\n cyberpunk: { url: \"https://cdn.nodaro.ai/picker-renders/4868595c-cc88-4f82-b2a4-f33bfafe8198.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4\n \"felt-puppet\": { url: \"https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/acf379d4-704b-40e5-a5d2-657341f1278a.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d3da4317-461f-4a10-a1e6-3d141fbb7802.mp4\n \"low-poly\": { url: \"https://cdn.nodaro.ai/picker-renders/4a5b1b1a-c3a4-46d4-9623-f57e80fcbb68.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4\n \"oil-painting\": { url: \"https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/d9e12a4a-677e-4e36-8f44-8503f14dd6b8.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d4dad451-802a-4795-9cc3-71ff3ed70c69.mp4\n \"pixar-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/c5ea2111-3283-4f80-ab05-8ab4450946ce.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4\n \"pop-art\": { url: \"https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/f832aab2-5f30-48cc-81dd-e6a4b84128b3.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/67386080-e6f5-4fba-a7bc-cfb6de462804.mp4\n \"toy-figure-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/eaebd242-7e53-4018-ba85-00673e2a9b2b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4\n watercolor: { url: \"https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4\" },\n}\n\n/** A preview clip's still, a frame the CDN cuts from it at the clip's own moment. */\nexport function restylePreviewStillUrl(preview: RestylePreview, width?: number): string | undefined {\n return lookPreviewStillUrl(preview.url, width, preview.stillAtSeconds)\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkGJV7KTDX_cjs = require('../chunk-GJV7KTDX.cjs');
3
+ var chunkNUC5RV4P_cjs = require('../chunk-NUC5RV4P.cjs');
4
4
  var chunkFFPFBNXH_cjs = require('../chunk-FFPFBNXH.cjs');
5
5
  require('../chunk-Q7SFCCGT.cjs');
6
6
 
@@ -8,11 +8,11 @@ require('../chunk-Q7SFCCGT.cjs');
8
8
 
9
9
  Object.defineProperty(exports, "RESTYLE_PREVIEWS", {
10
10
  enumerable: true,
11
- get: function () { return chunkGJV7KTDX_cjs.RESTYLE_PREVIEWS; }
11
+ get: function () { return chunkNUC5RV4P_cjs.RESTYLE_PREVIEWS; }
12
12
  });
13
13
  Object.defineProperty(exports, "restylePreviewStillUrl", {
14
14
  enumerable: true,
15
- get: function () { return chunkGJV7KTDX_cjs.restylePreviewStillUrl; }
15
+ get: function () { return chunkNUC5RV4P_cjs.restylePreviewStillUrl; }
16
16
  });
17
17
  Object.defineProperty(exports, "CHARACTER_ART_FAMILIES", {
18
18
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from '../chunk-CDTEETF3.js';
1
+ export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from '../chunk-OMRFKG4M.js';
2
2
  export { CHARACTER_ART_FAMILIES, CHARACTER_ART_FILES, CHARACTER_ART_PATH, LOOK_PREVIEW_SETS, PICKER_ART_PATH, RENDER_WIDTH_LADDER, SOUND_ART, SOUND_ART_FILES, SOUND_RENDER_SETS, characterArtPath, characterSectionArtPath, characterSectionSlug, lookPreviewStillUrl, pickerOptionImage, pickerOptionImageUrl, pickerSectionImageUrl, soundArtFilePath, soundArtPath } from '../chunk-5XPELUES.js';
3
3
  import '../chunk-PZ5AY32C.js';
4
4
  //# sourceMappingURL=picker-art.js.map
package/dist/index.cjs CHANGED
@@ -14,7 +14,7 @@ var chunkXRCK3BCF_cjs = require('./chunk-XRCK3BCF.cjs');
14
14
  var chunkNAFD6MGH_cjs = require('./chunk-NAFD6MGH.cjs');
15
15
  var chunk2NJTFCKQ_cjs = require('./chunk-2NJTFCKQ.cjs');
16
16
  require('./chunk-TUHVGM6V.cjs');
17
- var chunkGJV7KTDX_cjs = require('./chunk-GJV7KTDX.cjs');
17
+ var chunkNUC5RV4P_cjs = require('./chunk-NUC5RV4P.cjs');
18
18
  var chunk7BWDATUZ_cjs = require('./chunk-7BWDATUZ.cjs');
19
19
  var chunkOQ3J7OGR_cjs = require('./chunk-OQ3J7OGR.cjs');
20
20
  var chunkKTNCB2IE_cjs = require('./chunk-KTNCB2IE.cjs');
@@ -850,11 +850,11 @@ Object.defineProperty(exports, "withForcedIdentityLock", {
850
850
  });
851
851
  Object.defineProperty(exports, "RESTYLE_PREVIEWS", {
852
852
  enumerable: true,
853
- get: function () { return chunkGJV7KTDX_cjs.RESTYLE_PREVIEWS; }
853
+ get: function () { return chunkNUC5RV4P_cjs.RESTYLE_PREVIEWS; }
854
854
  });
855
855
  Object.defineProperty(exports, "restylePreviewStillUrl", {
856
856
  enumerable: true,
857
- get: function () { return chunkGJV7KTDX_cjs.restylePreviewStillUrl; }
857
+ get: function () { return chunkNUC5RV4P_cjs.restylePreviewStillUrl; }
858
858
  });
859
859
  Object.defineProperty(exports, "ALL_PICKER_WIRING", {
860
860
  enumerable: true,
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ export { AD_CREATIVE_ANALYSIS_FIELDS, AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT, AUDIO_
12
12
  export { CINEMATIC_LOOK_TAIL, FILM_STILL_PREFIX, NEUTRAL_PERSON, REALISM_FINISH, REALISM_PASS_INSTRUCTION, REALISM_SKIN, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, SCENE_FRAME_RULE, filmStillPrefix, realismEmptyHands, realismViewpoint, referenceRulesBlock } from './chunk-T64D26P4.js';
13
13
  export { DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, applyTemplate, buildIdentityLockLine, characterLockToRefLock, collectIdentityLockClause, getIdentityLockClause, hasUpstreamCharacter, resolveTemplate, toIdentityLockMode, withForcedIdentityLock } from './chunk-BQWIPLLR.js';
14
14
  import './chunk-ADMHDFHB.js';
15
- export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from './chunk-CDTEETF3.js';
15
+ export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from './chunk-OMRFKG4M.js';
16
16
  export { ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, GAPS_SCHEMA, MULTI_PICKER_WIRING, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_TYPES, SINGLE_PICKER_WIRING, __resetCatalogIdGuardForTests, applyPickerJson, buildMultiPickerAnalyzerSpec, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, catalogGuardActive, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getPickerAnalyzer, getPickerWiring, isAnalyzablePicker, pickerFanoutTargets } from './chunk-HOZPYHRA.js';
17
17
  export { ADULT_SWEPT_CATALOG_IDS, FLOORED_PICKER_KEYS, RETIRED_ADULT_ONLY_HINT_STRINGS, applyMinorAgeFloorToPickerValues, buildNeedleAlternationSource, containsMinorAgeHint, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getCharacterMotionBindings, getMinorAgeHintStrings, getParameterPromptHint } from './chunk-EUU5W7XR.js';
18
18
  export { DIRECTION_ARRAY_CEILING, DIRECTION_FIELDS, DIRECTION_ID_MAX_CHARS, DIRECTION_KEYS, FILM_STYLE_KEYS, IMAGE_HINT_MODE_DEFAULT, USER_DIRECTION_REF_KINDS, VIDEO_HINT_MODE_DEFAULT, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, directionFieldsForSurface, directionKeyForUserRef, modeForFamily, nearestColorName, parseUserDirectionRef, renderDirectionHintClauses, renderDirectionHints, renderMoodboardClause, renderPaletteClause, styleReferenceDescription, userDirectionRefValue, userRefKindOfDirectionKey } from './chunk-VBCVQPQ4.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodaro/prompts",
3
- "version": "1.53.0",
3
+ "version": "1.53.2",
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",
@@ -70,7 +70,7 @@
70
70
  "test": "vitest run"
71
71
  },
72
72
  "dependencies": {
73
- "@nodaro/shared": "^3.58.0"
73
+ "@nodaro/shared": "^3.60.0"
74
74
  },
75
75
  "devDependencies": {
76
76
  "tsup": "^8.5.0",
@@ -36,6 +36,9 @@ export const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {
36
36
  // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4
37
37
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4
38
38
  "felt-puppet": { url: "https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4" },
39
+ // Source shot: https://cdn.nodaro.ai/picker-renders/acf379d4-704b-40e5-a5d2-657341f1278a.mp4
40
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d3da4317-461f-4a10-a1e6-3d141fbb7802.mp4
41
+ "low-poly": { url: "https://cdn.nodaro.ai/picker-renders/4a5b1b1a-c3a4-46d4-9623-f57e80fcbb68.mp4", stillAtSeconds: 7 },
39
42
  // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4
40
43
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4
41
44
  "oil-painting": { url: "https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4" },
@@ -45,6 +48,9 @@ export const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {
45
48
  // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4
46
49
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4
47
50
  "pop-art": { url: "https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4", stillAtSeconds: 7 },
51
+ // Source shot: https://cdn.nodaro.ai/picker-renders/f832aab2-5f30-48cc-81dd-e6a4b84128b3.mp4
52
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/67386080-e6f5-4fba-a7bc-cfb6de462804.mp4
53
+ "toy-figure-3d": { url: "https://cdn.nodaro.ai/picker-renders/eaebd242-7e53-4018-ba85-00673e2a9b2b.mp4", stillAtSeconds: 7 },
48
54
  // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4
49
55
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4
50
56
  watercolor: { url: "https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4" },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/picker-art/restyle-previews.ts"],"names":[],"mappings":";;;AAsBO,IAAM,gBAAA,GAA6D;AAAA;AAAA;AAAA,EAGxE,KAAA,EAAO,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGjH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,YAAA,EAAc,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGrG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,aAAA,EAAe,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGtG,cAAA,EAAgB,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGvG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA;AACrB;AAGO,SAAS,sBAAA,CAAuB,SAAyB,KAAA,EAAoC;AAClG,EAAA,OAAO,mBAAA,CAAoB,OAAA,CAAQ,GAAA,EAAK,KAAA,EAAO,QAAQ,cAAc,CAAA;AACvE","file":"chunk-CDTEETF3.js","sourcesContent":["// Restyle previews: for each art style, a short clip of real footage wiping\n// into that style, for a picker that restyles a video. Keyed by the `style`\n// catalog's option id. An entry exists only for an approved clip: a style\n// without one has no preview here.\n//\n// Each approved style keeps the URLs of its source shot and its generated clip\n// (no wipe) in a comment beside its entry, so the clip can be composed again if\n// the switch animation changes.\n//\n// Separate from LOOK_PREVIEW_SETS.style, whose stills every other art style\n// picker keeps showing. Like every render, a clip lives under picker-renders/\n// on the CDN, a key no user owns; a test holds this.\nimport { lookPreviewStillUrl } from \"./images.js\"\n\n/** One style's preview clip. */\nexport interface RestylePreview {\n readonly url: string\n /** The moment of the clip its still is cut from, for a clip whose usual moment frames it badly. Absent: the usual moment (`lookPreviewStillUrl`). */\n readonly stillAtSeconds?: number\n}\n\n/** Art style id → its restyle preview clip. */\nexport const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {\n // Source shot: https://cdn.nodaro.ai/picker-renders/4054a0e1-af60-47f9-86bd-a78ab93f3800.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/9dc6b337-58b4-4a63-889f-70561a8f1f00.mp4\n anime: { url: \"https://cdn.nodaro.ai/picker-renders/7fbad6e4-023f-4282-ac3d-d186f2cbb37b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4ffff922-e807-42cc-a2a0-c66c3a8d492c.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/fca5d96d-ee9c-430e-ba82-2795c0adb8d6.mp4\n claymation: { url: \"https://cdn.nodaro.ai/picker-renders/2916a2f7-114c-4c7e-9be0-5bf229d76133.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/41faaa51-5e77-4097-aa9b-bef6738328b7.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5a28da72-f3ee-49a8-b732-f73e79741b62.mp4\n \"comic-book\": { url: \"https://cdn.nodaro.ai/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/a0ca72d5-1d4e-4f57-be74-ba3ac46dd9bd.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/cf977f6c-e755-4b72-b959-e6b954d631c3.mp4\n cyberpunk: { url: \"https://cdn.nodaro.ai/picker-renders/4868595c-cc88-4f82-b2a4-f33bfafe8198.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4\n \"felt-puppet\": { url: \"https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4\n \"oil-painting\": { url: \"https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/d9e12a4a-677e-4e36-8f44-8503f14dd6b8.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d4dad451-802a-4795-9cc3-71ff3ed70c69.mp4\n \"pixar-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/c5ea2111-3283-4f80-ab05-8ab4450946ce.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4\n \"pop-art\": { url: \"https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4\n watercolor: { url: \"https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4\" },\n}\n\n/** A preview clip's still, a frame the CDN cuts from it at the clip's own moment. */\nexport function restylePreviewStillUrl(preview: RestylePreview, width?: number): string | undefined {\n return lookPreviewStillUrl(preview.url, width, preview.stillAtSeconds)\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/picker-art/restyle-previews.ts"],"names":["lookPreviewStillUrl"],"mappings":";;;;;AAsBO,IAAM,gBAAA,GAA6D;AAAA;AAAA;AAAA,EAGxE,KAAA,EAAO,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGjH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,YAAA,EAAc,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGrG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,aAAA,EAAe,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGtG,cAAA,EAAgB,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGvG,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA,EAAgF;AAAA;AAAA;AAAA,EAGnG,SAAA,EAAW,EAAE,GAAA,EAAK,+EAAA,EAAiF,gBAAgB,CAAA,EAAE;AAAA;AAAA;AAAA,EAGrH,UAAA,EAAY,EAAE,GAAA,EAAK,+EAAA;AACrB;AAGO,SAAS,sBAAA,CAAuB,SAAyB,KAAA,EAAoC;AAClG,EAAA,OAAOA,qCAAA,CAAoB,OAAA,CAAQ,GAAA,EAAK,KAAA,EAAO,QAAQ,cAAc,CAAA;AACvE","file":"chunk-GJV7KTDX.cjs","sourcesContent":["// Restyle previews: for each art style, a short clip of real footage wiping\n// into that style, for a picker that restyles a video. Keyed by the `style`\n// catalog's option id. An entry exists only for an approved clip: a style\n// without one has no preview here.\n//\n// Each approved style keeps the URLs of its source shot and its generated clip\n// (no wipe) in a comment beside its entry, so the clip can be composed again if\n// the switch animation changes.\n//\n// Separate from LOOK_PREVIEW_SETS.style, whose stills every other art style\n// picker keeps showing. Like every render, a clip lives under picker-renders/\n// on the CDN, a key no user owns; a test holds this.\nimport { lookPreviewStillUrl } from \"./images.js\"\n\n/** One style's preview clip. */\nexport interface RestylePreview {\n readonly url: string\n /** The moment of the clip its still is cut from, for a clip whose usual moment frames it badly. Absent: the usual moment (`lookPreviewStillUrl`). */\n readonly stillAtSeconds?: number\n}\n\n/** Art style id → its restyle preview clip. */\nexport const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {\n // Source shot: https://cdn.nodaro.ai/picker-renders/4054a0e1-af60-47f9-86bd-a78ab93f3800.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/9dc6b337-58b4-4a63-889f-70561a8f1f00.mp4\n anime: { url: \"https://cdn.nodaro.ai/picker-renders/7fbad6e4-023f-4282-ac3d-d186f2cbb37b.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4ffff922-e807-42cc-a2a0-c66c3a8d492c.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/fca5d96d-ee9c-430e-ba82-2795c0adb8d6.mp4\n claymation: { url: \"https://cdn.nodaro.ai/picker-renders/2916a2f7-114c-4c7e-9be0-5bf229d76133.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/41faaa51-5e77-4097-aa9b-bef6738328b7.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5a28da72-f3ee-49a8-b732-f73e79741b62.mp4\n \"comic-book\": { url: \"https://cdn.nodaro.ai/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/a0ca72d5-1d4e-4f57-be74-ba3ac46dd9bd.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/cf977f6c-e755-4b72-b959-e6b954d631c3.mp4\n cyberpunk: { url: \"https://cdn.nodaro.ai/picker-renders/4868595c-cc88-4f82-b2a4-f33bfafe8198.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4\n \"felt-puppet\": { url: \"https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4\n \"oil-painting\": { url: \"https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/d9e12a4a-677e-4e36-8f44-8503f14dd6b8.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d4dad451-802a-4795-9cc3-71ff3ed70c69.mp4\n \"pixar-3d\": { url: \"https://cdn.nodaro.ai/picker-renders/c5ea2111-3283-4f80-ab05-8ab4450946ce.mp4\" },\n // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4\n \"pop-art\": { url: \"https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4\", stillAtSeconds: 7 },\n // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4\n // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4\n watercolor: { url: \"https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4\" },\n}\n\n/** A preview clip's still, a frame the CDN cuts from it at the clip's own moment. */\nexport function restylePreviewStillUrl(preview: RestylePreview, width?: number): string | undefined {\n return lookPreviewStillUrl(preview.url, width, preview.stillAtSeconds)\n}\n"]}