[object Object]

← back to Dw Marketing Reels

chore: colorwheel-reel builder cleanup + dl warn (session close)

f9ce647adb6370e3a86256a5addf3f17a7f8e5c1 · 2026-07-20 13:21:47 -0700 · Steve

Files touched

Diff

commit f9ce647adb6370e3a86256a5addf3f17a7f8e5c1
Author: Steve <steve@designerwallcoverings.com>
Date:   Mon Jul 20 13:21:47 2026 -0700

    chore: colorwheel-reel builder cleanup + dl warn (session close)
---
 package-lock.json                 |  4 ++--
 package.json                      |  2 +-
 scripts/build-colorwheel-reel.mjs | 38 +++++++++++++++++++-------------------
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3d4fd81..277eb48 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "dw-marketing-reels",
-  "version": "0.6.0",
+  "version": "0.7.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "dw-marketing-reels",
-      "version": "0.6.0"
+      "version": "0.7.0"
     }
   }
 }
diff --git a/package.json b/package.json
index c39b667..b4c93e1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "dw-marketing-reels",
-  "version": "0.6.0",
+  "version": "0.7.0",
   "private": true,
   "type": "module",
   "description": "DW Marketing — auto-generated New Arrivals reels (HyperFrames) + auth-gated console",
diff --git a/scripts/build-colorwheel-reel.mjs b/scripts/build-colorwheel-reel.mjs
index c257419..23d494a 100644
--- a/scripts/build-colorwheel-reel.mjs
+++ b/scripts/build-colorwheel-reel.mjs
@@ -63,7 +63,21 @@ async function dl(url, dest) {
     if (buf.length < 1000) return false;
     writeFileSync(dest, buf);
     return true;
-  } catch { return false; }
+  } catch (e) { console.warn(`  dl failed ${url}: ${e.message}`); return false; }
+}
+
+function findMp4(dir) {
+  let newest = null, mt = 0;
+  const walk = d => {
+    for (const e of readdirSync(d, { withFileTypes: true })) {
+      if (e.name === 'node_modules' || e.name.startsWith('.')) continue;
+      const p = join(d, e.name);
+      if (e.isDirectory()) walk(p);
+      else if (e.name.endsWith('.mp4')) { const t = statSync(p).mtimeMs; if (t > mt) { mt = t; newest = p; } }
+    }
+  };
+  walk(dir);
+  return newest;
 }
 
 async function main() {
@@ -87,13 +101,13 @@ async function main() {
   // download every card image locally for a deterministic render
   const imgDir = join(WS, 'assets', 'cw');
   mkdirSync(imgDir, { recursive: true });
-  let n = 0;
+  let imgIdx = 0;
   for (const B of buckets) for (const it of B.items) {
-    const dest = join(imgDir, `c${n}.jpg`);
+    const dest = join(imgDir, `c${imgIdx}.jpg`);
     const ok = (await dl(it.image_hi, dest)) || (await dl(it.image, dest));
-    it._local = ok ? `assets/cw/c${n}.jpg` : it.image;
+    it._local = ok ? `assets/cw/c${imgIdx}.jpg` : it.image;
     console.log(`  ${ok ? '✓' : '↯'} ${B.key} · ${it.pattern}`);
-    n++;
+    imgIdx++;
   }
 
   const total = +(HERO + buckets.length * PHASE + OUTRO).toFixed(2);
@@ -307,18 +321,4 @@ ${phaseAnim}
   console.log(`✓ reel -> reels/${outName}  (${allItems.length} products across ${buckets.length} hues)`);
 }
 
-function findMp4(dir) {
-  let newest = null, mt = 0;
-  const walk = d => {
-    for (const e of readdirSync(d, { withFileTypes: true })) {
-      if (e.name === 'node_modules' || e.name.startsWith('.')) continue;
-      const p = join(d, e.name);
-      if (e.isDirectory()) walk(p);
-      else if (e.name.endsWith('.mp4')) { const t = statSync(p).mtimeMs; if (t > mt) { mt = t; newest = p; } }
-    }
-  };
-  walk(dir);
-  return newest;
-}
-
 main().catch(e => { console.error('✗', e.message); process.exit(1); });

← c1c43c6 Fix Threads post: reposted shop-by-color with correct captio  ·  back to Dw Marketing Reels  ·  auto-save: 2026-07-21T07:36:20 (2 files) — data/new-arrivals aea6ea1 →