SACDLA Nuts and Bolts 2026 — Working Parts
Original Codex campaign for Julie Good / Good Creative Media

All creative in this package was newly authored October 21, 2026.
The original Good Creative Media IMC system was created by Julie Good.
No competitor creative or previous campaign creative is included.

Editable art: SVG files in outputs/. Original geometry and type are in work/design.mjs.
Motion: work/motion.mjs generates 720 original SVG frames and encodes the 24-second MP4.
Print: work/print.py creates the one-page poster and two-page press sheet using embedded fonts.
Page: work/page.py creates the original responsive press sheet; live HTML included separately.
Copy and factual records: outputs/.
Audience register:20organizations/65sociallinks, separate from26distribution lanes.
Fonts: Sora and IBM Plex Sans, licensed under SIL OFL; original license files included.

Requirements: Node 22+ with sharp 0.35.3, Python 3 with reportlab and pypdf, FFmpeg 9,
Fontconfig pointing to the included work/fonts directory. Set FFMPEG_BINARY to
your local FFmpeg executable if it is not on PATH. Use an isolated project directory.

Complete distribution roster: outputs/21-Distribution-Plan.json and native campaign-local metadata.
The source Google account workbook remains the source of record; private account files are excluded.

Commands (from the package root):
  npm install
  mkdir -p work/qa checkpoints outputs
  FONTCONFIG_FILE=/path/to/your/fonts.conf node work/design.mjs static
  FONTCONFIG_FILE=/path/to/your/fonts.conf node work/motion.mjs preview
  FONTCONFIG_FILE=/path/to/your/fonts.conf node work/motion.mjs render
  python3 work/print.py
  FONTCONFIG_FILE=/path/to/your/fonts.conf node work/calendar-art.mjs
  FONTCONFIG_FILE=/path/to/your/fonts.conf node work/profile-art.mjs
  python3 work/distribution.py
  python3 work/audience.py
  python3 work/packet.py
  python3 work/page.py
  python3 work/press_desks.py

The press page uses the verified hosted assets in checkpoints/uploaded-assets.json.
No API credentials, account secrets, campaign mutation scripts or private account data
are included. Human creative approval and external channel release remain pending.
