@xcelsior/demo-pipeline 0.1.0 → 0.1.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": "@xcelsior/demo-pipeline",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Scaffold an automated demo-video pipeline (capture real UI → Kokoro voice-over → OpenScreen-style Remotion edit) into any repo. Driven by Claude via /demo-video.",
5
5
  "bin": {
6
6
  "xcelsior-demo": "bin/cli.js"
@@ -9,6 +9,9 @@
9
9
  "bin",
10
10
  "template"
11
11
  ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
12
15
  "engines": {
13
16
  "node": ">=18.0.0"
14
17
  },
@@ -1,15 +1,16 @@
1
1
  {
2
- "project": "load-go",
3
- "baseUrl": "https://uat-admin.landg.com.au",
4
- "auth": {
5
- "defaultEmail": "contact@xcelsior.co",
6
- "note": "Password via env LNG_PWD (never commit it). Email overridable via LNG_EMAIL."
7
- },
8
- "brandLogo": "../../apps/admin/public/uploads/full-logo-white.png",
9
- "voice": "af_heart",
10
- "sim": {
11
- "udid": "A3C855FF-C151-423C-ABFD-E2AB3278E3DD",
12
- "appId": "au.com.landg",
13
- "note": "iOS simulator UDID for the driver app. xcrun simctl list devices booted"
14
- }
2
+ "project": "REPLACE_ME",
3
+ "baseUrl": "https://your-admin.example.com",
4
+ "auth": {
5
+ "defaultEmail": "you@example.com",
6
+ "note": "Password via env LNG_PWD (never commit it). Email overridable via LNG_EMAIL."
7
+ },
8
+ "brandLogo": "auto",
9
+ "_brandLogo_note": "'auto' discovers this repo's logo (prefers white/transparent); or set an explicit path; falls back to the bundled xcelsior logo.",
10
+ "voice": "af_heart",
11
+ "sim": {
12
+ "udid": "BOOTED_SIM_UDID",
13
+ "appId": "com.yourapp",
14
+ "note": "iOS simulator UDID for the mobile app. xcrun simctl list devices booted"
15
+ }
15
16
  }
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env bash
2
+ # Find the consuming project's brand logo (preferring a white/transparent one for the
3
+ # dark intro). Prints the best match path, or nothing. Searches the repo root.
4
+ ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
5
+
6
+ mapfile -t cands < <(
7
+ find "$ROOT" \
8
+ \( -path '*/node_modules/*' -o -path '*/.git/*' -o -path '*/dist/*' -o -path '*/.next/*' \
9
+ -o -path '*/build/*' -o -path '*/tools/demo-pipeline/*' \) -prune -o \
10
+ -type f \( -iname '*logo*.png' -o -iname '*logo*.svg' \) -print 2>/dev/null
11
+ )
12
+
13
+ best=""; bestscore=-1000
14
+ for f in "${cands[@]}"; do
15
+ n="$(echo "$f" | tr 'A-Z' 'a-z')"; s=0
16
+ case "$n" in *white*) s=$((s+6));; esac
17
+ case "$n" in *full-logo*|*full_logo*|*logo-full*) s=$((s+4));; esac
18
+ case "$n" in *logo*) s=$((s+1));; esac
19
+ case "$n" in */uploads/*|*/public/*|*/assets/*) s=$((s+1));; esac
20
+ case "$n" in *.svg) s=$((s+1));; esac # vector scales crisply
21
+ case "$n" in *favicon*|*icon-*|*app-icon*|*appicon*|*-icon*|*splash*|*black*|*dark*) s=$((s-6));; esac
22
+ if [ $s -gt $bestscore ]; then bestscore=$s; best="$f"; fi
23
+ done
24
+ echo "$best"
@@ -36,7 +36,19 @@ cp "$RUN"/vo/*.wav remotion/public/run/vo/ 2>/dev/null || true
36
36
  cp "$RUN/events/web.events.json" remotion/src/edit/web.events.json
37
37
  cp "$RUN/events/mobile.events.json" remotion/src/edit/mobile.events.json 2>/dev/null || true
38
38
  cp "$RUN/vo/manifest.json" remotion/src/edit/vo-manifest.json
39
- LOGO="$(get brandLogo)"; [ -n "$LOGO" ] && [ -f "$LOGO" ] && cp "$LOGO" remotion/public/brand/logo-white.png || true
39
+ # brand logo: "auto" -> discover the project's logo; else explicit path; else keep bundled xcelsior fallback
40
+ LOGO_CFG="$(get brandLogo)"; DEST=remotion/public/brand/logo-white.png
41
+ LOGO=""
42
+ if [ "$LOGO_CFG" = "auto" ] || [ -z "$LOGO_CFG" ]; then LOGO="$(bash pipeline/find_logo.sh)"; else LOGO="$LOGO_CFG"; fi
43
+ if [ -n "$LOGO" ] && [ -f "$LOGO" ]; then
44
+ case "$LOGO" in
45
+ *.svg) command -v rsvg-convert >/dev/null && rsvg-convert -w 1400 "$LOGO" -o "$DEST" || echo " (install librsvg to use svg logos; keeping fallback)";;
46
+ *) cp "$LOGO" "$DEST";;
47
+ esac
48
+ echo " logo: $LOGO"
49
+ else
50
+ echo " logo: bundled xcelsior fallback (set demo.config.json brandLogo to override)"
51
+ fi
40
52
  [ "${MUSIC:-0}" = "1" ] && .venv/bin/python pipeline/gen_music.py remotion/public/run/music.wav || true
41
53
 
42
54
  echo "== 5/5 render =="
package/template/setup.sh CHANGED
@@ -22,6 +22,7 @@ BASE=https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v
22
22
  echo "[5/5] Remotion deps (the editor)"
23
23
  ( cd remotion && pnpm install >/dev/null )
24
24
 
25
+ command -v rsvg-convert >/dev/null || brew install librsvg # convert .svg project logos
25
26
  command -v maestro >/dev/null || echo " (mobile only) install Maestro: curl -fsSL https://get.maestro.mobile.dev | bash"
26
27
  echo ""
27
28
  echo "✅ demo-pipeline ready."