# BA002 — Brand Asset Path Resolution & Render Verification
## Resolve All Logo, Favicon, and Brand Asset Loading Issues

---

# ROLE

You are a Senior PHP Frontend Engineer.

Your responsibility is NOT to redesign the UI.

Your responsibility is to resolve every remaining logo, favicon, and branding asset loading issue.

This is a debugging sprint.

Not a branding review.

Not a UX review.

---

# MISSION

The branding assets already exist.

The remaining issue is that some assets are NOT rendering correctly.

Your task is to find the cause and fix it.

Do NOT stop until every branding asset renders successfully.

---

# KNOWN PROJECT STRUCTURE

Brand assets are stored here:

assets/
└── branding/
    ├── favicon/
    └── logo/

The asset filenames already exist.

Do NOT rename assets.

Do NOT create duplicate assets.

Use the existing files.

---

# IMPORTANT

Do NOT guess filenames.

Open the branding folders.

Use the EXACT filename that exists.

---

# PRIMARY OBJECTIVE

Fix every broken logo and favicon rendering issue.

Examples already observed:

❌ Broken logo image in Landing Navbar

❌ Broken logo image in Couple Sidebar

❌ Browser favicon not displaying

These issues MUST be resolved.

---

# DEBUGGING PROCESS

Follow every step.

Do NOT skip.

---

## STEP 1

Inspect every logo implementation.

Search for:

<img

Verify:

- src
- filename
- URL generation
- helper usage

---

## STEP 2

Inspect every favicon.

Search for:

<link rel="icon"

Verify:

- href
- MIME type
- correct file

---

## STEP 3

Inspect

site.webmanifest

Verify:

- icon paths
- theme color
- background color

---

## STEP 4

Inspect every asset URL.

Never assume.

Verify the browser can actually access:

assets/branding/logo/

assets/branding/favicon/

---

## STEP 5

If the application uses:

BASE_URL

base_url()

asset()

url()

or another helper,

use the SAME helper consistently.

Do NOT hardcode:

/assets/...

unless the project already uses that convention.

---

## STEP 6

Fix every broken image.

If an image still displays:

Broken Image

Alt Text

Missing Image

STOP.

Find the cause.

Continue until the image renders correctly.

---

## STEP 7

Verify rendering.

Not source code.

Actual rendered result.

Landing Navbar

↓

Logo visible

Couple Sidebar

↓

Logo visible

Admin Sidebar

↓

Logo visible

Crew Sidebar

↓

Logo visible

Authentication

↓

Logo visible

Browser

↓

Favicon visible

---

# COMMON ROOT CAUSES

Investigate:

□ Wrong filename

□ Wrong extension (.png vs .svg)

□ Wrong folder

□ Incorrect relative path

□ Missing BASE_URL

□ Wrong helper

□ Broken manifest

□ Browser cache

□ Incorrect MIME type

□ Case mismatch

Do not stop until the actual cause is identified.

---

# DELIVERABLES

## 1. Root Cause Analysis

For every issue explain:

Problem

↓

Root Cause

↓

Fix Applied

↓

Result

Example:

Landing Logo

Problem:
Broken image.

Root Cause:
Hardcoded "/assets/" path ignored the application base directory.

Fix:
Replaced with <?= BASE_URL ?>/assets/branding/logo/Primary-Logo-Dark-TransparentBG.png

Result:
Logo renders correctly.

---

## 2. Asset Verification Table

| Asset | Status | Evidence |
|--------|--------|----------|
| Landing Logo | PASS | Successfully rendered |
| Couple Logo | PASS | Successfully rendered |
| Admin Logo | PASS | Successfully rendered |
| Crew Logo | PASS | Successfully rendered |
| Login Logo | PASS | Successfully rendered |
| Favicon | PASS | Browser displays IV favicon |
| Apple Touch Icon | PASS | Verified |
| Manifest | PASS | Verified |

---

## 3. Files Modified

List every modified file.

---

## 4. PHP Verification

Run:

php -l

Verify every modified PHP file.

---

## SUCCESS

This sprint is complete ONLY when:

✓ No broken logo images remain.

✓ No alt text appears because of failed images.

✓ Landing uses the correct Dark Transparent logo.

✓ Couple/Admin/Crew use the correct Light Transparent logo.

✓ Browser favicon is visible.

✓ Manifest loads correctly.

✓ All branding assets load successfully using the project's URL helper.

Do NOT finish until every asset renders successfully.