@solidrt/cli 0.0.35 → 0.0.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidrt/cli",
3
- "version": "0.0.35",
3
+ "version": "0.0.36",
4
4
  "license": "MIT",
5
5
  "author": "Antoine van Wel",
6
6
  "type": "module",
@@ -28,17 +28,17 @@
28
28
  "zod": "^4.4.3"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@solidrt/darwin-arm64": "0.0.35",
32
- "@solidrt/linux-arm64-gnu": "0.0.35",
33
- "@solidrt/linux-x64-gnu": "0.0.35",
34
- "@solidrt/win32-x64-msvc": "0.0.35"
31
+ "@solidrt/darwin-arm64": "0.0.36",
32
+ "@solidrt/linux-arm64-gnu": "0.0.36",
33
+ "@solidrt/linux-x64-gnu": "0.0.36",
34
+ "@solidrt/win32-x64-msvc": "0.0.36"
35
35
  },
36
36
  "peerDependencies": {
37
- "@solidrt/core": "0.0.35",
37
+ "@solidrt/core": "0.0.36",
38
38
  "typescript": "^7"
39
39
  },
40
40
  "devDependencies": {
41
- "@solidrt/flux-types": "0.0.35",
41
+ "@solidrt/flux-types": "0.0.36",
42
42
  "@types/bun": "latest"
43
43
  }
44
44
  }
@@ -300,12 +300,15 @@ The tools need a running app: if list_clients is empty, ask the user to start
300
300
  Math.min(dt, cap) lets it through, and one bad frame can corrupt anything
301
301
  integrated from dt (positions fly off, accumulators go so negative they
302
302
  never recover). Math.max(0, Math.min(dt, cap)) costs nothing.
303
- - Frames are demand-gated: JS frame callbacks only run when the previous
304
- frame changed something (input, signal write, GPU upload). An app whose
305
- onFrame returns early without side effects on its first frame never gets
306
- a second one - self-running animation (game clocks, shader-driven
307
- effects) must make one state change at startup to prime the loop; after
308
- that its own writes keep it awake.
303
+ - A registered onFrame is a standing request, not demand-gated: it re-requests
304
+ the next frame every time it runs, so the runtime keeps calling it - and
305
+ presents - every frame at the refresh rate until you deregister it (fps stays
306
+ at the refresh rate on an idle screen; that is the 60fps burn called out in
307
+ the performance notes above). The upside is that a self-running loop - a game
308
+ clock, a shader driver, a stepped VM doing silent CPU work with no console
309
+ output - keeps advancing on its own: it does NOT stall when the body changes
310
+ nothing and needs no startup "prime" write. Deregister onFrame (return its
311
+ cleanup, or let onCleanup fire) whenever there is nothing left to advance.
309
312
  - Layout is incremental: a change re-solves only the dirty path, and clean
310
313
  subtrees answer from a per-node cache, so long lists no longer cap layout
311
314
  (a thousand-node tree relays out in well under a millisecond). If layoutMs
@@ -9,12 +9,12 @@
9
9
  "android": "srt client --android"
10
10
  },
11
11
  "dependencies": {
12
- "@solidrt/core": "0.0.35",
13
- "@solidrt/components": "0.0.35"
12
+ "@solidrt/core": "0.0.36",
13
+ "@solidrt/components": "0.0.36"
14
14
  },
15
15
  "devDependencies": {
16
- "@solidrt/cli": "0.0.35",
17
- "@solidrt/flux-types": "0.0.35",
16
+ "@solidrt/cli": "0.0.36",
17
+ "@solidrt/flux-types": "0.0.36",
18
18
  "typescript": "^7"
19
19
  }
20
20
  }
@@ -325,15 +325,6 @@ function App() {
325
325
  </View>
326
326
  </Card>
327
327
 
328
- <Card title="Text input" layout={{ width: 360 }}>
329
- <TextInput
330
- value={name()}
331
- onInput={setName}
332
- placeholder="Your name"
333
- layout={{ width: 320 }}
334
- />
335
- </Card>
336
-
337
328
  <Card title="Switch and checkbox" layout={{ width: 360 }}>
338
329
  <Row label="Notifications">
339
330
  <Switch value={notify()} onChange={setNotify} />
@@ -459,6 +450,15 @@ function App() {
459
450
  </View>
460
451
  </Card>
461
452
 
453
+ <Card title="Text input" layout={{ width: 360 }}>
454
+ <TextInput
455
+ value={name()}
456
+ onInput={setName}
457
+ placeholder="Your name"
458
+ layout={{ width: 320 }}
459
+ />
460
+ </Card>
461
+
462
462
  <Card title="QR code" layout={{ width: 360 }}>
463
463
  <Text muted>Encodes your name, or a link if the field is empty.</Text>
464
464
  <View layout={{ alignItems: "center" }}>