How cobbfan9/cobbfan9.github.io works
This is a browser-based SWGoH tools site. Its primary workflow is the portrait maker: users supply an image, configure portrait attributes and framing, generate a preview, then export it. Separate tool branches provide asset extraction, localization-bundle comparison, game-data comparison, SWGoH update information, and update-frequency charts. The graph follows documented routing and sampled imports/calls; some feature internals are represented by their exact source directories because their implementation was not sampled.
Main entry points: pages.tsx Page routes · portrait-maker.tsx Portrait page · asset-extractor-web.tsx Asset extractor · update-freq.tsx Update frequency
Components 23
Site shell
- App shell
src/App.tsx - Page routes
src/pages.tsx
Portrait maker
- Portrait page
src/pages/portrait-maker.tsx - Image input
src/components/portrait-maker/upload-image.tsx - Portrait settings
src/components/portrait-maker/configure-portrait.tsx - Portrait state
src/ts/portrait-maker/context.ts - Portrait renderer
src/components/swgohPortrait.tsx - Preview and export
src/components/portrait-maker/export.tsx
Asset tools
- Asset extractor
src/pages/asset-extractor-web.tsx - Asset manifest
src/components/asset-extractor/manifest.tsx - Asset viewer
src/components/asset-extractor/asset-viewer.tsx - Loading status
src/components/asset-extractor/loading-assets.tsx - Bundle worker
src/ts/asset-extractor/bundle-worker.ts - Asset Studio
Game data tools
- Localization diff
src/pages/loc-bundle.tsx - Bundle loader
src/ts/loc-bundle/loader.ts - Bundle comparison
src/components/loc-bundle/diff-view.tsx - Game-data diff
src/pages/gamedata-diff.tsx
Updates
- SWGoH updates
src/pages/swgoh-updates.tsx - Update frequency
src/pages/update-freq.tsx - Frequency chart
src/components/update-freq/grapher.tsx - Update retrieval
src/ts/update-freq/getUpdates.ts
Other components
- Visitor
Connections 29
- Visitor → App shell: opens site
- App shell → Page routes: selects route
src/App.tsx - Page routes → Portrait page: loads page
src/pages.tsx - Page routes → Asset extractor: loads page
src/pages.tsx - Page routes → Localization diff: loads page
src/pages.tsx - Page routes → Game-data diff: loads page
- Page routes → SWGoH updates: loads page
src/pages.tsx - Page routes → Update frequency: loads page
src/pages.tsx - Portrait page → Image input: renders input
src/pages/portrait-maker.tsx - Portrait page → Portrait settings: renders settings
src/pages/portrait-maker.tsx - Portrait page → Portrait state: provides state
src/pages/portrait-maker.tsx - Portrait page → Portrait renderer: renders preview
src/pages/portrait-maker.tsx - Portrait page → Preview and export: renders export
src/pages/portrait-maker.tsx - Image input → Portrait state: updates state
src/components/portrait-maker/upload-image.tsx - Image input → Asset extractor: fetches assets
- Portrait settings → Portrait state: updates settings
src/components/portrait-maker/configure-portrait.tsx - Portrait settings → Portrait renderer: uses portrait
src/components/portrait-maker/configure-portrait.tsx - Preview and export → Portrait state: reads state
src/components/portrait-maker/export.tsx - Asset extractor → Asset manifest: shows manifest
src/pages/asset-extractor-web.tsx - Asset extractor → Asset viewer: shows asset
src/pages/asset-extractor-web.tsx - Asset extractor → Loading status: shows status
src/pages/asset-extractor-web.tsx - Asset manifest → Asset viewer: selects asset
- Asset viewer → Bundle worker: opens bundle
src/components/asset-extractor/asset-viewer.tsx - Bundle worker → Asset Studio: extracts textures
src/ts/asset-extractor/bundle-worker.ts - Localization diff → Bundle loader: loads bundles
src/pages/loc-bundle.tsx - Localization diff → Bundle comparison: renders comparison
src/pages/loc-bundle.tsx - Update frequency → Frequency chart: renders chart
src/pages/update-freq.tsx - Update frequency → Update retrieval: gets updates
src/pages/update-freq.tsx - Update frequency → Frequency chart: provides state
src/pages/update-freq.tsx