@graview/core 0.1.53 → 0.1.55
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/dist/alias-findings.d.ts +40 -0
- package/dist/alias-findings.d.ts.map +1 -0
- package/dist/alias-findings.js +95 -0
- package/dist/alias-findings.js.map +1 -0
- package/dist/app.d.ts +13 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/archived-seen.d.ts +51 -15
- package/dist/archived-seen.d.ts.map +1 -1
- package/dist/archived-seen.js +123 -28
- package/dist/archived-seen.js.map +1 -1
- package/dist/capabilities.js +1 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/catalog.d.ts +32 -0
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +17 -1
- package/dist/catalog.js.map +1 -1
- package/dist/check.d.ts +2 -0
- package/dist/check.d.ts.map +1 -1
- package/dist/check.js +2 -0
- package/dist/check.js.map +1 -1
- package/dist/cli/check/aliases.d.ts +11 -0
- package/dist/cli/check/aliases.d.ts.map +1 -0
- package/dist/cli/check/aliases.js +17 -0
- package/dist/cli/check/aliases.js.map +1 -0
- package/dist/cli/check/context.d.ts +2 -0
- package/dist/cli/check/context.d.ts.map +1 -1
- package/dist/cli/check/context.js.map +1 -1
- package/dist/cli/check/index.d.ts +2 -0
- package/dist/cli/check/index.d.ts.map +1 -1
- package/dist/cli/check/index.js +2 -0
- package/dist/cli/check/index.js.map +1 -1
- package/dist/cli/check/jobs.d.ts +12 -0
- package/dist/cli/check/jobs.d.ts.map +1 -0
- package/dist/cli/check/jobs.js +25 -0
- package/dist/cli/check/jobs.js.map +1 -0
- package/dist/cli/check.d.ts +13 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +25 -2
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +41 -0
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/document-schema.d.ts.map +1 -1
- package/dist/cli/document-schema.js +7 -0
- package/dist/cli/document-schema.js.map +1 -1
- package/dist/compose.d.ts +99 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/compose.js +245 -0
- package/dist/compose.js.map +1 -0
- package/dist/document/brand-check.d.ts +3 -0
- package/dist/document/brand-check.d.ts.map +1 -1
- package/dist/document/brand-check.js +21 -2
- package/dist/document/brand-check.js.map +1 -1
- package/dist/document/brand.d.ts.map +1 -1
- package/dist/document/brand.js +10 -2
- package/dist/document/brand.js.map +1 -1
- package/dist/document/compile-checked.d.ts.map +1 -1
- package/dist/document/compile-checked.js +13 -7
- package/dist/document/compile-checked.js.map +1 -1
- package/dist/document/compiled.d.ts.map +1 -1
- package/dist/document/compiled.js +6 -0
- package/dist/document/compiled.js.map +1 -1
- package/dist/document/design-findings.d.ts +32 -0
- package/dist/document/design-findings.d.ts.map +1 -0
- package/dist/document/design-findings.js +593 -0
- package/dist/document/design-findings.js.map +1 -0
- package/dist/document/diff.js +1 -1
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +255 -4
- package/dist/document/edit.js.map +1 -1
- package/dist/document/findings.d.ts +8 -2
- package/dist/document/findings.d.ts.map +1 -1
- package/dist/document/findings.js +4 -3
- package/dist/document/findings.js.map +1 -1
- package/dist/document/graview-template.d.ts +3 -3
- package/dist/document/purpose-spec.d.ts +37 -0
- package/dist/document/purpose-spec.d.ts.map +1 -0
- package/dist/document/purpose-spec.js +41 -0
- package/dist/document/purpose-spec.js.map +1 -0
- package/dist/document/schema.d.ts +32 -11
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +30 -0
- package/dist/document/schema.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +5 -1
- package/dist/document/to-document.js.map +1 -1
- package/dist/document.schema.json +142 -2
- package/dist/friction-record.d.ts +52 -0
- package/dist/friction-record.d.ts.map +1 -0
- package/dist/friction-record.js +36 -0
- package/dist/friction-record.js.map +1 -0
- package/dist/friction.d.ts +209 -0
- package/dist/friction.d.ts.map +1 -0
- package/dist/friction.js +302 -0
- package/dist/friction.js.map +1 -0
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +20 -0
- package/dist/graph/graph.js.map +1 -1
- package/dist/history.d.ts +32 -0
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/job-findings.d.ts +39 -0
- package/dist/job-findings.d.ts.map +1 -0
- package/dist/job-findings.js +171 -0
- package/dist/job-findings.js.map +1 -0
- package/dist/job-shape.d.ts +57 -0
- package/dist/job-shape.d.ts.map +1 -0
- package/dist/job-shape.js +5 -0
- package/dist/job-shape.js.map +1 -0
- package/dist/jobs.d.ts +62 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +112 -0
- package/dist/jobs.js.map +1 -0
- package/dist/learn.d.ts +151 -0
- package/dist/learn.d.ts.map +1 -0
- package/dist/learn.js +520 -0
- package/dist/learn.js.map +1 -0
- package/dist/past.d.ts +37 -2
- package/dist/past.d.ts.map +1 -1
- package/dist/past.js +73 -13
- package/dist/past.js.map +1 -1
- package/dist/schema/types.d.ts +9 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +2 -0
- package/dist/search.js.map +1 -1
- package/dist/seat.d.ts +3 -2
- package/dist/seat.d.ts.map +1 -1
- package/dist/seat.js +3 -2
- package/dist/seat.js.map +1 -1
- package/dist/subscriptions.d.ts +5 -0
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +46 -1
- package/dist/subscriptions.js.map +1 -1
- package/dist/theme/accent.d.ts +8 -6
- package/dist/theme/accent.d.ts.map +1 -1
- package/dist/theme/accent.js +29 -23
- package/dist/theme/accent.js.map +1 -1
- package/dist/theme/ground-check.d.ts +27 -0
- package/dist/theme/ground-check.d.ts.map +1 -0
- package/dist/theme/ground-check.js +81 -0
- package/dist/theme/ground-check.js.map +1 -0
- package/dist/theme/ground.d.ts +42 -0
- package/dist/theme/ground.d.ts.map +1 -0
- package/dist/theme/ground.js +101 -0
- package/dist/theme/ground.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +20 -2
package/dist/subscriptions.js
CHANGED
|
@@ -38,6 +38,7 @@ import { joinSpans } from "./text/typing-spans.js";
|
|
|
38
38
|
import { isWithheld, redact, WITHHELD_AUTHOR } from "./ops/withheld.js";
|
|
39
39
|
import { actingAs } from "./permissions/policy.js";
|
|
40
40
|
import { actTitle, fieldWords, humanizeField, labelOf, nounOf, pluralOf, withArticle } from "./schema/define-node.js";
|
|
41
|
+
import { readsPublished } from "./publish.js";
|
|
41
42
|
import { seatLens, seenBy } from "./seen.js";
|
|
42
43
|
import { nameOfAuthor } from "./who.js";
|
|
43
44
|
/**
|
|
@@ -236,6 +237,37 @@ function batchesIn(ops) {
|
|
|
236
237
|
}
|
|
237
238
|
return [...groups.values()];
|
|
238
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* WHAT A PUBLISH BRINGS A READER (FR-206): for each publish among `ops`,
|
|
242
|
+
* the ops readers were not served until it — from the publish before it
|
|
243
|
+
* that stands (or the start of the log) to the seq it publishes through —
|
|
244
|
+
* in the order they landed. An op since taken back, and the undo that took
|
|
245
|
+
* it back, both in what is published, are no change to a reader and are
|
|
246
|
+
* left out; a publish that takes readers back brings nothing.
|
|
247
|
+
*/
|
|
248
|
+
function publishedBy(store, ops) {
|
|
249
|
+
const { horizon } = store.log;
|
|
250
|
+
const all = store.log.all();
|
|
251
|
+
const out = [];
|
|
252
|
+
let undone;
|
|
253
|
+
for (const publish of ops) {
|
|
254
|
+
if (publish.publishedThrough === undefined)
|
|
255
|
+
continue;
|
|
256
|
+
undone ??= store.log.undoneIds();
|
|
257
|
+
let was = horizon;
|
|
258
|
+
for (let at = publish.seq - 1 - horizon; at >= 0; at--) {
|
|
259
|
+
const one = all[at];
|
|
260
|
+
if (one.publishedThrough !== undefined && !undone.has(one.id)) {
|
|
261
|
+
was = one.publishedThrough;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
const brought = all.slice(Math.max(was, horizon) - horizon, publish.publishedThrough - horizon).filter((one) => one.publishedThrough === undefined);
|
|
266
|
+
const ids = new Set(brought.map((one) => one.id));
|
|
267
|
+
out.push(...brought.filter((one) => !undone.has(one.id) && !(one.undoes !== undefined && ids.has(one.undoes))));
|
|
268
|
+
}
|
|
269
|
+
return out;
|
|
270
|
+
}
|
|
239
271
|
/**
|
|
240
272
|
* WHICH SUBSCRIPTIONS A COMMIT MATCHES — pure, and judged as each
|
|
241
273
|
* subscriber may see. `ops` are the ops one commit landed (what a store's
|
|
@@ -246,14 +278,27 @@ function batchesIn(ops) {
|
|
|
246
278
|
* in a match, and a field kept from them is neither said nor read by a
|
|
247
279
|
* condition. A batch the subscriber made is no match unless `alsoMine`.
|
|
248
280
|
* At most one match per batch per subscription.
|
|
281
|
+
*
|
|
282
|
+
* A reader of an app that publishes (FR-206) is served the app as it stood
|
|
283
|
+
* at the last publish, so a batch is no news to them when it lands: it is
|
|
284
|
+
* held until a publish brings it, and judged then, each batch the publish
|
|
285
|
+
* brings as its own, against the app as they are served it now.
|
|
249
286
|
*/
|
|
250
287
|
export function matchSubscriptions(store, ops, subscriptions, options = {}) {
|
|
251
288
|
const any = store;
|
|
252
289
|
const judged = subscriptions.filter((one) => options.app === undefined || one.app === options.app);
|
|
253
290
|
if (judged.length === 0 || ops.length === 0)
|
|
254
291
|
return [];
|
|
292
|
+
const readers = judged.filter((one) => readsPublished(any.publishing, one.who));
|
|
293
|
+
const working = readers.length === 0 ? judged : judged.filter((one) => !readers.includes(one));
|
|
294
|
+
return [...matchBatches(any, batchesIn(ops), working, options), ...(readers.length === 0 ? [] : matchBatches(any, batchesIn(publishedBy(any, ops)), readers, options))];
|
|
295
|
+
}
|
|
296
|
+
/** Each batch judged for each subscription, as its subscriber is served the app now. */
|
|
297
|
+
function matchBatches(any, batches, judged, options) {
|
|
255
298
|
const matches = [];
|
|
256
|
-
|
|
299
|
+
if (judged.length === 0)
|
|
300
|
+
return matches;
|
|
301
|
+
for (const batch of batches) {
|
|
257
302
|
const first = batch[0];
|
|
258
303
|
// A suggestion that waits changes nothing; a batch of no change is nobody's news.
|
|
259
304
|
if (batch.every((op) => op.primitives.length === 0))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/theme/accent.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type DerivedBrand, type RefusedBrand } from "./derive.js";
|
|
2
|
+
import { type Ground } from "./ground.js";
|
|
2
3
|
export interface AccentRefusal {
|
|
3
4
|
/** One sentence: the pair, its ratio, what is needed, and a shade that would pass. */
|
|
4
5
|
readonly sentence: string;
|
|
@@ -14,17 +15,18 @@ export interface AccentRefusal {
|
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* The schemes a document's accent derives (FR-124): `brandFromAccent` over
|
|
17
|
-
* Graview's own
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Graview's own — standing on the app's `ground` where it has one — and,
|
|
19
|
+
* where the only trouble is that the warning color shares the accent's
|
|
20
|
+
* hue, with the warning drawn in the bad status's red, since a document
|
|
21
|
+
* cannot name a warning color of its own.
|
|
20
22
|
*/
|
|
21
|
-
export declare function documentSchemes(accent: string): DerivedBrand | RefusedBrand;
|
|
23
|
+
export declare function documentSchemes(accent: string, ground?: Ground): DerivedBrand | RefusedBrand;
|
|
22
24
|
/**
|
|
23
25
|
* Why a document may not take this accent, in one sentence with a fix, or
|
|
24
26
|
* null when it may (FR-126): `"#e6c200 text on #ffffff is 1.7:1; 4.5:1 is
|
|
25
|
-
* needed — #8a7400 would pass."`
|
|
27
|
+
* needed — #8a7400 would pass."` On the app's `ground`, where it has one.
|
|
26
28
|
*/
|
|
27
|
-
export declare function accentProblem(accent: string): AccentRefusal | null;
|
|
29
|
+
export declare function accentProblem(accent: string, ground?: Ground): AccentRefusal | null;
|
|
28
30
|
/**
|
|
29
31
|
* The nearest shade of `ink`'s hue that clears `requires` on `on` (laid
|
|
30
32
|
* over `over`, for a translucent ground), by lightness alone, as hex — the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accent.d.ts","sourceRoot":"","sources":["../../src/theme/accent.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"accent.d.ts","sourceRoot":"","sources":["../../src/theme/accent.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAqBzD,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAK5F;AAuBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmCnF;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAezG;AAED,oGAAoG;AACpG,eAAO,MAAM,UAAU,UAtHF,MAAM,WAsHG,CAAC"}
|
package/dist/theme/accent.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { colorsIn, composite, contrast, hsl, rgbToHsl } from "./contrast.js";
|
|
2
2
|
import { brandFromAccent } from "./derive.js";
|
|
3
|
+
import { groundSchemes } from "./ground.js";
|
|
3
4
|
import { SCHEMES } from "./palettes.js";
|
|
4
5
|
/*
|
|
5
6
|
* A DOCUMENT'S ACCENT, AS GIVEN (FR-126).
|
|
@@ -11,7 +12,8 @@ import { SCHEMES } from "./palettes.js";
|
|
|
11
12
|
* it could not tell. The dark scheme takes the shade of the same hue that
|
|
12
13
|
* reads on its own grounds. When it does not read, the refusal names the
|
|
13
14
|
* pair, the ratio and the ratio needed, and a shade that would pass: the
|
|
14
|
-
* nearest of the same hue and saturation, by lightness alone.
|
|
15
|
+
* nearest of the same hue and saturation, by lightness alone. On an app
|
|
16
|
+
* with a ground of its own (`ground`), it is judged on that ground.
|
|
15
17
|
*/
|
|
16
18
|
const BLACK = { r: 0, g: 0, b: 0, a: 1 };
|
|
17
19
|
const WHITE = { r: 255, g: 255, b: 255, a: 1 };
|
|
@@ -21,24 +23,27 @@ const hex = (color) => `#${[color.r, color.g, color.b].map((v) => Math.round(Mat
|
|
|
21
23
|
const said = (ratio) => `${Math.floor(ratio * 10) / 10}:1`;
|
|
22
24
|
/**
|
|
23
25
|
* The schemes a document's accent derives (FR-124): `brandFromAccent` over
|
|
24
|
-
* Graview's own
|
|
25
|
-
*
|
|
26
|
-
*
|
|
26
|
+
* Graview's own — standing on the app's `ground` where it has one — and,
|
|
27
|
+
* where the only trouble is that the warning color shares the accent's
|
|
28
|
+
* hue, with the warning drawn in the bad status's red, since a document
|
|
29
|
+
* cannot name a warning color of its own.
|
|
27
30
|
*/
|
|
28
|
-
export function documentSchemes(accent) {
|
|
29
|
-
const
|
|
31
|
+
export function documentSchemes(accent, ground) {
|
|
32
|
+
const base = groundSchemes(ground);
|
|
33
|
+
const derived = brandFromAccent({ accent, base });
|
|
30
34
|
if (derived.ok || !derived.missing.every((part) => part.startsWith("warn")))
|
|
31
35
|
return derived;
|
|
32
|
-
return brandFromAccent({ accent, base
|
|
36
|
+
return brandFromAccent({ accent, base, warn: { light: SCHEMES.light.bad, dark: SCHEMES.dark.bad } });
|
|
33
37
|
}
|
|
34
38
|
/** The first pair this color fails as given in the light scheme, or null when it reads. */
|
|
35
|
-
function lightFailure(color) {
|
|
36
|
-
const
|
|
37
|
-
const
|
|
39
|
+
function lightFailure(color, ground) {
|
|
40
|
+
const light = groundSchemes(ground).light;
|
|
41
|
+
const under = colorsIn(light.ground)[0];
|
|
42
|
+
const panel = composite(colorsIn(light.panel)[0], under);
|
|
38
43
|
const onPanel = contrast(color, panel);
|
|
39
|
-
const onGround = contrast(color,
|
|
44
|
+
const onGround = contrast(color, under);
|
|
40
45
|
if (Math.min(onPanel, onGround) < AA) {
|
|
41
|
-
const [ratio, on] = onPanel <= onGround ? [onPanel, panel] : [onGround,
|
|
46
|
+
const [ratio, on] = onPanel <= onGround ? [onPanel, panel] : [onGround, under];
|
|
42
47
|
return { pair: { text: hex(color), on: hex(on) }, ratio, requires: AA };
|
|
43
48
|
}
|
|
44
49
|
const white = contrast(WHITE, color);
|
|
@@ -47,29 +52,29 @@ function lightFailure(color) {
|
|
|
47
52
|
return { pair: { text: white >= black ? "#ffffff" : "#000000", on: hex(color) }, ratio: Math.max(white, black), requires: AA };
|
|
48
53
|
return null;
|
|
49
54
|
}
|
|
50
|
-
function passes(color) {
|
|
51
|
-
return lightFailure(color) === null && documentSchemes(hex(color)).ok;
|
|
55
|
+
function passes(color, ground) {
|
|
56
|
+
return lightFailure(color, ground) === null && documentSchemes(hex(color), ground).ok;
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
59
|
* Why a document may not take this accent, in one sentence with a fix, or
|
|
55
60
|
* null when it may (FR-126): `"#e6c200 text on #ffffff is 1.7:1; 4.5:1 is
|
|
56
|
-
* needed — #8a7400 would pass."`
|
|
61
|
+
* needed — #8a7400 would pass."` On the app's `ground`, where it has one.
|
|
57
62
|
*/
|
|
58
|
-
export function accentProblem(accent) {
|
|
63
|
+
export function accentProblem(accent, ground) {
|
|
59
64
|
const color = colorsIn(accent)[0];
|
|
60
65
|
if (!color)
|
|
61
66
|
return { sentence: `"${accent}" is not a color; an accent is one like "#c2577a".`, pair: { text: accent, on: "" }, ratio: 0, requires: AA };
|
|
62
|
-
const failure = lightFailure(color);
|
|
63
|
-
const derived = failure ? undefined : documentSchemes(accent);
|
|
67
|
+
const failure = lightFailure(color, ground);
|
|
68
|
+
const derived = failure ? undefined : documentSchemes(accent, ground);
|
|
64
69
|
if (!failure && derived?.ok)
|
|
65
70
|
return null;
|
|
66
|
-
const suggestion = nearestPassing(color);
|
|
71
|
+
const suggestion = nearestPassing(color, ground);
|
|
67
72
|
/*
|
|
68
73
|
* A hue the warning color stands on cannot be an accent at any shade:
|
|
69
74
|
* "something is broken" would look like "this is selected". Said as that,
|
|
70
75
|
* not as a contrast, since no lightness answers it.
|
|
71
76
|
*/
|
|
72
|
-
const asIs = derived ?? documentSchemes(accent);
|
|
77
|
+
const asIs = derived ?? documentSchemes(accent, ground);
|
|
73
78
|
const clash = !asIs.ok && asIs.missing.some((part) => part.startsWith("warn"));
|
|
74
79
|
const fix = suggestion
|
|
75
80
|
? ` — ${suggestion} would pass.`
|
|
@@ -83,7 +88,8 @@ export function accentProblem(accent) {
|
|
|
83
88
|
return { ...failure, sentence: `${pair} is ${said(failure.ratio)}; ${failure.requires}:1 is needed${fix}`, ...(suggestion ? { suggestion } : {}) };
|
|
84
89
|
}
|
|
85
90
|
const refused = derived;
|
|
86
|
-
const
|
|
91
|
+
const dark = groundSchemes(ground).dark;
|
|
92
|
+
const darkPanel = composite(colorsIn(dark.panel)[0], colorsIn(dark.ground)[0]);
|
|
87
93
|
const pair = { text: hex(color), on: hex(darkPanel) };
|
|
88
94
|
if (refused.missing.every((part) => part.startsWith("warn"))) {
|
|
89
95
|
return { sentence: `${accent} reads as given, but the warning color is drawn in its hue, so "something is broken" would look like "this is selected"${suggestion ? fix : ", at any shade — pick another hue."}`, pair, ratio: contrast(color, darkPanel), requires: AA, ...(suggestion ? { suggestion } : {}) };
|
|
@@ -93,7 +99,7 @@ export function accentProblem(accent) {
|
|
|
93
99
|
return { sentence: `${accent} reads in the light scheme, but not in the dark: ${why}${fix}`, pair, ratio: contrast(color, darkPanel), requires: AA, ...(suggestion ? { suggestion } : {}) };
|
|
94
100
|
}
|
|
95
101
|
/** The nearest shade of the same hue and saturation that passes, by lightness alone, as hex; undefined when none does. */
|
|
96
|
-
function nearestPassing(color) {
|
|
102
|
+
function nearestPassing(color, ground) {
|
|
97
103
|
const base = rgbToHsl(color);
|
|
98
104
|
for (let step = 1; step <= 200; step++) {
|
|
99
105
|
for (const l of [base.l - step / 200, base.l + step / 200]) {
|
|
@@ -102,7 +108,7 @@ function nearestPassing(color) {
|
|
|
102
108
|
const shade = hsl(base.h, base.s, l);
|
|
103
109
|
// Said as hex, so judged as hex: the color a chat sends back is this one, rounded.
|
|
104
110
|
const rounded = colorsIn(hex(shade))[0];
|
|
105
|
-
if (passes(rounded))
|
|
111
|
+
if (passes(rounded, ground))
|
|
106
112
|
return hex(rounded);
|
|
107
113
|
}
|
|
108
114
|
}
|
package/dist/theme/accent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accent.js","sourceRoot":"","sources":["../../src/theme/accent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,eAAe,EAAwC,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"accent.js","sourceRoot":"","sources":["../../src/theme/accent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type Ground } from "./ground.js";
|
|
2
|
+
import type { Scheme } from "./types.js";
|
|
3
|
+
export interface GroundRefusal {
|
|
4
|
+
/** One sentence: what does not read on which ground, its ratio, what is needed, and a shade that would pass. */
|
|
5
|
+
readonly sentence: string;
|
|
6
|
+
/** The scheme the pair fails in. */
|
|
7
|
+
readonly scheme: Scheme;
|
|
8
|
+
/** The text and what it was on, as colors. */
|
|
9
|
+
readonly pair: {
|
|
10
|
+
readonly text: string;
|
|
11
|
+
readonly on: string;
|
|
12
|
+
};
|
|
13
|
+
readonly ratio: number;
|
|
14
|
+
readonly requires: number;
|
|
15
|
+
/** The nearest shade of that scheme's ground, same hue and saturation, that passes, as hex — when there is one. */
|
|
16
|
+
readonly suggestion?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Whether every pair reads on this ground, with this accent: what a page compiles with, which says no more. */
|
|
19
|
+
export declare function groundReads(ground: Ground, accent?: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Why an app may not stand on this ground, in one sentence with a fix, or
|
|
22
|
+
* null when it may: `"Muted ink #586174 on the ground #9a9a94 is 2.5:1;
|
|
23
|
+
* 4.5:1 is needed — #d8d8d5 would pass."` Judged with the app's accent
|
|
24
|
+
* where it has one, as the page draws it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function groundProblem(ground: Ground, accent?: string): GroundRefusal | null;
|
|
27
|
+
//# sourceMappingURL=ground-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ground-check.d.ts","sourceRoot":"","sources":["../../src/theme/ground-check.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+D,KAAK,MAAM,EAAsB,MAAM,aAAa,CAAC;AAC3H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAezC,MAAM,WAAW,aAAa;IAC5B,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AASD,gHAAgH;AAChH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpE;AAUD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAuBnF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { documentSchemes } from "./accent.js";
|
|
2
|
+
import { colorsIn, hsl, rgbToHsl } from "./contrast.js";
|
|
3
|
+
import { givenGrounds, groundFailure, groundSchemes, groundWith, hex } from "./ground.js";
|
|
4
|
+
/*
|
|
5
|
+
* WHETHER AN APP CAN STAND ON ITS GROUND (Roadmap f-brand-ground), judged
|
|
6
|
+
* as an accent is (FR-126): ink, muted ink and the accent, as the page
|
|
7
|
+
* draws them, on the ground and on a card drawn from it, in both schemes.
|
|
8
|
+
* When one drops below 4.5:1 the refusal names the pair, its ratio, what
|
|
9
|
+
* is needed and the nearest shade of that ground that would pass.
|
|
10
|
+
*/
|
|
11
|
+
const AA = 4.5;
|
|
12
|
+
/** A ratio as said: rounded down, so a near miss is never said as a pass. */
|
|
13
|
+
const said = (ratio) => `${Math.floor(ratio * 10) / 10}:1`;
|
|
14
|
+
/** The first pair that drops below AA on these grounds, with this accent, or null when every one reads. */
|
|
15
|
+
function failureOn(ground, accent) {
|
|
16
|
+
const derived = accent ? documentSchemes(accent, ground) : undefined;
|
|
17
|
+
// The dark scheme's accent as derived where it can be; where it cannot, the accent's own refusal says so.
|
|
18
|
+
return groundFailure(derived?.ok ? derived.schemes : groundSchemes(ground), accent);
|
|
19
|
+
}
|
|
20
|
+
/** Whether every pair reads on this ground, with this accent: what a page compiles with, which says no more. */
|
|
21
|
+
export function groundReads(ground, accent) {
|
|
22
|
+
return givenColors(ground) === null && failureOn(ground, accent) === null;
|
|
23
|
+
}
|
|
24
|
+
/** The first value of a ground that is not a color, or null when each is one. */
|
|
25
|
+
function givenColors(ground) {
|
|
26
|
+
const given = givenGrounds(ground);
|
|
27
|
+
if (given.light === undefined && given.dark === undefined)
|
|
28
|
+
return "";
|
|
29
|
+
for (const value of [given.light, given.dark])
|
|
30
|
+
if (value !== undefined && !/^#[0-9a-fA-F]{6}$/.test(value))
|
|
31
|
+
return value;
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Why an app may not stand on this ground, in one sentence with a fix, or
|
|
36
|
+
* null when it may: `"Muted ink #586174 on the ground #9a9a94 is 2.5:1;
|
|
37
|
+
* 4.5:1 is needed — #d8d8d5 would pass."` Judged with the app's accent
|
|
38
|
+
* where it has one, as the page draws it.
|
|
39
|
+
*/
|
|
40
|
+
export function groundProblem(ground, accent) {
|
|
41
|
+
const notAColor = givenColors(ground);
|
|
42
|
+
if (notAColor !== null) {
|
|
43
|
+
return { sentence: `${notAColor === "" ? "That" : `"${notAColor}"`} is not a page background; a ground is a color like "#eef3f8", or { "light": "#eef3f8", "dark": "#101826" }.`, scheme: "light", pair: { text: "", on: notAColor }, ratio: 0, requires: AA };
|
|
44
|
+
}
|
|
45
|
+
const failure = failureOn(ground, accent);
|
|
46
|
+
if (!failure)
|
|
47
|
+
return null;
|
|
48
|
+
const given = givenGrounds(ground);
|
|
49
|
+
const own = given[failure.scheme];
|
|
50
|
+
// A dark ground drawn from the light one moves with neither: the light one's hue is what to change.
|
|
51
|
+
const suggestion = own ? nearestPassing(ground, failure.scheme, accent) : undefined;
|
|
52
|
+
const groundSaid = own ?? `${hex(failure.ground)}, drawn from ${given.light}`;
|
|
53
|
+
const on = failure.card ? `a card (${hex(failure.card)}) on the ground ${groundSaid}` : `the ground ${groundSaid}`;
|
|
54
|
+
const fix = suggestion ? ` — ${suggestion} would pass.` : own ? "; no shade of this color does, so pick another." : `; give the dark scheme a ground of its own.`;
|
|
55
|
+
const sentence = `${failure.scheme === "dark" ? "In the dark scheme, " : ""}${failure.what} ${hex(failure.text)} on ${on} is ${said(failure.ratio)}; ${AA}:1 is needed${fix}`;
|
|
56
|
+
return {
|
|
57
|
+
sentence: sentence.replace(/^./, (first) => first.toUpperCase()),
|
|
58
|
+
scheme: failure.scheme,
|
|
59
|
+
pair: { text: hex(failure.text), on: hex(failure.card ?? failure.ground) },
|
|
60
|
+
ratio: failure.ratio,
|
|
61
|
+
requires: AA,
|
|
62
|
+
...(suggestion ? { suggestion } : {}),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/** The nearest shade of one scheme's ground, same hue and saturation, by lightness alone, for which every pair reads; undefined when none does. */
|
|
66
|
+
function nearestPassing(ground, scheme, accent) {
|
|
67
|
+
const color = colorsIn(givenGrounds(ground)[scheme])[0];
|
|
68
|
+
const base = rgbToHsl(color);
|
|
69
|
+
for (let step = 1; step <= 200; step++) {
|
|
70
|
+
for (const l of [base.l - step / 200, base.l + step / 200]) {
|
|
71
|
+
if (l < 0 || l > 1)
|
|
72
|
+
continue;
|
|
73
|
+
// Said as hex, so judged as hex: the color a chat sends back is this one, rounded.
|
|
74
|
+
const shade = hex(hsl(base.h, base.s, l));
|
|
75
|
+
if (failureOn(groundWith(ground, scheme, shade), accent) === null)
|
|
76
|
+
return shade;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=ground-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ground-check.js","sourceRoot":"","sources":["../../src/theme/ground-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Rgba } from "./contrast.js";
|
|
2
|
+
import type { Scheme, ThemeTokens } from "./types.js";
|
|
3
|
+
/** A page background: the light scheme's color, or one for each scheme. */
|
|
4
|
+
export type Ground = string | {
|
|
5
|
+
readonly light?: string;
|
|
6
|
+
readonly dark?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const hex: (color: Rgba) => string;
|
|
9
|
+
/** The two grounds a brand's `ground` says, as given; a scheme it leaves out is absent. */
|
|
10
|
+
export declare function givenGrounds(ground: Ground): {
|
|
11
|
+
light?: string;
|
|
12
|
+
dark?: string;
|
|
13
|
+
};
|
|
14
|
+
/** The dark ground a light one implies: its hue, held to a ground's quiet saturation, taken down to the lightness of Graview's own. */
|
|
15
|
+
export declare function darkGroundFor(light: string): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* The neutral pair an app stands on: Graview's own, with each scheme's
|
|
18
|
+
* ground — and the panel, muted panel, edge, bar and floating sheet drawn
|
|
19
|
+
* from it — the brand's where it gives one. A dark ground left unsaid
|
|
20
|
+
* beside a light one is the light one's hue taken down to a ground.
|
|
21
|
+
*/
|
|
22
|
+
export declare function groundSchemes(ground: Ground | undefined): Readonly<Record<Scheme, ThemeTokens>>;
|
|
23
|
+
/** The ground with one scheme's color replaced, in the form it was given. */
|
|
24
|
+
export declare function groundWith(ground: Ground, scheme: Scheme, color: string): Ground;
|
|
25
|
+
/** A pair that does not read on a ground: which, in which scheme, and how far short. */
|
|
26
|
+
export interface GroundFailure {
|
|
27
|
+
readonly scheme: Scheme;
|
|
28
|
+
readonly what: "ink" | "muted ink" | "the accent";
|
|
29
|
+
readonly text: Rgba;
|
|
30
|
+
readonly ground: Rgba;
|
|
31
|
+
/** The card's color, when the pair fails on a card rather than on the ground itself. */
|
|
32
|
+
readonly card?: Rgba;
|
|
33
|
+
readonly ratio: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The first of ink, muted ink and the accent that drops below 4.5:1 on a
|
|
37
|
+
* pair of schemes' grounds or on a card drawn from them, or null when each
|
|
38
|
+
* reads. In the light scheme an app's accent is drawn as given (FR-126),
|
|
39
|
+
* so it is judged as given.
|
|
40
|
+
*/
|
|
41
|
+
export declare function groundFailure(schemes: Readonly<Record<Scheme, ThemeTokens>>, accent?: string): GroundFailure | null;
|
|
42
|
+
//# sourceMappingURL=ground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ground.d.ts","sourceRoot":"","sources":["../../src/theme/ground.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAkBtD,2EAA2E;AAC3E,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAMlF,eAAO,MAAM,GAAG,GAAI,OAAO,IAAI,WAAmI,CAAC;AAInK,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAE9E;AAED,uIAAuI;AACvI,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK/D;AAoCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAU/F;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAenH"}
|