{"openapi":"3.1.0","info":{"title":"KMP Visualizer","description":"Step through the Knuth–Morris–Pratt algorithm: watch the failure/partial-match table get built, then see the pattern slide across the text with every comparison, jump, and match highlighted.","version":"1.0"},"servers":[{"url":"https://dabbled.ai"}],"paths":{"/apps/kmp-visualizer":{"get":{"operationId":"kmpVisualizer","summary":"Step through the Knuth–Morris–Pratt algorithm: watch the failure/partial-match table get built, then see the pattern slide across the text with every comparison, jump, and match highlighted.","parameters":[{"name":"text","in":"query","required":true,"description":"Text to search in","schema":{"type":"string"}},{"name":"pattern","in":"query","required":true,"description":"Pattern to find","schema":{"type":"string"}},{"name":"case_sensitive","in":"query","required":false,"description":"Case sensitive comparison","schema":{"type":"boolean"}},{"name":"mode","in":"query","required":false,"description":"What to visualize","schema":{"type":"string","enum":["Build table only","Search (auto-build table)"]}},{"name":"index_base","in":"query","required":false,"description":"Index base for display","schema":{"type":"string","enum":["0","1"]}},{"name":"speed_ms","in":"query","required":false,"description":"Milliseconds per step during playback","schema":{"type":"number"}}],"responses":{"200":{"description":"Rendered app reflecting the given inputs."}}}}}}