@pinecall/dot 0.11.23 → 0.11.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/dist/agent/tutor.d.ts +4 -0
- package/dist/agent/tutor.d.ts.map +1 -1
- package/dist/agent/tutor.js +21 -5
- package/dist/agent/tutor.js.map +1 -1
- package/dist/pointer/flight.d.ts +12 -4
- package/dist/pointer/flight.d.ts.map +1 -1
- package/dist/pointer/flight.js +47 -11
- package/dist/pointer/flight.js.map +1 -1
- package/dist/pointer/menu.d.ts +2 -4
- package/dist/pointer/menu.d.ts.map +1 -1
- package/dist/pointer/menu.js +30 -41
- package/dist/pointer/menu.js.map +1 -1
- package/dist/pointer/sections.d.ts +4 -7
- package/dist/pointer/sections.d.ts.map +1 -1
- package/dist/pointer/sections.js +11 -17
- package/dist/pointer/sections.js.map +1 -1
- package/dist/tutor/tutor.d.ts.map +1 -1
- package/dist/tutor/tutor.js +4 -3
- package/dist/tutor/tutor.js.map +1 -1
- package/dist/tutor/walking.d.ts +6 -2
- package/dist/tutor/walking.d.ts.map +1 -1
- package/dist/tutor/walking.js +21 -6
- package/dist/tutor/walking.js.map +1 -1
- package/dist/tutor/walks.d.ts.map +1 -1
- package/dist/tutor/walks.js +8 -6
- package/dist/tutor/walks.js.map +1 -1
- package/dist/wire/index.d.ts +12 -0
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +25 -2
- package/dist/wire/index.js.map +1 -1
- package/docs/macros.md +166 -0
- package/docs/write-a-tutor.md +223 -0
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# @pinecall/dot
|
|
2
2
|
|
|
3
|
-
> **
|
|
4
|
-
> API may change in any release
|
|
3
|
+
> **Experimental.** The dot and its tutor are an add-on of Pinecall, not part of its core, and they
|
|
4
|
+
> are still being found: any of their API, attributes and messages may change or go in any release, a
|
|
5
|
+
> patch one included. These pages are their only documentation, and they describe what is true today.
|
|
5
6
|
|
|
6
7
|
The talking dot. A small face, a dot with eyes and a mouth, speaks with your agent's voice, moving
|
|
7
8
|
its mouth with the sound frame by frame. As a tutor it becomes one more person on the page, with a
|
|
@@ -11,6 +12,9 @@ about, and the agent's prompt reads the page as it is now.
|
|
|
11
12
|
It stands on [`@pinecall/room`](../room/README.md), which joins the call. The pinecall widget
|
|
12
13
|
draws it with `<pinecall-widget look="dot">`, and with `look="dot" tutor` the tutor too.
|
|
13
14
|
|
|
15
|
+
**To build a tutor, start with [Write a tutor agent](docs/write-a-tutor.md)**, step by step, and
|
|
16
|
+
[Macros](docs/macros.md), the format of a guided walk. This page is the reference.
|
|
17
|
+
|
|
14
18
|
| import | where it runs | what it gives you |
|
|
15
19
|
|---|---|---|
|
|
16
20
|
| `@pinecall/dot` | the page | `face()`, `tutor()`, and `Page`, the page as the agent reads it |
|
|
@@ -98,7 +102,9 @@ beside the face. It moves the way a hand moves a mouse:
|
|
|
98
102
|
`[data-pc-hover]`, set on the element under the tip and its ancestors, and `pointerenter` and
|
|
99
103
|
`mouseenter` are sent for the site's code. A style sheet from another origin cannot be read and
|
|
100
104
|
keeps no hover.
|
|
101
|
-
- **It scrolls the page eased**, until the element sits a little above the middle of the screen
|
|
105
|
+
- **It scrolls the page eased**, until the element sits a little above the middle of the screen, below the
|
|
106
|
+
site's own header: a fixed or sticky bar along the top (or the page's `scroll-padding-top`) is measured
|
|
107
|
+
and left out, so nothing it shows ends up under it.
|
|
102
108
|
- **A highlight dims the rest of the page** and follows the element as the page scrolls. "Here" is a
|
|
103
109
|
ring at the tip.
|
|
104
110
|
|
|
@@ -249,9 +255,9 @@ widget's `walks` attribute) puts a small button beside the resting face. A click
|
|
|
249
255
|
round it, four at a time (a small ⌄ under them shows the next ones), each a pill with its title and length; a pick plays it: the voice, the mouth moving with
|
|
250
256
|
it, the words lit as said, each beat on its word, a ring round the face for how far it is. While it
|
|
251
257
|
plays, the corner holds captions, pause and stop; a click on the face stops it too. No microphone is
|
|
252
|
-
asked for. A section can
|
|
253
|
-
|
|
254
|
-
|
|
258
|
+
asked for. A section can name its walk: with `data-pinecall-walk="<macro>"` on it, the menu, when it
|
|
259
|
+
opens, marks the walk of the section the visitor is on (the one across the screen's middle) and opens on
|
|
260
|
+
the page it stands on. The site can also draw its own button, `hidden`, and mark it
|
|
255
261
|
`data-pinecall-play="<macro>"`: the tutor shows it while that walk can play, and a click plays it. A call opened afterwards tells the agent which walk
|
|
256
262
|
was played and how far (`page.walked`), so it goes on from there rather than give it again.
|
|
257
263
|
`onWalk` hears each start and end, for the page's own analytics.
|
package/dist/agent/tutor.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export declare class Tutor extends Agent {
|
|
|
22
22
|
lines: Line[];
|
|
23
23
|
/** The walk the visitor played with no call before this one, and how far: `"tour", all 5 sentences`. */
|
|
24
24
|
walked: string;
|
|
25
|
+
/** The path of the visitor's page, as the page last said it; none, every walk is for it. */
|
|
26
|
+
path: string;
|
|
25
27
|
/**
|
|
26
28
|
* Before any call: each macro recorded in the agent's voice and published as `walks`, for the
|
|
27
29
|
* page to play with no call. A sentence recorded before costs nothing, so this runs as it is again.
|
|
@@ -50,6 +52,8 @@ export declare class Tutor extends Agent {
|
|
|
50
52
|
here(): string;
|
|
51
53
|
/** Take your pointer back to your corner, when you are done showing. */
|
|
52
54
|
home(): string;
|
|
55
|
+
/** The walks for the page the visitor is on: those that name it, and those that name none. */
|
|
56
|
+
private macrosHere;
|
|
53
57
|
/** Give one of your walks, by its name: each sentence said as written, your pointer moving on its words. */
|
|
54
58
|
runMacro(name: string): Promise<string>;
|
|
55
59
|
/** The site's lines, one by one: the pointer onto each element, then its line said as written. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tutor.d.ts","sourceRoot":"","sources":["../../src/agent/tutor.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAgB7H,OAAO,EAAE,KAAK,EAAiC,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAoB,MAAM,kBAAkB,CAAC;AAErK,OAAO,
|
|
1
|
+
{"version":3,"file":"tutor.d.ts","sourceRoot":"","sources":["../../src/agent/tutor.ts"],"names":[],"mappings":"AAAA,6HAA6H;AAgB7H,OAAO,EAAE,KAAK,EAAiC,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAoB,MAAM,kBAAkB,CAAC;AAErK,OAAO,EAAmI,KAAK,IAAI,EAAE,KAAK,KAAK,EAAiC,MAAM,kBAAkB,CAAC;AAgDzN;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAKxF;AAcD,uHAAuH;AACvH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAE5E;AAED,qBAAa,KAAM,SAAQ,KAAK;IAC9B,OAAgB,MAAM,EAAE,iBAAiB,CAMvC;IAEF,qDAAqD;IACrD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAM;IAE1C,uEAAuE;IACvE,IAAI,SAAM;IACV,0DAA0D;IAC1D,OAAO,SAAM;IACb,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,4GAA4G;IAC5G,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,wGAAwG;IACxG,MAAM,SAAM;IACZ,4FAA4F;IAC5F,IAAI,SAAM;IAEV;;;OAGG;IACH,OAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BzD;IAED,qHAAqH;IAC5G,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAGpC;IAEQ,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAcvF;IAED,+GAA+G;IACtG,MAAM,IAAI,KAAK,CAEvB;IAED,6EAA6E;IAC7E,MAAM,IAAI,MAAM,CAsBf;IAED,8FAA8F;IAC9F,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnC;IAED,2FAA2F;IAC3F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvC;IAED,8BAA8B;IAC9B,WAAW,IAAI,MAAM,CAEpB;IAED,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtC;IAED,oIAAoI;IAC9H,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO3C;IAED,kJAAkJ;IAC5I,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASvD;IAED,6EAA6E;IAC7E,IAAI,IAAI,MAAM,CAEb;IAED,wEAAwE;IACxE,IAAI,IAAI,MAAM,CAEb;IAED,8FAA8F;IAC9F,OAAO,CAAC,UAAU;IAKlB,4GAA4G;IACtG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5C;IAED,kGAAkG;YACpF,WAAW;IAgBzB,qGAAqG;YACvF,OAAO;IAQrB,wGAAwG;IACxG,OAAO,CAAC,KAAK;IAYb,sGAAsG;YACxF,IAAI;IAUlB,+HAA+H;IAC/H,OAAO,CAAC,KAAK;IAkBb,OAAO,CAAC,IAAI;CAIb"}
|
package/dist/agent/tutor.js
CHANGED
|
@@ -13,7 +13,7 @@ import { readFileSync } from "node:fs";
|
|
|
13
13
|
import { basename } from "node:path";
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
15
|
import { Agent, ToolFailed, describe, tool, z } from "@pinecall/agents";
|
|
16
|
-
import { A_REF, CLICKED, EXPLAIN, MISSING, MOVED, SEEN, UI, WALKED,
|
|
16
|
+
import { A_REF, CLICKED, EXPLAIN, MISSING, MOVED, SEEN, UI, WALKED, clock, linesOf, macroOf, onPage, walksDocument, wordsOf } from "../wire/index.js";
|
|
17
17
|
/** A ref as the page's snapshot writes it: `e12`. */
|
|
18
18
|
const WHAT = z.object({
|
|
19
19
|
what: z.string().describe('the thing on the visitor\'s screen: its name as the screen shows it, as "Questions" or "Choose Family Care", or its ref, as "e22"'),
|
|
@@ -91,6 +91,8 @@ export class Tutor extends Agent {
|
|
|
91
91
|
lines = [];
|
|
92
92
|
/** The walk the visitor played with no call before this one, and how far: `"tour", all 5 sentences`. */
|
|
93
93
|
walked = "";
|
|
94
|
+
/** The path of the visitor's page, as the page last said it; none, every walk is for it. */
|
|
95
|
+
path = "";
|
|
94
96
|
/**
|
|
95
97
|
* Before any call: each macro recorded in the agent's voice and published as `walks`, for the
|
|
96
98
|
* page to play with no call. A sentence recorded before costs nothing, so this runs as it is again.
|
|
@@ -108,6 +110,7 @@ export class Tutor extends Agent {
|
|
|
108
110
|
name: walk.name,
|
|
109
111
|
title: walk.title ?? walk.name,
|
|
110
112
|
...(walk.when === undefined ? {} : { when: walk.when }),
|
|
113
|
+
...(walk.pages === undefined ? {} : { pages: walk.pages }),
|
|
111
114
|
...(lines[0] === undefined ? {} : { voice: lines[0].voice }),
|
|
112
115
|
steps: walk.steps.map((step) => {
|
|
113
116
|
const line = lines[next++];
|
|
@@ -116,7 +119,14 @@ export class Tutor extends Agent {
|
|
|
116
119
|
return { say: step.say, audio: line.url, durationMs: line.durationMs, words: line.words, beats: step.beats, ...shownBy(step) };
|
|
117
120
|
}),
|
|
118
121
|
}));
|
|
119
|
-
|
|
122
|
+
// One document a page: each is read by every visitor of its page, and is small. The home's is `walks`, with the
|
|
123
|
+
// walks that name no page; a page that has walks of its own has `walks-<page>`, with those and the same walks.
|
|
124
|
+
const pages = new Set(["/", ...walks.flatMap((walk) => walk.pages ?? [])]);
|
|
125
|
+
for (const page of pages) {
|
|
126
|
+
const here = recorded.filter((walk) => onPage(walk.pages, page));
|
|
127
|
+
if (here.length > 0)
|
|
128
|
+
await serve.publish(walksDocument(page), { walks: here });
|
|
129
|
+
}
|
|
120
130
|
for (const walk of recorded) {
|
|
121
131
|
const ms = walk.steps.reduce((total, step) => total + step.durationMs, 0);
|
|
122
132
|
serve.say(`walk ${walk.name} · ${walk.steps.length} sentences · ${clock(ms)} · ${lines[0]?.voice ?? ""}`);
|
|
@@ -132,6 +142,8 @@ export class Tutor extends Agent {
|
|
|
132
142
|
if (name === SEEN && typeof data["text"] === "string") {
|
|
133
143
|
this.page = data["text"];
|
|
134
144
|
this.lines = linesOf(data["lines"]);
|
|
145
|
+
if (typeof data["path"] === "string")
|
|
146
|
+
this.path = data["path"];
|
|
135
147
|
const text = (key) => (typeof data[key] === "string" ? data[key] : undefined);
|
|
136
148
|
if (data["why"] === MOVED)
|
|
137
149
|
unanswered.get(this)?.shift()?.({ at: text("at"), refused: text("refused") });
|
|
@@ -155,8 +167,7 @@ export class Tutor extends Agent {
|
|
|
155
167
|
// A call no tutor's page joined (the phone, a page with no dot) is the agent's own: no screen, no pointer.
|
|
156
168
|
if (this.page === "")
|
|
157
169
|
return "";
|
|
158
|
-
const
|
|
159
|
-
const listed = Object.values(own).map((macro) => `- ${macro.name}${macro.when ? `: when ${macro.when}` : ""}`);
|
|
170
|
+
const listed = Object.values(this.macrosHere()).map((macro) => `- ${macro.name}${macro.when ? `: when ${macro.when}` : ""}`);
|
|
160
171
|
if (this.lines.length > 0)
|
|
161
172
|
listed.push(`- ${PAGE_WALK}: the site's own lines about its parts, one by one, when they want to be shown the page`);
|
|
162
173
|
return [
|
|
@@ -223,11 +234,16 @@ export class Tutor extends Agent {
|
|
|
223
234
|
home() {
|
|
224
235
|
return this.move("home");
|
|
225
236
|
}
|
|
237
|
+
/** The walks for the page the visitor is on: those that name it, and those that name none. */
|
|
238
|
+
macrosHere() {
|
|
239
|
+
const own = this.constructor.macros;
|
|
240
|
+
return Object.fromEntries(Object.entries(own).filter(([, macro]) => onPage(macro.pages, this.path)));
|
|
241
|
+
}
|
|
226
242
|
/** Give one of your walks, by its name: each sentence said as written, your pointer moving on its words. */
|
|
227
243
|
async runMacro(name) {
|
|
228
244
|
if (this.lines.length > 0 && (name === PAGE_WALK || wordsOf(name).includes(PAGE_WALK)))
|
|
229
245
|
return this.walkThePage();
|
|
230
|
-
const walks = this.
|
|
246
|
+
const walks = this.macrosHere();
|
|
231
247
|
const macro = walkNamed(walks, name);
|
|
232
248
|
const names = Object.keys(walks).join(", ") || "none";
|
|
233
249
|
if (macro === undefined)
|
package/dist/agent/tutor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tutor.js","sourceRoot":"","sources":["../../src/agent/tutor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tutor.js","sourceRoot":"","sources":["../../src/agent/tutor.ts"],"names":[],"mappings":"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"}
|
package/dist/pointer/flight.d.ts
CHANGED
|
@@ -17,14 +17,22 @@ export declare function aimOf(element: Element): Point;
|
|
|
17
17
|
/** Run `step(u)` from 0 to 1 over `ms`, once a frame; resolves at 1. */
|
|
18
18
|
export declare function animate(ms: number, step: (u: number) => void): Promise<void>;
|
|
19
19
|
/**
|
|
20
|
-
* The scroll at which `box` (as the screen shows it at `scrollY`)
|
|
21
|
-
* tall
|
|
22
|
-
*
|
|
20
|
+
* The scroll at which `box` (as the screen shows it at `scrollY`) is best seen in the part of a screen
|
|
21
|
+
* `height` tall that the site's own header leaves free (`covered` px at its top), within a page
|
|
22
|
+
* `pageHeight` tall. One that fits is shown whole, its middle as near `where` of that part as it can be
|
|
23
|
+
* with nothing cut; one that does not (a long section, a phone) shows from its start, just under the
|
|
24
|
+
* header, so as much of it as fits is seen.
|
|
23
25
|
*/
|
|
24
26
|
export declare function scrollGoal(box: {
|
|
25
27
|
top: number;
|
|
26
28
|
height: number;
|
|
27
|
-
}, scrollY: number, height: number, pageHeight: number, where: number): number;
|
|
29
|
+
}, scrollY: number, height: number, pageHeight: number, where: number, covered?: number): number;
|
|
30
|
+
/**
|
|
31
|
+
* How much of the screen's top the site itself covers, in px: its `scroll-padding-top` when it says, and
|
|
32
|
+
* the bottom of any fixed or sticky bar along the top edge (a header), whichever is lower. The tutor's own
|
|
33
|
+
* layer does not count.
|
|
34
|
+
*/
|
|
35
|
+
export declare function coveredTop(document: Document): number;
|
|
28
36
|
/** Scroll the page, eased, until the element sits at `where` of the screen's height. Nothing when it is there already. */
|
|
29
37
|
export declare function scrollOnto(element: Element, where: number, still: boolean): Promise<void>;
|
|
30
38
|
//# sourceMappingURL=flight.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flight.d.ts","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAK3H,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAS9D;AAKD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAgB7C;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E;
|
|
1
|
+
{"version":3,"file":"flight.d.ts","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAK3H,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAS9D;AAKD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAgB7C;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E;AAKD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CASxJ;AAKD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkBrD;AAED,0HAA0H;AAC1H,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F"}
|
package/dist/pointer/flight.js
CHANGED
|
@@ -62,18 +62,54 @@ export function animate(ms, step) {
|
|
|
62
62
|
requestAnimationFrame(frame);
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
/** How
|
|
66
|
-
const
|
|
67
|
-
/** Where a tall element's start stands, as a share of the screen's height. */
|
|
68
|
-
const START = 0.1;
|
|
65
|
+
/** How far from the edges of the free part of the screen what is shown stands, in px. */
|
|
66
|
+
const MARGIN = 16;
|
|
69
67
|
/**
|
|
70
|
-
* The scroll at which `box` (as the screen shows it at `scrollY`)
|
|
71
|
-
* tall
|
|
72
|
-
*
|
|
68
|
+
* The scroll at which `box` (as the screen shows it at `scrollY`) is best seen in the part of a screen
|
|
69
|
+
* `height` tall that the site's own header leaves free (`covered` px at its top), within a page
|
|
70
|
+
* `pageHeight` tall. One that fits is shown whole, its middle as near `where` of that part as it can be
|
|
71
|
+
* with nothing cut; one that does not (a long section, a phone) shows from its start, just under the
|
|
72
|
+
* header, so as much of it as fits is seen.
|
|
73
73
|
*/
|
|
74
|
-
export function scrollGoal(box, scrollY, height, pageHeight, where) {
|
|
75
|
-
const
|
|
76
|
-
|
|
74
|
+
export function scrollGoal(box, scrollY, height, pageHeight, where, covered = 0) {
|
|
75
|
+
const free = height - covered;
|
|
76
|
+
// Where its top should stand on the screen.
|
|
77
|
+
let top = covered + MARGIN;
|
|
78
|
+
if (box.height <= free - 2 * MARGIN) {
|
|
79
|
+
const centred = covered + free * where - box.height / 2;
|
|
80
|
+
top = Math.min(Math.max(centred, covered + MARGIN), height - MARGIN - box.height);
|
|
81
|
+
}
|
|
82
|
+
return Math.max(0, Math.min(pageHeight - height, scrollY + box.top - top));
|
|
83
|
+
}
|
|
84
|
+
/** The most of the screen's top a site's bar may cover and still count as a header, as a share of the screen's height. */
|
|
85
|
+
const A_HEADER = 0.4;
|
|
86
|
+
/**
|
|
87
|
+
* How much of the screen's top the site itself covers, in px: its `scroll-padding-top` when it says, and
|
|
88
|
+
* the bottom of any fixed or sticky bar along the top edge (a header), whichever is lower. The tutor's own
|
|
89
|
+
* layer does not count.
|
|
90
|
+
*/
|
|
91
|
+
export function coveredTop(document) {
|
|
92
|
+
const view = document.defaultView;
|
|
93
|
+
if (view === null)
|
|
94
|
+
return 0;
|
|
95
|
+
const padding = Number.parseFloat(view.getComputedStyle(document.documentElement).scrollPaddingTop);
|
|
96
|
+
let covered = Number.isFinite(padding) ? padding : 0;
|
|
97
|
+
const most = view.innerHeight * A_HEADER;
|
|
98
|
+
for (const x of [0.25, 0.5, 0.75].map((share) => view.innerWidth * share)) {
|
|
99
|
+
for (const hit of document.elementsFromPoint?.(x, 1) ?? []) {
|
|
100
|
+
for (let node = hit; node !== null; node = node.parentElement) {
|
|
101
|
+
if (node.closest("[data-pinecall-skip]") !== null)
|
|
102
|
+
break;
|
|
103
|
+
const position = view.getComputedStyle(node).position;
|
|
104
|
+
if (position !== "fixed" && position !== "sticky")
|
|
105
|
+
continue;
|
|
106
|
+
const box = node.getBoundingClientRect();
|
|
107
|
+
if (box.top <= 1 && box.height < most)
|
|
108
|
+
covered = Math.max(covered, box.bottom);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return Math.min(covered, most);
|
|
77
113
|
}
|
|
78
114
|
/** Scroll the page, eased, until the element sits at `where` of the screen's height. Nothing when it is there already. */
|
|
79
115
|
export async function scrollOnto(element, where, still) {
|
|
@@ -81,7 +117,7 @@ export async function scrollOnto(element, where, still) {
|
|
|
81
117
|
if (view === null)
|
|
82
118
|
return;
|
|
83
119
|
const box = element.getBoundingClientRect();
|
|
84
|
-
const goal = scrollGoal(box, view.scrollY, view.innerHeight, element.ownerDocument.documentElement.scrollHeight, where);
|
|
120
|
+
const goal = scrollGoal(box, view.scrollY, view.innerHeight, element.ownerDocument.documentElement.scrollHeight, where, coveredTop(element.ownerDocument));
|
|
85
121
|
const from = view.scrollY;
|
|
86
122
|
const dy = goal - from;
|
|
87
123
|
if (Math.abs(dy) < 8)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"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"}
|
package/dist/pointer/menu.d.ts
CHANGED
|
@@ -16,11 +16,11 @@ export interface MenuOptions {
|
|
|
16
16
|
};
|
|
17
17
|
/** A walk picked, by its place in the list. */
|
|
18
18
|
onPick: (index: number) => void;
|
|
19
|
+
/** The place in the list of the walk of the section the visitor is on, or -1 when none is. */
|
|
20
|
+
current: () => number;
|
|
19
21
|
/** What the button that shows the next pills is called for a screen reader: "More walks". */
|
|
20
22
|
more: string;
|
|
21
23
|
}
|
|
22
|
-
/** How long a walk offered alone stays beside the face, in ms. */
|
|
23
|
-
export declare const OFFERED_MS = 5000;
|
|
24
24
|
/** How many pills show at once; the rest come a page at a time, from a small button under them. */
|
|
25
25
|
export declare const PAGE = 4;
|
|
26
26
|
/** How far apart two pills stand, in px: a pill's height and a gap of 6, so no two ever overlap. */
|
|
@@ -38,8 +38,6 @@ export declare class Menu {
|
|
|
38
38
|
offer(items: MenuItem[]): void;
|
|
39
39
|
/** Whether the button may show now: not during a call, nor while a walk plays. */
|
|
40
40
|
available(on: boolean): void;
|
|
41
|
-
/** Offer one walk alone, beside the face, for `ms`, while the button shows and the pills are folded. */
|
|
42
|
-
suggest(index: number, ms?: number): void;
|
|
43
41
|
/** Fan the pills out, or fold them back. */
|
|
44
42
|
toggle(open: boolean): void;
|
|
45
43
|
get open(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAS9H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAS9H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCzC,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,MAAM;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+CAA+C;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8FAA8F;IAC9F,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mGAAmG;AACnG,eAAO,MAAM,IAAI,IAAI,CAAC;AAEtB,oGAAoG;AACpG,eAAO,MAAM,IAAI,QAAW,CAAC;AAM7B;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,CAOhG;AAED,qBAAa,IAAI;;IAkCf,YAAY,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,EAAE,WAAW,EAkCrF;IAED,iDAAiD;IACjD,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAqB7B;IAED,kFAAkF;IAClF,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAI3B;IAED,4CAA4C;IAC5C,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAS1B;IA6BD,IAAI,IAAI,IAAI,OAAO,CAElB;IA6BD,KAAK,IAAI,IAAI,CASZ;CACF"}
|
package/dist/pointer/menu.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// The button sits on the face's shoulder, toward the page, in front of the face: behind it, a click
|
|
4
4
|
// meant for it reached the face and began a call. A click fans the walks out beside the
|
|
5
5
|
// face, each a pill with its title and length, read from the top: the first walk is the highest. Escape, a click elsewhere or
|
|
6
|
-
// a pick closes them.
|
|
7
|
-
//
|
|
6
|
+
// a pick closes them. The walk of the section the visitor is on is marked, and the page it stands on is the
|
|
7
|
+
// one that opens. Every colour is the person's: --pc-face, --pc-bubble, --pc-bubble-ink.
|
|
8
8
|
import { clock } from "../wire/index.js";
|
|
9
9
|
/** A pill's height, in px. */
|
|
10
10
|
const PILL = 24;
|
|
@@ -20,6 +20,9 @@ const STYLE = `
|
|
|
20
20
|
font: 500 12px/${PILL}px system-ui, -apple-system, "Segoe UI", sans-serif; white-space: nowrap; box-shadow: 0 4px 14px rgb(0 0 0 / .16);
|
|
21
21
|
opacity: 0; transform: scale(.85); transition: opacity .18s, transform .18s; }
|
|
22
22
|
.pc-pill.pc-shown { opacity: 1; transform: none; }
|
|
23
|
+
.pc-pill.pc-here { background: var(--pc-face, #1f6b55); color: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-face, #1f6b55) 30%, transparent), 0 4px 14px rgb(0 0 0 / .2); }
|
|
24
|
+
.pc-pill.pc-here .pc-tri { border-left-color: #fff; }
|
|
25
|
+
.pc-pill.pc-here .pc-long { opacity: .8; }
|
|
23
26
|
.pc-pill .pc-tri { width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent var(--pc-face, #1f6b55); }
|
|
24
27
|
.pc-pill .pc-long { opacity: .55; font-variant-numeric: tabular-nums; }
|
|
25
28
|
.pc-more { position: fixed; z-index: 3; display: grid; place-items: center; width: ${PILL}px; height: ${PILL}px; padding: 0; border: 0;
|
|
@@ -31,8 +34,6 @@ const STYLE = `
|
|
|
31
34
|
.pc-more:focus-visible { outline: 2px solid var(--pc-face-ring, #44a785); outline-offset: 2px; }
|
|
32
35
|
@media (prefers-reduced-motion: reduce) { .pc-pill, .pc-walks, .pc-more svg { transition: none; } }
|
|
33
36
|
`;
|
|
34
|
-
/** How long a walk offered alone stays beside the face, in ms. */
|
|
35
|
-
export const OFFERED_MS = 5000;
|
|
36
37
|
/** How many pills show at once; the rest come a page at a time, from a small button under them. */
|
|
37
38
|
export const PAGE = 4;
|
|
38
39
|
/** How far apart two pills stand, in px: a pill's height and a gap of 6, so no two ever overlap. */
|
|
@@ -64,8 +65,6 @@ export class Menu {
|
|
|
64
65
|
#open = false;
|
|
65
66
|
/** Which page of pills shows, from 0. */
|
|
66
67
|
#page = 0;
|
|
67
|
-
/** The walk offered alone, by its place in the list, and when it goes. */
|
|
68
|
-
#alone = null;
|
|
69
68
|
#outside = (event) => {
|
|
70
69
|
const target = event.target instanceof Node ? event.target : null;
|
|
71
70
|
if (target !== null && [this.#button, this.#more, ...this.#pills].some((part) => part.contains(target)))
|
|
@@ -78,6 +77,21 @@ export class Menu {
|
|
|
78
77
|
};
|
|
79
78
|
// The face rests in a corner of the window, so a resize moves it, and the button and pills with it.
|
|
80
79
|
#resized = () => this.#place();
|
|
80
|
+
/** The walk marked now, by its place in the list; -1 for none. */
|
|
81
|
+
#here = -1;
|
|
82
|
+
// While the menu is open the mark follows the page: when the visitor scrolls into another section its walk is
|
|
83
|
+
// marked, and its page shown; a visitor paging within one section is left where they are.
|
|
84
|
+
#scrolled = () => {
|
|
85
|
+
if (!this.#open)
|
|
86
|
+
return;
|
|
87
|
+
const here = this.#options.current();
|
|
88
|
+
if (here === this.#here)
|
|
89
|
+
return;
|
|
90
|
+
this.#mark(here);
|
|
91
|
+
if (here >= 0)
|
|
92
|
+
this.#page = Math.floor(here / PAGE);
|
|
93
|
+
this.#show();
|
|
94
|
+
};
|
|
81
95
|
constructor(document, host, options) {
|
|
82
96
|
this.#document = document;
|
|
83
97
|
this.#options = options;
|
|
@@ -111,10 +125,10 @@ export class Menu {
|
|
|
111
125
|
document.addEventListener("pointerdown", this.#outside, true);
|
|
112
126
|
document.addEventListener("keydown", this.#escape);
|
|
113
127
|
document.defaultView?.addEventListener("resize", this.#resized);
|
|
128
|
+
document.defaultView?.addEventListener("scroll", this.#scrolled, { passive: true });
|
|
114
129
|
}
|
|
115
130
|
/** The walks to offer; none hides the button. */
|
|
116
131
|
offer(items) {
|
|
117
|
-
this.#unsuggest();
|
|
118
132
|
for (const pill of this.#pills)
|
|
119
133
|
pill.remove();
|
|
120
134
|
this.#pills = items.map((item, index) => {
|
|
@@ -145,27 +159,22 @@ export class Menu {
|
|
|
145
159
|
if (on)
|
|
146
160
|
this.#place();
|
|
147
161
|
}
|
|
148
|
-
/** Offer one walk alone, beside the face, for `ms`, while the button shows and the pills are folded. */
|
|
149
|
-
suggest(index, ms = OFFERED_MS) {
|
|
150
|
-
const pill = this.#pills[index];
|
|
151
|
-
if (pill === undefined || this.#open || this.#button.hidden)
|
|
152
|
-
return;
|
|
153
|
-
this.#unsuggest();
|
|
154
|
-
this.#alone = { index, timer: setTimeout(() => this.#unsuggest(), ms) };
|
|
155
|
-
this.#place();
|
|
156
|
-
pill.hidden = false;
|
|
157
|
-
setTimeout(() => pill.classList.add("pc-shown"), 30);
|
|
158
|
-
}
|
|
159
162
|
/** Fan the pills out, or fold them back. */
|
|
160
163
|
toggle(open) {
|
|
161
|
-
this.#unsuggest();
|
|
162
164
|
this.#open = open && !this.#button.hidden;
|
|
163
|
-
|
|
165
|
+
// It opens on the page of the walk of the section the visitor is on, and marks it.
|
|
166
|
+
const here = this.#open ? this.#options.current() : -1;
|
|
167
|
+
this.#page = here < 0 ? 0 : Math.floor(here / PAGE);
|
|
168
|
+
this.#mark(here);
|
|
164
169
|
this.#button.setAttribute("aria-expanded", String(this.#open));
|
|
165
170
|
this.#show();
|
|
166
171
|
if (this.#open)
|
|
167
172
|
this.#shown()[0]?.focus();
|
|
168
173
|
}
|
|
174
|
+
#mark(here) {
|
|
175
|
+
this.#here = here;
|
|
176
|
+
this.#pills.forEach((pill, index) => pill.classList.toggle("pc-here", index === here));
|
|
177
|
+
}
|
|
169
178
|
/** The pills of the page showing, while the pills are fanned out. */
|
|
170
179
|
#shown() {
|
|
171
180
|
return this.#open ? this.#pills.slice(this.#page * PAGE, (this.#page + 1) * PAGE) : [];
|
|
@@ -216,32 +225,12 @@ export class Menu {
|
|
|
216
225
|
if (paged && under !== undefined) {
|
|
217
226
|
Object.assign(this.#more.style, { left: `${right ? under.x - PILL : under.x}px`, top: `${under.y - PILL / 2}px` });
|
|
218
227
|
}
|
|
219
|
-
// A walk offered alone stands where the lowest pill would, beside the face.
|
|
220
|
-
const [beside] = fanned(1, at, radius, this.#options.dock);
|
|
221
|
-
if (this.#alone !== null && beside !== undefined)
|
|
222
|
-
stand(this.#pills[this.#alone.index], beside);
|
|
223
|
-
}
|
|
224
|
-
#unsuggest() {
|
|
225
|
-
if (this.#alone === null)
|
|
226
|
-
return;
|
|
227
|
-
clearTimeout(this.#alone.timer);
|
|
228
|
-
const { index } = this.#alone;
|
|
229
|
-
const pill = this.#pills[index];
|
|
230
|
-
this.#alone = null;
|
|
231
|
-
if (pill === undefined || this.#open)
|
|
232
|
-
return;
|
|
233
|
-
pill.classList.remove("pc-shown");
|
|
234
|
-
// Hidden once it has faded, unless it was offered again or the pills fanned out meanwhile.
|
|
235
|
-
setTimeout(() => {
|
|
236
|
-
if (!this.#open && this.#alone?.index !== index)
|
|
237
|
-
pill.hidden = true;
|
|
238
|
-
}, 200);
|
|
239
228
|
}
|
|
240
229
|
close() {
|
|
241
|
-
this.#unsuggest();
|
|
242
230
|
this.#document.removeEventListener("pointerdown", this.#outside, true);
|
|
243
231
|
this.#document.removeEventListener("keydown", this.#escape);
|
|
244
232
|
this.#document.defaultView?.removeEventListener("resize", this.#resized);
|
|
233
|
+
this.#document.defaultView?.removeEventListener("scroll", this.#scrolled);
|
|
245
234
|
this.#button.remove();
|
|
246
235
|
this.#more.remove();
|
|
247
236
|
for (const pill of this.#pills)
|
package/dist/pointer/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"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"}
|