docs(todo): drop completed backlog items

The shared-dispatch refactor and the allocation-free `bind_document`
change have landed, so their backlog entries no longer describe work to
be done.
This commit is contained in:
2026-07-03 22:26:25 +02:00
parent 0af71c6ee2
commit aafb0aad0b
-19
View File
@@ -1,20 +1 @@
# TODO
- Unify the schema dispatch shared by validation and navigation.
`child_schemas` (`src/schema/matcher.rs`) re-implements the property and
item dispatch that `check_object` and `check_array` already encode: the
same `properties` lookup, `patternProperties` loop with the
unsupported-regex fallback, `additionalProperties` fall-through, and
`prefixItems`/`items` cascade. The copies have already drifted once
(`check_array` accepts a boolean `items` schema, `child_schemas` ignores
it). Extract shared helpers that yield the subschemas applying to a given
key or index, and have both validation and completion consume them.
- Make `SchemaStore::bind_document` (`src/schema/store.rs`) allocation-free
in the steady state. It runs on every change and clones `doc.uri` and the
detected URL to re-insert a `doc_schema` entry that is almost always
unchanged. When the URL is already in `auto_attempted` it clones the URL
again for an insert that always fails, and clones `doc.uri` for a `waiting`
insert that is a no-op after the first change. Look entries up first and
only insert when the detected URL differs or the document is not yet
recorded, so a keystroke does lookups without allocations.