diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8ffbf25..7421f61 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
## Unreleased
+### Fixed
+
+- `vapor_split/1` no longer drops slots when a text node comes before an element. Vapor counts text nodes when it navigates the template, so in `
a` the split looked for the wrong element and silently left `{{ b }}` out. Elements are now located by their DOM node position.
+- `vapor_split/1` returns an error if it can't locate an element a slot or binding belongs to, instead of leaving the slot out.
+
## 0.16.0 - 2026-10-01
### Added
diff --git a/README.md b/README.md
index bf3be7c..5d11f9d 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
[](https://hex.pm/packages/vize) [](https://hexdocs.pm/vize)
-Elixir bindings for [Vize](https://vizejs.dev), a Vue.js toolchain written in Rust. Parse, analyze, lint, and compile Vue single-file components from Elixir, including Vapor mode and its intermediate representation, plus a LightningCSS-based CSS pipeline.
+Elixir bindings for [Vize](https://vizejs.dev), a [Vue.js](https://vuejs.org) toolchain written in Rust. Parse, analyze, lint, and compile Vue [single-file components](https://vuejs.org/guide/scaling-up/sfc.html) from Elixir, including [Vapor mode](https://github.com/vuejs/core/releases/tag/v3.6.0-beta.1#about-vapor-mode) and its intermediate representation, plus a [LightningCSS](https://lightningcss.dev)-based CSS pipeline.
```elixir
{:ok, result} =
diff --git a/guides/features/sfc.md b/guides/features/sfc.md
index b275f14..13ddc8a 100644
--- a/guides/features/sfc.md
+++ b/guides/features/sfc.md
@@ -1,5 +1,7 @@
# Single-File Components
+A [single-file component](https://vuejs.org/guide/scaling-up/sfc.html) is a `.vue` file with a template, scripts, and styles. Vue's [SFC syntax specification](https://vuejs.org/api/sfc-spec.html) describes the blocks.
+
## Parsing
`Vize.parse_sfc/1` returns the descriptor: the template, `