Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
819d2e6152 | ||
|
|
8a4c472ab3 |
+4
-2
@@ -33,8 +33,10 @@ Status: TODO / IN PROGRESS / DONE / BLOCKED.
|
|||||||
`FavouriteFuelPriceIntent`: TOP favourite per fuel (first in the manual
|
`FavouriteFuelPriceIntent`: TOP favourite per fuel (first in the manual
|
||||||
Favourites order — `SiriCheapestLookup.topFavourite`, refresh-vs-dump with
|
Favourites order — `SiriCheapestLookup.topFavourite`, refresh-vs-dump with
|
||||||
offline cached-snapshot fallback); no location required (distance shown only
|
offline cached-snapshot fallback); no location required (distance shown only
|
||||||
when the saved fix exists). Also `DirectionsToFavouriteFuelIntent` (Maps
|
when the saved fix exists). `DirectionsToFavouriteFuelIntent` (Maps
|
||||||
hand-off, station announced first). 4+4 App Shortcuts (generic + per-fuel).
|
hand-off, station announced first) stays in code but carries no voice
|
||||||
|
phrases — every favourite price card has the interactive Directions button
|
||||||
|
(`6d7254e`), and the voice slots went to Directions-to-Cheapest (`8a4c472`).
|
||||||
*DONE — favourites already carried station snapshots, so no `StationEntity`
|
*DONE — favourites already carried station snapshots, so no `StationEntity`
|
||||||
dependency.*
|
dependency.*
|
||||||
- [ ] **Siri: on-screen awareness (View Annotations + StationEntity)** — iOS
|
- [ ] **Siri: on-screen awareness (View Annotations + StationEntity)** — iOS
|
||||||
|
|||||||
@@ -578,41 +578,43 @@ struct FuelBoardShortcuts: AppShortcutsProvider {
|
|||||||
systemImageName: "star.fill"
|
systemImageName: "star.fill"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Directions — only the FAVOURITE directions carry App Shortcut
|
// Directions — per-fuel CHEAPEST directions carry the App Shortcut
|
||||||
// phrases: Apple caps app shortcuts at 10 (the metadata processor
|
// phrases (the user's "directions to the cheapest X" asks). Apple caps
|
||||||
// hard-fails past that), and the per-fuel cheapest-price + favourite
|
// app shortcuts at 10 (the metadata processor hard-fails past that);
|
||||||
// price/directions entries cover the user's actual asks. The cheapest-
|
// the favourite-directions path no longer needs phrases because every
|
||||||
// directions and generic favourite intents below remain in code —
|
// favourite price card carries the interactive Directions button
|
||||||
// still runnable from the Shortcuts action list, just without Siri
|
// (OpenDirectionsIntent, zero slots) — so the favourite directions
|
||||||
// phrases. Phrases use direction verbs ("directions to", "get
|
// intents below remain in code, still runnable from the Shortcuts
|
||||||
// directions") so they never collide with the price shortcut phrases.
|
// action list and via the card button, just without Siri phrases.
|
||||||
|
// Phrases use direction verbs ("directions to", "get directions") so
|
||||||
|
// they never collide with the price shortcut phrases.
|
||||||
AppShortcut(
|
AppShortcut(
|
||||||
intent: DirectionsToFavouriteFuelIntent(fuel: .e10),
|
intent: DirectionsToCheapestFuelIntent(fuel: .e10),
|
||||||
phrases: [
|
phrases: [
|
||||||
"Ask \(.applicationName) for directions to my favourite unleaded station",
|
"Ask \(.applicationName) for directions to the cheapest unleaded near me",
|
||||||
"Get directions to my favourite petrol station \(.applicationName)",
|
"Get directions to the cheapest petrol near me \(.applicationName)",
|
||||||
],
|
],
|
||||||
shortTitle: "Directions to Favourite Unleaded",
|
shortTitle: "Directions to Cheapest Unleaded",
|
||||||
systemImageName: "map"
|
systemImageName: "map"
|
||||||
)
|
)
|
||||||
|
|
||||||
AppShortcut(
|
AppShortcut(
|
||||||
intent: DirectionsToFavouriteFuelIntent(fuel: .e5),
|
intent: DirectionsToCheapestFuelIntent(fuel: .e5),
|
||||||
phrases: [
|
phrases: [
|
||||||
"Ask \(.applicationName) for directions to my favourite premium station",
|
"Ask \(.applicationName) for directions to the cheapest premium near me",
|
||||||
"Get directions to my favourite super unleaded station \(.applicationName)",
|
"Get directions to the cheapest super unleaded near me \(.applicationName)",
|
||||||
],
|
],
|
||||||
shortTitle: "Directions to Favourite Premium",
|
shortTitle: "Directions to Cheapest Premium",
|
||||||
systemImageName: "map"
|
systemImageName: "map"
|
||||||
)
|
)
|
||||||
|
|
||||||
AppShortcut(
|
AppShortcut(
|
||||||
intent: DirectionsToFavouriteFuelIntent(fuel: .diesel),
|
intent: DirectionsToCheapestFuelIntent(fuel: .diesel),
|
||||||
phrases: [
|
phrases: [
|
||||||
"Ask \(.applicationName) for directions to my favourite diesel station",
|
"Ask \(.applicationName) for directions to the cheapest diesel near me",
|
||||||
"Get directions to my favourite diesel station \(.applicationName)",
|
"Get directions to the cheapest diesel near me \(.applicationName)",
|
||||||
],
|
],
|
||||||
shortTitle: "Directions to Favourite Diesel",
|
shortTitle: "Directions to Cheapest Diesel",
|
||||||
systemImageName: "map"
|
systemImageName: "map"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user