Fish illustrations, captain removal, caching + stat-freshness fixes - #2
Open
carlogervais wants to merge 31 commits into
Open
Fish illustrations, captain removal, caching + stat-freshness fixes#2carlogervais wants to merge 31 commits into
carlogervais wants to merge 31 commits into
Conversation
Swap in the user-provided field-guide illustrations for all 11 pelagic gamefish, processed with luminance-based background removal (no erosion, no shape thresholding) so fins are preserved exactly as drawn. Specimen panels are light so the white-cutout edges blend with no halo. Billfish: striped marlin, blue marlin, black marlin, Pacific sailfish, shortbill spearfish, swordfish. Tuna: Pacific bluefin, yellowfin, skipjack, albacore, bigeye. - Add new species shortbill-spearfish and albacore to catch-data and the ILLUS illustrated-keys list. - Bump illus assets to v=13; site.js v=35, catch-data.js v=5, site.css v=24. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Swap in the user-provided field-guide illustrations for five more species, processed with the same luminance-based background removal so fins are preserved exactly as drawn (full dorsals, finlets, tails; no clipping). All five keys already existed in catch-data and the ILLUS list. Bump illus assets to v=14; site.js v=36. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Swap in user-provided field-guide illustrations for giant sea bass, leopard grouper (cabrilla), gulf grouper, and broomtail grouper, using the same luminance-based background removal (full fins/spines/tails, no clipping) on the light specimen panels. Bump illus assets to v=15. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Captain removal (app is anglers-only now): - Strip Captain account type + signup form, captain dev pill/test account, and captain tier handling from the auth flow. - Remove Captains bottom-nav tab, Captains directory screen, Captain Dashboard + captain bottom-nav, "Hottest Captains" home module, the Captains report mode, and the catch-report Captain field. - Drop captain branches from the membership UI (top chip no longer shows "Captain"). Reword 3 marketing lines that mentioned captains. Caching: - Bump all asset version queries so browsers fetch fresh code. - Service worker is now network-first for HTML/CSS/JS (cache name v2) so edits show immediately online and a stuck worker self-heals; images, fonts, and CDN stay cache-first. Data freshness: - normalizeSeedReportDates() shifts the demo report set forward on load so the newest report lands on today (spacing preserved), keeping the home stats, Latest Reports, and Now/Hot modes populated regardless of date. Runs once, before user-submitted reports merge. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Captain removal (site/ is anglers-focused now): - Remove the Captains section (directory, Captains of the Month, search/ filters), the captain signup modal, both "Meet the captains" CTAs, the Captains nav links (header + footer), and captain stats (hero + trust). - Reword copy that referenced captains (hero, trust, CTA, app preview, "How it works" step, SEO meta/JSON-LD) to the fishing-intelligence angle. - Clean site.js: drop captain renderers from init, the captain row on report cards, captain pre-fill on the trip form, captain stat mapping. Front door + caching: - serve.js redirects / and /index.html -> /site/index.html (no-store) so the standalone app login is never the front door; app files preserved on disk. - site/sw.js is now network-first for same-origin assets (was cache-first, which kept serving stale JS/CSS and the old login). Cache bumped to v7. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Wire 4 bass field-guide plates into the species ILLUS map (calico-bass, sand-bass, spotted-bay-bass, goldspotted-bass) and bump asset version to v=16 plus site.js to v=39. Plates run through the luminance-cutout pipeline (transparent bg, intact fins, 600px webp). calico/sand/spotted-bay render now; goldspotted-bass plate is staged pending its catch-data entry. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the Goldspotted Sand Bass (Paralabrax auroguttatus, key goldspotted-bass) species entry so its staged illustration renders in the species explorer. Sea of Cortez rocky-reef sand bass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp): - pez-fuerte (almaco jack), jack-crevalle, bigeye-trevally: refreshed plates - bluefin-trevally (Caranx melampygus): new plate + catch-data entry - green-jack (Caranx caballus): new plate + catch-data entry Wire the two new keys into the ILLUS map; bump illus assets to v=17, catch-data to v=7, site.js to v=40. All five verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The standalone app login at / kept reappearing because it is the root index.html and (on static hosts) the Node redirect in serve.js never runs. Make the fix host-agnostic: - Move the app to app.html (preserved, unlinked); root index.html is now a redirect stub to /site/ that also unregisters the stale root service worker and clears its caches. - Rewrite root sw.js as a kill-switch: purge all caches, unregister itself, and send any open window to /site/ (evicts browsers that cached the old app shell and served the login). - serve.js: resolve directory URLs (/site/ -> /site/index.html); fixes a 404. - manifest start_url -> /site/index.html so the installed PWA opens the site. Verified: bare / now 302/redirects to the marketing site, no login screen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp): - corvina (gulf corvina), white-seabass: refreshed plates - orangemouth-corvina (Cynoscion xanthulus): new plate + catch-data entry - shortfin-corvina (Cynoscion parvipinnis): new plate + catch-data entry Wire the two new keys into the ILLUS map; bump illus to v=18, catch-data to v=8, site.js to v=41. All four verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp) plus catch-data entries for three surf/bay croakers: - yellowfin-croaker (Umbrina roncador) - black-croaker (Cheilotrema saturnum) - spotfin-croaker (Roncador stearnsii) Wire the three new keys into the ILLUS map; bump illus to v=19, catch-data to v=9, site.js to v=42. All three verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp) plus catch-data entries: - california-corbina (Menticirrhus undulatus): premier surf croaker - totoaba (Totoaba macdonaldi): added for ID only and flagged PROTECTED / NO-TAKE (critically endangered, CITES Appendix I, illegal to catch or keep; release immediately if hooked). No baits/lures listed by design. Wire the two new keys into the ILLUS map; bump illus to v=20, catch-data to v=10, site.js to v=43. Both verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp): - dog-snapper (Pacific cubera), pargo-colorado, mullet-snapper: refreshed plates - huachinango (Lutjanus peru, Pacific Red Snapper): new plate + catch-data entry Wire the new huachinango key into the ILLUS map; bump illus to v=21, catch-data to v=11, site.js to v=44. All four verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp) for two existing species: - yellow-snapper (Lutjanus argentiventris; 'Yellowmouth Pargo' / Pargo Amarillo) - barred-pargo (Hoplopagrus guentherii) Both already in the ILLUS map and catch-data; bump illus assets to v=22 and site.js to v=45 so the refreshed plates load. Verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp): - triggerfish (finescale, Balistes polylepis): refreshed plate - black-triggerfish (Melichthys niger, Pacific black triggerfish): new plate + catch-data entry Wire the new black-triggerfish key into the ILLUS map; bump illus to v=23, catch-data to v=12, site.js to v=46. Both verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp): - sheephead (California sheephead, Bodianus pulcher): refreshed plate - burrito-grunt (Anisotremus interruptus): new plate + catch-data entry Wire the new burrito-grunt key into the ILLUS map; bump illus to v=24, catch-data to v=13, site.js to v=47. Both verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, fine fin-ray fringe preserved, 600px webp): - halibut (California halibut, Paralichthys californicus): refreshed plate - cortez-halibut (Paralichthys aestuarius): new plate + catch-data entry - california-turbot (diamond turbot, Hypsopsetta guttulata): new plate + catch-data entry Wire the two new keys into the ILLUS map; bump illus to v=25, catch-data to v=14, site.js to v=48. All three verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins/beak, 600px webp): - pacific-barracuda (Sphyraena argentea): refreshed plate - mexican-barracuda (Sphyraena ensis): new plate + catch-data entry - needlefish (California needlefish, Strongylura exilis): new plate + catch-data entry Wire the two new keys into the ILLUS map; bump illus to v=26, catch-data to v=15, site.js to v=49. All three verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact spines/fins, 600px webp) for four rockfish that already had catch-data entries but no plate: - vermilion-rockfish (Sebastes miniatus) - bocaccio (Sebastes paucispinis) - chilipepper (Sebastes goodei) - starry-rockfish (Sebastes constellatus) Add the four keys to the ILLUS map; bump illus to v=27, site.js to v=50. All four verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact spines/fins, 600px webp): - copper-rockfish (Sebastes caurinus): refreshed plate - bank-rockfish (Sebastes rufus): new plate + catch-data entry - widow-rockfish (Sebastes entomelas): new plate + catch-data entry - brown-rockfish (Sebastes auriculatus): new plate + catch-data entry - gopher-rockfish (Sebastes carnatus): new plate + catch-data entry Wire the four new keys into the ILLUS map; bump illus to v=28, catch-data to v=16, site.js to v=51. All five verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact spines/fins, 600px webp): - blue-rockfish (Sebastes mystinus): refreshed plate - olive-rockfish (Sebastes serranoides): new plate + catch-data entry - black-rockfish (Sebastes melanops): new plate + catch-data entry - treefish (Sebastes serriceps): new plate + catch-data entry - flag-rockfish (Sebastes rubrivinctus): new plate + catch-data entry Wire the four new keys into the ILLUS map; bump illus to v=29, catch-data to v=17, site.js to v=52. All five verified rendering at 600px (catalog now 79). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact spines/fins, 600px webp) plus catch-data entries for three deep-water rockfish: - greenblotched-rockfish (Sebastes rosenblatti) - rosethorn-rockfish (Sebastes helvomaculatus) - cowcod (Sebastes levis): flagged RESTRICTED (Cowcod Conservation Areas / tight limits; verify regs before retaining) Wire the three new keys into the ILLUS map; bump illus to v=30, catch-data to v=18, site.js to v=53. All three verified rendering at 600px (catalog now 82). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…h lingcod New art (luminance-cutout pipeline, transparent bg, intact spines/fins, 600px webp): - lingcod (Ophiodon elongatus): refreshed plate - speckled-rockfish (Sebastes ovalis): new plate + catch-data entry - cabezon (Scorpaenichthys marmoratus): new plate + catch-data entry (notes poisonous roe) - california-scorpionfish (Scorpaena guttata): new plate + catch-data entry (notes venomous fin spines) - ocean-whitefish (Caulolatilus princeps): new plate for existing data entry Add four new keys to the ILLUS map; bump illus to v=31, catch-data to v=19, site.js to v=54. All five verified rendering at 600px (catalog now 85). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins/tail, 600px webp) plus catch-data entries (Pelagic category) for two pelagic sharks: - shortfin-mako (Isurus oxyrinchus): flagged overfished / retention-limited - thresher-shark (Alopias vulpinus): flagged retention-limited Both notes advise checking regs and considering catch-and-release. Wire the two new keys into the ILLUS map; bump illus to v=32, catch-data to v=20, site.js to v=55. Both verified rendering at 600px (catalog now 87). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins/filaments, 600px webp): - ladyfish (Pacific ladyfish / machete): refreshed plate - pacific-sanddab (Citharichthys sordidus): new plate + catch-data entry - bonefish (Albula spp.): new plate + catch-data entry - threadfin-jack (Caranx otrynter): new plate + catch-data entry Wire the three new keys into the ILLUS map; bump illus to v=33, catch-data to v=21, site.js to v=56. All four verified rendering at 600px (catalog now 90). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New art (luminance-cutout pipeline, transparent bg, intact fins, 600px webp) for two existing species: - golden-grouper (xanthic cabrilla) - pompano (trailing fin lobes preserved) Both already in the ILLUS map and catch-data; bump illus assets to v=34 and site.js to v=57 so the refreshed plates load. Verified rendering at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… generic grouper Drop three original (May-31) field-guide illustrations that were never replaced with the cleaner user art and looked low quality. The generic 'Pargo / Snapper' and 'Grouper (generic / Spotted Cabrilla)' entries overlap species that now have proper plates (huachinango, pargo-colorado, dog-snapper; gulf/broomtail grouper, cabrilla, etc.). Remove the three keys (canary-rockfish, pargo, grouper) from the ILLUS map and delete their webp files. The species explorer only shows species with an ILLUS entry, so these drop out of the grid cleanly; their catch-data entries remain (still shown as text coast chips). Bump site.js to v=58. Verified: plates 88 -> 85, species stat now 85, deleted files 404, no console errors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The species-detail modal shipped <img id=spModalImg src="">, which makes the browser issue a redundant request for the page URL itself on every load. The src is set by JS (site.js) when a card is opened, so drop the empty src attribute. Verified: no spurious request, modal still loads the plate on open. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The app login surface was retired weeks ago (root now redirects to /site/). Nothing live references app.html/app.js (only a stale serve.js comment did). Delete both and update the comment. /data.js stays (the marketing site loads it). Live /site/ and the / -> /site/ redirect are unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
After deleting app.html/app.js, these had no live references (only the old app loaded them; /site/ and data.js reference none of them): - openwater.js, openwater.css, icons.js, style.css - species-gallery.html (standalone old gallery page) - preview.html (was untracked scratch file) Kept per request: weather.js + config.example.js (API-key plumbing) and the live /data.js. No API keys changed; git history left intact. Verified: live /site/ references no deleted file, catalog 90 species / 85 plates intact, no console errors, / -> /site/ redirect still works. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Swap the old Black Snook (Centropomus nigrescens) plate for the user's clean Pacific Fat Snook art (luminance-cutout, transparent bg, intact fins/lateral line, 600px webp). Keep the 'snook' key so the mapping is unchanged; update commonName -> Pacific Fat Snook, scientificName -> Centropomus medius, spanishName -> Robalo / Constantino. Mangrove-estero tactics retained. Bump illus assets to v=35, catch-data to v=22, site.js to v=59. Verified entry + plate render at 600px. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bundles the recent app work.
Fish illustrations (marketing site,
site/)Clean user-provided field-guide illustrations for 20 species (billfish, tuna, sierra/bonito/wahoo/dorado/yellowtail, and groupers), luminance background removal so fins are preserved exactly, on light specimen panels. Adds shortbill-spearfish, albacore, and skipjack to the data + ILLUS list.
Captain removal (app — anglers-only)
Removes the Captain account type + signup form, captain dev pill/test account, captain tier handling, the Captains bottom-nav tab, Captains directory screen, Captain Dashboard, "Hottest Captains" home module, Captains report mode, the catch-report Captain field, and captain branches in the membership UI.
Caching
v2) so edits show immediately online and a stuck worker self-heals; images/fonts/CDN stay cache-first.Data freshness
normalizeSeedReportDates()shifts the demo report set forward on load so the newest report lands on today, keeping home stats, Latest Reports, and Now/Hot modes populated regardless of date. Runs once, before user reports merge.Note: the local-preview-only auto-enter bypass in
app.jswas intentionally reverted to the proper login-screen behavior before committing.🤖 Generated with Claude Code