Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
/// The works Shuffle Daily turns through, in catalog order. Listed by hand rather than taken from
/// `allCases`, so a newly added work joins the rotation only when someone lists it here. Goya's
/// Saturn Devouring His Son is left out (too scary for a daily backdrop) but can still be chosen.
/// `allCases`; DailyBackgroundTests keeps it equal to the catalog, so a newly added work is listed
/// here too.
extension BackdropArt {
public nonisolated static let dailyRotation: [BackdropArt] = [
.davidDeathOfMarat, .veldeSmallShipStorm, .boschGardenRight, .boschAscentBlessed, .goyaWitchesFlight,
.bocklinSelfPortraitDeath, .caravaggioMedusa, .martinPandemonium, .moranBurningPhiladelphia, .goyaBurialSardine,
.arboWildHunt, .caravaggioDavidGoliath, .vanGoghSkeletonCigarette, .altdorferBattleOfIssus, .gentileschiJudith,
.munchMadonna, .bocklinIsleOfTheDead, .kleeFishMagic, .friedrichForestMoonlight, .goyaWitchesSabbath, .boschGardenLeft,
.rembrandtStormGalilee, .coleVoyageManhood, .fuseliNightmare2, .hiremyHirschlSoulsOfAcheron, .munchScream, .klimtJudith,
.repinIvan, .millaisOphelia, .bruegelFallRebelAngels, .fuseliNightmare, .bundyDeathGeneral, .wrightVesuvius,
.geromeBotsaris, .durerKnightDeathDevil, .martinJoshua, .veldeGale, .hogaiNio, .klimtDeathAndLife, .klimtMedicine,
.boschGardenCentral, .martinGreatDayWrath, .bonheurWoundedEagle, .geromePolliceVerso, .coleVoyageOldAge,
.friedrichAbbeyOakwood, .goyaSleepOfReason, .boschGardenFragment, .bruegelTriumphDeath, .spilliaertVertigo,
.rothaugMelpomene, .schieleDeathAndTheMaiden, .aivazovskyShipStormySeas, .vereshchaginApotheosisWar,
.ensorSkeletonPainter, .cabanelFallenAngel, .spilliaertWomanShoreline, .elGrecoViewOfToledo, .gericaultRaftOfTheMedusa,
.moreauApparition, .rembrandtProdigalSon, .velazquezLasMeninas, .matejkoStanczyk, .sargentMadameX, .millaisJoanOfArc,
.cotStorm, .rembrandtNightWatch, .vigeeLebrunMadameGrand, .waterhouseLadyShalott, .draperLamentIcarus, .fragonardSwing,
.davidDeathOfMarat, .veldeSmallShipStorm, .boschAscentBlessed, .goyaWitchesFlight,
.martinPandemonium, .moranBurningPhiladelphia, .goyaBurialSardine,
.arboWildHunt, .altdorferBattleOfIssus, .munchMadonna, .kleeFishMagic, .friedrichForestMoonlight, .boschGardenLeft,
.rembrandtStormGalilee, .coleVoyageManhood, .munchScream, .bruegelFallRebelAngels, .wrightVesuvius,
.geromeBotsaris, .martinJoshua, .veldeGale, .hogaiNio, .boschGardenCentral, .martinGreatDayWrath, .bonheurWoundedEagle, .coleVoyageOldAge,
.friedrichAbbeyOakwood, .goyaSleepOfReason, .boschGardenFragment, .spilliaertVertigo,
.rothaugMelpomene, .aivazovskyShipStormySeas, .cabanelFallenAngel, .spilliaertWomanShoreline, .elGrecoViewOfToledo, .rembrandtProdigalSon, .velazquezLasMeninas, .matejkoStanczyk, .sargentMadameX, .millaisJoanOfArc,
.cotStorm, .rembrandtNightWatch, .vigeeLebrunMadameGrand, .waterhouseLadyShalott, .fragonardSwing,
.rubensStFrancisXavier, .vermeerPearlEarring, .danielsonGambogiSelf, .beardHisMajesty, .marcFoxes, .degasGreenDancers,
.modiglianiNudeDivan, .raphaelSistineMadonna, .bouguereauVirginLilies, .woodAmericanGothic, .steinlenChatNoir,
.degasBlueDancers, .botticelliPrimavera, .vanGoghCafeTerrace, .matisseRedRoom, .kandinskyDeepenedImpulse,
Expand All @@ -34,7 +29,7 @@ extension BackdropArt {
.monetWomanParasol, .veldeCannonShot, .crossPinkCloud, .laurenceMckinley, .vanGoghIrises, .kramskoiChristInTheDesert,
.turnerTemeraire, .leonardoVitruvianMan, .bruegelHuntersSnow, .coleVoyageYouth, .friedrichMonkByTheSea,
.vanGoghWheatFieldCypresses, .monetCliffPourville, .vanGoghAlmondBlossom, .vanGoghFishingBoats, .hokusaiUmezawa,
.whistlerFallingRocket, .doreFallOfSatan, .doreFlood, .doreWolvesSheep, .doreLeviathan, .doreParadiseLostBookVi,
.whistlerFallingRocket, .doreFallOfSatan, .doreWolvesSheep, .doreLeviathan, .doreParadiseLostBookVi,
.doreMosesTables, .doreEmpyrean, .doreRaven
]
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,19 @@ public nonisolated extension BackdropArt {
}
}

/// Ids of works taken out of the set without a stand-in: the goriest and grimmest pieces (Leo,
/// 2026-10-19: too depressing for a backdrop). A cmux.json or workspace that still names one
/// shows the default background, with no invalid-value diagnostic.
static let removedIDs: Set<String> = [
"bocklin-isle-of-the-dead", "bocklin-self-portrait-death", "bosch-garden-right", "bruegel-triumph-death",
"bundy-death-general", "caravaggio-david-goliath", "caravaggio-medusa", "dore-flood",
"draper-lament-icarus", "durer-knight-death-devil", "ensor-skeleton-painter", "fuseli-nightmare",
"fuseli-nightmare-2", "gentileschi-judith", "gericault-raft-of-the-medusa", "gerome-pollice-verso",
"goya-saturn", "goya-witches-sabbath", "hiremy-hirschl-souls-of-acheron", "klimt-death-and-life",
"klimt-judith", "klimt-medicine", "millais-ophelia", "moreau-apparition", "repin-ivan",
"schiele-death-and-the-maiden", "van-gogh-skeleton-cigarette", "vereshchagin-apotheosis-war"
]

/// Each retired id and the work that now stands in for it.
static let retiredIDs: [String: BackdropArt] = [
"wheat-field-with-cypresses": .vanGoghWheatFieldCypresses,
Expand Down
Loading