docs(requirements): split generated helper escape hatches
Split the oversized dx/006 row into preferred helper, hidden render/lower, and escape-hatch surface requirements. req: dx/006 req: dx/009 req: dx/010
This commit is contained in:
+7
-1
@@ -112,7 +112,13 @@ client app state framework.
|
||||
005 Error messages must explain fixes in author language, not internal language. Say “add `h-key="todo.id"` to this `h-for`”, not “missing ScopeKey for ResourceRef”.
|
||||
|
||||
### req: dx/006
|
||||
006 Generated object-like helpers are the preferred authoring API and are re-exported at the component root: `todos.append(todo)`, `todo_row.replace(todo)`, `todo_row.remove(todo_id)`, `summary.set(text)`, `new_todo.clear()`, `new_todo.focus("title")`, `page.replace(view)`, and `game.emit(event)`. These helpers hide hemplate rendering and resource lowering in the common path. Namespaced `targets`, `handles`, `forms`, and raw `advanced::slots` modules remain compatibility/organization and escape-hatch surfaces, not the ordinary call-site shape. The public facade may expose explicit `render(view)`, `target(name)`, `html(value)`, `lower(html)`, or raw effect constructors only as named escape hatches; they must not appear in beginner-prelude exports, canonical handler examples, or ordinary docs. [north_star]
|
||||
006 Generated object-like helpers are the preferred authoring API and are re-exported at the component root, e.g. `todos.append(todo)`, `todo_row.replace(todo)`, `summary.set(text)`, `new_todo.clear()`, and `page.replace(view)`. [north_star]
|
||||
|
||||
### req: dx/009
|
||||
009 Generated object-like helpers hide hemplate rendering and resource lowering in the common path. [north_star]
|
||||
|
||||
### req: dx/010
|
||||
010 Namespaced `targets`, `handles`, `forms`, raw `advanced::slots`, explicit `render(view)`, `target(name)`, `html(value)`, `lower(html)`, and raw effect constructors are compatibility or escape-hatch surfaces, not beginner-prelude exports, canonical handler examples, or ordinary docs. [north_star]
|
||||
|
||||
### req: dx/007
|
||||
007 Tuple composition of `IntoEffect` is the canonical batch syntax: `(a, b, c)` implements `IntoEffect` up to arity 12. `Effect::batch((...))` is available but not required for the happy path.
|
||||
|
||||
Reference in New Issue
Block a user