{
  "schema_version": "wheelie_public_brand_asset_manifest/v1",
  "source": {
    "doc": "docs/assets/wheelie_logo_assets.md",
    "gcs_root": "gs://continua-dpetrou-media/wheelie/logo-assets/2026-05-15-imagen4-ultra-textless/",
    "kit": "wheelie-textless-production-kit.zip"
  },
  "mapping": {
    "docs_hero": {
      "path": "/assets/wheelie/brand/wheelie-docs-hero.png",
      "source_path": "textless-production-kit/social-marketing/04_vector_poster_mark_textless_1440x900.png",
      "concept": "04_vector_poster_mark_textless",
      "width": 1440,
      "height": 900,
      "bytes": 351961,
      "content_type": "image/png",
      "alt": "Wheelie bicycle mark for public docs hero panels"
    },
    "docs_open_graph": {
      "path": "/assets/wheelie/brand/wheelie-docs-og.png",
      "source_path": "textless-production-kit/social-marketing/04_vector_poster_mark_textless_1200x630.png",
      "concept": "04_vector_poster_mark_textless",
      "width": 1200,
      "height": 630,
      "bytes": 217332,
      "content_type": "image/png"
    },
    "route_favicon": {
      "path": "/assets/wheelie/brand/favicon.ico",
      "source_path": "textless-production-kit/favicons/03_round_crest_patch_textless/favicon.ico",
      "concept": "03_round_crest_patch_textless",
      "bytes": 105452,
      "content_type": "image/x-icon"
    },
    "route_favicon_16": {
      "path": "/assets/wheelie/brand/favicon-16x16.png",
      "source_path": "textless-production-kit/favicons/03_round_crest_patch_textless/favicon-16x16.png",
      "concept": "03_round_crest_patch_textless",
      "width": 16,
      "height": 16,
      "bytes": 638,
      "content_type": "image/png"
    },
    "route_favicon_32": {
      "path": "/assets/wheelie/brand/favicon-32x32.png",
      "source_path": "textless-production-kit/favicons/03_round_crest_patch_textless/favicon-32x32.png",
      "concept": "03_round_crest_patch_textless",
      "width": 32,
      "height": 32,
      "bytes": 1831,
      "content_type": "image/png"
    },
    "apple_touch_icon": {
      "path": "/assets/wheelie/brand/apple-touch-icon.png",
      "source_path": "textless-production-kit/app-icons/03_round_crest_patch_textless_180x180.png",
      "concept": "03_round_crest_patch_textless",
      "width": 180,
      "height": 180,
      "bytes": 29254,
      "content_type": "image/png"
    },
    "badge_avatar": {
      "path": "/assets/wheelie/brand/wheelie-badge-avatar.png",
      "source_path": "textless-production-kit/avatars-circle-mask/03_round_crest_patch_textless_512x512_circle_mask.png",
      "concept": "03_round_crest_patch_textless",
      "width": 512,
      "height": 512,
      "bytes": 215752,
      "content_type": "image/png",
      "alt": "Round Wheelie badge avatar"
    },
    "motion_retro_dot_spinner": {
      "path": "/assets/wheelie/motion/wheelie-retro-dot-spinner-128.gif",
      "source_path": "saxophone/public/assets/wheelie/motion/wheelie-retro-dot-spinner-128.gif",
      "concept": "wheelie_retro_dot_spinner",
      "width": 128,
      "height": 128,
      "bytes": 12506,
      "content_type": "image/gif",
      "alt": "Animated Wheelie retro dot spinner bicycle mark"
    },
    "motion_vector_poster_bob": {
      "path": "/assets/wheelie/motion/wheelie-vector-poster-bob-128.gif",
      "source_path": "saxophone/public/assets/wheelie/motion/wheelie-vector-poster-bob-128.gif",
      "concept": "wheelie_vector_poster_bob",
      "width": 128,
      "height": 128,
      "bytes": 105571,
      "content_type": "image/gif",
      "alt": "Animated Wheelie vector poster bicycle mark"
    },
    "motion_vector_poster_static": {
      "path": "/assets/wheelie/motion/wheelie-vector-poster-static-192.webp",
      "source_path": "saxophone/public/assets/wheelie/motion/wheelie-vector-poster-static-192.webp",
      "concept": "wheelie_vector_poster_static",
      "width": 192,
      "height": 192,
      "bytes": 5138,
      "content_type": "image/webp",
      "alt": "Static Wheelie vector poster bicycle mark for reduced motion"
    }
  },
  "update_contract": "Use semantic keys in mapping for docs/static metadata. Future asset swaps should update this manifest and replace only the selected files. Root landing motion assets may be randomly selected at page load and must include a reduced-motion fallback."
}
