doxa-maps/plugin-designs/prayer-walk-planner/index.html
doxa-maps-88655c70 04a55c66b2
Some checks are pending
build-gate / build (push) Waiting to run
Prayer Walk Planner: full-page dev mount + agent-triggerable in-place print
Two halves of the Driver's directive:

1. FULL PAGE (BUG-PRAYER-WALK-PLANNER-MAP-DOES-NOT-FILL-THE-PAGE).
   The BUILT leaf was already full-viewport; the DEV staging page boxed
   the element in a centred 640px card -- measured 781x584 at y=206 on
   a 1440x900 viewport, exactly 'the map is not filling the full
   page'. The dev harness now mounts fixed inset:0 like the leaf
   (two-host rule).

2. AGENT-OPERABLE PRINT. PrayerWalkPlanner.print() used window.open,
   which is pop-up-blocked without a user gesture -- an agent calling
   the documented API got silence. The poster-wall's in-place
   hidden-iframe mechanism (e957cbe) graduates VERBATIM to
   @map/composables/printInPlace.js (library bar: 2+ consumers,
   parameterized) and the planner uses it; @page pins letter portrait
   (the 839b0c4 ruling).

Verified end-to-end as an agent would: registry -> addPolygon ->
selectPolygon -> print() => {opened:true,count:1}, hidden iframe
print() fired once, portrait pinned, zero pop-ups.
2026-09-24 00:58:10 +00:00

30 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>doxa-maps · prayer-walk-planner staging</title>
<link rel="icon" href="data:,">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* ★ FULL-VIEWPORT MOUNT (BUG-PRAYER-WALK-PLANNER-MAP-DOES-NOT-FILL-THE-PAGE). This page used
to stage the element inside a centred 1100px card with a fixed 640px .frame — measured on
the dev server, the map painted a 781x584 window at y=206 in a 1440x900 viewport, which is
exactly the Driver's report: "the map is showing up but it's not filling the full page."
The BUILT leaf already mounts full-viewport; the dev harness now matches it (two-host rule:
what the Driver sees on the dev server must be what the leaf ships). The client-side API
note lives in the component header now — a planner is a full-page tool, not a demo card:
document.querySelector('prayer-walk-planner').addPolygon(coords, title) /
window.PrayerWalkPlanner.first(). */
html, body { height: 100%; background: #f3f3f1; }
prayer-walk-planner { position: fixed; inset: 0; display: block; }
</style>
</head>
<body>
<prayer-walk-planner instance-id="staging"></prayer-walk-planner>
<!-- Vite multi-page entry. In dev, served transformed; in build, Vite emits
../../../public/doxa-maps/prayer-walk-planner/prayer-walk-planner.js and rewrites this script tag. -->
<script type="module" src="./index.js"></script>
</body>
</html>