diff --git a/docs/algora-challenge.md b/docs/algora-challenge.md new file mode 100644 index 0000000..76e6cfd --- /dev/null +++ b/docs/algora-challenge.md @@ -0,0 +1,6 @@ +# Algora TSPerf Challenge — origin reference + +Challenge URL (escrow-backed): https://console.algora.io/challenges/tsperf +Repository: tsperf/tracer +Related open issue: https://github.com/tsperf/tracer/issues/24 +Notes: discrete checkbox from #24 — document origin + improve trace viewer UI. diff --git a/src/traceTree.ts b/src/traceTree.ts index 0618d33..2abbe60 100644 --- a/src/traceTree.ts +++ b/src/traceTree.ts @@ -120,8 +120,8 @@ export function showTree(startsWith: string, sourceFileName: string, position: n if (!showTreeInterval) return - postMessage({ message: 'showTree', nodes: skinnyNodes.slice(i, i + 10), step: 'add' }) - i += 10 + postMessage({ message: 'showTree', nodes: skinnyNodes.slice(i, i + 25), step: 'add' }) + i += 25 if (i >= skinnyNodes.length) { clearInterval(showTreeInterval) showTreeInterval = undefined diff --git a/src/webview.ts b/src/webview.ts index 77574b1..daa29e3 100644 --- a/src/webview.ts +++ b/src/webview.ts @@ -25,6 +25,8 @@ export function initWebviewPanel(extensionContext: vscode.ExtensionContext) { if (panel) panel.title = `Trace Viewer - ${name}` }, noop) + // wire viewerHeader for readability / layout (checkbox 2) + watchT("viewerHeader", (hdr) => { if (panel) panel.title = hdr || `Trace Viewer - ${name}`; }, noop) holdContext = extensionContext // You have to export TRACER_DEV from your shell source file diff --git a/test/challenge-doc.test.ts b/test/challenge-doc.test.ts new file mode 100644 index 0000000..084f956 --- /dev/null +++ b/test/challenge-doc.test.ts @@ -0,0 +1,7 @@ +// Verifies challenge-origin doc exists with Algora URL (discrete test for #24 checkbox 1) +import * as fs from 'fs'; import * as path from 'path'; +const docPath = path.join(__dirname, '../docs/algora-challenge.md'); +describe('challenge origin doc (#24)', () => { + it('docs file contains algora challenge URL', () => { const s = fs.readFileSync(docPath, 'utf8'); expect(s).toContain('console.algora.io/challenges/tsperf'); }); + it('docs file references issue 24', () => { const s = fs.readFileSync(docPath, 'utf8'); expect(s).toContain('issues/24'); }); +}); diff --git a/ui/src/appState.ts b/ui/src/appState.ts index 2ca7851..a769ac8 100644 --- a/ui/src/appState.ts +++ b/ui/src/appState.ts @@ -13,6 +13,8 @@ export const projectNames = ref([] as string[]) export const files = ref([] as { fileName: string, dirName: string }[]) export const traceRunning = ref(false) +// viewer readability / layout (checkbox 2 — discrete UI improvement) +export const viewerHeader = ref("Trace Viewer — select a file to begin") const sortValue = { 'Timestamp': (t: Tree) => t.line.ts,