@lincyaw/skills 1.0.0-rc.13 → 1.0.0-rc.14
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lincyaw/skills",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.14",
|
|
4
4
|
"description": "Presmium's bundled authoring, animation, presentation and plugin-development skills for coding agents",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"jiti": "^2.7.0",
|
|
39
|
-
"@lincyaw/kernel": "1.0.0-rc.
|
|
39
|
+
"@lincyaw/kernel": "1.0.0-rc.14"
|
|
40
40
|
},
|
|
41
41
|
"presmium": {
|
|
42
42
|
"skills": [
|
package/skills/index.json
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"references/publishing.md",
|
|
11
11
|
"references/writing.md"
|
|
12
12
|
],
|
|
13
|
-
"version": "1.0.0-rc.
|
|
14
|
-
"hash": "
|
|
13
|
+
"version": "1.0.0-rc.14",
|
|
14
|
+
"hash": "2f8b95b4cff83daaf7678494d9540b4015f87e9012faf513acea1c5c4f0a10e8"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"name": "presmium-animate",
|
|
@@ -535,8 +535,8 @@
|
|
|
535
535
|
"references/storyboards.md",
|
|
536
536
|
"references/timeline.md"
|
|
537
537
|
],
|
|
538
|
-
"version": "1.0.0-rc.
|
|
539
|
-
"hash": "
|
|
538
|
+
"version": "1.0.0-rc.14",
|
|
539
|
+
"hash": "347c26881f31dd9e2de1353013eb4e45c8112bc48d42bfeab4df1b39ddd865c2"
|
|
540
540
|
},
|
|
541
541
|
{
|
|
542
542
|
"name": "presmium-present",
|
|
@@ -547,8 +547,8 @@
|
|
|
547
547
|
"references/delivery.md",
|
|
548
548
|
"references/lecture.md"
|
|
549
549
|
],
|
|
550
|
-
"version": "1.0.0-rc.
|
|
551
|
-
"hash": "
|
|
550
|
+
"version": "1.0.0-rc.14",
|
|
551
|
+
"hash": "812e313853118e28430d0881a2b0dac1770b68d7e628b17799f5d11a4e866973"
|
|
552
552
|
},
|
|
553
553
|
{
|
|
554
554
|
"name": "presmium-develop",
|
|
@@ -558,7 +558,7 @@
|
|
|
558
558
|
"references/plugin.md",
|
|
559
559
|
"references/testing.md"
|
|
560
560
|
],
|
|
561
|
-
"version": "1.0.0-rc.
|
|
561
|
+
"version": "1.0.0-rc.14",
|
|
562
562
|
"hash": "9b3cab9683b45f11c631a19f916639ffb4c0f74c054c14baee24aa5655a35de4"
|
|
563
563
|
}
|
|
564
564
|
]
|
|
@@ -81,6 +81,7 @@ The Fourier fit, the de Casteljau scene and the universal-approximation storyboa
|
|
|
81
81
|
- **Strokes and writing**: Make Me a Hanzi (9,000+ characters with stroke outlines and medians for stroke-order animation; Arphic Public License graphics, LGPL data; <https://github.com/skishore/makemeahanzi>), KanjiVG (CC BY-SA 3.0), Quick, Draw! (CC BY 4.0; strokes keep their timing, so a drawing replays at its author's speed), Hershey single-stroke fonts.
|
|
82
82
|
- **Logos**: theSVG first, then the organisation's GitHub avatar, then the site's favicon; never redraw a logo. Use a brand's mark only for that exact brand.
|
|
83
83
|
- **Sound and music**: see `lengths.md`, "Sound and music".
|
|
84
|
+
- **Images in a scene** are imported, `import figure from '../figures/x.png'` (or `x.png?url`), not built with `new URL(…, import.meta.url)`: an imported PNG or JPEG of 48 KB or more is published as WebP, no wider than 2400 px.
|
|
84
85
|
- **Where each asset came from** goes in the reading view's notes: the source and what was changed, so the next author can replace it.
|
|
85
86
|
- **Motion data**: the CMU Graphics Lab motion capture database ("free for all uses", not for resale), for a stick figure or to check an IK gait.
|
|
86
87
|
- **Already in the kit**: seeded `mulberry32` and `hash`, `noise1`/`noise2`, `spring01`, `wobble`, `shake`, `smoothPath`, `samplePath`, `trail`, and the Fourier series with `bezierPath`.
|
|
@@ -61,11 +61,11 @@ For a look of its own, `site.theme` names a theme directory (`./theme`) or an in
|
|
|
61
61
|
}
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
`extends` picks the built-in layouts (default `docs`); `params` are defaults under the site's own `site.params`. `tokens` set design tokens by their name without `--pm-` (the build rejects unknown names); colors and shadows there are the light appearance's, and `dark` sets the dark ones, falling back to the built-in dark values. `fonts` are `https:` stylesheet URLs; `styles` are CSS files in the theme directory, which may use relative `url()`s to the directory's fonts and images. Every page carries `data-pm-site-theme-name="<name>"`, so a stylesheet scopes its rules with `[data-pm-site-theme-name='pixel']`. An HTML template homepage
|
|
64
|
+
`extends` picks the built-in layouts (default `docs`); `params` are defaults under the site's own `site.params`. `tokens` set design tokens by their name without `--pm-` (the build rejects unknown names); colors and shadows there are the light appearance's, and `dark` sets the dark ones, falling back to the built-in dark values. `fonts` are `https:` stylesheet URLs; `styles` are CSS files in the theme directory, which may use relative `url()`s to the directory's fonts and images. Every page carries `data-pm-site-theme-name="<name>"`, so a stylesheet scopes its rules with `[data-pm-site-theme-name='pixel']`. An HTML template homepage gets the stylesheets linked at the start of its `<head>`, before its own CSS, and marks its `<body>` with the same attribute. A theme package sets `presmium.theme` in its `package.json` to the directory with `theme.json`, or keeps `theme.json` at its root.
|
|
65
65
|
|
|
66
66
|
Keep each teaching document's page layout in `metadata.renderers.web.layout`: `article` (default), `landing` (all sections combined into one full-width HTML page without sidebars or page navigation), or `wide` (wider content without the right outline). Each translation uses its own layout, defaulting to `article` when omitted; it does not inherit the original's layout. A standalone document can select `theme` and `params` in its own `metadata.renderers.web`; do not use document themes to override the shared shell of a workspace site. A string `site.landing` adds a full-document root page without changing the original document's pagination; a document's own `layout: landing` changes that pagination. Independent site page content stays separate. Templates do not alter authored block/step identities, narration or production settings.
|
|
67
67
|
|
|
68
|
-
A workspace build also builds the presentation of every document whose `metadata.renderers` lists `slides` or `lecture`: `<dir>/slides/` and `<dir>/lecture/` beside its pages. A template homepage can play
|
|
68
|
+
A workspace build also builds the presentation of every document whose `metadata.renderers` lists `slides` or `lecture`: `<dir>/slides/` and `<dir>/lecture/` beside its pages. A template homepage finds a document's presentation in the site data (`documents[i].slides`) and can play its lecture in an iframe at `<slides>?view=present&track=<id>&autoplay`, starting at a step with `section=<id>&step=<n>`. `@lincyaw/presmium/site` gives it `prefetchPresentation(slides)` (fetch ahead of the click) and `whenPresentationReady(frame, ready, { lecture: true })` (called once the scene is drawn and the lecture is playing, paused, waiting for a click, or failed). Images that scenes and the template `import` (48 KB or more) are published as WebP.
|
|
69
69
|
|
|
70
70
|
After changing website settings in `presmium.workspace.yaml`, restart `pnpm serve` for preview or run `pnpm build` again for the output. Existing serve sessions do not reload the workspace's website configuration.
|
|
71
71
|
|
|
@@ -8,7 +8,7 @@ Use the document toolbar's presentation preview action after the authoring save
|
|
|
8
8
|
|
|
9
9
|
The presentation identifies its confirmed source version. When the source or an observed project dependency changes, use the refresh icon's explicit recompile action to adopt the new result. Unconfirmed runtime revisions are hidden. This version check does not freeze historical project assets or external dependencies.
|
|
10
10
|
|
|
11
|
-
To embed a lecture in another page of the same site, put its presentation in an iframe: `slides/?view=present&track=<id>&autoplay`, adding `§ion=<id>&step=<k>` to start at a step. The player starts once it is ready; browsers allow sound only after a click on the embedding page, so load the iframe from that click. Audio clips are positioned by seeking, so the host must answer byte-range requests (GitHub Pages does).
|
|
11
|
+
To embed a lecture in another page of the same site, put its presentation in an iframe: `slides/?view=present&track=<id>&autoplay`, adding `§ion=<id>&step=<k>` to start at a step. The player starts once it is ready; browsers allow sound only after a click on the embedding page, so load the iframe from that click. Where the browser still refuses, the presentation waits at its start with a large Play button. The presentation posts `{ type: 'presmium:state', drawn, section, step, lecture }` to the embedding page (`lecture`: `loading`, `waiting`, `playing`, `paused` or `failed`); `whenPresentationReady` from `@lincyaw/presmium/site` waits for it. Audio clips are positioned by seeking, so the host must answer byte-range requests (GitHub Pages does).
|
|
12
12
|
|
|
13
13
|
Keys while presenting: left/right arrows move a step, Space plays or pauses the lecture (with nothing to play it moves to the next step), O opens the overview, Shift+F goes full screen, Escape ends the show. In Video production, Space plays or pauses and left/right arrows select the previous or next step across pages, also while the preview has the focus. Ctrl+S (⌘S) saves at once anywhere in the studio. Text fields, editors, open menus and dialogs keep their keys; a control reached with Tab keeps Space; after a click on a control, Space and the arrows do the shortcut instead of pressing that control again. Settings → Keyboard Shortcuts lists these keys.
|
|
14
14
|
|