mindweave 3.2.4 → 3.2.6
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/dist/cli/App.js +22 -10
- package/dist/cli/App.js.map +1 -1
- package/dist/cli/blockHeights.js +99 -3
- package/dist/cli/blockHeights.js.map +1 -1
- package/dist/cli/transcript.js +44 -6
- package/dist/cli/transcript.js.map +1 -1
- package/dist/dynamo/prompt.js +2 -2
- package/dist/tools/subagent.js +8 -4
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/subagentOutcome.js +3 -2
- package/dist/tools/subagentOutcome.js.map +1 -1
- package/dist/tools/verifierRun.js +2 -1
- package/dist/tools/verifierRun.js.map +1 -1
- package/dist/tools/verifyReport.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/App.js
CHANGED
|
@@ -76,7 +76,7 @@ import { isTight } from "./blockSpacing.js";
|
|
|
76
76
|
import { parseScreenArg, screenChoices, screenNotice, startupMode } from "./screenMode.js";
|
|
77
77
|
import { applyScreenMode } from "./screenShell.js";
|
|
78
78
|
import { saveScreenMode } from "./screenStore.js";
|
|
79
|
-
import { needsMeasure, pruneHeights } from "./blockHeights.js";
|
|
79
|
+
import { FULL_TAIL_BLOCKS, needsMeasure, pruneHeights, seedHeights } from "./blockHeights.js";
|
|
80
80
|
import { expandableAt, hitBlock, hitItem } from "./expandHits.js";
|
|
81
81
|
import { shellNote } from "./shellNotes.js";
|
|
82
82
|
import { readFileSync, statSync } from "node:fs";
|
|
@@ -3761,15 +3761,27 @@ export function App({ resumeSessionId, initialScreen }) {
|
|
|
3761
3761
|
// bottom — so in practice this prefix is everything but the last block or two.
|
|
3762
3762
|
let known = 0;
|
|
3763
3763
|
const knownHeights = [];
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3764
|
+
const extendKnown = () => {
|
|
3765
|
+
while (known < rendered.length) {
|
|
3766
|
+
const block = rendered[known];
|
|
3767
|
+
const entry = blockHeights.current.get(block.id);
|
|
3768
|
+
// The identity check IS the invalidation: a block that changed is a new object, so
|
|
3769
|
+
// its recorded height belongs to the version before the change.
|
|
3770
|
+
if (entry === undefined || entry.block !== block)
|
|
3771
|
+
break;
|
|
3772
|
+
knownHeights.push(entry.height);
|
|
3773
|
+
known++;
|
|
3774
|
+
}
|
|
3775
|
+
};
|
|
3776
|
+
extendKnown();
|
|
3777
|
+
// A long conversation reopened has no heights at all, and laying every block out in full just to
|
|
3778
|
+
// learn them cost about a millisecond each: 28 seconds for a very long session, with nothing on the
|
|
3779
|
+
// screen until it was done. Only the newest few hundred are laid out now (they are the ones in view);
|
|
3780
|
+
// the older ones take an ESTIMATE that is marked as one, exactly as after a resize, and each is
|
|
3781
|
+
// measured for real the first time it comes near the window. See seedHeights.
|
|
3782
|
+
if (rendered.length - known > FULL_TAIL_BLOCKS) {
|
|
3783
|
+
seedHeights(blockHeights.current, rendered, known, width);
|
|
3784
|
+
extendKnown();
|
|
3773
3785
|
}
|
|
3774
3786
|
const win = virtualWindow(knownHeights, -chatOffset, chatRows);
|
|
3775
3787
|
if (perfEnabled()) {
|