@kudzujs/core 0.17.2 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
14
14
 
15
15
  > Experimental `0.17.x`: the compiler API and supported TSX surface may change.
16
16
 
17
- **Current release: [0.17.2](https://github.com/kudzujs/kudzu/releases/tag/v0.17.2).** Delayed evaluators cannot regain authority after DOM or source-state release, including same-node remount and state-ID reuse. Keyed conditions now settle correctly when row data and parent selection change in one turn. Native Chrome regressions cover both fixes; static siblings remain JavaScript-free. Generator `create-kudzu@0.1.163` targets core `^0.17.2`. Output sizes have mixed deltas; no speed improvement is claimed. Restoration latency and AI-cost/1.0 gates remain unresolved.
17
+ **Current release: [0.17.4](https://github.com/kudzujs/kudzu/releases/tag/v0.17.4).** Array updates made before the list runtime arrives now reach visible row text and attributes on mounting. The compiler output preserves row identity and uncontrolled input values. Removing the incorrect initial shortcut saves 264 raw JavaScript bytes in C2; static siblings remain JavaScript-free. Generator `create-kudzu@0.1.165` targets core `^0.17.4`. Initial mounting performs necessary row writes; no speed improvement is claimed. Restoration latency and AI-cost/1.0 gates remain unresolved.
18
18
 
19
19
  - [Documentation](https://kudzujs.cloud/docs)
20
20
  - [Installation guide](https://kudzujs.cloud/docs#install)
@@ -97,6 +97,7 @@ function mountLists(root) {
97
97
  ownedLists.set(list.owner, lists)
98
98
  listRegistrations.set(start, { list, owner: list.owner })
99
99
  } else if (descriptor.source) {
100
+ listRegistrations.set(start, { states: [], list })
100
101
  if (descriptor.children) updateList(list)
101
102
  const load = {}
102
103
  listLoads.set(start, load)
@@ -180,19 +181,6 @@ function updateList(list) {
180
181
  keys.add(token)
181
182
  entries.push({ item, index, key, token, value: referenceOnly ? item : seededValue === undefined ? JSON.stringify(item) : seededValue })
182
183
  }
183
- if (list.items === undefined && list.parts.directFill && entries.length === list.roots.size) {
184
- const roots = __KUDZU_LIST_STABLE_FAST_PATHS__ ? list.orderedRoots : [...list.roots.values()]
185
- if (entries.every((entry, index) => list.roots.get(entry.token) === roots[index])) {
186
- for (let index = 0; index < entries.length; index++) {
187
- const entry = entries[index]
188
- listItems.set(roots[index], entry.item)
189
- if (__KUDZU_LIST_INDEXES__) listIndexes.set(roots[index], index)
190
- if (!referenceOnly) list.values.set(entry.token, entry.value)
191
- }
192
- list.items = items
193
- return
194
- }
195
- }
196
184
  if (list.descriptor.key !== null && !list.descriptor.indexed && !list.descriptor.selector && (referenceOnly || list.values.size) && entries.every(entry => {
197
185
  const root = list.roots.get(entry.token)
198
186
  return !root || (referenceOnly ? listItems.get(root) === entry.item : list.values.get(entry.token) === entry.value)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.17.2",
3
+ "version": "0.17.4",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",