[{"data":1,"prerenderedAt":432},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fdecoder\u002Ftimeline":146,"docs-\u002Fdocs\u002Fdecoder\u002Ftimeline-surround":427},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,80,124],{"title":10,"path":6,"stem":11},"Overview","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16},"Camera app","\u002Fdocs\u002Fcamera","docs\u002F1.camera\u002Findex",[17,18,22,26,48,52,56,60,64,68,72,76],{"title":10,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"Requirements","\u002Fdocs\u002Fcamera\u002Frequirements","docs\u002F1.camera\u002F01.requirements",{"title":23,"path":24,"stem":25},"Install","\u002Fdocs\u002Fcamera\u002Finstall","docs\u002F1.camera\u002F02.install",{"title":27,"path":28,"stem":29,"children":30},"Connections","\u002Fdocs\u002Fcamera\u002Fconnections","docs\u002F1.camera\u002F03.connections\u002Findex",[31,32,36,40,44],{"title":27,"path":28,"stem":29},{"title":33,"path":34,"stem":35},"Allen-Bradley","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fallen-bradley","docs\u002F1.camera\u002F03.connections\u002F1.allen-bradley",{"title":37,"path":38,"stem":39},"ABB robot","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fabb-robot","docs\u002F1.camera\u002F03.connections\u002F2.abb-robot",{"title":41,"path":42,"stem":43},"Camera events","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fcamera-events","docs\u002F1.camera\u002F03.connections\u002F3.camera-events",{"title":45,"path":46,"stem":47},"Demo and diagnostics","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fdemo-and-diagnostics","docs\u002F1.camera\u002F03.connections\u002F4.demo-and-diagnostics",{"title":49,"path":50,"stem":51},"Tags","\u002Fdocs\u002Fcamera\u002Ftags","docs\u002F1.camera\u002F04.tags",{"title":53,"path":54,"stem":55},"Overlay","\u002Fdocs\u002Fcamera\u002Foverlay","docs\u002F1.camera\u002F05.overlay",{"title":57,"path":58,"stem":59},"History and charts","\u002Fdocs\u002Fcamera\u002Fhistory-and-charts","docs\u002F1.camera\u002F06.history-and-charts",{"title":61,"path":62,"stem":63},"DataBorder","\u002Fdocs\u002Fcamera\u002Fdataborder","docs\u002F1.camera\u002F07.databorder",{"title":65,"path":66,"stem":67},"Recording","\u002Fdocs\u002Fcamera\u002Frecording","docs\u002F1.camera\u002F08.recording",{"title":69,"path":70,"stem":71},"Performance","\u002Fdocs\u002Fcamera\u002Fperformance","docs\u002F1.camera\u002F09.performance",{"title":73,"path":74,"stem":75},"Status and troubleshooting","\u002Fdocs\u002Fcamera\u002Fstatus-and-troubleshooting","docs\u002F1.camera\u002F10.status-and-troubleshooting",{"title":77,"path":78,"stem":79},"Export and import","\u002Fdocs\u002Fcamera\u002Fexport-import","docs\u002F1.camera\u002F11.export-import",{"title":81,"path":82,"stem":83,"children":84},"Decoder","\u002Fdocs\u002Fdecoder","docs\u002F2.decoder\u002Findex",[85,86,89,93,96,100,104,108,112,116,120],{"title":10,"path":82,"stem":83},{"title":23,"path":87,"stem":88},"\u002Fdocs\u002Fdecoder\u002Finstall","docs\u002F2.decoder\u002F01.install",{"title":90,"path":91,"stem":92},"Clips","\u002Fdocs\u002Fdecoder\u002Fopen-clips","docs\u002F2.decoder\u002F02.open-clips",{"title":65,"path":94,"stem":95},"\u002Fdocs\u002Fdecoder\u002Frecord","docs\u002F2.decoder\u002F03.record",{"title":97,"path":98,"stem":99},"Live","\u002Fdocs\u002Fdecoder\u002Flive","docs\u002F2.decoder\u002F04.live",{"title":101,"path":102,"stem":103},"Timeline","\u002Fdocs\u002Fdecoder\u002Ftimeline","docs\u002F2.decoder\u002F05.timeline",{"title":105,"path":106,"stem":107},"Decoded data","\u002Fdocs\u002Fdecoder\u002Fdecoded-data","docs\u002F2.decoder\u002F06.decoded-data",{"title":109,"path":110,"stem":111},"Signal view","\u002Fdocs\u002Fdecoder\u002Fsignal-view","docs\u002F2.decoder\u002F07.signal-view",{"title":113,"path":114,"stem":115},"Extracting clips","\u002Fdocs\u002Fdecoder\u002Fclips","docs\u002F2.decoder\u002F08.clips",{"title":117,"path":118,"stem":119},"Verification","\u002Fdocs\u002Fdecoder\u002Fverify","docs\u002F2.decoder\u002F09.verify",{"title":121,"path":122,"stem":123},"Troubleshooting","\u002Fdocs\u002Fdecoder\u002Ftroubleshooting","docs\u002F2.decoder\u002F10.troubleshooting",{"title":125,"path":126,"stem":127,"children":128,"page":145},"Reference","\u002Fdocs\u002Freference","docs\u002F3.reference",[129,133,137,141],{"title":130,"path":131,"stem":132},"Configuration settings","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F3.reference\u002F1.configuration",{"title":134,"path":135,"stem":136},"Compatibility","\u002Fdocs\u002Freference\u002Fcompatibility","docs\u002F3.reference\u002F2.compatibility",{"title":138,"path":139,"stem":140},"Release notes","\u002Fdocs\u002Freference\u002Frelease-notes","docs\u002F3.reference\u002F3.release-notes",{"title":142,"path":143,"stem":144},"Glossary","\u002Fdocs\u002Freference\u002Fglossary","docs\u002F3.reference\u002F4.glossary",false,{"id":147,"title":101,"body":148,"description":420,"extension":421,"meta":422,"navigation":423,"path":102,"seo":424,"source":425,"stem":103,"__hash__":426},"docs\u002Fdocs\u002F2.decoder\u002F05.timeline.md",{"type":149,"value":150,"toc":410},"minimark",[151,155,161,166,169,240,247,251,254,267,271,274,289,293,357,381,385],[152,153,154],"p",{},"The timeline is the decoder's main view. Time runs from left to right across the selected clips, or across the live window.",[156,157],"shot",{"alt":158,"caption":159,"name":160},"The decoder timeline: the trust band across the top, one lane per record, the cursor, the video panel showing the frame under the cursor, and the at-cursor panel listing every value.","The timeline with the cursor placed mid-clip. The video and the at-cursor panel follow it.","decoder-timeline",[162,163,165],"h2",{"id":164},"the-trust-band","The trust band",[152,167,168],{},"The strip across the top says, for every moment, how far the data can be trusted.",[170,171,172,185],"table",{},[173,174,175],"thead",{},[176,177,178,182],"tr",{},[179,180,181],"th",{},"Band",[179,183,184],{},"Meaning",[186,187,188,200,210,220,230],"tbody",{},[176,189,190,197],{},[191,192,193],"td",{},[194,195,196],"strong",{},"signed",[191,198,199],{},"A valid signature from the camera covers this span. The values are exactly what the camera wrote.",[176,201,202,207],{},[191,203,204],{},[194,205,206],{},"chained",[191,208,209],{},"The updates link to each other correctly, but no signature covers them yet. This is normal for the last seconds of a live stream, or for the tail of a clip that was cut before the next signature.",[176,211,212,217],{},[191,213,214],{},[194,215,216],{},"decoded",[191,218,219],{},"Values were recovered, but the chain could not be verified back to a known point. This is typical at the very start of a clip, or just after a gap.",[176,221,222,227],{},[191,223,224],{},[194,225,226],{},"tampered",[191,228,229],{},"An update does not link to the one before it. The frames were altered, spliced, or re-ordered at exactly this point.",[176,231,232,237],{},[191,233,234],{},[194,235,236],{},"gap",[191,238,239],{},"Updates are missing. Either the clip was cut here, or frames were dropped.",[152,241,242,243,246],{},"A clip that comes straight from the camera or the recorder should be signed from end to end. Check anything else before relying on the values. See ",[244,245,117],"a",{"href":118},".",[162,248,250],{"id":249},"lanes","Lanes",[152,252,253],{},"Below the trust band there is one lane per record, labeled with the record's name from the DataBorder. State records come first, followed by numbers.",[255,256,257,261,264],"ul",{},[258,259,260],"li",{},"State tags are shown as colored spans with their labels.",[258,262,263],{},"Numbers are shown as traces. When you zoom out, a lane shows the range the value covered within each pixel.",[258,265,266],{},"Strings are shown as the text that was live, and the text changes where the value changed.",[162,268,270],{"id":269},"the-cursor","The cursor",[152,272,273],{},"Drag on the lanes to place the cursor. Two things follow it.",[255,275,276,283],{},[258,277,278,279,282],{},"The ",[194,280,281],{},"video"," panel shows the frame under the cursor. Its controls step one second or one frame in either direction, and play. When several clips are selected, the transport bar runs across all of them. Playing the video moves the cursor.",[258,284,278,285,288],{},[194,286,287],{},"at cursor"," panel lists every record's value at that moment. Click a record to open its detail, which shows every observed change with the time it was held, the runs the camera carried from before the clip, and the record's full history if the clip carried it.",[162,290,292],{"id":291},"zoom-and-navigation","Zoom and navigation",[170,294,295,305],{},[173,296,297],{},[176,298,299,302],{},[179,300,301],{},"Gesture",[179,303,304],{},"Effect",[186,306,307,315,326,334,342,349],{},[176,308,309,312],{},[191,310,311],{},"Drag on the lanes",[191,313,314],{},"Moves the cursor.",[176,316,317,320],{},[191,318,319],{},"Drag on the time ruler",[191,321,322,323,246],{},"Selects a range, for ",[244,324,325],{"href":114},"extracting a clip",[176,327,328,331],{},[191,329,330],{},"Scroll",[191,332,333],{},"Pans.",[176,335,336,339],{},[191,337,338],{},"Ctrl or ⌘ with scroll, or pinch",[191,340,341],{},"Zooms around the pointer.",[176,343,344,347],{},[191,345,346],{},"Shift-drag or middle-drag",[191,348,333],{},[176,350,351,354],{},[191,352,353],{},"Double-click",[191,355,356],{},"Fits the whole selection.",[152,358,278,359,362,363,366,367,370,371,366,374,377,378,246],{},[194,360,361],{},"minus",", ",[194,364,365],{},"plus"," and ",[194,368,369],{},"fit"," buttons in the header do the same. The ",[194,372,373],{},"records",[194,375,376],{},"signal"," toggle switches to the ",[244,379,380],{"href":110},"signal view",[162,382,384],{"id":383},"layer-indicators","Layer indicators",[152,386,387,388,362,391,362,394,362,397,362,400,366,403,406,407,409],{},"The indicators at the top right, labeled ",[194,389,390],{},"val",[194,392,393],{},"L0",[194,395,396],{},"L1",[194,398,399],{},"L2",[194,401,402],{},"L4",[194,404,405],{},"L5",", show how much of the DataBorder the current selection has recovered. In order, they stand for the values, the record names, the camera's identity and state labels, the recent history, the strings, and the stored history. Hover over an indicator to see its count. The values always arrive first, and the other layers fill in as the clip gets longer. See ",[244,408,105],{"href":106}," for what each layer holds.",{"title":411,"searchDepth":412,"depth":412,"links":413},"",3,[414,416,417,418,419],{"id":164,"depth":415,"text":165},2,{"id":249,"depth":415,"text":250},{"id":269,"depth":415,"text":270},{"id":291,"depth":415,"text":292},{"id":383,"depth":415,"text":384},"The trust band, the lanes, the cursor and the video panel.","md",{},true,{"title":101,"description":420},null,"YycoU2JJAhrQoTglQk6hopimAAyOxzSB1kGv2VsmAJo",[428,430],{"title":97,"path":98,"stem":99,"description":429,"children":-1},"Watching the stream without recording it, and saving clips from the buffer.",{"title":105,"path":106,"stem":107,"description":431,"children":-1},"Everything the DataBorder carried besides the values.",1788953751820]