[{"data":1,"prerenderedAt":1771},["ShallowReactive",2],{"navigation_docs_id":3,"-id-advance-guide-migration-guide":173,"-id-advance-guide-migration-guide-surround":1766},[4,30,109,153],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Getting Started","\u002Fid\u002Fgetting-started","id\u002F01.getting-started",[9,14,19,24],{"title":10,"path":11,"stem":12,"icon":13},"Pengenalan","\u002Fid\u002Fgetting-started\u002Fintroduction","id\u002F01.getting-started\u002F1.introduction","i-ph-rocket",{"title":15,"path":16,"stem":17,"icon":18},"Instalasi","\u002Fid\u002Fgetting-started\u002Finstallation","id\u002F01.getting-started\u002F2.installation","i-ph-download",{"title":20,"path":21,"stem":22,"icon":23},"Panduan Cepat","\u002Fid\u002Fgetting-started\u002Fquick-start","id\u002F01.getting-started\u002F3.quick-start","i-ph-play",{"title":25,"path":26,"stem":27,"icon":28},"Demo Langsung","\u002Fid\u002Fgetting-started\u002Flive-demo","id\u002F01.getting-started\u002F4.live-demo","i-ph-sparkle",false,{"title":31,"path":32,"stem":33,"children":34,"page":29},"How To","\u002Fid\u002Fhow-to","id\u002F02.how-to",[35,40,45,50,55,60,65,70,75,79,84,89,94,99,104],{"title":36,"path":37,"stem":38,"icon":39},"Menggunakan Rust","\u002Fid\u002Fhow-to\u002Fuse-rust","id\u002F02.how-to\u002F00.use-rust","simple-icons-rust",{"title":41,"path":42,"stem":43,"icon":44},"Menggunakan .NET \u002F C#","\u002Fid\u002Fhow-to\u002Fuse-csharp","id\u002F02.how-to\u002F01.use-csharp","simple-icons-dotnet",{"title":46,"path":47,"stem":48,"icon":49},"Menggunakan React Native","\u002Fid\u002Fhow-to\u002Fuse-react-native","id\u002F02.how-to\u002F02.use-react-native","simple-icons-react",{"title":51,"path":52,"stem":53,"icon":54},"Menggunakan iOS (Swift)","\u002Fid\u002Fhow-to\u002Fuse-ios-swift","id\u002F02.how-to\u002F03.use-ios-swift","simple-icons-apple",{"title":56,"path":57,"stem":58,"icon":59},"Menggunakan Android (Kotlin)","\u002Fid\u002Fhow-to\u002Fuse-android-kotlin","id\u002F02.how-to\u002F04.use-android-kotlin","simple-icons-android",{"title":61,"path":62,"stem":63,"icon":64},"Menggunakan C FFI","\u002Fid\u002Fhow-to\u002Fuse-c-ffi","id\u002F02.how-to\u002F05.use-c-ffi","simple-icons-c",{"title":66,"path":67,"stem":68,"icon":69},"Menggunakan CLI","\u002Fid\u002Fhow-to\u002Fuse-cli","id\u002F02.how-to\u002F06.use-cli","simple-icons-gnubash",{"title":71,"path":72,"stem":73,"icon":74},"Menggunakan Web","\u002Fid\u002Fhow-to\u002Fuse-web","id\u002F02.how-to\u002F07.use-web","simple-icons-javascript",{"title":76,"path":77,"stem":78,"icon":49},"Menggunakan React","\u002Fid\u002Fhow-to\u002Fuse-react","id\u002F02.how-to\u002F08.use-react",{"title":80,"path":81,"stem":82,"icon":83},"Menggunakan Node.js","\u002Fid\u002Fhow-to\u002Fuse-node","id\u002F02.how-to\u002F09.use-node","simple-icons-nodedotjs",{"title":85,"path":86,"stem":87,"icon":88},"Menggunakan Python","\u002Fid\u002Fhow-to\u002Fuse-python","id\u002F02.how-to\u002F10.use-python","simple-icons-python",{"title":90,"path":91,"stem":92,"icon":93},"Menggunakan Golang","\u002Fid\u002Fhow-to\u002Fuse-golang","id\u002F02.how-to\u002F11.use-golang","simple-icons-go",{"title":95,"path":96,"stem":97,"icon":98},"Menggunakan Java & JVM","\u002Fid\u002Fhow-to\u002Fuse-java","id\u002F02.how-to\u002F12.use-java","simple-icons-openjdk",{"title":100,"path":101,"stem":102,"icon":103},"Menggunakan Flutter & Dart","\u002Fid\u002Fhow-to\u002Fuse-flutter","id\u002F02.how-to\u002F13.use-flutter","simple-icons-flutter",{"title":105,"path":106,"stem":107,"icon":108},"Menggunakan Input RGB Terdekode","\u002Fid\u002Fhow-to\u002Fuse-decoded-rgb","id\u002F02.how-to\u002F14.use-decoded-rgb","lucide-image",{"title":110,"path":111,"stem":112,"children":113,"page":29},"Advance Guide","\u002Fid\u002Fadvance-guide","id\u002F03.advance-guide",[114,119,124,129,134,139,144,149],{"title":115,"path":116,"stem":117,"icon":118},"Model & Tingkatan (Tiers)","\u002Fid\u002Fadvance-guide\u002Fmodels-and-tiers","id\u002F03.advance-guide\u002F01.models-and-tiers","i-ph-cube",{"title":120,"path":121,"stem":122,"icon":123},"OCR Multibahasa","\u002Fid\u002Fadvance-guide\u002Fmultilingual-ocr","id\u002F03.advance-guide\u002F02.multilingual-ocr","i-ph-translate",{"title":125,"path":126,"stem":127,"icon":128},"Rekonstruksi Tata Letak Spasial","\u002Fid\u002Fadvance-guide\u002Fspatial-layout-reconstruction","id\u002F03.advance-guide\u002F03.spatial-layout-reconstruction","i-ph-layout",{"title":130,"path":131,"stem":132,"icon":133},"Pra-pemrosesan & Tuning Gambar","\u002Fid\u002Fadvance-guide\u002Fimage-preprocessing-and-tuning","id\u002F03.advance-guide\u002F04.image-preprocessing-and-tuning","i-ph-sliders",{"title":135,"path":136,"stem":137,"icon":138},"Klasifikasi & Orientasi","\u002Fid\u002Fadvance-guide\u002Fclassification-and-orientation","id\u002F03.advance-guide\u002F05.classification-and-orientation","i-ph-arrows-clockwise",{"title":140,"path":141,"stem":142,"icon":143},"Performa & Tolok Ukur (Benchmarks)","\u002Fid\u002Fadvance-guide\u002Fperformance-and-benchmarks","id\u002F03.advance-guide\u002F06.performance-and-benchmarks","i-ph-chart-line-up",{"title":145,"path":146,"stem":147,"icon":148},"Pemecahan Masalah (Troubleshooting)","\u002Fid\u002Fadvance-guide\u002Ftroubleshooting","id\u002F03.advance-guide\u002F07.troubleshooting","i-ph-wrench",{"title":150,"path":151,"stem":152,"icon":138},"v0.2 ke v0.3","\u002Fid\u002Fadvance-guide\u002Fmigration-guide","id\u002F03.advance-guide\u002F08.migration-guide",{"title":154,"path":155,"stem":156,"children":157,"page":29},"Api Reference","\u002Fid\u002Fapi-reference","id\u002F04.api-reference",[158,163,168],{"title":159,"path":160,"stem":161,"icon":162},"InitializeConfig","\u002Fid\u002Fapi-reference\u002Finitialize-config","id\u002F04.api-reference\u002F01.initialize-config","i-ph-code-block",{"title":164,"path":165,"stem":166,"icon":167},"OcrRunOptions","\u002Fid\u002Fapi-reference\u002Focr-run-options","id\u002F04.api-reference\u002F02.ocr-run-options","i-ph-faders",{"title":169,"path":170,"stem":171,"icon":172},"TextResult & Mode Keluaran","\u002Fid\u002Fapi-reference\u002Ftext-result-and-output","id\u002F04.api-reference\u002F03.text-result-and-output","i-ph-textbox",{"id":174,"title":150,"body":175,"description":1758,"extension":1759,"links":1760,"meta":1761,"navigation":1762,"path":151,"seo":1763,"stem":152,"__hash__":1765},"docs_id\u002Fid\u002F03.advance-guide\u002F08.migration-guide.md",{"type":176,"value":177,"toc":1736},"minimark",[178,187,190,195,352,354,358,363,366,376,380,392,441,467,469,475,486,490,570,574,749,751,755,758,783,787,794,798,999,1002,1318,1320,1326,1332,1420,1427,1470,1472,1476,1629,1631,1635,1732],[179,180,181,182,186],"p",{},"RustO! ",[183,184,185],"strong",{},"v0.3.0"," merupakan pembaruan arsitektural besar yang mentransisikan seluruh mesin inferensi inti ke pure Rust, menghapus ketergantungan toolchain C++\u002FCMake, serta menyederhanakan API konfigurasi di seluruh bahasa yang didukung.",[188,189],"hr",{},[191,192,194],"h2",{"id":193},"ringkasan-pembaruan","⚡ Ringkasan Pembaruan",[196,197,198,214],"table",{},[199,200,201],"thead",{},[202,203,204,208,211],"tr",{},[205,206,207],"th",{},"Aspek",[205,209,210],{},"v0.2.x",[205,212,213],{},"v0.3.0 (Terkini)",[215,216,217,241,270,294,320],"tbody",{},[202,218,219,225,228],{},[220,221,222],"td",{},[183,223,224],{},"Mesin Inferensi Inti",[220,226,227],{},"Alibaba MNN (memerlukan C++ \u002F CMake)",[220,229,230,240],{},[183,231,232,233],{},"Pure Rust ",[234,235,239],"a",{"href":236,"rel":237},"https:\u002F\u002Fgithub.com\u002Frobertknight\u002Frten",[238],"nofollow","RTen"," (tanpa toolchain C++)",[202,242,243,248,256],{},[220,244,245],{},[183,246,247],{},"Format Model",[220,249,250,251,255],{},"Format ",[252,253,254],"code",{},".mnn"," proprietari",[220,257,258,259,264,265],{},"FlatBuffers ",[183,260,261],{},[252,262,263],{},".rten"," atau standar ",[183,266,267],{},[252,268,269],{},".onnx",[202,271,272,277,282],{},[220,273,274],{},[183,275,276],{},"API Sesi Inferensi",[220,278,279],{},[252,280,281],{},"MnnSession",[220,283,284,289,290,293],{},[183,285,286],{},[252,287,288],{},"EngineSession"," (mengimplementasikan ",[252,291,292],{},"InferenceSession",")",[202,295,296,301,308],{},[220,297,298],{},[183,299,300],{},"Model Konfigurasi",[220,302,303,304,307],{},"Blok ",[252,305,306],{},"preprocessing"," bersarang di konfigurasi statis",[220,309,310,311,315,316],{},"Pemisahan ",[183,312,313],{},[252,314,159],{}," & ",[183,317,318],{},[252,319,164],{},[202,321,322,327,337],{},[220,323,324],{},[183,325,326],{},"Nama Paket NPM",[220,328,329,330,333,334,293],{},"Mandiri (",[252,331,332],{},"react-rusto",", ",[252,335,336],{},"rusto-web",[220,338,339,340,345,346,333,349,293],{},"Lingkup ",[183,341,342],{},[252,343,344],{},"@rustors\u002F*"," (",[252,347,348],{},"@rustors\u002Freact",[252,350,351],{},"@rustors\u002Fweb",[188,353],{},[191,355,357],{"id":356},"_1-arsitektur-engine-format-model","1. Arsitektur Engine & Format Model",[359,360,362],"h3",{"id":361},"tanpa-toolchain-c-cmake","Tanpa Toolchain C++ \u002F CMake",[179,364,365],{},"Pada v0.2, RustO bergantung pada Alibaba MNN melalui binding C FFI. Hal ini memerlukan CMake, kompilator C++ per platform, dan integrasi toolchain NDK\u002FXcode yang rumit.",[179,367,368,369,371,372,375],{},"Pada v0.3, mesin inferensi bawaan 100% menggunakan pure Rust yang didukung oleh ",[183,370,239],{},". Mengompilasi RustO kini hanya memerlukan Cargo standar (",[252,373,374],{},"cargo build","), tanpa dependensi library eksternal pada saat kompilasi.",[359,377,379],{"id":378},"transisi-format-model","Transisi Format Model",[179,381,382,383,385,386,388,389,391],{},"Model format ",[252,384,254],{}," kini tidak lagi digunakan. Perbarui path model Anda ke format ",[252,387,263],{}," (FlatBuffers) atau ",[252,390,269],{},":",[393,394,399],"pre",{"className":395,"code":396,"language":397,"meta":398,"style":398},"language-diff shiki shiki-themes material-theme-lighter github-light github-dark monokai","- det_model: \"models\u002Fdet.mnn\"\n- rec_model: \"models\u002Frec.mnn\"\n+ det_model: \"models\u002Fdet.rten\"\n+ rec_model: \"models\u002Frec.rten\"\n","diff","",[252,400,401,414,422,433],{"__ignoreMap":398},[402,403,406,410],"span",{"class":404,"line":405},"line",1,[402,407,409],{"class":408},"sX33R","-",[402,411,413],{"class":412},"sM3cg"," det_model: \"models\u002Fdet.mnn\"\n",[402,415,417,419],{"class":404,"line":416},2,[402,418,409],{"class":408},[402,420,421],{"class":412}," rec_model: \"models\u002Frec.mnn\"\n",[402,423,425,429],{"class":404,"line":424},3,[402,426,428],{"class":427},"sl_ps","+",[402,430,432],{"class":431},"sktkw"," det_model: \"models\u002Fdet.rten\"\n",[402,434,436,438],{"class":404,"line":435},4,[402,437,428],{"class":427},[402,439,440],{"class":431}," rec_model: \"models\u002Frec.rten\"\n",[179,442,443,444,446,447,449,450,333,455,460,461,466],{},"Berkas model ",[252,445,263],{}," dan ",[252,448,269],{}," siap pakai tersedia di ",[234,451,454],{"href":452,"rel":453},"https:\u002F\u002Fgithub.com\u002Fbyrizki\u002Frusto-rs\u002Freleases",[238],"GitHub Releases",[234,456,459],{"href":457,"rel":458},"https:\u002F\u002Fwww.npmjs.com\u002Fsearch?q=%40rustors%2Fmodel-ppocrv6",[238],"npm",", dan ",[234,462,465],{"href":463,"rel":464},"https:\u002F\u002Fwww.nuget.org\u002Fpackages?q=RustODotnet.Models.PPOCRv6",[238],"NuGet",".",[188,468],{},[191,470,472,473],{"id":471},"_2-api-sesi-enginesession","2. API Sesi: ",[252,474,288],{},[179,476,477,478,480,481,483,484,466],{},"Struktur konkret ",[252,479,281],{}," telah digantikan oleh ",[252,482,288],{},", yang mengimplementasikan trait generik ",[252,485,292],{},[359,487,489],{"id":488},"sebelum-v02","Sebelum (v0.2)",[393,491,495],{"className":492,"code":493,"language":494,"meta":398,"style":398},"language-rust shiki shiki-themes material-theme-lighter github-light github-dark monokai","use rusto::session::MnnSession;\n\nlet det_session = MnnSession::from_file(\"models\u002Fdet.mnn\")?;\n","rust",[252,496,497,522,528],{"__ignoreMap":398},[402,498,499,503,507,511,514,516,518],{"class":404,"line":405},[402,500,502],{"class":501},"shWJe","use",[402,504,506],{"class":505},"sKvfc"," rusto",[402,508,510],{"class":509},"sGXK2","::",[402,512,513],{"class":505},"session",[402,515,510],{"class":509},[402,517,281],{"class":505},[402,519,521],{"class":520},"swvn1",";\n",[402,523,524],{"class":404,"line":416},[402,525,527],{"emptyLinePlaceholder":526},true,"\n",[402,529,530,534,538,541,544,546,550,553,557,561,563,565,568],{"class":404,"line":424},[402,531,533],{"class":532},"srJo8","let",[402,535,537],{"class":536},"ss--_"," det_session ",[402,539,540],{"class":509},"=",[402,542,543],{"class":505}," MnnSession",[402,545,510],{"class":509},[402,547,549],{"class":548},"sD0ED","from_file",[402,551,552],{"class":520},"(",[402,554,556],{"class":555},"siCPE","\"",[402,558,560],{"class":559},"sLACW","models\u002Fdet.mnn",[402,562,556],{"class":555},[402,564,293],{"class":520},[402,566,567],{"class":509},"?",[402,569,521],{"class":520},[359,571,573],{"id":572},"sesudah-v03","Sesudah (v0.3)",[393,575,577],{"className":492,"code":576,"language":494,"meta":398,"style":398},"use rusto::session::EngineSession;\n\n\u002F\u002F Menggunakan backend bawaan RTen:\nlet det_session = EngineSession::from_det_config(&config.det)?;\nlet rec_session = EngineSession::from_rec_config(&config.rec)?;\n\n\u002F\u002F Atau membungkus engine kustom pihak ketiga (misal ONNX Runtime ort, Tract):\nlet custom_session = EngineSession::from_custom(my_session_box);\nlet ocr = RustO::with_custom_engines(config, det_session, rec_session)?;\n",[252,578,579,595,599,605,640,674,679,685,710],{"__ignoreMap":398},[402,580,581,583,585,587,589,591,593],{"class":404,"line":405},[402,582,502],{"class":501},[402,584,506],{"class":505},[402,586,510],{"class":509},[402,588,513],{"class":505},[402,590,510],{"class":509},[402,592,288],{"class":505},[402,594,521],{"class":520},[402,596,597],{"class":404,"line":416},[402,598,527],{"emptyLinePlaceholder":526},[402,600,601],{"class":404,"line":424},[402,602,604],{"class":603},"ss7Ak","\u002F\u002F Menggunakan backend bawaan RTen:\n",[402,606,607,609,611,613,616,618,621,623,626,629,631,634,636,638],{"class":404,"line":435},[402,608,533],{"class":532},[402,610,537],{"class":536},[402,612,540],{"class":509},[402,614,615],{"class":505}," EngineSession",[402,617,510],{"class":509},[402,619,620],{"class":548},"from_det_config",[402,622,552],{"class":520},[402,624,625],{"class":509},"&",[402,627,628],{"class":536},"config",[402,630,466],{"class":509},[402,632,633],{"class":536},"det",[402,635,293],{"class":520},[402,637,567],{"class":509},[402,639,521],{"class":520},[402,641,643,645,648,650,652,654,657,659,661,663,665,668,670,672],{"class":404,"line":642},5,[402,644,533],{"class":532},[402,646,647],{"class":536}," rec_session ",[402,649,540],{"class":509},[402,651,615],{"class":505},[402,653,510],{"class":509},[402,655,656],{"class":548},"from_rec_config",[402,658,552],{"class":520},[402,660,625],{"class":509},[402,662,628],{"class":536},[402,664,466],{"class":509},[402,666,667],{"class":536},"rec",[402,669,293],{"class":520},[402,671,567],{"class":509},[402,673,521],{"class":520},[402,675,677],{"class":404,"line":676},6,[402,678,527],{"emptyLinePlaceholder":526},[402,680,682],{"class":404,"line":681},7,[402,683,684],{"class":603},"\u002F\u002F Atau membungkus engine kustom pihak ketiga (misal ONNX Runtime ort, Tract):\n",[402,686,688,690,693,695,697,699,702,704,707],{"class":404,"line":687},8,[402,689,533],{"class":532},[402,691,692],{"class":536}," custom_session ",[402,694,540],{"class":509},[402,696,615],{"class":505},[402,698,510],{"class":509},[402,700,701],{"class":548},"from_custom",[402,703,552],{"class":520},[402,705,706],{"class":536},"my_session_box",[402,708,709],{"class":520},");\n",[402,711,713,715,718,720,723,725,728,730,732,735,738,740,743,745,747],{"class":404,"line":712},9,[402,714,533],{"class":532},[402,716,717],{"class":536}," ocr ",[402,719,540],{"class":509},[402,721,722],{"class":505}," RustO",[402,724,510],{"class":509},[402,726,727],{"class":548},"with_custom_engines",[402,729,552],{"class":520},[402,731,628],{"class":536},[402,733,734],{"class":520},",",[402,736,737],{"class":536}," det_session",[402,739,734],{"class":520},[402,741,742],{"class":536}," rec_session",[402,744,293],{"class":520},[402,746,567],{"class":509},[402,748,521],{"class":520},[188,750],{},[191,752,754],{"id":753},"_3-refaktorisasi-konfigurasi-opsi-runtime","3. Refaktorisasi Konfigurasi & Opsi Runtime",[179,756,757],{},"Pada v0.2, batas ambang preprocessing dan parameter post-processing digabungkan dalam struktur konfigurasi statis. Pada v0.3, opsi dipisahkan menjadi dua bagian:",[759,760,761,769],"ol",{},[762,763,764,768],"li",{},[183,765,766],{},[252,767,159],{},": Inisialisasi statis satu kali untuk path model, kamus kosakata, dan alokasi thread.",[762,770,771,775,776,779,780,466],{},[183,772,773],{},[252,774,164],{},": Opsi per permintaan gambar yang diteruskan ke ",[252,777,778],{},"detect_text(...)"," atau ",[252,781,782],{},"run_ocr(...)",[359,784,786],{"id":785},"struktur-opsi-yang-disederhanakan","Struktur Opsi yang Disederhanakan",[179,788,303,789,791,792,391],{},[252,790,306],{}," lama yang bersarang telah dihapus. Parameter deteksi dan post-processing kini menjadi field langsung pada ",[252,793,164],{},[795,796,489],"h4",{"id":797},"sebelum-v02-1",[393,799,801],{"className":492,"code":800,"language":494,"meta":398,"style":398},"\u002F\u002F v0.2: Parameter runtime mengubah konfigurasi mesin statis\nlet mut config = Config::from_files(\"det.mnn\", \"rec.mnn\", \"dict.txt\")?;\nconfig.preprocessing.det_db_thresh = 0.3;\nconfig.preprocessing.det_db_box_thresh = 0.6;\nconfig.preprocessing.det_db_unclip_ratio = 1.6;\n\nlet mut ocr = RustO::new(config)?;\nlet result = ocr.run(&image)?;\n",[252,802,803,808,863,890,914,938,942,969],{"__ignoreMap":398},[402,804,805],{"class":404,"line":405},[402,806,807],{"class":603},"\u002F\u002F v0.2: Parameter runtime mengubah konfigurasi mesin statis\n",[402,809,810,812,816,819,821,824,826,829,831,833,836,838,840,843,846,848,850,852,855,857,859,861],{"class":404,"line":416},[402,811,533],{"class":532},[402,813,815],{"class":814},"sTNss"," mut",[402,817,818],{"class":536}," config ",[402,820,540],{"class":509},[402,822,823],{"class":505}," Config",[402,825,510],{"class":509},[402,827,828],{"class":548},"from_files",[402,830,552],{"class":520},[402,832,556],{"class":555},[402,834,835],{"class":559},"det.mnn",[402,837,556],{"class":555},[402,839,734],{"class":520},[402,841,842],{"class":555}," \"",[402,844,845],{"class":559},"rec.mnn",[402,847,556],{"class":555},[402,849,734],{"class":520},[402,851,842],{"class":555},[402,853,854],{"class":559},"dict.txt",[402,856,556],{"class":555},[402,858,293],{"class":520},[402,860,567],{"class":509},[402,862,521],{"class":520},[402,864,865,867,869,871,873,876,878,882,885,888],{"class":404,"line":424},[402,866,628],{"class":536},[402,868,466],{"class":509},[402,870,306],{"class":536},[402,872,466],{"class":509},[402,874,875],{"class":536},"det_db_thresh ",[402,877,540],{"class":509},[402,879,881],{"class":880},"sYThS"," 0",[402,883,466],{"class":884},"sMTiH",[402,886,887],{"class":880},"3",[402,889,521],{"class":520},[402,891,892,894,896,898,900,903,905,907,909,912],{"class":404,"line":435},[402,893,628],{"class":536},[402,895,466],{"class":509},[402,897,306],{"class":536},[402,899,466],{"class":509},[402,901,902],{"class":536},"det_db_box_thresh ",[402,904,540],{"class":509},[402,906,881],{"class":880},[402,908,466],{"class":884},[402,910,911],{"class":880},"6",[402,913,521],{"class":520},[402,915,916,918,920,922,924,927,929,932,934,936],{"class":404,"line":642},[402,917,628],{"class":536},[402,919,466],{"class":509},[402,921,306],{"class":536},[402,923,466],{"class":509},[402,925,926],{"class":536},"det_db_unclip_ratio ",[402,928,540],{"class":509},[402,930,931],{"class":880}," 1",[402,933,466],{"class":884},[402,935,911],{"class":880},[402,937,521],{"class":520},[402,939,940],{"class":404,"line":676},[402,941,527],{"emptyLinePlaceholder":526},[402,943,944,946,948,950,952,954,956,959,961,963,965,967],{"class":404,"line":681},[402,945,533],{"class":532},[402,947,815],{"class":814},[402,949,717],{"class":536},[402,951,540],{"class":509},[402,953,722],{"class":505},[402,955,510],{"class":509},[402,957,958],{"class":548},"new",[402,960,552],{"class":520},[402,962,628],{"class":536},[402,964,293],{"class":520},[402,966,567],{"class":509},[402,968,521],{"class":520},[402,970,971,973,976,978,981,983,986,988,990,993,995,997],{"class":404,"line":687},[402,972,533],{"class":532},[402,974,975],{"class":536}," result ",[402,977,540],{"class":509},[402,979,980],{"class":536}," ocr",[402,982,466],{"class":509},[402,984,985],{"class":548},"run",[402,987,552],{"class":520},[402,989,625],{"class":509},[402,991,992],{"class":536},"image",[402,994,293],{"class":520},[402,996,567],{"class":509},[402,998,521],{"class":520},[795,1000,573],{"id":1001},"sesudah-v03-1",[393,1003,1005],{"className":492,"code":1004,"language":494,"meta":398,"style":398},"use rusto::{InitializeConfig, OcrRunOptions, OutputGranularity, RustO};\n\n\u002F\u002F 1. Inisialisasi statis (thread-safe, muat sekali)\nlet mut ocr = RustO::initialize(InitializeConfig::ppv6(\n    \"models\u002Fdet.rten\",\n    \"models\u002Frec.rten\",\n    \"models\u002Fdict.txt\",\n))?;\n\n\u002F\u002F 2. Opsi per-permintaan (stateless, aman untuk konkurensi)\nlet mut options = OcrRunOptions::default();\noptions.detection.box_threshold = 0.6;\noptions.postprocess.unclip_ratio = 1.6;\noptions.output_granularity = OutputGranularity::Lines;\n\n\u002F\u002F Opsional: Kalibrasi dokumen & penskalaan resolusi\noptions.calibration.descreen = true;\noptions.optimization.max_side_len = 960;\n\nlet result = ocr.detect_text(&image, &options)?;\n",[252,1006,1007,1037,1041,1046,1075,1088,1099,1110,1119,1123,1129,1151,1177,1202,1223,1228,1234,1256,1278,1283],{"__ignoreMap":398},[402,1008,1009,1011,1013,1015,1018,1020,1022,1025,1027,1030,1032,1034],{"class":404,"line":405},[402,1010,502],{"class":501},[402,1012,506],{"class":505},[402,1014,510],{"class":509},[402,1016,1017],{"class":520},"{",[402,1019,159],{"class":505},[402,1021,734],{"class":520},[402,1023,1024],{"class":505}," OcrRunOptions",[402,1026,734],{"class":520},[402,1028,1029],{"class":505}," OutputGranularity",[402,1031,734],{"class":520},[402,1033,722],{"class":505},[402,1035,1036],{"class":520},"};\n",[402,1038,1039],{"class":404,"line":416},[402,1040,527],{"emptyLinePlaceholder":526},[402,1042,1043],{"class":404,"line":424},[402,1044,1045],{"class":603},"\u002F\u002F 1. Inisialisasi statis (thread-safe, muat sekali)\n",[402,1047,1048,1050,1052,1054,1056,1058,1060,1063,1065,1067,1069,1072],{"class":404,"line":435},[402,1049,533],{"class":532},[402,1051,815],{"class":814},[402,1053,717],{"class":536},[402,1055,540],{"class":509},[402,1057,722],{"class":505},[402,1059,510],{"class":509},[402,1061,1062],{"class":548},"initialize",[402,1064,552],{"class":520},[402,1066,159],{"class":505},[402,1068,510],{"class":509},[402,1070,1071],{"class":548},"ppv6",[402,1073,1074],{"class":520},"(\n",[402,1076,1077,1080,1083,1085],{"class":404,"line":642},[402,1078,1079],{"class":555},"    \"",[402,1081,1082],{"class":559},"models\u002Fdet.rten",[402,1084,556],{"class":555},[402,1086,1087],{"class":520},",\n",[402,1089,1090,1092,1095,1097],{"class":404,"line":676},[402,1091,1079],{"class":555},[402,1093,1094],{"class":559},"models\u002Frec.rten",[402,1096,556],{"class":555},[402,1098,1087],{"class":520},[402,1100,1101,1103,1106,1108],{"class":404,"line":681},[402,1102,1079],{"class":555},[402,1104,1105],{"class":559},"models\u002Fdict.txt",[402,1107,556],{"class":555},[402,1109,1087],{"class":520},[402,1111,1112,1115,1117],{"class":404,"line":687},[402,1113,1114],{"class":520},"))",[402,1116,567],{"class":509},[402,1118,521],{"class":520},[402,1120,1121],{"class":404,"line":712},[402,1122,527],{"emptyLinePlaceholder":526},[402,1124,1126],{"class":404,"line":1125},10,[402,1127,1128],{"class":603},"\u002F\u002F 2. Opsi per-permintaan (stateless, aman untuk konkurensi)\n",[402,1130,1132,1134,1136,1139,1141,1143,1145,1148],{"class":404,"line":1131},11,[402,1133,533],{"class":532},[402,1135,815],{"class":814},[402,1137,1138],{"class":536}," options ",[402,1140,540],{"class":509},[402,1142,1024],{"class":505},[402,1144,510],{"class":509},[402,1146,1147],{"class":548},"default",[402,1149,1150],{"class":520},"();\n",[402,1152,1154,1157,1159,1162,1164,1167,1169,1171,1173,1175],{"class":404,"line":1153},12,[402,1155,1156],{"class":536},"options",[402,1158,466],{"class":509},[402,1160,1161],{"class":536},"detection",[402,1163,466],{"class":509},[402,1165,1166],{"class":536},"box_threshold ",[402,1168,540],{"class":509},[402,1170,881],{"class":880},[402,1172,466],{"class":884},[402,1174,911],{"class":880},[402,1176,521],{"class":520},[402,1178,1180,1182,1184,1187,1189,1192,1194,1196,1198,1200],{"class":404,"line":1179},13,[402,1181,1156],{"class":536},[402,1183,466],{"class":509},[402,1185,1186],{"class":536},"postprocess",[402,1188,466],{"class":509},[402,1190,1191],{"class":536},"unclip_ratio ",[402,1193,540],{"class":509},[402,1195,931],{"class":880},[402,1197,466],{"class":884},[402,1199,911],{"class":880},[402,1201,521],{"class":520},[402,1203,1205,1207,1209,1212,1214,1216,1218,1221],{"class":404,"line":1204},14,[402,1206,1156],{"class":536},[402,1208,466],{"class":509},[402,1210,1211],{"class":536},"output_granularity ",[402,1213,540],{"class":509},[402,1215,1029],{"class":505},[402,1217,510],{"class":509},[402,1219,1220],{"class":505},"Lines",[402,1222,521],{"class":520},[402,1224,1226],{"class":404,"line":1225},15,[402,1227,527],{"emptyLinePlaceholder":526},[402,1229,1231],{"class":404,"line":1230},16,[402,1232,1233],{"class":603},"\u002F\u002F Opsional: Kalibrasi dokumen & penskalaan resolusi\n",[402,1235,1237,1239,1241,1244,1246,1249,1251,1254],{"class":404,"line":1236},17,[402,1238,1156],{"class":536},[402,1240,466],{"class":509},[402,1242,1243],{"class":536},"calibration",[402,1245,466],{"class":509},[402,1247,1248],{"class":536},"descreen ",[402,1250,540],{"class":509},[402,1252,1253],{"class":884}," true",[402,1255,521],{"class":520},[402,1257,1259,1261,1263,1266,1268,1271,1273,1276],{"class":404,"line":1258},18,[402,1260,1156],{"class":536},[402,1262,466],{"class":509},[402,1264,1265],{"class":536},"optimization",[402,1267,466],{"class":509},[402,1269,1270],{"class":536},"max_side_len ",[402,1272,540],{"class":509},[402,1274,1275],{"class":880}," 960",[402,1277,521],{"class":520},[402,1279,1281],{"class":404,"line":1280},19,[402,1282,527],{"emptyLinePlaceholder":526},[402,1284,1286,1288,1290,1292,1294,1296,1299,1301,1303,1305,1307,1310,1312,1314,1316],{"class":404,"line":1285},20,[402,1287,533],{"class":532},[402,1289,975],{"class":536},[402,1291,540],{"class":509},[402,1293,980],{"class":536},[402,1295,466],{"class":509},[402,1297,1298],{"class":548},"detect_text",[402,1300,552],{"class":520},[402,1302,625],{"class":509},[402,1304,992],{"class":536},[402,1306,734],{"class":520},[402,1308,1309],{"class":509}," &",[402,1311,1156],{"class":536},[402,1313,293],{"class":520},[402,1315,567],{"class":509},[402,1317,521],{"class":520},[188,1319],{},[191,1321,1323,1324,293],{"id":1322},"_4-migrasi-namespace-paket-npm-rustors","4. Migrasi Namespace Paket NPM (",[252,1325,344],{},[179,1327,1328,1329,391],{},"Seluruh paket npm telah dimigrasikan ke organisasi resmi ",[252,1330,1331],{},"@rustors",[196,1333,1334,1347],{},[199,1335,1336],{},[202,1337,1338,1341,1344],{},[205,1339,1340],{},"Paket Lama (v0.2)",[205,1342,1343],{},"Paket Resmi (v0.3)",[205,1345,1346],{},"Keterangan",[215,1348,1349,1368,1385,1402],{},[202,1350,1351,1356,1365],{},[220,1352,1353],{},[252,1354,1355],{},"react-native-rusto",[220,1357,1358],{},[234,1359,1362],{"href":1360,"rel":1361},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@rustors\u002Freact-native",[238],[252,1363,1364],{},"@rustors\u002Freact-native",[220,1366,1367],{},"Jembatan native JNI\u002FTurboModule",[202,1369,1370,1374,1382],{},[220,1371,1372],{},[252,1373,336],{},[220,1375,1376],{},[234,1377,1380],{"href":1378,"rel":1379},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@rustors\u002Fweb",[238],[252,1381,351],{},[220,1383,1384],{},"Engine WASM RTen untuk peramban",[202,1386,1387,1391,1399],{},[220,1388,1389],{},[252,1390,332],{},[220,1392,1393],{},[234,1394,1397],{"href":1395,"rel":1396},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@rustors\u002Freact",[238],[252,1398,348],{},[220,1400,1401],{},"Hook dan context provider React",[202,1403,1404,1409,1414],{},[220,1405,1406],{},[252,1407,1408],{},"rusto-models-ppocrv6-*",[220,1410,1411],{},[252,1412,1413],{},"@rustors\u002Fmodel-ppocrv6-*",[220,1415,1416,1417,1419],{},"Paket bundel model ",[252,1418,263],{}," siap pakai",[359,1421,1423,1424],{"id":1422},"memperbarui-packagejson","Memperbarui ",[252,1425,1426],{},"package.json",[393,1428,1430],{"className":395,"code":1429,"language":397,"meta":398,"style":398},"  \"dependencies\": {\n-   \"react-native-rusto\": \"^0.2.4\",\n-   \"rusto-models-ppocrv6-tiny\": \"^0.2.4\"\n+   \"@rustors\u002Freact-native\": \"^0.3.0\",\n+   \"@rustors\u002Fmodel-ppocrv6-tiny\": \"^0.3.0\"\n  }\n",[252,1431,1432,1437,1444,1451,1458,1465],{"__ignoreMap":398},[402,1433,1434],{"class":404,"line":405},[402,1435,1436],{"class":536},"  \"dependencies\": {\n",[402,1438,1439,1441],{"class":404,"line":416},[402,1440,409],{"class":408},[402,1442,1443],{"class":412},"   \"react-native-rusto\": \"^0.2.4\",\n",[402,1445,1446,1448],{"class":404,"line":424},[402,1447,409],{"class":408},[402,1449,1450],{"class":412},"   \"rusto-models-ppocrv6-tiny\": \"^0.2.4\"\n",[402,1452,1453,1455],{"class":404,"line":435},[402,1454,428],{"class":427},[402,1456,1457],{"class":431},"   \"@rustors\u002Freact-native\": \"^0.3.0\",\n",[402,1459,1460,1462],{"class":404,"line":642},[402,1461,428],{"class":427},[402,1463,1464],{"class":431},"   \"@rustors\u002Fmodel-ppocrv6-tiny\": \"^0.3.0\"\n",[402,1466,1467],{"class":404,"line":676},[402,1468,1469],{"class":536},"  }\n",[188,1471],{},[191,1473,1475],{"id":1474},"_5-paket-mobile-native","5. Paket Mobile & Native",[1477,1478,1479,1522,1580],"ul",{},[762,1480,1481,1484,1485],{},[183,1482,1483],{},"Android (JitPack \u002F Gradle)",":\n",[393,1486,1490],{"className":1487,"code":1488,"language":1489,"meta":398,"style":398},"language-groovy shiki shiki-themes material-theme-lighter github-light github-dark monokai","\u002F\u002F app\u002Fbuild.gradle\nimplementation 'com.github.byrizki.rusto-rs:rusto-android:0.3.0'\nimplementation 'com.github.byrizki.rusto-rs:rusto-models-ppocrv6-tiny:0.3.0'\n","groovy",[252,1491,1492,1497,1511],{"__ignoreMap":398},[402,1493,1494],{"class":404,"line":405},[402,1495,1496],{"class":603},"\u002F\u002F app\u002Fbuild.gradle\n",[402,1498,1499,1502,1505,1508],{"class":404,"line":416},[402,1500,1501],{"class":536},"implementation ",[402,1503,1504],{"class":555},"'",[402,1506,1507],{"class":559},"com.github.byrizki.rusto-rs:rusto-android:0.3.0",[402,1509,1510],{"class":555},"'\n",[402,1512,1513,1515,1517,1520],{"class":404,"line":424},[402,1514,1501],{"class":536},[402,1516,1504],{"class":555},[402,1518,1519],{"class":559},"com.github.byrizki.rusto-rs:rusto-models-ppocrv6-tiny:0.3.0",[402,1521,1510],{"class":555},[762,1523,1524,1484,1527],{},[183,1525,1526],{},"iOS (CocoaPods)",[393,1528,1532],{"className":1529,"code":1530,"language":1531,"meta":398,"style":398},"language-ruby shiki shiki-themes material-theme-lighter github-light github-dark monokai","# Podfile\npod 'RustO', '~> 0.3.0'\npod 'RustO-Models-PPOCRv6-Tiny', '~> 0.3.0'\n","ruby",[252,1533,1534,1539,1561],{"__ignoreMap":398},[402,1535,1536],{"class":404,"line":405},[402,1537,1538],{"class":603},"# Podfile\n",[402,1540,1541,1544,1546,1549,1551,1553,1556,1559],{"class":404,"line":416},[402,1542,1543],{"class":536},"pod ",[402,1545,1504],{"class":555},[402,1547,1548],{"class":559},"RustO",[402,1550,1504],{"class":555},[402,1552,734],{"class":520},[402,1554,1555],{"class":555}," '",[402,1557,1558],{"class":559},"~> 0.3.0",[402,1560,1510],{"class":555},[402,1562,1563,1565,1567,1570,1572,1574,1576,1578],{"class":404,"line":424},[402,1564,1543],{"class":536},[402,1566,1504],{"class":555},[402,1568,1569],{"class":559},"RustO-Models-PPOCRv6-Tiny",[402,1571,1504],{"class":555},[402,1573,734],{"class":520},[402,1575,1555],{"class":555},[402,1577,1558],{"class":559},[402,1579,1510],{"class":555},[762,1581,1582,1484,1585],{},[183,1583,1584],{},".NET (NuGet)",[393,1586,1590],{"className":1587,"code":1588,"language":1589,"meta":398,"style":398},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","dotnet add package RustODotnet --version 0.3.0\ndotnet add package RustODotnet.Models.PPOCRv6.Tiny --version 0.3.0\n","bash",[252,1591,1592,1614],{"__ignoreMap":398},[402,1593,1594,1598,1601,1604,1607,1611],{"class":404,"line":405},[402,1595,1597],{"class":1596},"sR7ES","dotnet",[402,1599,1600],{"class":559}," add",[402,1602,1603],{"class":559}," package",[402,1605,1606],{"class":559}," RustODotnet",[402,1608,1610],{"class":1609},"sFhLe"," --version",[402,1612,1613],{"class":880}," 0.3.0\n",[402,1615,1616,1618,1620,1622,1625,1627],{"class":404,"line":416},[402,1617,1597],{"class":1596},[402,1619,1600],{"class":559},[402,1621,1603],{"class":559},[402,1623,1624],{"class":559}," RustODotnet.Models.PPOCRv6.Tiny",[402,1626,1610],{"class":1609},[402,1628,1613],{"class":880},[188,1630],{},[191,1632,1634],{"id":1633},"_6-daftar-periksa-checklist-migrasi","6. Daftar Periksa (Checklist) Migrasi",[1477,1636,1639,1659,1675,1689,1703,1723],{"className":1637},[1638],"contains-task-list",[762,1640,1643,1647,1648,1651,1652,1654,1655,779,1657,466],{"className":1641},[1642],"task-list-item",[1644,1645],"input",{"disabled":526,"type":1646},"checkbox"," ",[183,1649,1650],{},"Langkah 1",": Ganti berkas model (",[252,1653,254],{},") dengan format ",[252,1656,263],{},[252,1658,269],{},[762,1660,1662,1647,1664,1667,1668,1671,1672,1674],{"className":1661},[1642],[1644,1663],{"disabled":526,"type":1646},[183,1665,1666],{},"Langkah 2",": Perbarui versi dependensi ke ",[252,1669,1670],{},"0.3.0"," (gunakan lingkup ",[252,1673,344],{}," untuk npm).",[762,1676,1678,1647,1680,1683,1684,1686,1687,466],{"className":1677},[1642],[1644,1679],{"disabled":526,"type":1646},[183,1681,1682],{},"Langkah 3",": Ganti referensi ",[252,1685,281],{}," ke ",[252,1688,288],{},[762,1690,1692,1647,1694,1697,1698,1700,1701,466],{"className":1691},[1642],[1644,1693],{"disabled":526,"type":1646},[183,1695,1696],{},"Langkah 4",": Pisahkan inisialisasi statis ",[252,1699,159],{}," dari opsi per gambar ",[252,1702,164],{},[762,1704,1706,1647,1708,1711,1712,1715,1716,446,1719,1722],{"className":1705},[1642],[1644,1707],{"disabled":526,"type":1646},[183,1709,1710],{},"Langkah 5",": Sesuaikan konfigurasi (ganti ",[252,1713,1714],{},"preprocessing.*"," bersarang dengan ",[252,1717,1718],{},"options.detection.*",[252,1720,1721],{},"options.postprocess.*",").",[762,1724,1726,1647,1728,1731],{"className":1725},[1642],[1644,1727],{"disabled":526,"type":1646},[183,1729,1730],{},"Langkah 6",": Uji dan verifikasi hasil pembacaan teks dan koordinat kotak pembatas.",[1733,1734,1735],"style",{},"html pre.shiki code .sX33R, html code.shiki .sX33R{--shiki-light:#39ADB5;--shiki-default:#B31D28;--shiki-dark:#FDAEB7;--shiki-sepia:#F92672}html pre.shiki code .sM3cg, html code.shiki .sM3cg{--shiki-light:#E53935;--shiki-default:#B31D28;--shiki-dark:#FDAEB7;--shiki-sepia:#F92672}html pre.shiki code .sl_ps, html code.shiki .sl_ps{--shiki-light:#39ADB5;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-sepia:#A6E22E}html pre.shiki code .sktkw, html code.shiki .sktkw{--shiki-light:#91B859;--shiki-default:#22863A;--shiki-dark:#85E89D;--shiki-sepia:#A6E22E}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 .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .shWJe, html code.shiki .shWJe{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sKvfc, html code.shiki .sKvfc{--shiki-light:#E2931D;--shiki-light-text-decoration:inherit;--shiki-default:#6F42C1;--shiki-default-text-decoration:inherit;--shiki-dark:#B392F0;--shiki-dark-text-decoration:inherit;--shiki-sepia:#A6E22E;--shiki-sepia-text-decoration:underline}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .srJo8, html code.shiki .srJo8{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sD0ED, html code.shiki .sD0ED{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .ss7Ak, html code.shiki .ss7Ak{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit;--shiki-sepia:#88846F;--shiki-sepia-font-style:inherit}html pre.shiki code .sTNss, html code.shiki .sTNss{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sMTiH, html code.shiki .sMTiH{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .sR7ES, html code.shiki .sR7ES{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sFhLe, html code.shiki .sFhLe{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}",{"title":398,"searchDepth":416,"depth":416,"links":1737},[1738,1739,1743,1748,1751,1756,1757],{"id":193,"depth":416,"text":194},{"id":356,"depth":416,"text":357,"children":1740},[1741,1742],{"id":361,"depth":424,"text":362},{"id":378,"depth":424,"text":379},{"id":471,"depth":416,"text":1744,"children":1745},"2. API Sesi: EngineSession",[1746,1747],{"id":488,"depth":424,"text":489},{"id":572,"depth":424,"text":573},{"id":753,"depth":416,"text":754,"children":1749},[1750],{"id":785,"depth":424,"text":786},{"id":1322,"depth":416,"text":1752,"children":1753},"4. Migrasi Namespace Paket NPM (@rustors\u002F*)",[1754],{"id":1422,"depth":424,"text":1755},"Memperbarui package.json",{"id":1474,"depth":416,"text":1475},{"id":1633,"depth":416,"text":1634},"Panduan peningkatan dari RustO v0.2 ke v0.3: Engine RTen pure Rust, format model .rten, EngineSession, opsi runtime terpisah, dan namespace @rustors.","md",null,{},{"icon":138},{"title":1764,"description":1758},"Panduan Migrasi (v0.2 ke v0.3) - RustO!","l66XDJM-olL-bcW3lzN97TIFI_Kobgkie36oRPKqQt0",[1767,1769],{"title":145,"path":146,"stem":147,"description":1768,"icon":148,"children":-1},"Penyelesaian kendala umum, resolusi berkas model, kesalahan penautan per platform, dan optimasi performa.",{"title":159,"path":160,"stem":161,"description":1770,"icon":162,"children":-1},"Referensi API publik untuk preset model, path model, dan tahapan inferensi tambahan.",1792905891783]