From 0e6430e648ee2b3c0c2b6f9d47faab194e1adb47 Mon Sep 17 00:00:00 2001 From: Adnaan Badr Date: Sat, 15 Aug 2026 14:57:16 +0000 Subject: [PATCH] docs(readme): say what the client does, not what it enables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Overview opened with "The LiveTemplate client enables reactive web applications by efficiently applying tree-based HTML updates" — the product as subject, and a verb ("enables") standing in for the thing it actually does. The docs site mirrors this file to /client, which now has a written voice (livetemplate/docs VOICE.md). This brings the opener in line with it. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_0166MK1arBYbVZq6wfm8EsQZ --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fbe11ed..ef51c81 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ TypeScript/JavaScript client library for LiveTemplate - reactive HTML over the w ## Overview -The LiveTemplate client enables reactive web applications by efficiently applying tree-based HTML updates from the server. It uses DOM morphing, intelligent static content caching, and WebSocket transport for real-time interactivity. +The server sends tree-based HTML updates; this client applies them to the DOM. It morphs the existing nodes rather than replacing them, keeps the static parts of the page cached, and carries actions and updates over a WebSocket. ## Features @@ -138,7 +138,7 @@ The client supports six native HTML5 drag events as `lvt-on:*` bindings: `dragst - **Throttle dragover**: `dragover` fires at ~60 Hz. Add `lvt-mod:throttle="100"` (or higher) to any `dragover` handler bound to a real action, or use the marker pattern. - **v1 limitation**: `effectAllowed` and `dropEffect` are hardcoded to `"move"`. Copy/link drag semantics are not yet configurable. -## How It Works +## How it works 1. **Initial Render**: Client fetches full HTML from server, caches static structure 2. **Updates**: Server sends only changed dynamic values as tree updates