mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
feat(street-level): KartaView's SINCE is its upload date, noted in the panel
KartaView's server filters by upload date only, so SINCE goes by it throughout for KartaView: the lines (as before), the photo a click opens and the cones, the cut-off taken as its UTC day as KartaView's startDate (passesKartaViewFilter). Providers may declare sinceBasis: 'upload' (validated); while one is lit the panel shows "KartaView: by upload date" under the SINCE slider, read out with it. The gate checks the note, and step 13's picks get 60 s on a loaded machine. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
b42ab9bb02
commit
c4ecb11f75
18 files changed
+210
-40
No files matched your search
@@ -888,7 +888,7 @@ async function main() {
|
||||
await sleep(1000);
|
||||
}
|
||||
await step(
|
||||
'KartaView: its chip draws keyless coverage, credits KartaView and offers Mapillary’s filters',
|
||||
'KartaView: its chip draws keyless coverage, credits KartaView and offers Mapillary’s filters, SINCE noted as its upload date',
|
||||
async () => {
|
||||
await clickPanelControl(page, kvChip);
|
||||
assert.ok(await lit('kartaview'), 'KartaView alone is lit');
|
||||
@@ -896,6 +896,14 @@ async function main() {
|
||||
const u = await ui();
|
||||
assert.equal(u.keyRequired, false);
|
||||
assert.deepEqual(u.filterControls, { pano: true, since: true });
|
||||
// KartaView's SINCE is its upload date: the panel says so.
|
||||
assert.equal(u.sinceNote, 'KartaView: by upload date');
|
||||
assert.equal(
|
||||
await page.$eval('#sl-since-note', (node) =>
|
||||
node.hidden ? null : node.textContent,
|
||||
),
|
||||
'KartaView: by upload date',
|
||||
);
|
||||
assert.equal(
|
||||
await page.$eval(kvChip, (chip) =>
|
||||
chip.style.getPropertyValue('--chip-color'),
|
||||
@@ -1613,9 +1621,10 @@ async function main() {
|
||||
((i + 2) / 13) * (PHOTO_LINE.north - PHOTO_LINE.south),
|
||||
]);
|
||||
// Ground primitives are built over a few frames: poll for a pick.
|
||||
// A loaded machine renders a frame in seconds: 60 s, not 30.
|
||||
const handle = await page.waitForFunction(
|
||||
findPickPoint,
|
||||
{ timeout: 30_000, polling: 250 },
|
||||
{ timeout: 60_000, polling: 250 },
|
||||
{
|
||||
prefix: 'mly:seq:',
|
||||
id: target,
|
||||
@@ -1643,10 +1652,10 @@ async function main() {
|
||||
// The cones are on the globe: one of them picks as an image. Aim at
|
||||
// where each cone billboard is drawn (its ground position at
|
||||
// height 0 can sit a few pixels off, and every missed pick costs a
|
||||
// render); the same 30 s as the line pick above.
|
||||
// render); the same 60 s as the line pick above.
|
||||
const cone = await page.waitForFunction(
|
||||
findPickPoint,
|
||||
{ timeout: 30_000, polling: 250 },
|
||||
{ timeout: 60_000, polling: 250 },
|
||||
{
|
||||
prefix: 'mly:img:',
|
||||
id: null,
|
||||
|
||||
Reference in new issue
Block a user