diff --git a/.vitepress/config.ts b/.vitepress/config.ts index f381039..fe5fee2 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -89,6 +89,7 @@ export default defineConfig({ { text: 'WebGL Recipes', link: '/canvas/guides/webgl-recipes' }, { text: 'WebGPU Recipes', link: '/canvas/guides/webgpu-recipes' }, { text: 'Images and ImageBitmap', link: '/canvas/guides/images-and-bitmaps' }, + { text: 'OffscreenCanvas and Workers', link: '/canvas/guides/offscreen-canvas' }, { text: 'Fonts', link: '/canvas/guides/fonts' }, ], }, @@ -99,6 +100,7 @@ export default defineConfig({ { text: 'Events and Input', link: '/canvas/events' }, { text: 'Performance', link: '/canvas/performance' }, { text: 'API Overview', link: '/canvas/api' }, + { text: 'Web API Compatibility', link: '/canvas/compatibility' }, { text: 'Ecosystem Packages', link: '/canvas/ecosystem' }, ], }, @@ -114,6 +116,7 @@ export default defineConfig({ text: 'Guides', items: [ { text: 'Properties and Events', link: '/canvas-svg/guides/properties-and-events' }, + { text: 'Styling', link: '/canvas-svg/guides/styling' }, { text: 'Building SVG with the DOM', link: '/canvas-svg/guides/dom' }, { text: 'Animation', link: '/canvas-svg/guides/animation' }, { text: 'Drawing SVG into a Canvas', link: '/canvas-svg/guides/canvas-integration' }, diff --git a/.vitepress/theme/PluginsHome.vue b/.vitepress/theme/PluginsHome.vue index 621acab..25bf66b 100644 --- a/.vitepress/theme/PluginsHome.vue +++ b/.vitepress/theme/PluginsHome.vue @@ -13,7 +13,7 @@ const plugins = [ stats: { contexts: '2D + WebGL + WebGPU', engine: 'Skia + WGPU', - platforms: 'iOS, tvOS, visionOS & Android', + platforms: 'Apple, Android & Windows', }, }, { @@ -304,7 +304,7 @@ onBeforeUnmount(() => {
- iOS, tvOS, visionOS & Android + Apple, Android & Windows
diff --git a/.vitepress/theme/components/AudioDocsHome.vue b/.vitepress/theme/components/AudioDocsHome.vue index d1670cb..85bebb3 100644 --- a/.vitepress/theme/components/AudioDocsHome.vue +++ b/.vitepress/theme/components/AudioDocsHome.vue @@ -11,7 +11,7 @@ const rootRef = ref(null);

Native audio graphs with a web-audio mental model

@nativescript/audio-context

- Build playback, synthesis, effects, routing, and offline rendering pipelines on iOS, tvOS, visionOS and Android with a familiar AudioContext-style API. + Build playback, synthesis, effects, routing, and offline rendering pipelines on iOS, tvOS, visionOS, Android and Windows with a familiar AudioContext-style API.

diff --git a/.vitepress/theme/components/CanvasDocsHome.vue b/.vitepress/theme/components/CanvasDocsHome.vue index ca09f2a..cad8637 100644 --- a/.vitepress/theme/components/CanvasDocsHome.vue +++ b/.vitepress/theme/components/CanvasDocsHome.vue @@ -17,7 +17,7 @@ const rootRef = ref(null);

- iOS, tvOS, visionOS + Android + iOS, tvOS, visionOS, Android + Windows Skia-backed rendering GPU-ready workflows Web API muscle memory diff --git a/.vitepress/theme/components/CanvasHome.vue b/.vitepress/theme/components/CanvasHome.vue index 884b39b..55cd5c1 100644 --- a/.vitepress/theme/components/CanvasHome.vue +++ b/.vitepress/theme/components/CanvasHome.vue @@ -167,7 +167,7 @@ onBeforeUnmount(() => { Canvas Docs - Set up @nativescript/canvas and render with native iOS, tvOS, visionOS and Android surfaces. + Set up @nativescript/canvas and render with native iOS, tvOS, visionOS, Android and Windows surfaces. Rendering Recipes diff --git a/content/audio-context/installation.md b/content/audio-context/installation.md index 7442d81..d55bf32 100644 --- a/content/audio-context/installation.md +++ b/content/audio-context/installation.md @@ -20,7 +20,8 @@ npm install @nativescript/audio-context ## Requirements - `@nativescript/audio-context` 2.x requires **NativeScript 9.1 or later**. Pair it with `@nativescript/canvas` 3.x if you use both packages. -- Supported platforms: iOS, tvOS, visionOS and Android. The tvOS simulator build is arm64 only, so use an Apple silicon Mac to run it in the simulator. +- Supported platforms: iOS, tvOS, visionOS, Android, Windows and Linux. The tvOS simulator build is arm64 only, so use an Apple silicon Mac to run it in the simulator. +- On Windows and Linux the graph is rendered by the [web-audio-api](https://github.com/orottier/web-audio-api-rs) engine, playing through WASAPI on Windows and ALSA on Linux (PulseAudio and PipeWire work through their ALSA plugins). `decodeAudioData` reads WAV, MP3, Ogg Vorbis, FLAC and AAC. A `WaveShaperNode` takes only one curve: assigning a second throws `InvalidStateError`. ## Verify setup diff --git a/content/canvas-svg/guides/animation.md b/content/canvas-svg/guides/animation.md index be38639..789f8de 100644 --- a/content/canvas-svg/guides/animation.md +++ b/content/canvas-svg/guides/animation.md @@ -38,7 +38,9 @@ A `begin` that waits for an event (such as `click`) never starts on its own. ``` - Keyword easings and `cubic-bezier()` are supported. `steps()` runs as linear. -- Only `#id` selectors are read, which is what SVG exporters produce. +- Any selector that the [stylesheet](/canvas-svg/guides/styling#selectors) supports can start an animation, and so can an element's own `style="animation: …"`. `@keyframes` can be in any `