Files
orca/src/shared/marine-creatures.ts
T
bf51593706 fix(worktree): make generated workspace names unique across repos (#2857)
Auto-generated workspace names walked the marine-creature list in order
and deduped only within the active repo (the default when workspaces are
nested), so the first auto-named worktree in every repo landed on
"Nautilus". That guaranteed identical branch names across repos, which
appear flat and indistinguishable in the sidebar.

The in-order walk also produced "Nautilus-2", "Nautilus-3", ... within a
single repo: the suggester ignores branches left behind by deleted
worktrees, so it kept re-proposing "Nautilus", and the create-time retry
loop suffixed it to dodge the lingering branch. Random selection now
yields a fresh creature each time instead of marching the same name.

- Dedup against worktrees in every repo, not just the active one
- Pick randomly from the unused pool instead of the first list entry
- Lowercase the result to match branch-name convention (fix/seahorse)
- Expand the corpus 260 -> 552 (more marine species plus public-domain
  mythological sea creatures) so random picks rarely repeat

getSuggestedCreatureName drops the now-unused repoId/nestWorkspaces
params; the RNG is injectable for deterministic tests.

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-05-28 20:41:10 -04:00

561 lines
7.8 KiB
TypeScript

/* eslint-disable max-lines -- Curated marine-creature name corpus; one entry per line is the readable format for a flat data list. */
// Why: the auto-generated workspace name pool lives in shared (not renderer)
// so the main process can recognize an Orca-generated branch name when deciding
// whether auto-rename-from-work is allowed to overwrite it.
export const MARINE_CREATURES = [
'Nautilus',
'Seahorse',
'Starfish',
'Coral',
'Narwhal',
'Jellyfish',
'Octopus',
'Manta',
'Dolphin',
'Manatee',
'Cuttlefish',
'Anemone',
'Urchin',
'Triton',
'Nudibranch',
'Coelacanth',
'Oarfish',
'Beluga',
'Dugong',
'Porpoise',
'Stingray',
'Hammerhead',
'Wobbegong',
'Sawfish',
'Chimaera',
'Anglerfish',
'Viperfish',
'Dragonfish',
'Axolotl',
'Otter',
'Seadragon',
'Seahare',
'Squid',
'Argonaut',
'Sponge',
'Barnacle',
'Cowrie',
'Guitarfish',
'Lamprey',
'Isopod',
'Lionfish',
'Clownfish',
'Angelfish',
'Butterflyfish',
'Parrotfish',
'Pufferfish',
'Moonfish',
'Firefish',
'Unicornfish',
'Rainbowfish',
'Betta',
'Discus',
'Arowana',
'Koi',
'Piranha',
'Barracuda',
'Moray',
'Sunfish',
'Lanternfish',
'Archerfish',
'Mudskipper',
'Hatchetfish',
'Knifefish',
'Leaffish',
'Glassfish',
'Ropefish',
'Bichir',
'Tigerfish',
'Cardinalfish',
'Lungfish',
'Opah',
'Frogfish',
'Stonefish',
'Cutlassfish',
'Paddlefish',
'Arapaima',
'Mandarin',
'Blobfish',
'Thresher',
'Vaquita',
'Pipefish',
'Guppy',
'Tetra',
'Danio',
'Cichlid',
'Oscar',
'Gourami',
'Killifish',
'Rasbora',
'Pleco',
'Goldfish',
'Molly',
'Platy',
'Barb',
'Loach',
'Medaka',
'Pacu',
'Filefish',
'Boxfish',
'Cowfish',
'Surgeonfish',
'Damselfish',
'Wrasse',
'Goby',
'Blenny',
'Conger',
'Sculpin',
'Darter',
'Remora',
'Pilotfish',
'Trumpetfish',
'Cornetfish',
'Jawfish',
'Toadfish',
'Pearlfish',
'Driftfish',
'Lumpfish',
'Snailfish',
'Stickleback',
'Halfbeak',
'Snipefish',
'Pencilfish',
'Snakehead',
'Tripletail',
'Lookdown',
'Sweetlips',
'Squirrelfish',
'Soldierfish',
'Rabbitfish',
'Hawkfish',
'Bannerfish',
'Batfish',
'Chromis',
'Anthias',
'Fusilier',
'Sweeper',
'Emperor',
'Ponyfish',
'Kelpfish',
'Weever',
'Pearlside',
'Opaleye',
'Ballyhoo',
'Needlefish',
'Triggerfish',
'Gar',
'Tarpon',
'Sailfish',
'Conch',
'Walrus',
'Seal',
'Penguin',
'Hagfish',
'Gulper',
'Hydra',
'Krill',
'Salp',
'Tunicate',
'Crinoid',
'Polyp',
'Limpet',
'Whelk',
'Bowfin',
'Minnow',
'Gudgeon',
'Goldeye',
'Mooneye',
'Soapfish',
'Leatherjacket',
'Rudderfish',
'Sabrefish',
'Puffin',
'Albatross',
'Osprey',
'Pelican',
'Petrel',
'Gannet',
'Tern',
'Cormorant',
'Leatherback',
'Hawksbill',
'Loggerhead',
'Dottyback',
'Basslet',
'Gramma',
'Hamlet',
'Hogfish',
'Dartfish',
'Foxface',
'Shrimpfish',
'Pyrosome',
'Seapen',
'Medusa',
'Candlefish',
'Silverside',
'Shiner',
'Eelpout',
'Madtom',
'Shovelnose',
'Sandlance',
'Tubesnout',
'Marlin',
'Bonefish',
'Dace',
'Rudd',
'Spirula',
'Permit',
'Grunt',
'Trevally',
'Croaker',
'Drum',
'Ladyfish',
'Bullhead',
'Torpedo',
'Skate',
'Hermit',
'Fiddler',
'Fireworm',
'Tubeworm',
'Amphipod',
'Copepod',
'Pteropod',
'Seaslug',
'Swordtail',
'Bluegill',
'Pickerel',
'Redhorse',
'Logperch',
'Goblin',
'Catshark',
'Harlequin',
'Murex',
'Volute',
'Wentletrap',
'Nerite',
'Stargazer',
'Handfish',
'Flyingfish',
'Waspfish',
'Skua',
'Shearwater',
'Guillemot',
'Razorbill',
'Auk',
'Fulmar',
'Murre',
'Velvetfish',
'Prowfish',
'Sandperch',
'Bobtail',
'Chiton',
'Featherstar',
'Nereid',
'Siren',
'Kraken',
'Selkie',
'Leviathan',
'Wolffish',
'Wreckfish',
'Horseshoe',
'Orca',
'Cachalot',
'Rorqual',
'Grampus',
'Humpback',
'Bowhead',
'Finback',
'Sealion',
'Pinniped',
'Cetacean',
'Mako',
'Porbeagle',
'Dogfish',
'Spurdog',
'Tope',
'Bonnethead',
'Sixgill',
'Sevengill',
'Angelshark',
'Houndshark',
'Megamouth',
'Cookiecutter',
'Bramble',
'Ghostshark',
'Sandtiger',
'Galeocerdo',
'Nursehound',
'Cownose',
'Devilray',
'Eagleray',
'Butterflyray',
'Numbfish',
'Stingaree',
'Mantaray',
'Tuna',
'Albacore',
'Bonito',
'Skipjack',
'Wahoo',
'Kingfish',
'Mackerel',
'Cero',
'Dorado',
'Mahimahi',
'Escolar',
'Pomfret',
'Butterfish',
'Cod',
'Haddock',
'Pollock',
'Whiting',
'Hake',
'Ling',
'Cusk',
'Burbot',
'Saithe',
'Sablefish',
'Lingcod',
'Greenling',
'Rockling',
'Halibut',
'Flounder',
'Sole',
'Plaice',
'Turbot',
'Brill',
'Dab',
'Fluke',
'Megrim',
'Sanddab',
'Herring',
'Sardine',
'Anchovy',
'Sprat',
'Pilchard',
'Menhaden',
'Shad',
'Alewife',
'Salmon',
'Trout',
'Char',
'Grayling',
'Steelhead',
'Kokanee',
'Chinook',
'Coho',
'Sockeye',
'Taimen',
'Huchen',
'Cisco',
'Inconnu',
'Vendace',
'Whitefish',
'Perch',
'Bass',
'Snapper',
'Grouper',
'Seabass',
'Tilefish',
'Bream',
'Porgy',
'Sheepshead',
'Pinfish',
'Scup',
'Tautog',
'Sander',
'Zander',
'Walleye',
'Sauger',
'Ruffe',
'Comber',
'Hind',
'Coney',
'Graysby',
'Margate',
'Pompano',
'Amberjack',
'Yellowtail',
'Scad',
'Runner',
'Mullet',
'Goatfish',
'Threadfin',
'Snook',
'Barramundi',
'Milkfish',
'Mojarra',
'Weakfish',
'Corbina',
'Queenfish',
'Kahawai',
'Tilapia',
'Cunner',
'Tuskfish',
'Razorfish',
'Tang',
'Porcupinefish',
'Burrfish',
'Eel',
'Wolfeel',
'Gardeneel',
'Ribboneel',
'Cuskeel',
'Catfish',
'Cory',
'Ratfish',
'Elephantfish',
'Goosefish',
'Monkfish',
'Sargassum',
'Coffinfish',
'Seadevil',
'Scorpionfish',
'Rockfish',
'Cabezon',
'Rosefish',
'Redfish',
'Bocaccio',
'Thornyhead',
'Gurnard',
'Searobin',
'Fangtooth',
'Bristlemouth',
'Barreleye',
'Spookfish',
'Telescopefish',
'Lancetfish',
'Tripodfish',
'Spiderfish',
'Daggertooth',
'Pearleye',
'Ridgehead',
'Snaggletooth',
'Sturgeon',
'Sterlet',
'Kaluga',
'Cockle',
'Mussel',
'Clam',
'Oyster',
'Scallop',
'Abalone',
'Periwinkle',
'Cerith',
'Turban',
'Tellin',
'Geoduck',
'Quahog',
'Piddock',
'Shipworm',
'Lobster',
'Crayfish',
'Shrimp',
'Prawn',
'Langostino',
'Langouste',
'Yabby',
'Marron',
'Dungeness',
'Seafan',
'Staghorn',
'Elkhorn',
'Hydroid',
'Zoanthid',
'Gorgonian',
'Seanettle',
'Moonjelly',
'Sanddollar',
'Brittlestar',
'Basketstar',
'Sunstar',
'Seacucumber',
'Seabiscuit',
'Hearturchin',
'Bristleworm',
'Featherduster',
'Lugworm',
'Sandworm',
'Palolo',
'Arrowworm',
'Acornworm',
'Flatworm',
'Ribbonworm',
'Booby',
'Frigatebird',
'Tropicbird',
'Noddy',
'Kittiwake',
'Dovekie',
'Shag',
'Anhinga',
'Skimmer',
'Jaeger',
'Oystercatcher',
'Eider',
'Scoter',
'Merganser',
'Brant',
'Ridley',
'Flatback',
'Terrapin',
'Seasnake',
'Diatom',
'Plankton',
'Larvacean',
'Doliolid',
'Kelp',
'Seagrass',
'Eelgrass',
'Dulse',
'Bladderwrack',
'Mola',
// Mythological sea & water creatures from public-domain folklore — joining
// Kraken, Leviathan, Siren, Triton, Hydra, Medusa, Nereid, and Selkie above.
'Scylla',
'Charybdis',
'Cetus',
'Proteus',
'Glaucus',
'Hippocamp',
'Jormungandr',
'Hafgufa',
'Kelpie',
'Merrow',
'Nuckelavee',
'Afanc',
'Rusalka',
'Vodyanoy',
'Umibozu',
'Isonade',
'Ningyo',
'Mizuchi',
'Naga',
'Makara',
'Bunyip',
'Taniwha',
'Marakihau',
'Lusca',
'Undine',
'Nixie',
'Melusine',
'Ondine',
'Tiamat',
'Dagon',
'Aspidochelone',
'Capricorn',
'Merfolk',
'Merman',
'Mermaid',
'Timingila',
'Bakekujira',
'Jiaolong',
'Encantado',
'Hraesvelg'
] as const