@vestra-player/sdk 1.5.38 → 1.5.40

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/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Vestra Player SDK
2
2
 
3
- > @vestra-player/sdk 1.5.38: write plugins for Vestra Player in TypeScript (plugin API `vestra/1`). A plugin is a folder with `manifest.json` and an entry module whose default export `activate(plugin)` the player calls; it runs in its own Node.js process. Everything a plugin creates (commands, windows, panels, filters, listeners…) is a handle that is released automatically when the plugin stops. L<n>: a line of llms-full.txt (next to this file), which has every page, declaration and example.
3
+ > @vestra-player/sdk 1.5.40: write plugins for Vestra Player in TypeScript (plugin API `vestra/1`). A plugin is a folder with `manifest.json` and an entry module whose default export `activate(plugin)` the player calls; it runs in its own Node.js process. Everything a plugin creates (commands, windows, panels, filters, listeners…) is a handle that is released automatically when the plugin stops. L<n>: a line of llms-full.txt (next to this file), which has every page, declaration and example.
4
4
 
5
5
  **Rules**
6
6
 
@@ -33,7 +33,7 @@ my-plugin/
33
33
  }
34
34
  ```
35
35
 
36
- Fields: `id`, `version`, `apiVersion`, `entry`, `capabilities`, `name`, `author`, `punchline`, `description`, `tags`, `icon`, `readme`, `changelog`, `sourceUrl`, `license`, `minPlayerVersion`; unknown fields and capabilities are rejected. Rules and limits: L2646–2716.
36
+ Fields: `id`, `version`, `apiVersion`, `entry`, `capabilities`, `name`, `author`, `punchline`, `description`, `tags`, `icon`, `readme`, `changelog`, `sourceUrl`, `license`, `minPlayerVersion`; unknown fields and capabilities are rejected. Rules and limits: L2646–2718.
37
37
 
38
38
  **main.ts**
39
39
 
@@ -61,7 +61,7 @@ export default async function activate(plugin: Plugin) {
61
61
  - `ui.mount`: Panels.mount/bottom/sidebar/backdrop, PanelSlot/Panel/BackdropSlot.onChange
62
62
  - `ui.dialog`: Dialogs.confirm/openFile/openFiles/openDirectory/saveFile
63
63
  - `plugins.manage`: Packages.validate/validateArchive/setEnabled/reload/uninstall
64
- - `processing.video`: Plugin.video.filter/video.view/video.render (also `playback.read`)
64
+ - `processing.video`: Plugin.video.filter/video.view/video.render/video.shaders (also `playback.read`)
65
65
  - `processing.audio`: Plugin.audio.filter (also `playback.read`, `events`)
66
66
  - `subtitles.read`: Subtitles.state/onChange/refresh
67
67
  - `subtitles.control`: Subtitles.select/load/remove/setStyle
@@ -78,9 +78,9 @@ export default async function activate(plugin: Plugin) {
78
78
  - `secrets`: Secrets.get/set/delete
79
79
  - `rendering.manage`: Rendering.setPreference/restartPlayer
80
80
  - `video.upscaling`: VideoUpscaling.state/set
81
- - No capability: `tools`, `storage`, `system`, `app`, `ui` (images and Markdown), `i18n`, reading window.state, appearance.theme, packages.list and rendering.state. Details: L2717–2777.
81
+ - No capability: `tools`, `storage`, `system`, `app`, `ui` (images and Markdown), `i18n`, reading window.state, appearance.theme, packages.list and rendering.state. Details: L2719–2779.
82
82
 
83
- **Test**: `tests/*.test.ts` with `node:test`, run by `vestra-plugin test`. `startPlugin(activate, { directory: new URL("..", import.meta.url) })` from `@vestra-player/sdk/testing` returns `{ host, stop }`, `host` an in-memory player (TestHost): act (`host.command(id).run()`, `host.press(key)`), `await host.settle()`, assert on `host.osd`, `host.window(id).props`… Guide: L2087–2275; TestHost: L12758.
83
+ **Test**: `tests/*.test.ts` with `node:test`, run by `vestra-plugin test`. `startPlugin(activate, { directory: new URL("..", import.meta.url) })` from `@vestra-player/sdk/testing` returns `{ host, stop }`, `host` an in-memory player (TestHost): act (`host.command(id).run()`, `host.press(key)`), `await host.settle()`, assert on `host.osd`, `host.window(id).props`… Guide: L2087–2275; TestHost: L13164.
84
84
 
85
85
  **Command line**
86
86
 
@@ -108,7 +108,7 @@ export default async function activate(plugin: Plugin) {
108
108
  - `limit`: A player-wide limit was reached, a property value is over the limits of PropValue
109
109
  - `reserved`: The id is `vestra` or starts with `vestra.`
110
110
  - `versionMismatch`: The package needs a newer player
111
- - Others: PluginError, llms-full.txt L3780.
111
+ - Others: PluginError, llms-full.txt L3798.
112
112
 
113
113
  ## Reference
114
114
 
@@ -117,30 +117,30 @@ export default async function activate(plugin: Plugin) {
117
117
  - Concepts: How a plugin runs L238–418; Commands, menus and key bindings L419–530; Playback state, controls and sources L531–676; Video and audio processing L677–763; Windows, panels, settings pages, dialogs and the OSD L764–1052
118
118
  - How-to: Control playback L1053–1181; Store a plugin's data L1182–1249; Load subtitles from a plugin L1250–1328; Keep a slider responsive while dragging L1329–1503; Remember a window's state between runs L1504–1633; Offer a GPU rendering switch L1634–1754; Translate a plugin L1755–1938; Migrate a plugin to English source text L1939–2086; Test a plugin L2087–2275; Publish a plugin L2276–2364; Migrating off package rollback (1.5.16, removed in 1.5.17) L2365–2440
119
119
  - Guidelines: Interface guidelines L2441–2548; Menu guidelines L2549–2645
120
- - Reference: Manifest L2646–2716; Capabilities L2717–2777; Limits L2778–2907; Commands, menus and bindings L2908–3391; Platforms L3392–3422; Theme L3423–3644; Command line L3645–3702
121
- - [API: @vestra-player/sdk](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk.html): L3703–12442
122
- - [API: @vestra-player/sdk/testing](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk_testing.html): L12443–15162
120
+ - Reference: Manifest L2646–2718; Capabilities L2719–2779; Limits L2780–2925; Commands, menus and bindings L2926–3409; Platforms L3410–3440; Theme L3441–3662; Command line L3663–3720
121
+ - [API: @vestra-player/sdk](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk.html): L3721–12837
122
+ - [API: @vestra-player/sdk/testing](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk_testing.html): L12838–15662
123
123
 
124
124
  ## API
125
125
 
126
126
  Where each `plugin.<module>` is declared:
127
127
 
128
- - Plugin L4106, Scope L3855, PluginError L3780, Disposable L3718
129
- - Commands L4503; Windows L5440; Panels L6886; Dialogs L7554; Player L8295; video: VideoFilter L9175, VideoView L9275, RenderOptions L9362, VideoUpscaling L9558; audio: AudioFilter L9220; Subtitles L9754; media: MediaCapture L10158; Resolvers L10388; Packages L10790; Osd L9040; Host L8882; Clipboard L11118; Power L11205; Tools L11264; Storage L11416; System L11615; Secrets L11695; window: MainWindow L7203; App L7383; Rendering L11958; Bindings L11018; Ui L4792; Timeline L7115; Drops L6133; Appearance L6214; I18n L6447; Settings L6730.
128
+ - Plugin L4137, Scope L3873, PluginError L3798, Disposable L3736
129
+ - Commands L4724; When L4322; Windows L5661; Panels L7107; Dialogs L7777; Player L8518; video: VideoFilter L9398, VideoView L9498, RenderOptions L9585, VideoShaders L9663, VideoUpscaling L9909; audio: AudioFilter L9443; Subtitles L10105; media: MediaCapture L10509; Resolvers L10739; Packages L11141; Osd L9263; Host L9105; Clipboard L11470; Power L11557; Tools L11616; Storage L11768; System L11967; Secrets L12047; window: MainWindow L7424; App L7604; Rendering L12310; Bindings L11369; Ui L5013; Timeline L7336; Drops L6354; Appearance L6435; I18n L6668; Settings L6951.
130
130
 
131
131
  ## Examples
132
132
 
133
133
  Tested plugins in [examples/](https://github.com/vestrasys/vestra-player-sdk/tree/main/examples):
134
134
 
135
- - hello: The README Quick start: one menu command and an on-screen message. L15597–15686
136
- - blur: A tool window with one slider that blurs the playing video. L15687–15948
137
- - signal-generator: Generates its own video and audio: colour bars and a 1 kHz tone. L15949–16281
138
- - bookmark: A tool window bound to the playback state: remember the position and jump back to it. L16282–16468
139
- - panel-menu: A sidebar panel with its own right-click menu. L16469–16677
140
- - menus: Radio menu items, separator groups and a menu item whose title changes. L16678–16837
141
- - theme-widgets: A tool window drawn with the player's theme and widgets. L16838–17001
142
- - markdown: A window that shows a Markdown document. L17002–17198
143
- - i18n: A plugin in the player's language: English source text, a Chinese translation. L17199–17366
135
+ - hello: The README Quick start: one menu command and an on-screen message. L16097–16186
136
+ - blur: A tool window with one slider that blurs the playing video. L16187–16448
137
+ - signal-generator: Generates its own video and audio: colour bars and a 1 kHz tone. L16449–16781
138
+ - bookmark: A tool window bound to the playback state: remember the position and jump back to it. L16782–16968
139
+ - panel-menu: A sidebar panel with its own right-click menu. L16969–17177
140
+ - menus: Radio menu items, separator groups and a menu item whose title changes. L17178–17337
141
+ - theme-widgets: A tool window drawn with the player's theme and widgets. L17338–17501
142
+ - markdown: A window that shows a Markdown document. L17502–17698
143
+ - i18n: A plugin in the player's language: English source text, a Chinese translation. L17699–17866
144
144
 
145
145
  ## Optional
146
146
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vestra-player/sdk",
3
- "version": "1.5.38",
3
+ "version": "1.5.40",
4
4
  "description": "Plugin API types, test host and plugin CLI for Vestra Player (apiVersion vestra/1)",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {