[{"data":1,"prerenderedAt":1160},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fstable-caption-ui":224,"\u002Fguides\u002Fstable-caption-ui-surround":1155},[4,24,60,88,120,152,196],{"title":5,"path":6,"stem":7,"children":8,"icon":23},"Start","\u002Fstart","1.start\u002F1.index",[9,11,15,19],{"title":10,"path":6,"stem":7},"Overview",{"title":12,"path":13,"stem":14},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F2.quickstart",{"title":16,"path":17,"stem":18},"Authentication","\u002Fstart\u002Fauthentication","1.start\u002F3.authentication",{"title":20,"path":21,"stem":22},"Choose an API","\u002Fstart\u002Fchoose-an-api","1.start\u002F5.choose-an-api","i-lucide-rocket",{"title":25,"path":26,"stem":27,"children":28,"icon":59},"Realtime","\u002Frealtime","2.realtime\u002F1.index",[29,31,35,39,43,47,51,55],{"title":30,"path":26,"stem":27},"Realtime Overview",{"title":32,"path":33,"stem":34},"Realtime Quickstart","\u002Frealtime\u002Fquickstart","2.realtime\u002F2.quickstart",{"title":36,"path":37,"stem":38},"Connection Lifecycle","\u002Frealtime\u002Fconnection-lifecycle","2.realtime\u002F3.connection-lifecycle",{"title":40,"path":41,"stem":42},"Audio Input","\u002Frealtime\u002Faudio-input","2.realtime\u002F4.audio-input",{"title":44,"path":45,"stem":46},"Transcript Lifecycle","\u002Frealtime\u002Ftranscript-lifecycle","2.realtime\u002F5.transcript-lifecycle",{"title":48,"path":49,"stem":50},"Realtime Translation","\u002Frealtime\u002Frealtime-translation","2.realtime\u002F6.realtime-translation",{"title":52,"path":53,"stem":54},"Session Configuration","\u002Frealtime\u002Fsession-configuration","2.realtime\u002F7.session-configuration",{"title":56,"path":57,"stem":58},"Handling Interruptions & Silence","\u002Frealtime\u002Finterruptions-silence","2.realtime\u002F8.interruptions-silence","i-lucide-radio",{"title":61,"path":62,"stem":63,"children":64,"icon":87},"Recorded","\u002Frecorded","3.recorded\u002F1.index",[65,67,71,75,79,83],{"title":66,"path":62,"stem":63},"Recorded Overview",{"title":68,"path":69,"stem":70},"Transcribe Audio","\u002Frecorded\u002Ftranscribe-audio","3.recorded\u002F2.transcribe-audio",{"title":72,"path":73,"stem":74},"Timestamps & Speakers","\u002Frecorded\u002Ftimestamps-speakers","3.recorded\u002F3.timestamps-speakers",{"title":76,"path":77,"stem":78},"Subtitles","\u002Frecorded\u002Fsubtitles","3.recorded\u002F4.subtitles",{"title":80,"path":81,"stem":82},"Recorded Translation","\u002Frecorded\u002Ftranslation","3.recorded\u002F5.translation",{"title":84,"path":85,"stem":86},"Structured Results","\u002Frecorded\u002Fstructured-results","3.recorded\u002F6.structured-results","i-lucide-file-audio",{"title":89,"path":90,"stem":91,"children":92,"icon":119},"Concepts","\u002Fconcepts","4.concepts\u002F1.index",[93,95,99,103,107,111,115],{"title":94,"path":90,"stem":91},"Voice Context Layer",{"title":96,"path":97,"stem":98},"Stable vs. Partial Text","\u002Fconcepts\u002Fstable-vs-partial-text","4.concepts\u002F2.stable-vs-partial-text",{"title":100,"path":101,"stem":102},"StableStream","\u002Fconcepts\u002Fstablestream","4.concepts\u002F3.stablestream",{"title":104,"path":105,"stem":106},"Context-Aware Processing","\u002Fconcepts\u002Fcontext-aware-processing","4.concepts\u002F4.context-aware-processing",{"title":108,"path":109,"stem":110},"Understanding Latency","\u002Fconcepts\u002Flatency","4.concepts\u002F5.latency",{"title":112,"path":113,"stem":114},"Live Translation","\u002Fconcepts\u002Flive-translation","4.concepts\u002F6.live-translation",{"title":116,"path":117,"stem":118},"Trinity Engine","\u002Fconcepts\u002Ftrinity-engine","4.concepts\u002F7.trinity-engine","i-lucide-brain",{"title":121,"path":122,"stem":123,"children":124,"icon":151},"Guides","\u002Fguides","5.guides\u002F1.index",[125,127,131,135,139,143,147],{"title":126,"path":122,"stem":123},"Browser Live Captions",{"title":128,"path":129,"stem":130},"Server-side Streaming","\u002Fguides\u002Fserver-side-streaming","5.guides\u002F2.server-side-streaming",{"title":132,"path":133,"stem":134},"Build a Stable Caption UI","\u002Fguides\u002Fstable-caption-ui","5.guides\u002F3.stable-caption-ui",{"title":136,"path":137,"stem":138},"Build Live Translation","\u002Fguides\u002Flive-translation","5.guides\u002F4.live-translation",{"title":140,"path":141,"stem":142},"Save a Transcript","\u002Fguides\u002Fsave-transcript","5.guides\u002F5.save-transcript",{"title":144,"path":145,"stem":146},"Reconnect a Live Session","\u002Fguides\u002Freconnection","5.guides\u002F6.reconnection",{"title":148,"path":149,"stem":150},"Client-VAD speech segments","\u002Fguides\u002Fclient-vad-segments","5.guides\u002F7.client-vad-segments","i-lucide-book-open",{"title":153,"path":154,"stem":155,"children":156,"icon":195},"Reference","\u002Fapi-reference","6.api-reference\u002F1.index",[157,159,163,167,171,175,179,183,187,191],{"title":158,"path":154,"stem":155},"API Reference Overview",{"title":160,"path":161,"stem":162},"Admin API","\u002Fapi-reference\u002Fadmin","6.api-reference\u002F10.admin",{"title":164,"path":165,"stem":166},"Realtime API","\u002Fapi-reference\u002Frealtime-api","6.api-reference\u002F2.realtime-api",{"title":168,"path":169,"stem":170},"Client Messages","\u002Fapi-reference\u002Fclient-messages","6.api-reference\u002F3.client-messages",{"title":172,"path":173,"stem":174},"Server Events","\u002Fapi-reference\u002Fserver-events","6.api-reference\u002F4.server-events",{"title":176,"path":177,"stem":178},"Segment Transcription API","\u002Fapi-reference\u002Fsegment-transcription","6.api-reference\u002F5.segment-transcription",{"title":180,"path":181,"stem":182},"Batch Transcription Jobs","\u002Fapi-reference\u002Fbatch-jobs","6.api-reference\u002F6.batch-jobs",{"title":184,"path":185,"stem":186},"Languages & Models","\u002Fapi-reference\u002Flanguages","6.api-reference\u002F7.languages",{"title":188,"path":189,"stem":190},"Errors","\u002Fapi-reference\u002Ferrors","6.api-reference\u002F8.errors",{"title":192,"path":193,"stem":194},"Rate Limits","\u002Fapi-reference\u002Frate-limits","6.api-reference\u002F9.rate-limits","i-lucide-code",{"title":197,"path":198,"stem":199,"children":200,"icon":223},"Production","\u002Fproduction","7.production\u002F1.index",[201,203,207,211,215,219],{"title":202,"path":198,"stem":199},"Production Checklist",{"title":204,"path":205,"stem":206},"Reconnection & Retries","\u002Fproduction\u002Freconnection-retries","7.production\u002F2.reconnection-retries",{"title":208,"path":209,"stem":210},"Latency Best Practices","\u002Fproduction\u002Flatency-best-practices","7.production\u002F3.latency-best-practices",{"title":212,"path":213,"stem":214},"Security & Privacy","\u002Fproduction\u002Fsecurity-privacy","7.production\u002F4.security-privacy",{"title":216,"path":217,"stem":218},"Data Retention","\u002Fproduction\u002Fdata-retention","7.production\u002F5.data-retention",{"title":220,"path":221,"stem":222},"Changelog","\u002Fproduction\u002Fchangelog","7.production\u002F6.changelog","i-lucide-server",{"id":225,"title":132,"body":226,"description":1148,"draft":1149,"extension":1150,"links":1151,"meta":1152,"navigation":317,"path":133,"seo":1153,"status":1151,"stem":134,"__hash__":1154},"docs\u002F5.guides\u002F3.stable-caption-ui.md",{"type":227,"value":228,"toc":1137},"minimark",[229,233,238,241,249,253,258,556,560,809,813,832,836,839,1026,1030,1111,1115,1133],[230,231,232],"p",{},"How to consume realtime transcription events and build a caption UI that doesn't jitter.",[234,235,237],"h2",{"id":236},"the-problem-with-naive-approaches","The problem with naive approaches",[230,239,240],{},"A naive live caption UI might try to update text on every event. With partial-text systems, this causes visible jitter as words are repeatedly replaced.",[230,242,243,244,248],{},"LansonAI's StableStream eliminates this: each ",[245,246,247],"code",{},"conversation.item.input_audio_transcription.completed"," event contains final, stable text.",[234,250,252],{"id":251},"recommended-render-strategy","Recommended render strategy",[254,255,257],"h3",{"id":256},"append-only-display","Append-only display",[259,260,265],"pre",{"className":261,"code":262,"language":263,"meta":264,"style":264},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const captions = document.getElementById('captions');\n\nws.onmessage = (event) => {\n  const data = JSON.parse(event.data);\n\n  if (data.type === 'conversation.item.input_audio_transcription.completed') {\n    \u002F\u002F Append directly — text is final, no replacement needed\n    const p = document.createElement('p');\n    p.dataset.utterance = data.utterance_index;\n    p.textContent = data.text;\n    captions.appendChild(p);\n    captions.scrollTop = captions.scrollHeight;\n  }\n};\n","typescript","",[245,266,267,312,319,348,381,386,418,425,455,482,503,522,544,550],{"__ignoreMap":264},[268,269,272,276,280,284,287,290,294,297,300,304,306,309],"span",{"class":270,"line":271},"line",1,[268,273,275],{"class":274},"spNyl","const",[268,277,279],{"class":278},"sTEyZ"," captions ",[268,281,283],{"class":282},"sMK4o","=",[268,285,286],{"class":278}," document",[268,288,289],{"class":282},".",[268,291,293],{"class":292},"s2Zo4","getElementById",[268,295,296],{"class":278},"(",[268,298,299],{"class":282},"'",[268,301,303],{"class":302},"sfazB","captions",[268,305,299],{"class":282},[268,307,308],{"class":278},")",[268,310,311],{"class":282},";\n",[268,313,315],{"class":270,"line":314},2,[268,316,318],{"emptyLinePlaceholder":317},true,"\n",[268,320,322,325,327,330,333,336,340,342,345],{"class":270,"line":321},3,[268,323,324],{"class":278},"ws",[268,326,289],{"class":282},[268,328,329],{"class":292},"onmessage",[268,331,332],{"class":282}," =",[268,334,335],{"class":282}," (",[268,337,339],{"class":338},"sHdIc","event",[268,341,308],{"class":282},[268,343,344],{"class":274}," =>",[268,346,347],{"class":282}," {\n",[268,349,351,354,357,359,362,364,367,370,372,374,377,379],{"class":270,"line":350},4,[268,352,353],{"class":274},"  const",[268,355,356],{"class":278}," data",[268,358,332],{"class":282},[268,360,361],{"class":278}," JSON",[268,363,289],{"class":282},[268,365,366],{"class":292},"parse",[268,368,296],{"class":369},"swJcz",[268,371,339],{"class":278},[268,373,289],{"class":282},[268,375,376],{"class":278},"data",[268,378,308],{"class":369},[268,380,311],{"class":282},[268,382,384],{"class":270,"line":383},5,[268,385,318],{"emptyLinePlaceholder":317},[268,387,389,393,395,397,399,402,405,408,410,412,415],{"class":270,"line":388},6,[268,390,392],{"class":391},"s7zQu","  if",[268,394,335],{"class":369},[268,396,376],{"class":278},[268,398,289],{"class":282},[268,400,401],{"class":278},"type",[268,403,404],{"class":282}," ===",[268,406,407],{"class":282}," '",[268,409,247],{"class":302},[268,411,299],{"class":282},[268,413,414],{"class":369},") ",[268,416,417],{"class":282},"{\n",[268,419,421],{"class":270,"line":420},7,[268,422,424],{"class":423},"sHwdD","    \u002F\u002F Append directly — text is final, no replacement needed\n",[268,426,428,431,434,436,438,440,443,445,447,449,451,453],{"class":270,"line":427},8,[268,429,430],{"class":274},"    const",[268,432,433],{"class":278}," p",[268,435,332],{"class":282},[268,437,286],{"class":278},[268,439,289],{"class":282},[268,441,442],{"class":292},"createElement",[268,444,296],{"class":369},[268,446,299],{"class":282},[268,448,230],{"class":302},[268,450,299],{"class":282},[268,452,308],{"class":369},[268,454,311],{"class":282},[268,456,458,461,463,466,468,471,473,475,477,480],{"class":270,"line":457},9,[268,459,460],{"class":278},"    p",[268,462,289],{"class":282},[268,464,465],{"class":278},"dataset",[268,467,289],{"class":282},[268,469,470],{"class":278},"utterance",[268,472,332],{"class":282},[268,474,356],{"class":278},[268,476,289],{"class":282},[268,478,479],{"class":278},"utterance_index",[268,481,311],{"class":282},[268,483,485,487,489,492,494,496,498,501],{"class":270,"line":484},10,[268,486,460],{"class":278},[268,488,289],{"class":282},[268,490,491],{"class":278},"textContent",[268,493,332],{"class":282},[268,495,356],{"class":278},[268,497,289],{"class":282},[268,499,500],{"class":278},"text",[268,502,311],{"class":282},[268,504,506,509,511,514,516,518,520],{"class":270,"line":505},11,[268,507,508],{"class":278},"    captions",[268,510,289],{"class":282},[268,512,513],{"class":292},"appendChild",[268,515,296],{"class":369},[268,517,230],{"class":278},[268,519,308],{"class":369},[268,521,311],{"class":282},[268,523,525,527,529,532,534,537,539,542],{"class":270,"line":524},12,[268,526,508],{"class":278},[268,528,289],{"class":282},[268,530,531],{"class":278},"scrollTop",[268,533,332],{"class":282},[268,535,536],{"class":278}," captions",[268,538,289],{"class":282},[268,540,541],{"class":278},"scrollHeight",[268,543,311],{"class":282},[268,545,547],{"class":270,"line":546},13,[268,548,549],{"class":282},"  }\n",[268,551,553],{"class":270,"line":552},14,[268,554,555],{"class":282},"};\n",[254,557,559],{"id":558},"with-optional-status-indicators","With optional status indicators",[259,561,563],{"className":261,"code":562,"language":263,"meta":264,"style":264},"ws.onmessage = (event) => {\n  const data = JSON.parse(event.data);\n\n  if (data.type === 'input_audio_buffer.speech_started') {\n    showIndicator(data.utterance_index, 'listening');\n  }\n\n  if (data.type === 'input_audio_buffer.speech_stopped') {\n    showIndicator(data.utterance_index, 'processing');\n  }\n\n  if (data.type === 'conversation.item.input_audio_transcription.completed') {\n    hideIndicator(data.utterance_index);\n    appendCaption(data.utterance_index, data.text);\n  }\n};\n",[245,564,565,585,611,615,640,667,671,675,700,725,729,733,757,774,799,804],{"__ignoreMap":264},[268,566,567,569,571,573,575,577,579,581,583],{"class":270,"line":271},[268,568,324],{"class":278},[268,570,289],{"class":282},[268,572,329],{"class":292},[268,574,332],{"class":282},[268,576,335],{"class":282},[268,578,339],{"class":338},[268,580,308],{"class":282},[268,582,344],{"class":274},[268,584,347],{"class":282},[268,586,587,589,591,593,595,597,599,601,603,605,607,609],{"class":270,"line":314},[268,588,353],{"class":274},[268,590,356],{"class":278},[268,592,332],{"class":282},[268,594,361],{"class":278},[268,596,289],{"class":282},[268,598,366],{"class":292},[268,600,296],{"class":369},[268,602,339],{"class":278},[268,604,289],{"class":282},[268,606,376],{"class":278},[268,608,308],{"class":369},[268,610,311],{"class":282},[268,612,613],{"class":270,"line":321},[268,614,318],{"emptyLinePlaceholder":317},[268,616,617,619,621,623,625,627,629,631,634,636,638],{"class":270,"line":350},[268,618,392],{"class":391},[268,620,335],{"class":369},[268,622,376],{"class":278},[268,624,289],{"class":282},[268,626,401],{"class":278},[268,628,404],{"class":282},[268,630,407],{"class":282},[268,632,633],{"class":302},"input_audio_buffer.speech_started",[268,635,299],{"class":282},[268,637,414],{"class":369},[268,639,417],{"class":282},[268,641,642,645,647,649,651,653,656,658,661,663,665],{"class":270,"line":383},[268,643,644],{"class":292},"    showIndicator",[268,646,296],{"class":369},[268,648,376],{"class":278},[268,650,289],{"class":282},[268,652,479],{"class":278},[268,654,655],{"class":282},",",[268,657,407],{"class":282},[268,659,660],{"class":302},"listening",[268,662,299],{"class":282},[268,664,308],{"class":369},[268,666,311],{"class":282},[268,668,669],{"class":270,"line":388},[268,670,549],{"class":282},[268,672,673],{"class":270,"line":420},[268,674,318],{"emptyLinePlaceholder":317},[268,676,677,679,681,683,685,687,689,691,694,696,698],{"class":270,"line":427},[268,678,392],{"class":391},[268,680,335],{"class":369},[268,682,376],{"class":278},[268,684,289],{"class":282},[268,686,401],{"class":278},[268,688,404],{"class":282},[268,690,407],{"class":282},[268,692,693],{"class":302},"input_audio_buffer.speech_stopped",[268,695,299],{"class":282},[268,697,414],{"class":369},[268,699,417],{"class":282},[268,701,702,704,706,708,710,712,714,716,719,721,723],{"class":270,"line":457},[268,703,644],{"class":292},[268,705,296],{"class":369},[268,707,376],{"class":278},[268,709,289],{"class":282},[268,711,479],{"class":278},[268,713,655],{"class":282},[268,715,407],{"class":282},[268,717,718],{"class":302},"processing",[268,720,299],{"class":282},[268,722,308],{"class":369},[268,724,311],{"class":282},[268,726,727],{"class":270,"line":484},[268,728,549],{"class":282},[268,730,731],{"class":270,"line":505},[268,732,318],{"emptyLinePlaceholder":317},[268,734,735,737,739,741,743,745,747,749,751,753,755],{"class":270,"line":524},[268,736,392],{"class":391},[268,738,335],{"class":369},[268,740,376],{"class":278},[268,742,289],{"class":282},[268,744,401],{"class":278},[268,746,404],{"class":282},[268,748,407],{"class":282},[268,750,247],{"class":302},[268,752,299],{"class":282},[268,754,414],{"class":369},[268,756,417],{"class":282},[268,758,759,762,764,766,768,770,772],{"class":270,"line":546},[268,760,761],{"class":292},"    hideIndicator",[268,763,296],{"class":369},[268,765,376],{"class":278},[268,767,289],{"class":282},[268,769,479],{"class":278},[268,771,308],{"class":369},[268,773,311],{"class":282},[268,775,776,779,781,783,785,787,789,791,793,795,797],{"class":270,"line":552},[268,777,778],{"class":292},"    appendCaption",[268,780,296],{"class":369},[268,782,376],{"class":278},[268,784,289],{"class":282},[268,786,479],{"class":278},[268,788,655],{"class":282},[268,790,356],{"class":278},[268,792,289],{"class":282},[268,794,500],{"class":278},[268,796,308],{"class":369},[268,798,311],{"class":282},[268,800,802],{"class":270,"line":801},15,[268,803,549],{"class":282},[268,805,807],{"class":270,"line":806},16,[268,808,555],{"class":282},[234,810,812],{"id":811},"what-you-do-not-need-to-do","What you do NOT need to do",[814,815,816,820,823,826,829],"ul",{},[817,818,819],"li",{},"❌ No partial → final text replacement mapping",[817,821,822],{},"❌ No waiting for \"stabilization\" (received text is already stable)",[817,824,825],{},"❌ No text rollback or undo",[817,827,828],{},"❌ No debounce or jitter elimination",[817,830,831],{},"❌ No re-rendering of previously shown text",[234,833,835],{"id":834},"scrolling-behavior","Scrolling behavior",[230,837,838],{},"For long sessions, manage scroll behavior:",[259,840,842],{"className":261,"code":841,"language":263,"meta":264,"style":264},"function appendCaption(index, text) {\n  const p = document.createElement('p');\n  p.textContent = text;\n\n  \u002F\u002F Auto-scroll if user is near bottom\n  const isNearBottom =\n    captions.scrollHeight - captions.scrollTop - captions.clientHeight \u003C 100;\n\n  captions.appendChild(p);\n\n  if (isNearBottom) {\n    captions.scrollTop = captions.scrollHeight;\n  }\n}\n",[245,843,844,866,892,907,911,916,926,961,965,982,986,999,1017,1021],{"__ignoreMap":264},[268,845,846,849,852,854,857,859,862,864],{"class":270,"line":271},[268,847,848],{"class":274},"function",[268,850,851],{"class":292}," appendCaption",[268,853,296],{"class":282},[268,855,856],{"class":338},"index",[268,858,655],{"class":282},[268,860,861],{"class":338}," text",[268,863,308],{"class":282},[268,865,347],{"class":282},[268,867,868,870,872,874,876,878,880,882,884,886,888,890],{"class":270,"line":314},[268,869,353],{"class":274},[268,871,433],{"class":278},[268,873,332],{"class":282},[268,875,286],{"class":278},[268,877,289],{"class":282},[268,879,442],{"class":292},[268,881,296],{"class":369},[268,883,299],{"class":282},[268,885,230],{"class":302},[268,887,299],{"class":282},[268,889,308],{"class":369},[268,891,311],{"class":282},[268,893,894,897,899,901,903,905],{"class":270,"line":321},[268,895,896],{"class":278},"  p",[268,898,289],{"class":282},[268,900,491],{"class":278},[268,902,332],{"class":282},[268,904,861],{"class":278},[268,906,311],{"class":282},[268,908,909],{"class":270,"line":350},[268,910,318],{"emptyLinePlaceholder":317},[268,912,913],{"class":270,"line":383},[268,914,915],{"class":423},"  \u002F\u002F Auto-scroll if user is near bottom\n",[268,917,918,920,923],{"class":270,"line":388},[268,919,353],{"class":274},[268,921,922],{"class":278}," isNearBottom",[268,924,925],{"class":282}," =\n",[268,927,928,930,932,934,937,939,941,943,945,947,949,952,955,959],{"class":270,"line":420},[268,929,508],{"class":278},[268,931,289],{"class":282},[268,933,541],{"class":278},[268,935,936],{"class":282}," -",[268,938,536],{"class":278},[268,940,289],{"class":282},[268,942,531],{"class":278},[268,944,936],{"class":282},[268,946,536],{"class":278},[268,948,289],{"class":282},[268,950,951],{"class":278},"clientHeight",[268,953,954],{"class":282}," \u003C",[268,956,958],{"class":957},"sbssI"," 100",[268,960,311],{"class":282},[268,962,963],{"class":270,"line":427},[268,964,318],{"emptyLinePlaceholder":317},[268,966,967,970,972,974,976,978,980],{"class":270,"line":457},[268,968,969],{"class":278},"  captions",[268,971,289],{"class":282},[268,973,513],{"class":292},[268,975,296],{"class":369},[268,977,230],{"class":278},[268,979,308],{"class":369},[268,981,311],{"class":282},[268,983,984],{"class":270,"line":484},[268,985,318],{"emptyLinePlaceholder":317},[268,987,988,990,992,995,997],{"class":270,"line":505},[268,989,392],{"class":391},[268,991,335],{"class":369},[268,993,994],{"class":278},"isNearBottom",[268,996,414],{"class":369},[268,998,417],{"class":282},[268,1000,1001,1003,1005,1007,1009,1011,1013,1015],{"class":270,"line":524},[268,1002,508],{"class":278},[268,1004,289],{"class":282},[268,1006,531],{"class":278},[268,1008,332],{"class":282},[268,1010,536],{"class":278},[268,1012,289],{"class":282},[268,1014,541],{"class":278},[268,1016,311],{"class":282},[268,1018,1019],{"class":270,"line":546},[268,1020,549],{"class":282},[268,1022,1023],{"class":270,"line":552},[268,1024,1025],{"class":282},"}\n",[234,1027,1029],{"id":1028},"styling-for-readability","Styling for readability",[259,1031,1035],{"className":1032,"code":1033,"language":1034,"meta":264,"style":264},"language-css shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","#captions p {\n  margin: 0.25em 0;\n  padding: 0.25em 0.5em;\n  border-radius: 4px;\n  transition: opacity 0.2s;\n}\n","css",[245,1036,1037,1049,1066,1080,1092,1107],{"__ignoreMap":264},[268,1038,1039,1042,1044,1047],{"class":270,"line":271},[268,1040,1041],{"class":282},"#",[268,1043,303],{"class":957},[268,1045,433],{"class":1046},"sBMFI",[268,1048,347],{"class":282},[268,1050,1051,1055,1058,1061,1064],{"class":270,"line":314},[268,1052,1054],{"class":1053},"sqsOY","  margin",[268,1056,1057],{"class":282},":",[268,1059,1060],{"class":957}," 0.25em",[268,1062,1063],{"class":957}," 0",[268,1065,311],{"class":282},[268,1067,1068,1071,1073,1075,1078],{"class":270,"line":321},[268,1069,1070],{"class":1053},"  padding",[268,1072,1057],{"class":282},[268,1074,1060],{"class":957},[268,1076,1077],{"class":957}," 0.5em",[268,1079,311],{"class":282},[268,1081,1082,1085,1087,1090],{"class":270,"line":350},[268,1083,1084],{"class":1053},"  border-radius",[268,1086,1057],{"class":282},[268,1088,1089],{"class":957}," 4px",[268,1091,311],{"class":282},[268,1093,1094,1097,1099,1102,1105],{"class":270,"line":383},[268,1095,1096],{"class":1053},"  transition",[268,1098,1057],{"class":282},[268,1100,1101],{"class":278}," opacity ",[268,1103,1104],{"class":957},"0.2s",[268,1106,311],{"class":282},[268,1108,1109],{"class":270,"line":388},[268,1110,1025],{"class":282},[234,1112,1114],{"id":1113},"related","Related",[814,1116,1117,1123,1128],{},[817,1118,1119,1122],{},[1120,1121,100],"a",{"href":101}," — the stability contract",[817,1124,1125,1127],{},[1120,1126,96],{"href":97}," — concept",[817,1129,1130,1132],{},[1120,1131,126],{"href":122}," — full browser setup",[1134,1135,1136],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sqsOY, html code.shiki .sqsOY{--shiki-light:#8796B0;--shiki-default:#B2CCD6;--shiki-dark:#B2CCD6}",{"title":264,"searchDepth":271,"depth":314,"links":1138},[1139,1140,1144,1145,1146,1147],{"id":236,"depth":314,"text":237},{"id":251,"depth":314,"text":252,"children":1141},[1142,1143],{"id":256,"depth":321,"text":257},{"id":558,"depth":321,"text":559},{"id":811,"depth":314,"text":812},{"id":834,"depth":314,"text":835},{"id":1028,"depth":314,"text":1029},{"id":1113,"depth":314,"text":1114},"Consume StableStream events without manufacturing caption jitter.",false,"md",null,{},{"title":132,"description":1148},"bA6IoxRjC8BEpF4rBppqm1oDL7dua96pWZhD8YS4KX4",[1156,1158],{"title":128,"path":129,"stem":130,"description":1157,"children":-1},"Backend pushes an audio stream to LansonAI.",{"title":136,"path":137,"stem":138,"description":1159,"children":-1},"Bilingual \u002F translated caption UI.",1789433612024]