MCPcopy
hub / github.com/bbycroft/llm-viz / indexMappingLines

Function indexMappingLines

src/llm/Annotations.ts:368–387  ·  view source on GitHub ↗
(state: IRenderState, layout: IModelLayout, blkSrc: IBlkDef, blkDest: IBlkDef, color: Vec4, srcPad: number, destPad: number, srcIdx: number, destIdx: number, lineFract: number)

Source from the content-addressed store, hash-verified

366}
367
368export function indexMappingLines(state: IRenderState, layout: IModelLayout, blkSrc: IBlkDef, blkDest: IBlkDef, color: Vec4, srcPad: number, destPad: number, srcIdx: number, destIdx: number, lineFract: number) {
369
370 // assume all in x-y plane, and idx's are in x, and src is above dest
371
372 let top = blkSrc.y + blkSrc.dy + srcPad;
373 let bot = blkDest.y - destPad;
374 let midY = lerp(top, bot, lineFract);
375 let z = 0; // blkSrc.z + blkSrc.dz;
376
377 let srcX = cellPosition(layout, blkSrc, Dim.X, srcIdx) + layout.cell * 0.5;
378 let destX = cellPosition(layout, blkDest, Dim.X, destIdx) + layout.cell * 0.5;
379
380 // dogleg line, using only horizontal and vertical lines
381
382 let n = new Vec3(0, 0, 1);
383 let thick = layout.cell * 0.025;
384 addLine(state.lineRender, thick, color, new Vec3(srcX, top, z), new Vec3(srcX, midY, z), n);
385 addLine(state.lineRender, thick, color, new Vec3(srcX, midY, z), new Vec3(destX, midY, z), n);
386 addLine(state.lineRender, thick, color, new Vec3(destX, midY, z), new Vec3(destX, bot, z), n);
387}
388
389/* Returns all subblocks along a given dimension that overlap the provided range
390

Callers 1

walkthroughDetailedFunction · 0.90

Calls 3

lerpFunction · 0.90
cellPositionFunction · 0.90
addLineFunction · 0.90

Tested by

no test coverage detected