Some checks are pending
build-gate / build (push) Waiting to run
The north star is that an admin agent can author a plugin, build it, publish it and see it live. Every step was documented and individually verified, but never walked in one pass by following the doc as written. This plugin is that walk, authored from the documented three-file minimum. It stays useful afterwards: it reads the manifest.json it was published beside and reports what the catalog actually contains -- bundle and profile counts, how many profiles describe themselves, and whether it is listed. If you can see it answering, the path worked. Deliberately dependency-free: no map engine, no token, no data API, so it can mount when everything else is broken, which is when someone reaches for it. The walk found a real defect in my own plugin, which is the point of doing it. The first version wrapped the element in ProfileLoader (copied from a MAP bundle) without createPinia. ProfileLoader builds three stores in setup(), so setup threw -- and a thrown setup removes the subtree silently. Build green, manifest listed it, nothing complained. Only smoke:embeds caught it: "shadow DOM nearly empty (1 nodes)". That is exactly what Step 3b exists for and why the doc puts it before publish. The fix is the cap-1 pattern doxa-vision-card already uses: mount the root SFC directly. ProfileLoader earns its cost for a map plugin; it is the wrong wrapper for an element that draws no tiles and takes no token. Verified: 17 -> 18 bundles, 26 -> 27 profiles, auto-discovered with no config edit; renders 19 shadow nodes reporting live catalog state; embed suite 41/41.
47 lines
2 KiB
HTML
47 lines
2 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 · golden-path-check staging</title>
|
|
<link rel="icon" href="data:,">
|
|
|
|
<!-- NO map peer script here, on purpose. This is a capability-1 element that draws no tiles,
|
|
so it must mount with no Mapbox engine and no token — which is the point of a self-test:
|
|
it has to work when everything else is broken. -->
|
|
|
|
<style>
|
|
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
/* Material LIGHT only (standing palette rule): #f3f3f1 surface, #fff, #3b463d text,
|
|
#92b195 accent, #d1d4cd border, #6d766e muted. No dark mode. */
|
|
html, body { background: #f3f3f1; color: #3b463d; min-height: 100%;
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }
|
|
.wrap { max-width: 720px; margin: 0 auto; padding: 32px 20px; }
|
|
h1 { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
|
|
.sub { color: #6d766e; font-size: 13px; margin: 6px 0 24px; }
|
|
.slot { background: #fff; border: 1px solid #d1d4cd; border-radius: 12px; overflow: hidden; }
|
|
.slot .label { font: 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; color: #6d766e;
|
|
padding: 8px 12px; background: #f3f3f1; border-bottom: 1px solid #d1d4cd; }
|
|
.frame { padding: 16px; }
|
|
golden-path-check { display: block; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="wrap">
|
|
<h1>golden-path-check · staging</h1>
|
|
<p class="sub">
|
|
The capability-1 self-test of the develop-a-plugin-and-see-it-live path. It reads the
|
|
<code>manifest.json</code> it was published beside and reports what the catalog contains.
|
|
</p>
|
|
|
|
<div class="slot">
|
|
<div class="label"><golden-path-check></div>
|
|
<div class="frame">
|
|
<golden-path-check></golden-path-check>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="module" src="./index.js"></script>
|
|
</body>
|
|
</html>
|