explico 0.13.0 → 0.13.1
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/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,20 @@ under **Breaking** below; a PATCH never breaks.
|
|
|
14
14
|
|
|
15
15
|
## [Unreleased]
|
|
16
16
|
|
|
17
|
+
## [0.13.1] - 2026-10-07
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **A hovered symbol in an equation no longer hides the glyph to its left.**
|
|
22
|
+
The highlight (`[data-notation-key]:hover` / `.is-notation-active` inside
|
|
23
|
+
`.katex-html`, and the same symbol inside a card's formula) was an opaque
|
|
24
|
+
`accent-low` background with a 0.12em ring, and KaTeX paints its boxes in
|
|
25
|
+
source order, so hovering the `y` of `dy` covered the right half of the
|
|
26
|
+
`d`. The highlight now blends with what is behind it
|
|
27
|
+
(`mix-blend-mode: multiply` in the light theme, `screen` in the dark one),
|
|
28
|
+
which tints the page and leaves the ink as it was. Forced-colors mode
|
|
29
|
+
resets the blend to `normal`.
|
|
30
|
+
|
|
17
31
|
## [0.13.0] - 2026-10-07
|
|
18
32
|
|
|
19
33
|
### Breaking
|
|
@@ -3432,7 +3446,8 @@ under **Breaking** below; a PATCH never breaks.
|
|
|
3432
3446
|
system with its completeness gate, the curriculum-graph validator, the
|
|
3433
3447
|
Astro/Starlight UI, the LMS / session / analytics seams, and the `content` CLI.
|
|
3434
3448
|
|
|
3435
|
-
[Unreleased]: https://github.com/danieltuzes/explico/compare/v0.13.
|
|
3449
|
+
[Unreleased]: https://github.com/danieltuzes/explico/compare/v0.13.1...HEAD
|
|
3450
|
+
[0.13.1]: https://github.com/danieltuzes/explico/compare/v0.13.0...v0.13.1
|
|
3436
3451
|
[0.13.0]: https://github.com/danieltuzes/explico/compare/v0.12.0...v0.13.0
|
|
3437
3452
|
[0.12.0]: https://github.com/danieltuzes/explico/compare/v0.11.1...v0.12.0
|
|
3438
3453
|
[0.11.1]: https://github.com/danieltuzes/explico/compare/v0.11.0...v0.11.1
|
|
@@ -33,6 +33,50 @@ required config block throws with the section of this file to read.
|
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
|
+
## 0.13.0 → 0.13.1
|
|
37
|
+
|
|
38
|
+
**No course changes required.** This release has one fix, in the engine's
|
|
39
|
+
stylesheet: hovering a symbol in an equation, or in a card's formula, no longer
|
|
40
|
+
paints its highlight over the glyph to its left. No authoring rule,
|
|
41
|
+
`CourseConfig` field, Astro wiring, course script or CLI command changes. The
|
|
42
|
+
manifest schema stays v29.
|
|
43
|
+
|
|
44
|
+
### 1. Update the dependency
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pnpm add -D explico@0.13.1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Coming from 0.12.0 or earlier:** apply "0.12.0 → 0.13.0" below first, and
|
|
51
|
+
install 0.13.1 wherever it says to install 0.13.0.
|
|
52
|
+
|
|
53
|
+
### 2. Only if your course CSS or browser tests reach into the symbol highlight
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
rg -n 'data-notation-key|is-notation-active|mix-blend-mode' src content tests
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
No hit means nothing to do. Otherwise:
|
|
60
|
+
|
|
61
|
+
- **The highlight** of a hovered or active `[data-notation-key]` inside
|
|
62
|
+
`.katex-html`, and of one inside `.notation-panel-body [data-slot-formula]`,
|
|
63
|
+
has `mix-blend-mode: screen` (`multiply` under `:root[data-theme='light']`).
|
|
64
|
+
The background colour is still `--sl-color-accent-low`. A course rule that
|
|
65
|
+
overrides that background keeps working; one that also relies on the
|
|
66
|
+
highlight covering the glyph beside it no longer does.
|
|
67
|
+
- **Screenshots** of a hovered symbol need re-recording.
|
|
68
|
+
|
|
69
|
+
### 3. Verify
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pnpm validate:content # run twice: the first run regenerates build/resolution/*
|
|
73
|
+
pnpm content check --changed
|
|
74
|
+
astro check
|
|
75
|
+
astro build
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Then run the course's browser tests, if it has any.
|
|
79
|
+
|
|
36
80
|
## 0.12.0 → 0.13.0
|
|
37
81
|
|
|
38
82
|
**Course changes are required.** A course still on 0.11.1 applies
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "explico",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"description": "Build-time engine for prerequisite-aware, notation-rigorous course content: one validated content model, a semantic notation/citation/equation system with a completeness gate, and a deterministic JSON manifest.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -1036,6 +1036,14 @@ for (const gloss of glossItems) {
|
|
|
1036
1036
|
:global([data-notation-key]:hover) {
|
|
1037
1037
|
background: var(--sl-color-accent-low);
|
|
1038
1038
|
box-shadow: 0 0 0 0.12em var(--sl-color-accent-low);
|
|
1039
|
+
mix-blend-mode: screen;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
:global(:root[data-theme='light'])
|
|
1043
|
+
.notation-panel-body
|
|
1044
|
+
[data-slot-formula]
|
|
1045
|
+
:global([data-notation-key]:hover) {
|
|
1046
|
+
mix-blend-mode: multiply;
|
|
1039
1047
|
}
|
|
1040
1048
|
|
|
1041
1049
|
.notation-panel-heading {
|
|
@@ -1133,10 +1141,22 @@ for (const gloss of glossItems) {
|
|
|
1133
1141
|
cursor: help;
|
|
1134
1142
|
}
|
|
1135
1143
|
|
|
1144
|
+
/* The highlight blends with what is behind it instead of covering it.
|
|
1145
|
+
KaTeX lays a formula out as boxes that paint in source order, so an
|
|
1146
|
+
opaque background (and its ring) on one symbol is painted over the glyph
|
|
1147
|
+
to its left — hovering the y of `dy` hid part of the d. `multiply` (light
|
|
1148
|
+
theme) and `screen` (dark) tint the page and leave ink of either theme as
|
|
1149
|
+
it was. */
|
|
1136
1150
|
:global(.katex-html [data-notation-key]:hover),
|
|
1137
1151
|
:global([data-notation-key].is-notation-active) {
|
|
1138
1152
|
background: var(--sl-color-accent-low);
|
|
1139
1153
|
box-shadow: 0 0 0 0.12em var(--sl-color-accent-low);
|
|
1154
|
+
mix-blend-mode: screen;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
:global(:root[data-theme='light'] .katex-html [data-notation-key]:hover),
|
|
1158
|
+
:global(:root[data-theme='light'] [data-notation-key].is-notation-active) {
|
|
1159
|
+
mix-blend-mode: multiply;
|
|
1140
1160
|
}
|
|
1141
1161
|
|
|
1142
1162
|
@media (max-width: 40rem) {
|
|
@@ -1152,6 +1172,7 @@ for (const gloss of glossItems) {
|
|
|
1152
1172
|
color: HighlightText;
|
|
1153
1173
|
background: Highlight;
|
|
1154
1174
|
box-shadow: none;
|
|
1175
|
+
mix-blend-mode: normal;
|
|
1155
1176
|
}
|
|
1156
1177
|
}
|
|
1157
1178
|
</style>
|