With depth = time, #agents/3d drew subagents behind the session that spawned them. A subagent took the mtime of its meta.json, which is rewritten when it finishes, and a session took the moment the hub first saw its name, or the window end when it had none. Sessions now take the first line of their transcript and subagents the first line of theirs, both from /api/subagents, with the old values as fallback. SpaceView.notBeforeParent moves a spawned node without a time, or with one before its parent's, to its parent's time, nested subagents included, so no subagent lies before the agent that spawned it. The 3D signature carries the time, so the nodes move once the lifetimes load. 🎯 Fix: 93 % 💥 Break: 2 % 💸 Cost: 100 % ⏱️ Time: – 🛡️ Security: 100 % 🏆 Score: 91 🚦 Gate: ✅ 90/5, cost and time <= 100, security 100 % Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
17 lines
986 B
JavaScript
17 lines
986 B
JavaScript
const Space = (() => {
|
|
"use strict";
|
|
const {DEFAULTS, LIMITS, AXES, DEPTH, REACH, ease, turn, rotation, apply, camera, project, depthSort, depthOf, notBeforeParent, clampView, tidy, tween, lens, place, horizon, compass} = typeof SpaceView === "object" ? SpaceView : require("./space-view.js");
|
|
const {TONES, ARC_CAP, bend, moon, nameAt, tree, capArcs, scene} = typeof SpaceScene === "object" ? SpaceScene : require("./space-scene.js");
|
|
const {paint} = typeof SpacePaint === "object" ? SpacePaint : require("./space-paint.js");
|
|
const {pick} = typeof SpacePick === "object" ? SpacePick : require("./space-pick.js");
|
|
|
|
return {
|
|
DEFAULTS, LIMITS, AXES, TONES, ARC_CAP, DEPTH, REACH,
|
|
ease, turn, bend, moon, rotation, apply, camera, project, depthSort, depthOf, notBeforeParent, clampView, tidy, tween, nameAt, tree, capArcs, scene, paint, pick,
|
|
lens, place, horizon, compass,
|
|
};
|
|
})();
|
|
if (typeof module === "object" && module.exports) {
|
|
module.exports = Space;
|
|
}
|