{"data":{"version":"v2.107","locale":"fil","availableLocales":["en","vi","th","id","fil"],"updatedAt":"2026-11-13T08:53:59.804Z","contract":{"keywords":["if","else","for","while","def","class","return","global","pass","lambda","in","is","and","or","not","break","continue","True","False","None"],"allowedImports":["cognitab","random","math","time"],"builtinHelpers":["enumerate","zip","any","all","globals","len","int","float","str","type","isinstance","hasattr","print","bool","abs","sum","min","max","sorted","round","sqrt","pow","floor","ceil","sin","cos","tan","log","clamp"],"functionAliases":{"sleep":"wait"}},"guides":{"concurrency":{"title":"Sabayang pagtakbo at execution","sections":[{"id":"overview","title":"Sabayang pagtakbo at execution","body":"Sunod-sunod ang mga linya sa isang flow. Ang “blocking” ay paghihintay ng susunod na linya, hindi pag-freeze ng app. May kasabay na flow sa Flow.start(); touch lang ang inilalagay sa queue ng parallel=True.","example":null},{"id":"flows","title":"Background flow","body":"Nagbabalik ang Flow.start() ng positibong Int kapag handa nang tumanggap ng mensahe ang pinangalanang flow; hanggang dalawang background flow ang sabay. Kinokopya ng send() ang mensahe nang sunod-sunod; naghihintay ang receive(), agad sumusuri ang poll(). Pinapanatili ng pause ang mensahe; itinatapon sa stop/pagtatapos. Kasama sa running() ang naka-pause. Pinatitigil ng Flow.stop(name) ang background owner; tuloy ang iba at nakareserba ang pangalan hanggang matapos ang paglilinis. Gamit ng pinangalanang nested group ang mensahe at stop target ng owner; hindi maihihinto nang ganito ang main, at wala itong awtomatikong pangalan. Hinihintay ng macro ang workers: tahasang ihinto ang walang katapusang worker. Para sa lahat ang main Pause/Resume; inaalis ng global Resume ang indibidwal na pause. May Pause/Resume ang background controls, walang Stop. Pinatitigil ng invalid/duplicate start, anumang flow error, main Stop o System.stop() ang buong macro.","example":"# I-configure muna ang macro flow na watch_enemy bago patakbuhin\nordinal = Flow.start(\"watch_enemy\", {\"task\": \"status\"})\nprint(ordinal)"},{"id":"shared-state","title":"Shared state","body":"Ihiwalay ang nababagong object bawat flow. Protektado ng Storage ang bawat operasyon, pati pagbabago sa koleksiyon, pero maaaring magsulat ang ibang flow sa pagitan ng get() at set(). Gumamit ng isang tagasulat para hindi mapatungan ang update. Shared ang capture, muling paggamit ng larawan at audio settings. Magpalitan ng kopyang mensahe gamit ang Flow.send(), receive() at poll().","example":null},{"id":"touches","title":"Mga touch sa queue","body":"Naglalagay ng touch sa queue ang parallel=True nang hindi hinihintay ang pagtatapos; naghihintay pa rin ang delay_before, delay_after sa labas ng collect. Nag-iipon ang Touch.collect(), nagpapadala ang Touch.send(), at naghihintay ang Touch.wait(). Maaaring magkansela ang gesture ng iba’t ibang flow sa iisang screen. Kailangan ng Android 8 pataas para kanselahin ang aktibong gesture.","example":"# Kolektahin ang magkakapatong na touch, saka hintaying matapos\nTouch.collect()\nclick((300, 900), hold_ms=1500, parallel=True)\nclick((780, 900), delay_before=500, parallel=True)\nTouch.send()\nTouch.wait()"},{"id":"recognition-ui","title":"Pagkilala at paghihintay sa UI","body":"Hinahanap ng Region.find* ang paglitaw; hinihintay ng Region.wait* ang pagkawala. May tagal kahit isang pagsusuri; 1–60 pagsusuri/segundo ang pag-ulit. Paisa-isa at naghihintay ang MacroPanel dialog. Nagpapatuloy ang show(mode=\"floating\") na may isang floating panel bawat takbo; values() para basahin, close() para alisin. Sariling overlay lang ang inaalis ng OverlayText.off_all(); maaaring maghintay ang pag-update.","example":null}]}},"entries":[{"key":"class-audio","kind":"CLASS","parentKey":null,"name":"Audio","signature":"Audio(name)","description":"Read-only na audio value para makilala ang mga tunog sa app o laro. Gamitin ang Audio(name) para mag-load ng naka-save na sample, o Audio.recent(duration_ms) para kopyahin ang kakakuha pa lang na audio. Sa device ginagawa ang capture at pagtutugma; hindi ina-upload ang tuloy-tuloy na listening buffer at hindi naa-access ng script ang raw audio (PCM).","behavior":"Read-only na audio value para makilala ang mga tunog sa app o laro. Gamitin ang Audio(name) para mag-load ng naka-save na sample, o Audio.recent(duration_ms) para kopyahin ang kakakuha pa lang na audio. Sa device ginagawa ang capture at pagtutugma; hindi ina-upload ang tuloy-tuloy na listening buffer at hindi naa-access ng script ang raw audio (PCM).","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["name","duration_ms","start_ms","end_ms"],"fieldDocs":[{"name":"name","type":"String | None","defaultValue":null,"description":"Pangalan ng naka-save na sample, o None para sa pinakabagong snapshot.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"duration_ms","type":"Number","defaultValue":null,"description":"Haba ng snapshot sa millisecond.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"start_ms","type":"Number","defaultValue":null,"description":"Oras ng simula sa millisecond; zero para sa sample na may pangalan, at mula sa simula ng session para sa pinakabagong snapshot.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"end_ms","type":"Number","defaultValue":null,"description":"Oras ng pagtatapos na hindi kasama sa saklaw, sa millisecond sa parehong timeline ng start_ms.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"name","type":"String","defaultValue":null,"description":"Kailangang ilagay ang pangalan ng sample na ginawa sa Template Manager ng kasalukuyang macro; hindi ito maaaring walang laman o isang file path. Agad nilo-load ang sample, kasama ang mga naibalik o nasa package na protektado ng encryption; error ang nawawala o sirang sample. Sine-save ng Backup/Store ang napiling source at mga sample kasama ng macro: hanggang 32 WAV sample na PCM16 mono 48 kHz, hanggang 10 segundo bawat isa, at hanggang 4 MiB ang kabuuang WAV data.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":"# I-load ang sample na naka-save sa makrong ito\naudio = Audio(\"alert\")","params":[],"returnType":null,"returnDescription":null,"example":"# Kilalanin ang lokal na audio sample pagkatapos magsimulang makinig\nsample = Audio(\"alert\")\nAudio.start()\nwait(2000)\nclip = Audio.recent(duration_ms=2000)\nresult = clip.match(sample, threshold=0.85)\nif result.matched:\n    print(result.score, result.start_ms, result.end_ms)\nAudio.stop()","aliases":[],"group":null},{"key":"class-audio-static-method-start","kind":"STATIC_METHOD","parentKey":"class-audio","name":"start","signature":"Audio.start()","description":"Simulang makinig sa audio ng napiling app, hindi sa mikropono. Kailangan ng Android 10+, pahintulot sa pag-record, pagsang-ayon sa MediaProjection, at source app na nagpapahintulot sa capture. Nananatili ang buffer kapag tinawag muli habang nakikinig. Nagre-reset ang oras ng sesyon kapag nagsimulang muli matapos ang stop; i-reset din ang naka-save na oras ng detection. Nililinis ng Pause ang history, pero mula pa rin sa orihinal na simula ng sesyon ang oras sa Resume at kasama ang tagal ng pag-pause. Error kapag kulang ang pahintulot, configuration, o capture session.","behavior":"Simulang makinig sa audio ng napiling app, hindi sa mikropono. Kailangan ng Android 10+, pahintulot sa pag-record, pagsang-ayon sa MediaProjection, at source app na nagpapahintulot sa capture. Nananatili ang buffer kapag tinawag muli habang nakikinig. Nagre-reset ang oras ng sesyon kapag nagsimulang muli matapos ang stop; i-reset din ang naka-save na oras ng detection. Nililinis ng Pause ang history, pero mula pa rin sa orihinal na simula ng sesyon ang oras sa Resume at kasama ang tagal ng pag-pause. Error kapag kulang ang pahintulot, configuration, o capture session.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":null,"example":"# Simulan ang pagkuha ng audio ng naka-configure na app pagkatapos ng pahintulot at pagsang-ayon\nAudio.start()","aliases":[],"group":"FLOW"},{"key":"class-audio-static-method-stop","kind":"STATIC_METHOD","parentKey":"class-audio","name":"stop","signature":"Audio.stop()","description":"Ihinto ang audio capture at linisin ang buffer nito. Magagamit pa rin ang mga audio value na naibalik na; patuloy ang screen capture na ginagamit sa ibang bahagi. Nire-release din ang audio capture kapag natapos ang macro.","behavior":"Ihinto ang audio capture at linisin ang buffer nito. Magagamit pa rin ang mga audio value na naibalik na; patuloy ang screen capture na ginagamit sa ibang bahagi. Nire-release din ang audio capture kapag natapos ang macro.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":null,"example":"# Bitawan ang naka-configure na audio recorder\nAudio.stop()","aliases":[],"group":"FLOW"},{"key":"class-audio-static-method-recent","kind":"STATIC_METHOD","parentKey":"class-audio","name":"recent","signature":"Audio.recent(duration_ms)","description":"Kopyahin ang pinakabagong audio sa isang hiwalay na snapshot nang hindi naghihintay ng dagdag na data. Huling 10 segundo lang ang available; hindi na makukuha ang audio na tumugtog bago nagsimulang makinig. Error kapag kulang ang history o hindi available ang recorder. Hindi sapat ang katahimikan para patunayang hinaharang ng source app ang capture.","behavior":"Kopyahin ang pinakabagong audio sa isang hiwalay na snapshot nang hindi naghihintay ng dagdag na data. Huling 10 segundo lang ang available; hindi na makukuha ang audio na tumugtog bago nagsimulang makinig. Error kapag kulang ang history o hindi available ang recorder. Hindi sapat ang katahimikan para patunayang hinaharang ng source app ang capture.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"duration_ms","type":"Number (1..10000)","defaultValue":null,"description":"Kailangang buong bilang ang tagal, mula 1 hanggang 10000 millisecond.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Audio","returnDescription":null,"example":"# Dapat nagpe-play ang source app; panatilihin ang hindi bababa sa 500 ms na history\nAudio.start()\nwait(600)\nclip = Audio.recent(500)\nprint(clip.duration_ms)","aliases":[],"group":"FLOW"},{"key":"class-audio-method-match","kind":"METHOD","parentKey":"class-audio","name":"match","signature":"audio.match(sample, threshold)","description":"Hanapin ang pinakakatulad na bahagi ng sample sa audio na ito at ibalik ang similarity score. Hindi tugma ang katahimikan; bumababa ang puntos kapag may kulang na bahagi ng tunog. Error kung mas mahaba ang sample kaysa audio. Hindi nito kinikilala ang pananalita o inaayos ang bilis at tono. Pumili ng threshold gamit ang magkakahiwalay na recording at suriin muli matapos i-update ang matcher.","behavior":"Hanapin ang pinakakatulad na bahagi ng sample sa audio na ito at ibalik ang similarity score. Hindi tugma ang katahimikan; bumababa ang puntos kapag may kulang na bahagi ng tunog. Error kung mas mahaba ang sample kaysa audio. Hindi nito kinikilala ang pananalita o inaayos ang bilis at tono. Pumili ng threshold gamit ang magkakahiwalay na recording at suriin muli matapos i-update ang matcher.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sample","type":"Audio","defaultValue":null,"description":"Reference na audio value na hahanapin sa loob ng audio value na ito.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number (0..1)","defaultValue":null,"description":"Kailangang finite na bilang mula 0 hanggang 1. I-calibrate gamit ang magkakahiwalay na recording; halimbawa lang ang 0.85, hindi pangkalahatang inirerekomendang threshold.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"AudioMatch","returnDescription":null,"example":"# I-save ang alert sample sa Template Manager bago patakbuhin ang halimbawang ito\nsample = Audio(\"alert\")\nAudio.start()\nwait(1500)\nclip = Audio.recent(1500)\nresult = clip.match(sample, 0.85)\nprint(result)\nAudio.stop()","aliases":[],"group":"FLOW"},{"key":"class-audio-method-find","kind":"METHOD","parentKey":"class-audio","name":"find","signature":"audio.find(timeout_ms, threshold)","description":"Hintayin ang sample na ito sa bagong audio at ibalik ang AudioMatch na umabot sa threshold, o None kung natapos ang recording window nang walang tugma. Audio lang na natanggap matapos magsimula ang tawag ang hinahanap; hindi garantisado ang pagkilala.\nNagsisimulang makinig kung kailangan, sa parehong kondisyon ng Audio.start(), at nagpapatuloy hanggang Audio.stop() o matapos ang macro. Maaaring matapos ang pagproseso lampas timeout_ms. Ang 0 ay nagbabalik ng None nang hindi nagsisimulang mag-record.\nItinatapon ng Pause ng macro ang nakabinbing audio at pinapahinto ang timeout; bagong audio ang hinahanap sa Resume. Error ang pagkawala ng capture, sobrang data o sirang audio, hindi None.","behavior":"Hintayin ang sample na ito sa bagong audio at ibalik ang AudioMatch na umabot sa threshold, o None kung natapos ang recording window nang walang tugma. Audio lang na natanggap matapos magsimula ang tawag ang hinahanap; hindi garantisado ang pagkilala.\nNagsisimulang makinig kung kailangan, sa parehong kondisyon ng Audio.start(), at nagpapatuloy hanggang Audio.stop() o matapos ang macro. Maaaring matapos ang pagproseso lampas timeout_ms. Ang 0 ay nagbabalik ng None nang hindi nagsisimulang mag-record.\nItinatapon ng Pause ng macro ang nakabinbing audio at pinapahinto ang timeout; bagong audio ang hinahanap sa Resume. Error ang pagkawala ng capture, sobrang data o sirang audio, hindi None.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"timeout_ms","type":"Number (0..2147483647)","defaultValue":null,"description":"Kinakailangang buong bilang mula 0 hanggang 2147483647 millisecond. Hindi kasama ang oras ng pag-pause ng macro. Tinataya lang ang recording window; maaaring matapos ang pagproseso nang mas huli.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number (0..1)","defaultValue":null,"description":"Kailangang finite na bilang mula 0 hanggang 1. I-calibrate gamit ang magkakahiwalay na recording; halimbawa lang ang 0.85, hindi pangkalahatang inirerekomendang threshold.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"AudioMatch | None","returnDescription":null,"example":"# Maghintay ng bagong tunog at pangasiwaan ang timeout\naudio = Audio(\"alert\")\nresult = audio.find(timeout_ms=5000, threshold=0.85)\nif result is not None:\n    print(result.score, result.start_ms, result.end_ms)\nAudio.stop()","aliases":[],"group":"FLOW"},{"key":"class-audiomatch","kind":"READ_ONLY_CLASS","parentKey":null,"name":"AudioMatch","signature":"AudioMatch","description":"Read-only na resulta ng pagtutugma ng audio. Pagkakatulad ang score, hindi posibilidad ng katumpakan. Ginagamit ng find() ang timeline ng session ng pakikinig; ginagamit ng match() ang timeline ng audio value na hinahanapan. Ihambing ang mga oras upang hindi paulit-ulit na maproseso ang iisang tunog. Gamitin lamang ang mga oras bilang pagtuklas kapag True ang matched.","behavior":"Read-only na resulta ng pagtutugma ng audio. Pagkakatulad ang score, hindi posibilidad ng katumpakan. Ginagamit ng find() ang timeline ng session ng pakikinig; ginagamit ng match() ang timeline ng audio value na hinahanapan. Ihambing ang mga oras upang hindi paulit-ulit na maproseso ang iisang tunog. Gamitin lamang ang mga oras bilang pagtuklas kapag True ang matched.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":["matched","score","start_ms","end_ms"],"fieldDocs":[{"name":"matched","type":"Boolean","defaultValue":null,"description":"True kapag umabot sa threshold ang hindi tahimik na bahagi.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"score","type":"Number","defaultValue":null,"description":"Pagkakahawig mula 0 hanggang 1, hindi posibilidad.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"start_ms","type":"Number","defaultValue":null,"description":"Oras ng simula ng kandidatong bahagi sa millisecond sa timeline ng audio na hinahanapan.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"end_ms","type":"Number","defaultValue":null,"description":"Oras ng pagtatapos na hindi kasama sa saklaw, sa millisecond sa parehong timeline ng start_ms.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# I-save ang alert sample sa Template Manager bago patakbuhin\nsample = Audio(\"alert\")\nAudio.start()\nwait(1500)\nclip = Audio.recent(1500)\nresult = clip.match(sample, 0.85)\nprint(result.matched, result.score, result.start_ms, result.end_ms)\nAudio.stop()","aliases":[],"group":null},{"key":"class-point","kind":"CLASS","parentKey":null,"name":"Point","signature":"Point(x, y, /, scale=\"fixed\", anchor=\"none\")","description":"Posisyon sa screen na nasa pixel, para sa pag-click, pag-swipe at pagmarka. Inaangkop ng scale at anchor ang posisyon sa ibang laki ng screen; nililimitahan ang huling posisyon sa loob ng screen. Basahin ang dalawang coordinate gamit ang x, y = point.","behavior":"Posisyon sa screen na nasa pixel, para sa pag-click, pag-swipe at pagmarka. Inaangkop ng scale at anchor ang posisyon sa ibang laki ng screen; nililimitahan ang huling posisyon sa loob ng screen. Basahin ang dalawang coordinate gamit ang x, y = point.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["x","y","scale","anchor"],"fieldDocs":[{"name":"x","type":"Number","defaultValue":null,"description":"Horizontal coordinate in pixels.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"y","type":"Number","defaultValue":null,"description":"Vertical coordinate in pixels.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-angkop ng mga coordinate mula sa screen ng macro: pinananatili ng fixed ang pixel; inaangkop ng auto ang X ayon sa lapad at Y ayon sa taas; inaangkop ng width o height ang dalawang axis ayon sa sukat na iyon. Ang hindi fixed na coordinate o may anchor ay sumusunod din sa pag-ikot ng screen at pagmamapa ng lugar ng app ng macro.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon sa pag-angkop ng coordinate: none (kaliwang itaas), center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right. Pinipili ng auto ang pinakamalapit na gilid o gitna.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"x","type":"Number","defaultValue":null,"description":"X coordinate in pixels","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"y","type":"Number","defaultValue":null,"description":"Y coordinate in pixels","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-angkop ng mga coordinate mula sa screen ng macro: pinananatili ng fixed ang pixel; inaangkop ng auto ang X ayon sa lapad at Y ayon sa taas; inaangkop ng width o height ang dalawang axis ayon sa sukat na iyon. Ang hindi fixed na coordinate o may anchor ay sumusunod din sa pag-ikot ng screen at pagmamapa ng lugar ng app ng macro.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon sa pag-angkop ng coordinate: none (kaliwang itaas), center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right. Pinipili ng auto ang pinakamalapit na gilid o gitna.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":"# Basahin ang mga value na x, y ng Point\np = Point(500, 900)\nx_value = p.x #500\ny_value = p.y #900\nscale_value = p.scale #FIXED_PIXEL\n\n# I-unpack ang Point bilang mga coordinate na x, y\nx, y = p","constructorExample":"# Gumawa ng Point na may scale/anchor at i-click ang posisyong iyon\np = Point(500, 900, scale=\"width\", anchor=\"center\")\nclick(p)","params":[],"returnType":null,"returnDescription":null,"example":"origin = Point(0, 0)\ntarget = Point(500, 900)\nswipe([\n    SwipePoint(origin, speed=\"NORMAL\"),\n    SwipePoint(target)\n])","aliases":[],"group":null},{"key":"class-point-method-distance-to","kind":"METHOD","parentKey":"class-point","name":"distance_to","signature":"point.distance_to(other)","description":"Ibalik ang Euclidean na distansya sa pagitan ng may hangganang nakaimbak na coordinate ng dalawang Point. Gumamit ng parehong coordinate space; walang scaling o pagputol ayon sa screen.","behavior":"Ibalik ang Euclidean na distansya sa pagitan ng may hangganang nakaimbak na coordinate ng dalawang Point. Gumamit ng parehong coordinate space; walang scaling o pagputol ayon sa screen.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Point","defaultValue":null,"description":"Ang isa pang punto.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Distansyang may hangganan; nagdudulot ng error ang coordinate o distansyang walang hangganan.","example":"# Sukatin ang distansya ng dalawang punto\nprint(Point(0, 0).distance_to(Point(3, 4)))","aliases":[],"group":"FLOW"},{"key":"class-point-method-offset","kind":"METHOD","parentKey":"class-point","name":"offset","signature":"point.offset(dx, dy, scale=None)","description":"Ibalik ang bagong Point na inilipat ng dx at dy matapos iangkop ang puntong ito sa kasalukuyang screen. I-scale ang paglipat ayon sa buong screen, habang pahalang ang X at patayo ang Y. Hindi nagbabago ang orihinal na Point.","behavior":"Ibalik ang bagong Point na inilipat ng dx at dy matapos iangkop ang puntong ito sa kasalukuyang screen. I-scale ang paglipat ayon sa buong screen, habang pahalang ang X at patayo ang Y. Hindi nagbabago ang orihinal na Point.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"dx","type":"Int","defaultValue":null,"description":"Pahalang na paglipat sa buong pixel: positibo pakanan, negatibo pakaliwa. Hindi tinatanggap ang mga bahaging pixel.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"dy","type":"Int","defaultValue":null,"description":"Patayong paglipat sa buong pixel: positibo pababa, negatibo pataas. Hindi tinatanggap ang mga bahaging pixel.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"scale","type":"String?","defaultValue":"None","description":"Offset scale mode using full-screen dimensions. Defaults to this Point's current scale. Values: fixed, auto, width, height.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Point","returnDescription":"Bagong Point sa loob ng kasalukuyang screen, na may scale na FIXED_PIXEL at anchor na NONE.","example":"# I-scale ang pixel delta ayon sa buong lapad ng screen, pagkatapos idagdag sa Point\ntarget = Point(500, 900, scale=\"width\", anchor=\"center\").offset(120, -80)\nprint(target)\ntarget.highlight()","aliases":[],"group":"FLOW"},{"key":"class-point-method-highlight","kind":"METHOD","parentKey":"class-point","name":"highlight","signature":"point.highlight(color=\"green\", line_width=2, region_width=36, auto_hide_ms=0)","description":"Markahan ang puntong ito ng parisukat na balangkas. Kapag tinawag muli sa parehong Point, papalitan ang balangkas nito. Babalik bago matapos ang pagguhit; ang pinakahuling update lang bago ang susunod na refresh ng screen ang ipapakita.","behavior":"Markahan ang puntong ito ng parisukat na balangkas. Kapag tinawag muli sa parehong Point, papalitan ang balangkas nito. Babalik bago matapos ang pagguhit; ang pinakahuling update lang bago ang susunod na refresh ng screen ang ipapakita.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":"green","description":"Highlight color.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"line_width","type":"Number","defaultValue":"2","description":"Kapal ng balangkas sa dp; ang mas mababa sa 1 ay nagiging 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"region_width","type":"Number","defaultValue":"36","description":"Lapad at taas ng parisukat sa pixel; ang mas mababa sa 1 ay nagiging 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"auto_hide_ms","type":"Number","defaultValue":"0","description":"Auto-hide after N milliseconds. 0 disables auto-hide.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Nakasentro sa paligid ng punto ang naka-highlight na parisukat na rehiyon.","example":"p = Point(500, 900)\np.highlight()","aliases":[],"group":"FLOW"},{"key":"class-point-method-highlight-off","kind":"METHOD","parentKey":"class-point","name":"highlight_off","signature":"point.highlight_off()","description":"Alisin ang balangkas na ginawa ng Point na ito.","behavior":"Alisin ang balangkas na ginawa ng Point na ito.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Point","returnDescription":"Ibinabalik ang parehong punto pagkatapos i-off ang highlight.","example":"p = Point(500, 900)\np.highlight(\"red\", 3)\nwait(1000)\np.highlight_off()","aliases":[],"group":"FLOW"},{"key":"class-swipepoint","kind":"CLASS","parentKey":null,"name":"SwipePoint","signature":"SwipePoint(point, speed=\"NORMAL\", delay_before=0, random=10, humanized=False, scale=\"fixed\", anchor=\"none\")","description":"Posisyon at mga setting ng galaw para sa isang hakbang ng swipe. Magpasa ng listahan ng hindi bababa sa dalawang SwipePoint sa swipe([...]) upang igalaw ang isang daliri sa mga posisyong iyon.","behavior":"Posisyon at mga setting ng galaw para sa isang hakbang ng swipe. Magpasa ng listahan ng hindi bababa sa dalawang SwipePoint sa swipe([...]) upang igalaw ang isang daliri sa mga posisyong iyon.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["point","speed","delay_before","random","humanized","scale","anchor"],"fieldDocs":[{"name":"point","type":"Point","defaultValue":null,"description":"Posisyon ng swipe sa pixel, kasama ang mga setting ng scale at anchor.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"speed","type":"String","defaultValue":"NORMAL","description":"Bilis ng galaw mula sa puntong ito papunta sa susunod: VERY_SLOW, SLOW, NORMAL, FAST, VERY_FAST.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"delay_before","type":"Number","defaultValue":"0","description":"Paghihintay sa millisecond; ang negatibo ay nagiging 0. Sa parallel=False, maghintay bago magsimula sa unang punto o matapos marating ang susunod na punto. Unang punto lang ang ginagamit na paghihintay sa parallel na swipe.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"random","type":"Number","defaultValue":"10","description":"Pinakamalaking random na paglihis sa pixel sa bawat axis; eksaktong posisyon sa 0. Ang negatibo ay nagiging 0.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"humanized","type":"Boolean","defaultValue":"False","description":"Gumamit ng kurbadong daan sa buong swipe kung may anumang SwipePoint na humanized=True.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-scale ng coordinate gaya sa Point: fixed, auto, width, height. Minamana mula sa point kung hindi ibinigay.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon gaya sa Point. Minamana mula sa point kung hindi ibinigay; nagsisimula sa none ang tuple.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"point","type":"Point | tuple[Number, Number]","defaultValue":null,"description":"Point o (x, y) tuple sa pixel. Pinananatili ang scale at anchor ng Point maliban kung tahasang papalitan dito.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"speed","type":"String","defaultValue":"NORMAL","description":"Bilis ng galaw mula sa puntong ito papunta sa susunod: VERY_SLOW, SLOW, NORMAL, FAST, VERY_FAST.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"delay_before","type":"Number","defaultValue":"0","description":"Paghihintay sa millisecond; ang negatibo ay nagiging 0. Sa parallel=False, maghintay bago magsimula sa unang punto o matapos marating ang susunod na punto. Unang punto lang ang ginagamit na paghihintay sa parallel na swipe.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"random","type":"Number","defaultValue":"10","description":"Pinakamalaking random na paglihis sa pixel sa bawat axis; eksaktong posisyon sa 0. Ang negatibo ay nagiging 0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"humanized","type":"Boolean","defaultValue":"False","description":"Gumamit ng kurbadong daan sa buong swipe kung may anumang SwipePoint na humanized=True.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-scale ng coordinate gaya sa Point: fixed, auto, width, height. Minamana mula sa point kung hindi ibinigay.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon gaya sa Point. Minamana mula sa point kung hindi ibinigay; nagsisimula sa none ang tuple.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":"path = [\n    SwipePoint(Point(500, 1500), speed=\"FAST\"),\n    SwipePoint((560, 980), speed=\"NORMAL\", humanized=True),\n    SwipePoint(Point(500, 500))\n]\nswipe(path)","params":[],"returnType":null,"returnDescription":null,"example":"# Dalawang parallel na daliri, bawat daliri ay isang flat path\nTouch.collect()\nleft = swipe([\n    SwipePoint(Point(300, 1500), speed=\"FAST\"),\n    SwipePoint(Point(300, 500))\n], parallel=True)\nright = swipe([\n    SwipePoint(Point(780, 1500), speed=\"FAST\"),\n    SwipePoint(Point(780, 500))\n], parallel=True)\nTouch.send()\nTouch.wait()","aliases":[],"group":null},{"key":"class-touch","kind":"CLASS","parentKey":null,"name":"Touch","signature":"Touch","description":"Pamahalaan ang sabay-sabay na click at swipe mula sa script o mga action ng macro: ipangkat, tingnan ang progreso, hintayin o kanselahin. Sa script, gamitin ang click(..., parallel=True) o swipe(..., parallel=True). Kailangang naka-enable ang Accessibility service ng CogniTab upang magpadala ng mga gesture.","behavior":"Pamahalaan ang sabay-sabay na click at swipe mula sa script o mga action ng macro: ipangkat, tingnan ang progreso, hintayin o kanselahin. Sa script, gamitin ang click(..., parallel=True) o swipe(..., parallel=True). Kailangang naka-enable ang Accessibility service ng CogniTab upang magpadala ng mga gesture.","execution":{"blocking":"conditional","threadSafety":"limited","parallel":"conditional","details":"Naglalagay ng touch sa queue ang parallel=True; naghihintay pa rin ang delay_before, delay_after sa labas ng collect. Nag-iipon ang Touch.collect(), nagpapadala ang send(), at naghihintay ang wait(). Maaaring magkaabala ang touch ng iba’t ibang flow."},"limitations":[],"relatedApis":["class-touch-static-method-collect","class-touch-static-method-send","class-touch-static-method-wait"],"isCallable":false,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"Touch.collect()\na = click(Point(300, 900), hold_ms=5000, parallel=True)\nb = click(Point(780, 900), hold_ms=1000, delay_before=1000, parallel=True)\nsent = Touch.send()\nTouch.cancel(a)\nTouch.wait()","aliases":[],"group":null},{"key":"class-touch-static-method-collect","kind":"STATIC_METHOD","parentKey":"class-touch","name":"collect","signature":"Touch.collect()","description":"Ipunin ang mga susunod na click/swipe ng script na may parallel=True hanggang Touch.send() upang tumakbo nang sabay. Hindi apektado ang ibang tawag. Kapag walang pag-iipon, agad isinusumite ang parallel na tawag. Tumawag ng Touch.send() bago matapos ang script; magdudulot ng error ang mga hindi naipadalang gesture.","behavior":"Ipunin ang mga susunod na click/swipe ng script na may parallel=True hanggang Touch.send() upang tumakbo nang sabay. Hindi apektado ang ibang tawag. Kapag walang pag-iipon, agad isinusumite ang parallel na tawag. Tumawag ng Touch.send() bago matapos ang script; magdudulot ng error ang mga hindi naipadalang gesture.","execution":{"blocking":"no","threadSafety":"limited","parallel":"conditional","details":"Nagbabalik bago matapos ang gesture. Tatakbo lang ang naipong touch pagkatapos ng Touch.send(). Para sa sandali ng pagsusuri ang status at maaaring magbago agad."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-send","kind":"STATIC_METHOD","parentKey":"class-touch","name":"send","signature":"Touch.send()","description":"Isumite nang sabay ang mga naipong gesture at tapusin ang pag-iipon. Ibalik ang mga numerong ID ayon sa pagkakaipon, o walang-lamang listahan kung wala. Magkaka-error kapag higit sa 10 gesture. Hindi naghihintay ang pagsusumite na matapos ang mga ito; gamitin ang Touch.wait().","behavior":"Isumite nang sabay ang mga naipong gesture at tapusin ang pag-iipon. Ibalik ang mga numerong ID ayon sa pagkakaipon, o walang-lamang listahan kung wala. Magkaka-error kapag higit sa 10 gesture. Hindi naghihintay ang pagsusumite na matapos ang mga ito; gamitin ang Touch.wait().","execution":{"blocking":"no","threadSafety":"limited","parallel":"conditional","details":"Nagbabalik bago matapos ang gesture. Tatakbo lang ang naipong touch pagkatapos ng Touch.send(). Para sa sandali ng pagsusuri ang status at maaaring magbago agad."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[Number]","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-queued","kind":"STATIC_METHOD","parentKey":"class-touch","name":"queued","signature":"Touch.queued()","description":"Ibalik ang kalagayan ng mga naisumiteng gesture na naghihintay magsimula. Hindi pa kasama ang mga inipon ng Touch.collect() hanggang Touch.send().","behavior":"Ibalik ang kalagayan ng mga naisumiteng gesture na naghihintay magsimula. Hindi pa kasama ang mga inipon ng Touch.collect() hanggang Touch.send().","execution":{"blocking":"no","threadSafety":"limited","parallel":"conditional","details":"Nagbabalik bago matapos ang gesture. Tatakbo lang ang naipong touch pagkatapos ng Touch.send(). Para sa sandali ng pagsusuri ang status at maaaring magbago agad."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[TouchState]","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nprint(Touch.queued())\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-active","kind":"STATIC_METHOD","parentKey":"class-touch","name":"active","signature":"Touch.active()","description":"Ibalik ang kalagayan ng mga gesture na kasalukuyang tumatakbo.","behavior":"Ibalik ang kalagayan ng mga gesture na kasalukuyang tumatakbo.","execution":{"blocking":"no","threadSafety":"limited","parallel":"conditional","details":"Nagbabalik bago matapos ang gesture. Tatakbo lang ang naipong touch pagkatapos ng Touch.send(). Para sa sandali ng pagsusuri ang status at maaaring magbago agad."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[TouchState]","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nprint(Touch.active())\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-all","kind":"STATIC_METHOD","parentKey":"class-touch","name":"all","signature":"Touch.all()","description":"Ibalik ang kalagayan ng mga nakapila at aktibong gesture kasama ang hanggang 64 na katatapos na kalagayan. Hindi kasama ang mga gesture na hindi pa naipadala ng Touch.send().","behavior":"Ibalik ang kalagayan ng mga nakapila at aktibong gesture kasama ang hanggang 64 na katatapos na kalagayan. Hindi kasama ang mga gesture na hindi pa naipadala ng Touch.send().","execution":{"blocking":"no","threadSafety":"limited","parallel":"conditional","details":"Nagbabalik bago matapos ang gesture. Tatakbo lang ang naipong touch pagkatapos ng Touch.send(). Para sa sandali ng pagsusuri ang status at maaaring magbago agad."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[TouchState]","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nprint(Touch.all())\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-wait","kind":"STATIC_METHOD","parentKey":"class-touch","name":"wait","signature":"Touch.wait(id=None)","description":"Hintayin ang naisumiteng gesture na may numerong ID na ito at ibalik ang TouchState nito, o None kung hindi kilala o hindi na nakatala ang ID. Sa id=None, hintayin ang lahat ng nakapila/aktibong gesture at ibalik ang mga nakatalang kalagayan, kasama ang mga katatapos lang. Ipadala muna ang mga naipong gesture.","behavior":"Hintayin ang naisumiteng gesture na may numerong ID na ito at ibalik ang TouchState nito, o None kung hindi kilala o hindi na nakatala ang ID. Sa id=None, hintayin ang lahat ng nakapila/aktibong gesture at ibalik ang mga nakatalang kalagayan, kasama ang mga katatapos lang. Ipadala muna ang mga naipong gesture.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa tagal o pagtatapos ng touch. Maaaring magpatuloy ang ibang flow; umiiral pa rin ang pause at stop."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"TouchState | list[TouchState] | None","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\nTouch.wait(first)\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touch-static-method-cancel","kind":"STATIC_METHOD","parentKey":"class-touch","name":"cancel","signature":"Touch.cancel(id=None)","description":"Kanselahin ang naisumiteng nakapila/aktibong gesture ayon sa numerong ID; ibalik ang True kung tinanggap, kung hindi ay False. Sa id=None, kanselahin ang lahat ng nakapila/aktibong gesture at ibalik ang bilang na tinanggap. Kailangan ng Android 8.0+ para kanselahin ang aktibong gesture at magkaka-error sa Android 7.x. Hindi nito kinakansela ang mga gesture na inipon pa ng Touch.collect().","behavior":"Kanselahin ang naisumiteng nakapila/aktibong gesture ayon sa numerong ID; ibalik ang True kung tinanggap, kung hindi ay False. Sa id=None, kanselahin ang lahat ng nakapila/aktibong gesture at ibalik ang bilang na tinanggap. Kailangan ng Android 8.0+ para kanselahin ang aktibong gesture at magkaka-error sa Android 7.x. Hindi nito kinakansela ang mga gesture na inipon pa ng Touch.collect().","execution":{"blocking":"conditional","threadSafety":"limited","parallel":"conditional","details":"Naglalagay ng touch sa queue ang parallel=True; naghihintay pa rin ang delay_before, delay_after sa labas ng collect. Nag-iipon ang Touch.collect(), nagpapadala ang send(), at naghihintay ang wait(). Maaaring magkaabala ang touch ng iba’t ibang flow."},"limitations":[],"relatedApis":["class-touch-static-method-collect","class-touch-static-method-send","class-touch-static-method-wait"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean | Int","returnDescription":null,"example":"# Suriin o kontrolin ang mga nakolektang touch\nTouch.collect()\nfirst = click((300, 900), hold_ms=1000, parallel=True)\nsecond = click((780, 900), delay_before=300, parallel=True)\nTouch.send()\n# Kailangan ng Android 8 pataas para kanselahin ang aktibong operasyon\nTouch.cancel(second)\nTouch.wait()","aliases":[],"group":"FLOW"},{"key":"class-touchstate","kind":"READ_ONLY_CLASS","parentKey":null,"name":"TouchState","signature":"TouchState(id, status, kind, action_order, remaining_repeats, completed_repeats)","description":"Kalagayan ng isang parallel na click o swipe noong kinuha ito. Kunin ito mula sa mga method ng Touch; hindi ito kusang nag-a-update.","behavior":"Kalagayan ng isang parallel na click o swipe noong kinuha ito. Kunin ito mula sa mga method ng Touch; hindi ito kusang nag-a-update.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":["id","status","kind","action_order","remaining_repeats","completed_repeats"],"fieldDocs":[{"name":"id","type":"Number","defaultValue":null,"description":"Touch submission id.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"status","type":"String","defaultValue":null,"description":"queued: naghihintay; active: tumatakbo; completed: matagumpay na natapos; cancelled: nakansela; failed: hindi natapos.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"kind","type":"String","defaultValue":null,"description":"Touch kind such as click or swipe.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"action_order","type":"Number","defaultValue":null,"description":"Pagkakasunod ng action ng macro na nagsumite ng gesture na ito.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"remaining_repeats","type":"Number","defaultValue":"0","description":"Mga pag-uulit na hindi pa natatapos.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"completed_repeats","type":"Number","defaultValue":"0","description":"Mga pag-uulit na natapos na.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# Mula sa touch-state query ang mga value ng TouchState; huwag gawin ang mga ito\nTouch.collect()\nclick((300, 900), hold_ms=1000, parallel=True)\nTouch.send()\nfor state in Touch.all():\n    print(state.id, state.status, state.kind)\nTouch.wait()","aliases":[],"group":null},{"key":"class-scaleparam","kind":"CLASS","parentKey":null,"name":"ScaleParam","signature":"ScaleParam(grayscale=True, auto_scale=False, cache_scale=True, template_scale=\"SHORT_EDGE\", fast_matching=False)","description":"Mga setting para sa paghahanap ng larawan ng template sa loob ng Region. Ipasa ang object na ito bilang scale_param ng Region; hindi nito binabago ang mga coordinate ng lugar.","behavior":"Mga setting para sa paghahanap ng larawan ng template sa loob ng Region. Ipasa ang object na ito bilang scale_param ng Region; hindi nito binabago ang mga coordinate ng lugar.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["grayscale","auto_scale","cache_scale","template_scale","fast_matching"],"fieldDocs":[{"name":"grayscale","type":"Boolean","defaultValue":"True","description":"**Applies to templates**. Convert screenshot/template to grayscale before template matching.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"auto_scale","type":"Boolean","defaultValue":"False","description":"Subukan ang kalapit na laki ng template matapos ilapat ang template_scale. Umaangkop ang saklaw sa laki/density ng screen at maaaring umabot mula 0.70x hanggang 1.30x. Walang epekto sa template_scale=\"NONE\".","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"cache_scale","type":"Boolean","defaultValue":"True","description":"Tandaan ang matagumpay na laki ng auto_scale para sa susunod na paghahanap na pareho ang mga setting. Para lang ito kapag auto_scale=True.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"template_scale","type":"String","defaultValue":"SHORT_EDGE","description":"Paraan ng pagbabago ng laki ng template para sa device: SHORT_EDGE ayon sa mas maikling gilid ng screen; LONG_EDGE sa mas mahaba; DPI sa density ng pixel; SMALLEST_WIDTH_DP sa maikling gilid na nasa dp. Pinananatili ng NONE ang laki ng larawan.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"fast_matching","type":"Boolean","defaultValue":"False","description":"Paliitin sa dalawang-katlo ang larawan ng Region at ang template bago itugma. Mas mabilis ito, ngunit maaaring bahagyang bumaba ang accuracy, lalo na para sa maliliit na icon.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"grayscale","type":"Boolean","defaultValue":"True","description":"**Applies to templates**. Convert template matching to grayscale.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"auto_scale","type":"Boolean","defaultValue":"False","description":"Subukan ang kalapit na laki ng template matapos ilapat ang template_scale. Umaangkop ang saklaw sa laki/density ng screen at maaaring umabot mula 0.70x hanggang 1.30x. Walang epekto sa template_scale=\"NONE\".","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"cache_scale","type":"Boolean","defaultValue":"True","description":"Tandaan ang matagumpay na laki ng auto_scale para sa susunod na paghahanap na pareho ang mga setting. Para lang ito kapag auto_scale=True.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"template_scale","type":"String","defaultValue":"SHORT_EDGE","description":"Paraan ng pagbabago ng laki ng template para sa device: SHORT_EDGE ayon sa mas maikling gilid ng screen; LONG_EDGE sa mas mahaba; DPI sa density ng pixel; SMALLEST_WIDTH_DP sa maikling gilid na nasa dp. Pinananatili ng NONE ang laki ng larawan.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"fast_matching","type":"Boolean","defaultValue":"False","description":"Paliitin sa dalawang-katlo ang larawan ng Region at ang template bago itugma. Mas mabilis ito, ngunit maaaring bahagyang bumaba ang accuracy, lalo na para sa maliliit na icon.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":"param = ScaleParam(auto_scale=True, template_scale=\"LONG_EDGE\", fast_matching=True)\nparam.cache_scale = False\ntemplate_mode = param.template_scale","constructorExample":"param = ScaleParam(grayscale=True, auto_scale=True, cache_scale=True, template_scale=\"LONG_EDGE\", fast_matching=True)\nquick = ScaleParam(False, True, True, \"LONG_EDGE\", True)","params":[],"returnType":null,"returnDescription":null,"example":"# I-configure ang preprocessing ng pagtutugma sa Region na ito\nsettings = ScaleParam(grayscale=True, fast_matching=True)\nregion = Region(100, 200, 300, 400, scale_param=settings)\nprint(region.find(\"start\", timeout=0).found)","aliases":[],"group":null},{"key":"class-region","kind":"CLASS","parentKey":null,"name":"Region","signature":"Region(x, y, width, height, /, scale=\"fixed\", anchor=\"none\", scale_param=ScaleParam())","description":"Parihabang lugar sa screen para maghanap ng larawan o kulay, kumuha ng larawan, o gumuhit ng balangkas. Pixel ang mga coordinate sa kasalukuyang pahalang/patayong axis; pagkatapos i-scale at ilipat, ang bahaging nasa loob lang ng screen ang ginagamit. Basahin ang sukat gamit ang x, y, width, height = region.","behavior":"Parihabang lugar sa screen para maghanap ng larawan o kulay, kumuha ng larawan, o gumuhit ng balangkas. Pixel ang mga coordinate sa kasalukuyang pahalang/patayong axis; pagkatapos i-scale at ilipat, ang bahaging nasa loob lang ng screen ang ginagamit. Basahin ang sukat gamit ang x, y, width, height = region.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["x","y","width","height","scale","anchor","scale_param","middle_point"],"fieldDocs":[{"name":"x","type":"Number","defaultValue":null,"description":"Top-left horizontal coordinate.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"y","type":"Number","defaultValue":null,"description":"Top-left vertical coordinate.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"width","type":"Number","defaultValue":null,"description":"Region width in pixels.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"height","type":"Number","defaultValue":null,"description":"Region height in pixels.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-angkop ng coordinate sa buong screen: pinananatili ng fixed ang pixel; inaangkop ng auto ang X ayon sa lapad at Y ayon sa taas; inaangkop ng width o height ang dalawang axis ayon sa sukat na iyon. Ginagamit ang laki ng source screen ng macro nang hindi iniikot ang mga axis o ginagamit ang laki ng app window.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon sa pag-angkop ng coordinate: none (kaliwang itaas), center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right. Pinipili ng auto ang pinakamalapit na gilid o gitna.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"scale_param","type":"ScaleParam","defaultValue":"ScaleParam()","description":"**Applies to templates**. Template matching scale parameters used by find/wait methods on this region.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"middle_point","type":"Point","defaultValue":null,"description":"Center point of this region.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"x","type":"Number","defaultValue":null,"description":"Top-left X coordinate","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"y","type":"Number","defaultValue":null,"description":"Top-left Y coordinate","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"width","type":"Number","defaultValue":null,"description":"Region width","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"height","type":"Number","defaultValue":null,"description":"Region height","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"scale","type":"String","defaultValue":"fixed","description":"Pag-angkop ng coordinate sa buong screen: pinananatili ng fixed ang pixel; inaangkop ng auto ang X ayon sa lapad at Y ayon sa taas; inaangkop ng width o height ang dalawang axis ayon sa sukat na iyon. Ginagamit ang laki ng source screen ng macro nang hindi iniikot ang mga axis o ginagamit ang laki ng app window.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"anchor","type":"String","defaultValue":"none","description":"Batayang posisyon sa pag-angkop ng coordinate: none (kaliwang itaas), center, top, bottom, left, right, top_left, top_right, bottom_left, bottom_right. Pinipili ng auto ang pinakamalapit na gilid o gitna.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"scale_param","type":"ScaleParam","defaultValue":"ScaleParam()","description":"**Applies to templates**. Template matching scale parameters.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":"search_area = Region(120, 240, 360, 420)\nleft = search_area.x\ntop = search_area.y\nw = search_area.width\nh = search_area.height\nscale = search_area.scale\nanchor = search_area.anchor\nsearch_area.x = 300\nsearch_area.scale_param = ScaleParam(auto_scale=True, template_scale=\"LONG_EDGE\")\ncenter = search_area.middle_point\n\n# I-unpack ang Region bilang x, y, width, height\nx, y, width, height = search_area","constructorExample":"search_region = Region(120, 240, 360, 420)\nfixed_center = Region(120, 240, 360, 420, \"fixed\", \"center\")\nleft_lane = Region(120, 240, 360, 420, scale=\"width\", anchor=\"left\", scale_param=ScaleParam(auto_scale=True, template_scale=\"LONG_EDGE\"))","params":[],"returnType":null,"returnDescription":null,"example":"region = Region(100, 200, 300, 400)\nhit = region.find(\"img\", 3000, threshold=0.8, rate=3.0)","aliases":[],"group":null},{"key":"class-region-static-method-from-center","kind":"STATIC_METHOD","parentKey":"class-region","name":"from_center","signature":"Region.from_center(cx, cy, width, height)","description":"Gumawa ng fixed na Region na walang anchor mula sa may hangganang coordinate ng gitna at positibong may hangganang sukat. Pinananatili ang mga fractional na coordinate.","behavior":"Gumawa ng fixed na Region na walang anchor mula sa may hangganang coordinate ng gitna at positibong may hangganang sukat. Pinananatili ang mga fractional na coordinate.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula mula sa mga nakaimbak na value nang walang screen capture. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"cx","type":"Number","defaultValue":null,"description":"X coordinate ng gitna.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"cy","type":"Number","defaultValue":null,"description":"Y coordinate ng gitna.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"width","type":"Number","defaultValue":null,"description":"Positibong lapad.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"height","type":"Number","defaultValue":null,"description":"Positibong taas.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Dapat may hangganan ang mga coordinate at nakalkulang gilid; kung hindi, magkakaroon ng error.","example":"# Gumawa ng region sa paligid ng gitna\narea = Region.from_center(100, 200, 50, 30)","aliases":[],"group":"FLOW"},{"key":"class-region-static-method-highlighted","kind":"STATIC_METHOD","parentKey":"class-region","name":"highlighted","signature":"Region.highlighted()","description":"Ibalik ang mga lugar sa screen na kasalukuyang may balangkas mula sa script, kasama ang mga parisukat mula sa Point.highlight().","behavior":"Ibalik ang mga lugar sa screen na kasalukuyang may balangkas mula sa script, kasama ang mga parisukat mula sa Point.highlight().","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[Region]","returnDescription":"listahan ng mga aktibong naka-highlight na rehiyon.","example":"active_regions = Region.highlighted()\nfor area in active_regions:\n    area.highlight(\"yellow\", auto_hide_ms=500)","aliases":[],"group":"FLOW"},{"key":"class-region-static-method-full-screen","kind":"STATIC_METHOD","parentKey":"class-region","name":"full_screen","signature":"Region.full_screen()","description":"Ibalik ang buong kasalukuyang rehiyon ng screen.","behavior":"Ibalik ang buong kasalukuyang rehiyon ng screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Region","returnDescription":"Region na sumasaklaw sa kasalukuyang screen mula sa (0, 0).","example":"scan = Region.full_screen()\nhit = scan.find(\"ok\", 2000)","aliases":[],"group":"FLOW"},{"key":"class-region-static-method-highlight-off","kind":"STATIC_METHOD","parentKey":"class-region","name":"highlight_off","signature":"Region.highlight_off()","description":"I-off ang lahat ng aktibong highlight ng rehiyon.","behavior":"I-off ang lahat ng aktibong highlight ng rehiyon.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang halaga.","example":"scan = Region(120, 260, 280, 160)\nscan.highlight(\"green\")\nwait(1000)\nRegion.highlight_off()","aliases":[],"group":"FLOW"},{"key":"class-region-static-method-macro-width","kind":"STATIC_METHOD","parentKey":"class-region","name":"macro_width","signature":"Region.macro_width()","description":"Return the screen width of the device that created this macro, adapted to current screen orientation, when available.","behavior":"Return the screen width of the device that created this macro, adapted to current screen orientation, when available.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number?","returnDescription":"Lapad ng screen ng macro source, o Wala kapag hindi available.","example":"macro_w = Region.macro_width()","aliases":[],"group":"FLOW"},{"key":"class-region-static-method-macro-height","kind":"STATIC_METHOD","parentKey":"class-region","name":"macro_height","signature":"Region.macro_height()","description":"Return the screen height of the device that created this macro, adapted to current screen orientation, when available.","behavior":"Return the screen height of the device that created this macro, adapted to current screen orientation, when available.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number?","returnDescription":"Taas ng screen ng macro source, o Wala kapag hindi available.","example":"macro_h = Region.macro_height()","aliases":[],"group":"FLOW"},{"key":"class-region-method-intersection","kind":"METHOD","parentKey":"class-region","name":"intersection","signature":"region.intersection(other)","description":"Ibalik bilang bagong Region ang nagsasapawang bahaging may positibong lawak, o None. Hindi nagsasapaw ang mga gilid na nagdidikit lamang. Ginagamit ang nakaimbak na coordinate sa parehong coordinate space nang walang capture, scaling o pagputol; pinananatili ang scale, anchor at scale_param ng Region na ito nang hindi ito binabago.","behavior":"Ibalik bilang bagong Region ang nagsasapawang bahaging may positibong lawak, o None. Hindi nagsasapaw ang mga gilid na nagdidikit lamang. Ginagamit ang nakaimbak na coordinate sa parehong coordinate space nang walang capture, scaling o pagputol; pinananatili ang scale, anchor at scale_param ng Region na ito nang hindi ito binabago.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula mula sa mga nakaimbak na value nang walang screen capture. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Region","defaultValue":null,"description":"Ang isa pang region.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Region?","returnDescription":"Dapat may hangganan ang mga coordinate at nakalkulang gilid; kung hindi, magkakaroon ng error.","example":"# Hanapin ang nagsasapawang bahagi\noverlap = Region(0, 0, 100, 100).intersection(Region(50, 50, 100, 100))","aliases":[],"group":"FLOW"},{"key":"class-region-method-intersects","kind":"METHOD","parentKey":"class-region","name":"intersects","signature":"region.intersects(other)","description":"Suriin ang pagsasapaw na may positibong lawak gamit ang nakaimbak na coordinate sa parehong coordinate space. Hindi nagsasapaw ang mga gilid na nagdidikit lamang; walang capture, scaling o pagputol.","behavior":"Suriin ang pagsasapaw na may positibong lawak gamit ang nakaimbak na coordinate sa parehong coordinate space. Hindi nagsasapaw ang mga gilid na nagdidikit lamang; walang capture, scaling o pagputol.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula mula sa mga nakaimbak na value nang walang screen capture. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Region","defaultValue":null,"description":"Ang isa pang region.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"Dapat may hangganan ang mga coordinate at nakalkulang gilid; kung hindi, magkakaroon ng error.","example":"# Suriin kung nagsasapaw ang dalawang region\nprint(Region(0, 0, 100, 100).intersects(Region(50, 50, 20, 20)))","aliases":[],"group":"FLOW"},{"key":"class-region-method-contains","kind":"METHOD","parentKey":"class-region","name":"contains","signature":"region.contains(point_or_region)","description":"Suriin kung nasa loob gamit ang nakaimbak na coordinate sa parehong coordinate space, nang walang capture, scaling o pagputol. Kasama ang mga puntong nasa kaliwa at itaas na gilid, ngunit hindi ang nasa kanan at ibaba. Maaaring magkapareho ang hangganan ng Region; False ang resulta sa walang laman o negatibong sukat.","behavior":"Suriin kung nasa loob gamit ang nakaimbak na coordinate sa parehong coordinate space, nang walang capture, scaling o pagputol. Kasama ang mga puntong nasa kaliwa at itaas na gilid, ngunit hindi ang nasa kanan at ibaba. Maaaring magkapareho ang hangganan ng Region; False ang resulta sa walang laman o negatibong sukat.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula mula sa mga nakaimbak na value nang walang screen capture. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"point_or_region","type":"Point | Region","defaultValue":null,"description":"Punto o region na susuriin.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"Dapat may hangganan ang mga coordinate at nakalkulang gilid; kung hindi, magkakaroon ng error.","example":"# Suriin kung nasa loob ng region ang punto\nprint(Region(0, 0, 100, 100).contains(Point(10, 10)))","aliases":[],"group":"FLOW"},{"key":"class-region-method-find","kind":"METHOD","parentKey":"class-region","name":"find","signature":"region.find(template, timeout=0, threshold=0.7, rate=3.0)","description":"Maghanap ng isang katugma ng template sa lugar na ito. Ulitin hanggang makita o maubos ang oras; isang scan lang sa timeout=0. Dapat handa ang pagkuha ng screen. Ginagamit muli ng ScreenCapture.cache_on() ang isang larawan hanggang cache_off(); karaniwang hanggang 100 ms ang awtomatikong paggamit muli. Gamitin ang auto_cache_off() para sa pinakabagong larawang makukuha, kapalit ng mas maraming pagkuha.","behavior":"Maghanap ng isang katugma ng template sa lugar na ito. Ulitin hanggang makita o maubos ang oras; isang scan lang sa timeout=0. Dapat handa ang pagkuha ng screen. Ginagamit muli ng ScreenCapture.cache_on() ang isang larawan hanggang cache_off(); karaniwang hanggang 100 ms ang awtomatikong paggamit muli. Gamitin ang auto_cache_off() para sa pinakabagong larawang makukuha, kapalit ng mas maraming pagkuha.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"template","type":"String | Template","defaultValue":null,"description":"Pangalan ng template o relative na path ng folder na walang image extension sa kasalukuyang macro, o Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Match na may found=True kapag nakita; kung hindi, found=False pagkatapos ng scan o pag-expire ng oras. Hindi kailanman None.","example":"region = Region(80, 220, 420, 520)\nhit = region.find(\"ok\", 4000, 0.8, 4.0)\nMacroPanel.notify(str(hit))","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-multi","kind":"METHOD","parentKey":"class-region","name":"find_multi","signature":"region.find_multi(template, timeout=0, threshold=0.7, rate=3.0)","description":"I-scan sa loob ng rehiyong ito at ibalik ang lahat ng mga tugma para sa isang template kapag may nakitang kahit isa. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"I-scan sa loob ng rehiyong ito at ibalik ang lahat ng mga tugma para sa isang template kapag may nakitang kahit isa. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"template","type":"String | Template","defaultValue":null,"description":"Pangalan ng template o relative na path ng folder na walang image extension sa kasalukuyang macro, o Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Lahat ng mga tugma para sa template, o walang laman na listahan sa timeout.","example":"region = Region(80, 220, 420, 520)\nmatches = region.find_multi(\"enemy\", 3000)\nMacroPanel.notify(str(matches))","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-any","kind":"METHOD","parentKey":"class-region","name":"find_any","signature":"region.find_any(templates, timeout=0, threshold=0.7, rate=3.0)","description":"I-scan ang rehiyong ito at bumalik kapag may nakitang template sa listahan. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"I-scan ang rehiyong ito at bumalik kapag may nakitang template sa listahan. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"templates","type":"list[String | Template]","defaultValue":null,"description":"Mga pangalan ng template/relative na path ng folder na walang image extension, o mga Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Isang Match bawat input na template, ayon sa pagkakasunod, kapag may nakita; maaaring found=False ang ilan. Walang-lamang MatchList kung walang nakita bago maubos ang oras.","example":"region = Region(80, 220, 420, 520)\nmatches = region.find_any([\"enemy_a\", \"enemy_b\"], 2500)\nMacroPanel.notify(str(matches))","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-all","kind":"METHOD","parentKey":"class-region","name":"find_all","signature":"region.find_all(templates, timeout=0, threshold=0.7, rate=3.0)","description":"I-scan ang rehiyong ito at bumalik lamang kapag nakita ang bawat template sa listahan. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"I-scan ang rehiyong ito at bumalik lamang kapag nakita ang bawat template sa listahan. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"templates","type":"list[String | Template]","defaultValue":null,"description":"Mga pangalan ng template/relative na path ng folder na walang image extension, o mga Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Isang matagumpay na Match bawat input na template ayon sa pagkakasunod, o walang-lamang MatchList kung walang scan na nakakita sa lahat bago maubos ang oras.","example":"region = Region(80, 220, 420, 520)\nmatches = region.find_all([\"hp\", \"mp\"], 5000)\nMacroPanel.notify(str(matches))","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-color","kind":"METHOD","parentKey":"class-region","name":"find_color","signature":"region.find_color(color, timeout=0, tolerance=0, rate=3, interval=10)","description":"Hanapin ang isang sinuring pixel na pinakamalapit sa target na kulay sa lugar na ito. Hindi dapat lumampas sa tolerance ang diperensya ng bawat red, green at blue channel; pipiliin ang may pinakamaliit na pinakamataas na diperensya ng channel. Ulitin hanggang makita o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","behavior":"Hanapin ang isang sinuring pixel na pinakamalapit sa target na kulay sa lugar na ito. Hindi dapat lumampas sa tolerance ang diperensya ng bawat red, green at blue channel; pipiliin ang may pinakamaliit na pinakamataas na diperensya ng channel. Ulitin hanggang makita o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":null,"description":"Target color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"tolerance","type":"Number","defaultValue":"0","description":"Allowed per-channel RGB delta from 0 to 255.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"interval","type":"Number","defaultValue":"10","description":"Hinihiling na agwat sa pixel sa pagitan ng mga sinusuring posisyon; hindi bababa sa 1. Mas maraming pixel ang sinusuri sa mas maliit na halaga at maaaring mas tumagal. Maaaring awtomatikong lumaki ang agwat para sa malalaking lugar.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Match na may hanggang isang Point sa point, o found=False at walang-lamang listahan ng point kung walang sinuring pixel na tumugma o hindi makakuha ng screen.","example":"scan = Region(80, 220, 420, 520)\nhit = scan.find_color(\"#FF4CAF50\", tolerance=8, interval=4)\nif hit.found:\n    click(hit.point[0], random=0)","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-any-color","kind":"METHOD","parentKey":"class-region","name":"find_any_color","signature":"region.find_any_color(colors, timeout=0, tolerance=0, rate=3, interval=10)","description":"Hanapin ang alinman sa mga target na kulay sa lugar na ito gamit ang tuntunin ng RGB tolerance ng find_color. Ibalik ang hanggang isang pinakamahusay na sinuring punto bawat nakitang kulay, ayon sa input. Ulitin hanggang may makitang kulay o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","behavior":"Hanapin ang alinman sa mga target na kulay sa lugar na ito gamit ang tuntunin ng RGB tolerance ng find_color. Ibalik ang hanggang isang pinakamahusay na sinuring punto bawat nakitang kulay, ayon sa input. Ulitin hanggang may makitang kulay o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"colors","type":"list[Color | String | Number] | tuple[Color | String | Number]","defaultValue":null,"description":"Target colors.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"tolerance","type":"Number","defaultValue":"0","description":"Allowed per-channel RGB delta from 0 to 255.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"interval","type":"Number","defaultValue":"10","description":"Hinihiling na agwat sa pixel sa pagitan ng mga sinusuring posisyon; hindi bababa sa 1. Mas maraming pixel ang sinusuri sa mas maliit na halaga at maaaring mas tumagal. Maaaring awtomatikong lumaki ang agwat para sa malalaking lugar.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Match na may isang pinakamahusay na Point bawat nakitang kulay sa point, ayon sa input. found=False at walang-lamang listahan ng point kung walang tumugma o hindi makakuha ng screen.","example":"colors = [\"#FF0000\", \"#00FF00\", \"#0000FF\"]\nhit = Region.full_screen().find_any_color(colors, tolerance=6)\nif hit.found:\n    click(hit, random=0)","aliases":[],"group":"FLOW"},{"key":"class-region-method-find-multi-color","kind":"METHOD","parentKey":"class-region","name":"find_multi_color","signature":"region.find_multi_color(color, timeout=0, tolerance=0, rate=3, interval=10)","description":"Hanapin ang lahat ng sinuring pixel na tumutugma sa isang target na kulay gamit ang tuntunin ng RGB tolerance ng find_color. Magkaka-error sa listahan o tuple ng mga kulay. Ulitin hanggang may makitang punto o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","behavior":"Hanapin ang lahat ng sinuring pixel na tumutugma sa isang target na kulay gamit ang tuntunin ng RGB tolerance ng find_color. Magkaka-error sa listahan o tuple ng mga kulay. Ulitin hanggang may makitang punto o maubos ang oras; isang scan sa timeout=0. Kailangang handa ang pagkuha ng screen.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":null,"description":"Single target color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"tolerance","type":"Number","defaultValue":"0","description":"Allowed per-channel RGB delta from 0 to 255.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"interval","type":"Number","defaultValue":"10","description":"Hinihiling na agwat sa pixel sa pagitan ng mga sinusuring posisyon; hindi bababa sa 1. Mas maraming pixel ang sinusuri sa mas maliit na halaga at maaaring mas tumagal. Maaaring awtomatikong lumaki ang agwat para sa malalaking lugar.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Match na may mga tumugmang sinuring Point sa point, na nauuna ang pinakamalapit na kulay. found=False at walang-lamang listahan ng point kung walang tumugma o hindi makakuha ng screen.","example":"hit = Region(80, 220, 420, 520).find_multi_color(\"red\", tolerance=4, interval=3)\nif hit.found:\n    first = hit.point[0]\n    hit.highlight(color=\"yellow\", auto_hide_ms=800)","aliases":[],"group":"FLOW"},{"key":"class-region-method-wait","kind":"METHOD","parentKey":"class-region","name":"wait","signature":"region.wait(template, timeout=0, threshold=0.7, rate=3.0)","description":"Maghintay hanggang mawala ang template sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"Maghintay hanggang mawala ang template sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"template","type":"String | Template","defaultValue":null,"description":"Pangalan ng template o relative na path ng folder na walang image extension sa kasalukuyang macro, o Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Pinakahuling Match: ang found=False ay nangangahulugang wala ang larawan; ang found=True ay naroon pa ito nang matapos ang paghihintay. Hindi kailanman None. Kailangang handa ang pagkuha ng screen; maaari ring found=False kapag hindi makakuha ng screen.","example":"region = Region(0, 0, 1080, 2400)\nresult = region.wait(\"loading\", 8000)\nMacroPanel.notify(str(result))","aliases":[],"group":"FLOW"},{"key":"class-region-method-wait-any","kind":"METHOD","parentKey":"class-region","name":"wait_any","signature":"region.wait_any(templates, timeout=0, threshold=0.7, rate=3.0)","description":"Maghintay hanggang sa mawala ang anumang template sa listahan mula sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"Maghintay hanggang sa mawala ang anumang template sa listahan mula sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"templates","type":"list[String | Template]","defaultValue":null,"description":"Mga pangalan ng template/relative na path ng folder na walang image extension, o mga Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Pinakahuling Match bawat input na template ayon sa pagkakasunod, sa pagkawala o pag-expire ng oras. Suriin ang bawat found; ang False ay nangangahulugang wala ang larawang iyon. Kailangang handa ang pagkuha ng screen; maaari ring found=False kapag hindi makakuha ng screen.","example":"watch = [\"loading\", \"syncing\"]\nresult = region.wait_any(watch, 10000)\nMacroPanel.notify(str(result))","aliases":[],"group":"FLOW"},{"key":"class-region-method-wait-all","kind":"METHOD","parentKey":"class-region","name":"wait_all","signature":"region.wait_all(templates, timeout=0, threshold=0.7, rate=3.0)","description":"Maghintay hanggang mawala ang lahat ng template sa listahan sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","behavior":"Maghintay hanggang mawala ang lahat ng template sa listahan sa rehiyong ito. Kung aalisin ang timeout, isang scan pass lang ang gagawin.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"templates","type":"list[String | Template]","defaultValue":null,"description":"Mga pangalan ng template/relative na path ng folder na walang image extension, o mga Template object. Magkaka-error sa hindi kilalang pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"timeout","type":"Number","defaultValue":"0","description":"Pinakamahabang paghihintay sa millisecond. Isang scan kapag hindi ibinigay, zero o negatibo. Maaaring matapos ang kasalukuyang scan pagkalampas ng oras na ito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"threshold","type":"Number","defaultValue":"0.7","description":"Match threshold from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"rate","type":"Number","defaultValue":"3.0","description":"Hinihiling na scan bawat segundo habang naghihintay, limitado sa 1-60. Nakadepende ang tunay na bilis sa oras ng pagkilala.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Pinakahuling Match bawat input na template ayon sa pagkakasunod, sa pagkawala o pag-expire ng oras. False lang ang lahat ng found kapag wala na ang bawat larawan. Kailangang handa ang pagkuha ng screen; maaari ring found=False kapag hindi makakuha ng screen.","example":"watch = [\"loading\", \"syncing\"]\nresult = region.wait_all(watch, 10000)\nMacroPanel.notify(str(result))","aliases":[],"group":"FLOW"},{"key":"class-region-method-capture","kind":"METHOD","parentKey":"class-region","name":"capture","signature":"region.capture(name=None)","description":"Kunin ang lugar na ito sa screen bilang Template. Kailangan ang aktibong pagkuha ng screen na may pahintulot ng user. Magkaka-error kung hindi makakuha ng screen o nasa labas ng screen ang buong lugar.","behavior":"Kunin ang lugar na ito sa screen bilang Template. Kailangan ang aktibong pagkuha ng screen na may pahintulot ng user. Magkaka-error kung hindi makakuha ng screen o nasa labas ng screen ang buong lugar.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa shared capture at pagkilala. Hinahanap ng find* ang paglitaw; hinihintay ng wait* ang pagkawala. May tagal kahit isang pagsusuri; hindi inaalis ng timeout/rate ang paghihintay."},"limitations":[],"relatedApis":["class-screencapture","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String?","defaultValue":"None","description":"Kapag may pangalan, agad ise-save ang larawan sa kasalukuyang macro; lumilikha ang None ng pansamantalang larawan. Hindi maaaring mag-save ng may-pangalang larawan sa protektadong macro.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Template","returnDescription":"Template na naglalaman ng nakuhang larawan.","example":"sample = Region(120, 280, 220, 120).capture()\nsaved = sample.save_as(\"buttons/top/enemy_slot\")","aliases":[],"group":"FLOW"},{"key":"class-region-method-left","kind":"METHOD","parentKey":"class-region","name":"left","signature":"region.left(value=0.5)","description":"Paliitin ang rehiyong ito patungo sa kaliwang bahagi. Ang kanang gilid ay gumagalaw pakaliwa ayon sa hiniling na halaga.","behavior":"Paliitin ang rehiyong ito patungo sa kaliwang bahagi. Ang kanang gilid ay gumagalaw pakaliwa ayon sa hiniling na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Lapad na aalisin: ang 0-1 ay bahagi ng kasalukuyang lapad; higit sa 1 ay pixel, hanggang sa buong lapad. Nagdudulot ng error ang negatibong halaga.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Ang isang bagong rehiyon ay makitid mula sa kanang gilid.","example":"full = Region(100, 200, 1000, 500)\nleft_focus = full.left(0.4)\nleft_focus_px = full.left(400)","aliases":[],"group":"FLOW"},{"key":"class-region-method-right","kind":"METHOD","parentKey":"class-region","name":"right","signature":"region.right(value=0.5)","description":"Paliitin ang rehiyong ito patungo sa kanang bahagi. Ang kaliwang gilid ay gumagalaw pakanan sa hiniling na halaga.","behavior":"Paliitin ang rehiyong ito patungo sa kanang bahagi. Ang kaliwang gilid ay gumagalaw pakanan sa hiniling na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Lapad na aalisin: ang 0-1 ay bahagi ng kasalukuyang lapad; higit sa 1 ay pixel, hanggang sa buong lapad. Nagdudulot ng error ang negatibong halaga.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Isang bagong rehiyon ang pinaliit mula sa kaliwang gilid.","example":"full = Region(100, 200, 1000, 500)\nright_focus = full.right(0.3)\nright_focus_px = full.right(240)","aliases":[],"group":"FLOW"},{"key":"class-region-method-top","kind":"METHOD","parentKey":"class-region","name":"top","signature":"region.top(value=0.5)","description":"Paliitin ang rehiyong ito patungo sa itaas na bahagi. Ang ilalim na gilid ay gumagalaw paitaas ayon sa hiniling na halaga.","behavior":"Paliitin ang rehiyong ito patungo sa itaas na bahagi. Ang ilalim na gilid ay gumagalaw paitaas ayon sa hiniling na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Taas na aalisin: ang 0-1 ay bahagi ng kasalukuyang taas; higit sa 1 ay pixel, hanggang sa buong taas. Nagdudulot ng error ang negatibong halaga.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Ang isang bagong rehiyon ay makitid mula sa ilalim na gilid.","example":"full = Region(100, 200, 1000, 500)\ntop_focus = full.top(0.25)\ntop_focus_px = full.top(120)","aliases":[],"group":"FLOW"},{"key":"class-region-method-bottom","kind":"METHOD","parentKey":"class-region","name":"bottom","signature":"region.bottom(value=0.5)","description":"Paliitin ang rehiyong ito patungo sa ibabang bahagi. Ang tuktok na gilid ay gumagalaw pababa ayon sa hiniling na halaga.","behavior":"Paliitin ang rehiyong ito patungo sa ibabang bahagi. Ang tuktok na gilid ay gumagalaw pababa ayon sa hiniling na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Taas na aalisin: ang 0-1 ay bahagi ng kasalukuyang taas; higit sa 1 ay pixel, hanggang sa buong taas. Nagdudulot ng error ang negatibong halaga.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Isang bagong rehiyon ang pinaliit mula sa tuktok na gilid.","example":"full = Region(100, 200, 1000, 500)\nbottom_focus = full.bottom(0.25)\nbottom_focus_px = full.bottom(120)","aliases":[],"group":"FLOW"},{"key":"class-region-method-horizontal","kind":"METHOD","parentKey":"class-region","name":"horizontal","signature":"region.horizontal(value=0.5)","description":"Paliitin nang pahalang patungo sa gitna sa pamamagitan ng paggalaw sa kaliwa at kanang mga gilid papasok.","behavior":"Paliitin nang pahalang patungo sa gitna sa pamamagitan ng paggalaw sa kaliwa at kanang mga gilid papasok.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Kabuuang lapad na aalisin, pantay sa dalawang gilid: ang 0-1 ay bahagi, higit sa 1 ay pixel. Hanggang sa buong lapad; nagdudulot ng error ang negatibo.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Isang nakasentro na rehiyon na may pinababang lapad.","example":"full = Region(100, 200, 1000, 500)\ncenter_lane = full.horizontal(0.5)\ncenter_lane_px = full.horizontal(300)","aliases":[],"group":"FLOW"},{"key":"class-region-method-vertical","kind":"METHOD","parentKey":"class-region","name":"vertical","signature":"region.vertical(value=0.5)","description":"Paliitin nang patayo patungo sa gitna sa pamamagitan ng paggalaw sa itaas at ibabang mga gilid papasok.","behavior":"Paliitin nang patayo patungo sa gitna sa pamamagitan ng paggalaw sa itaas at ibabang mga gilid papasok.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Kabuuang taas na aalisin, pantay sa dalawang gilid: ang 0-1 ay bahagi, higit sa 1 ay pixel. Hanggang sa buong taas; nagdudulot ng error ang negatibo.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Isang nakasentro na rehiyon na may pinababang taas.","example":"full = Region(100, 200, 1000, 500)\ncenter_band = full.vertical(0.5)\ncenter_band_px = full.vertical(200)","aliases":[],"group":"FLOW"},{"key":"class-region-method-middle","kind":"METHOD","parentKey":"class-region","name":"middle","signature":"region.middle(value=0.5)","description":"Paliitin ang parehong lapad at taas patungo sa gitna.","behavior":"Paliitin ang parehong lapad at taas patungo sa gitna.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Gumagawa o nagkakalkula ng bahagi ng screen nang walang capture o pagkilala. Gumamit ng hiwalay na nababagong Region sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Number","defaultValue":"0.5","description":"Daming aalisin sa bawat sukat: ang 0-1 ay bahagi ng sukat na iyon; higit sa 1 ay pixel. Pantay na hinahati sa magkatapat na gilid, hanggang sa bawat buong sukat. Nagdudulot ng error ang negatibo.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Ang isang nakasentro na rehiyon ay nabawasan sa parehong mga palakol.","example":"full = Region(100, 200, 1000, 500)\nfocus = full.middle(0.4)\nfocus_px = full.middle(160)","aliases":[],"group":"FLOW"},{"key":"class-region-method-highlight","kind":"METHOD","parentKey":"class-region","name":"highlight","signature":"region.highlight(color=\"green\", line_width=2, auto_hide_ms=0, movable=False)","description":"Gumuhit ng parihabang balangkas sa lugar na ito. Kapag tinawag muli sa parehong Region, papalitan ang balangkas nito. Babalik bago matapos ang pagguhit; ang pinakahuling update lang bago ang susunod na refresh ng screen ang ipapakita.","behavior":"Gumuhit ng parihabang balangkas sa lugar na ito. Kapag tinawag muli sa parehong Region, papalitan ang balangkas nito. Babalik bago matapos ang pagguhit; ang pinakahuling update lang bago ang susunod na refresh ng screen ang ipapakita.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":"green","description":"Highlight color.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"line_width","type":"Number","defaultValue":"2","description":"Kapal ng balangkas sa dp; ang mas mababa sa 1 ay nagiging 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"auto_hide_ms","type":"Number","defaultValue":"0","description":"Auto-hide after N milliseconds. 0 disables auto-hide.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"movable","type":"Boolean","defaultValue":"False","description":"Allow dragging the highlighted region and write the moved coordinates back into this Region.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Region","returnDescription":"Ibinabalik ang parehong rehiyon pagkatapos ng pagguhit ng highlight.","example":"scan = Region(120, 260, 280, 160)\nscan.highlight(\"#FF00BCD4\", line_width=3, auto_hide_ms=1500, movable=True)","aliases":[],"group":"FLOW"},{"key":"class-region-method-highlight-off","kind":"METHOD","parentKey":"class-region","name":"highlight_off","signature":"region.highlight_off()","description":"Alisin ang balangkas na ginawa ng Region na ito.","behavior":"Alisin ang balangkas na ginawa ng Region na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Region","returnDescription":"Ibinabalik ang parehong rehiyon pagkatapos i-off ang highlight.","example":"scan = Region(120, 260, 280, 160)\nscan.highlight(\"green\")\nwait(1000)\nscan.highlight_off()","aliases":[],"group":"FLOW"},{"key":"class-template","kind":"CLASS","parentKey":null,"name":"Template","signature":"Template(name, /)","description":"Gamitin ang naka-save na larawan bilang target sa pagkilala. Maaari itong baguhin ang laki o i-crop bilang hiwalay na Template, saka i-save ang resulta gamit ang save_as().","behavior":"Gamitin ang naka-save na larawan bilang target sa pagkilala. Maaari itong baguhin ang laki o i-crop bilang hiwalay na Template, saka i-save ang resulta gamit ang save_as().","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["name"],"fieldDocs":[{"name":"name","type":"String?","defaultValue":null,"description":"Pangalan ng template o relatibong path ng folder sa kasalukuyang macro; None kung walang pangalan ang larawan.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"name","type":"String","defaultValue":null,"description":"Naka-save na template sa kasalukuyang macro, halimbawa \"buttons/top/attack\". Magkaka-error kung walang laman, hindi makita, o higit sa isang template ang tinutukoy ng pangalan; hindi ito kumukuha ng bagong larawan.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"fieldExample":null,"constructorExample":"base = Template(\"enemy_head\")","params":[],"returnType":null,"returnDescription":null,"example":"base = Template(\"enemy_head\")\nvariant = base.scale(0.9).crop(Region(0, 0, 64, 64)).save_as(\"enemy_head_small\")","aliases":[],"group":null},{"key":"class-template-static-method-exists","kind":"STATIC_METHOD","parentKey":"class-template","name":"exists","signature":"Template.exists(name)","description":"Suriin kung mayroong pangalan ng template sa kasalukuyang macro.","behavior":"Suriin kung mayroong pangalan ng template sa kasalukuyang macro.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Template name or relative folder path to check.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"totoo kung umiiral ang template.","example":"if Template.exists(\"enemy_head\"):\n    text(\"ready\")","aliases":[],"group":"FLOW"},{"key":"class-template-method-similarity","kind":"METHOD","parentKey":"class-template","name":"similarity","signature":"template.similarity(other)","description":"Ihambing ang pangkalahatang ayos ng maliwanag at madilim na bahagi ng dalawang larawan. Magkaka-error kung hindi mabasa ang larawan o magkaiba ang sukat. Hindi ginagamit ang transparency at maaaring hindi mapansin ang pagbabago sa kulay, liwanag, o maliliit na detalye; hindi ibig sabihin ng 100 na magkapareho ang bawat pixel.","behavior":"Ihambing ang pangkalahatang ayos ng maliwanag at madilim na bahagi ng dalawang larawan. Magkaka-error kung hindi mabasa ang larawan o magkaiba ang sukat. Hindi ginagamit ang transparency at maaaring hindi mapansin ang pagbabago sa kulay, liwanag, o maliliit na detalye; hindi ibig sabihin ng 100 na magkapareho ang bawat pixel.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Template","defaultValue":null,"description":"Kinakailangang template na may kaparehong lapad at taas ng larawan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Pagkakahawig mula 0 hanggang 100, sa mga hakbang na 1.5625; mas mataas ang halaga, mas magkahawig ang ayos ng liwanag at dilim.","example":"# Ihambing ang dalawang naka-save na template na magkapareho ang laki.\nbefore = Template(\"before\")\nafter = Template(\"after\")\nscore = before.similarity(after)\nprint(score)","aliases":[],"group":"FLOW"},{"key":"class-template-method-exists","kind":"METHOD","parentKey":"class-template","name":"exists","signature":"template.exists()","description":"Suriin kung mayroon pa ang file ng larawan ng Template na ito. Hindi nito tinitiyak kung mababasa ang larawan.","behavior":"Suriin kung mayroon pa ang file ng larawan ng Template na ito. Hindi nito tinitiyak kung mababasa ang larawan.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"true kung umiiral ang backing template file.","example":"t = Template(\"enemy_head\")\nif t.exists():\n    text(\"ok\")","aliases":[],"group":"FLOW"},{"key":"class-template-method-scale","kind":"METHOD","parentKey":"class-template","name":"scale","signature":"template.scale(scale, scale_y=None)","description":"Baguhin ang laki ng larawan at magbalik ng hiwalay na Template nang hindi binabago ang orihinal. Gamitin ang save_as() para i-save ito sa napiling pangalan.","behavior":"Baguhin ang laki ng larawan at magbalik ng hiwalay na Template nang hindi binabago ang orihinal. Gamitin ang save_as() para i-save ito sa napiling pangalan.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"scale","type":"Number","defaultValue":null,"description":"Pangmultiplika ng lapad: 1 para walang pagbabago, 0.5 para kalahati, 2 para doble. Gagamitin ang 0.01 sa halagang mas mababa rito. Gagamitin din sa taas kapag walang scale_y.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"scale_y","type":"Number","defaultValue":"scale","description":"Pangmultiplika ng taas, na may minimum na 0.01. Huwag ilagay upang panatilihin ang orihinal na proporsyon.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Template","returnDescription":"Naka-scale na template object.","example":"t = Template(\"enemy_head\")\nsmall = t.scale(0.8)\nhit = Region(0, 0, 1080, 2400).find(small, 3000)","aliases":[],"group":"FLOW"},{"key":"class-template-method-crop","kind":"METHOD","parentKey":"class-template","name":"crop","signature":"template.crop(region)","description":"Gupitin ang bahagi ng larawan at magbalik ng hiwalay na Template nang hindi binabago ang orihinal. Gamitin ang save_as() para i-save ito sa napiling pangalan.","behavior":"Gupitin ang bahagi ng larawan at magbalik ng hiwalay na Template nang hindi binabago ang orihinal. Gamitin ang save_as() para i-save ito sa napiling pangalan.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"region","type":"Region","defaultValue":null,"description":"Parihabang pang-crop sa mga pixel ng larawan, mula sa kaliwang sulok sa itaas ng larawan, hindi ng screen. Inaalis ang decimal ng mga coordinate at nililimitahan ang mga ito sa gilid ng larawan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Template","returnDescription":"Na-crop na object ng template.","example":"t = Template(\"enemy_head\")\nface = t.crop(Region(10, 10, 60, 60))","aliases":[],"group":"FLOW"},{"key":"class-template-method-save-as","kind":"METHOD","parentKey":"class-template","name":"save_as","signature":"template.save_as(name)","description":"I-save ang larawan sa kasalukuyang macro at ibalik ang na-save na Template. Hindi makakapag-save ng template ang protektadong macro; magkaka-error kung wala na ang orihinal na file.","behavior":"I-save ang larawan sa kasalukuyang macro at ibalik ang na-save na Template. Hindi makakapag-save ng template ang protektadong macro; magkaka-error kung wala na ang orihinal na file.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Pangalang hindi walang laman o relatibong path ng folder, halimbawa \"buttons/top/attack\". Papalitan ang larawang mayroon na sa path na iyon.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Template","returnDescription":"Nai-save na pinangalanang template object.","example":"captured = Region(200, 300, 120, 90).capture()\nsaved = captured.save_as(\"buttons/top/enemy_slot\")\nif saved.exists():\n    text(\"saved\")","aliases":[],"group":"FLOW"},{"key":"class-recognition","kind":"READ_ONLY_CLASS","parentKey":null,"name":"Recognition","signature":"Recognition","description":"Ginagamit sa sangay ng tagumpay sa pagkilala sa UI. Ibinabalik ng Recognition.result ang Tugma para sa isang target ng pagkilala o MatchList kapag nagtugma ang maraming target.","behavior":"Ginagamit sa sangay ng tagumpay sa pagkilala sa UI. Ibinabalik ng Recognition.result ang Tugma para sa isang target ng pagkilala o MatchList kapag nagtugma ang maraming target.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":["result"],"fieldDocs":[{"name":"result","type":"Match | MatchList","defaultValue":null,"description":"The active recognition result for this Success branch.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":"current = Recognition.result\nif current.found:\n    click(current, random=0)","constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# Available lang ang Recognition sa Python ng branch na matagumpay ang recognition.\na = Recognition.result\nif a.found:\n    a.highlight(color=\"yellow\", auto_hide_ms=800)","aliases":[],"group":null},{"key":"class-match","kind":"READ_ONLY_CLASS","parentKey":null,"name":"Match","signature":"Match","description":"Basahin ang resulta ng paghahanap. Suriin ang found bago mag-tap o gumamit ng lokasyon; maaari pa ring may lokasyon ng pinakamalapit na kandidato kahit hindi nahanap ang larawan.","behavior":"Basahin ang resulta ng paghahanap. Suriin ang found bago mag-tap o gumamit ng lokasyon; maaari pa ring may lokasyon ng pinakamalapit na kandidato kahit hindi nahanap ang larawan.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":["name","found","confidence","conf","point","bounds","region","inference_info"],"fieldDocs":[{"name":"name","type":"String?","defaultValue":null,"description":"Matched target name. Template matches use the template name without extension, OCR uses the matched target text, and color matches use Color.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"found","type":"Boolean","defaultValue":null,"description":"Whether a match was found.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"confidence","type":"Number","defaultValue":null,"description":"Confidence score from 0.0 to 1.0.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"conf","type":"Number","defaultValue":null,"description":"Alias ng confidence; ibinabalik ang parehong score mula 0.0 hanggang 1.0.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"point","type":"Point? | list[Point]","defaultValue":null,"description":"Lokasyon ng resulta: Point, listahan ng Point, o None. Nagbabalik ang paghahanap ng kulay ng listahang maaaring walang laman. Suriin ang found at anyo ng halaga bago basahin ang mga coordinate o kumuha ng item sa listahan.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"bounds","type":"Region?","defaultValue":null,"description":"Parihaba sa paligid ng resulta, o None kung walang available. Maaaring may parihaba pa rin ng pinakamalapit na kandidato kahit bigo ang paghahanap ng larawan; suriin muna ang found.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"region","type":"Region?","defaultValue":null,"description":"Alias ng bounds; ibinabalik ang parehong matched Region o None.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"inference_info","type":"dict?","defaultValue":null,"description":"Karagdagang detalye ng resulta, o None. Maaaring may class_id, class_name, mga oras na nagtatapos sa _ms (millisecond), at input_width/input_height (pixel) ang resulta ng modelo. Maaaring may target_color, sampled_color, max_channel_delta, match_count, at matches ang resulta ng kulay. Nag-iiba ang mga key ayon sa paghahanap; suriing mayroon ang key bago basahin.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":"# Basahin nang ligtas ang mga opsyonal na detalye at color point.\nm = Region(100, 200, 300, 400).find(\"btn\", 3000)\ntarget_name = m.name\nis_found = m.found\nscore = m.confidence\nshort_score = m.conf\ncenter = m.point\nbox = m.bounds\nsame_box = m.region\ninfo = m.inference_info\nif info is not None:\n    info_class_id = info.get(\"class_id\")\n    info_class_name = info.get(\"class_name\")\n\ncolor_hit = Region(0, 0, 1080, 1920).find_color(\"#FFFFFF\", tolerance=4)\ncolor_name = color_hit.name\nif color_hit.found and color_hit.point:\n    first_color_point = color_hit.point[0]\n\n# Sa branch na matagumpay ang recognition:\ncurrent = Recognition.result\nif current.found:\n    text(current.name)\n    current.highlight(color=\"yellow\", auto_hide_ms=800)","constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"m = Region(100, 200, 300, 400).find(\"btn\", 3000)\nif m.found:\n    click(m)\n    conf = m.confidence\n\n# Available lang ang Recognition.result sa Python ng branch na matagumpay ang recognition.\nif Recognition.result.found:\n    click(Recognition.result, random=0)","aliases":[],"group":null},{"key":"class-match-method-highlight","kind":"METHOD","parentKey":"class-match","name":"highlight","signature":"match.highlight(color=\"green\", line_width=2, region_width=36, auto_hide_ms=0)","description":"Markahan sa screen ang nahanap na resulta. Iguhit ang bounds kung mayroon, o parisukat sa paligid ng bawat punto; walang iginuguhit kung found=false. Naka-iskedyul ang pagguhit, kaya maaaring matapos ang tawag bago lumitaw ang frame. Ang pinakahuling update na naghihintay para sa parehong object lamang ang iginuguhit sa susunod na frame ng screen.","behavior":"Markahan sa screen ang nahanap na resulta. Iguhit ang bounds kung mayroon, o parisukat sa paligid ng bawat punto; walang iginuguhit kung found=false. Naka-iskedyul ang pagguhit, kaya maaaring matapos ang tawag bago lumitaw ang frame. Ang pinakahuling update na naghihintay para sa parehong object lamang ang iginuguhit sa susunod na frame ng screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":"green","description":"Highlight color.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"line_width","type":"Number","defaultValue":"2","description":"Kapal ng gilid sa mga pixel, na may minimum na 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"region_width","type":"Number","defaultValue":"36","description":"Lapad ng parisukat sa mga pixel kung mga punto lamang ang mayroon, na may minimum na 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"auto_hide_ms","type":"Number","defaultValue":"0","description":"Oras bago itago, sa millisecond. Pinananatiling nakikita ng 0 o negatibong halaga ang highlight hanggang tawagin ang highlight_off().","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Match","returnDescription":"Ang parehong Match, upang maipagpatuloy ang pagtawag sa mga method nito.","example":"m = Region(100, 200, 300, 400).find(\"start\", 3000)\nm.highlight(color=\"yellow\", line_width=3, auto_hide_ms=1200)","aliases":[],"group":"FLOW"},{"key":"class-match-method-highlight-off","kind":"METHOD","parentKey":"class-match","name":"highlight_off","signature":"match.highlight_off()","description":"I-off ang aktibong highlight na nabuo mula sa instance ng pagtutugma na ito.","behavior":"I-off ang aktibong highlight na nabuo mula sa instance ng pagtutugma na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Match","returnDescription":"Ibinabalik ang parehong tugma pagkatapos i-off ang highlight.","example":"m = Region(100, 200, 300, 400).find(\"start\", 3000)\nm.highlight()\nm.highlight_off()","aliases":[],"group":"FLOW"},{"key":"class-matchlist","kind":"READ_ONLY_CLASS","parentKey":null,"name":"MatchList","signature":"MatchList","description":"Basahin ang maraming resulta bilang listahan ng Match. Gamitin ang len(matches), matches[index], o for loop. Maaaring may hindi nahanap na item kahit hindi walang laman ang listahan, lalo na pagkatapos ng wait_any()/wait_all(); suriin ang found ng bawat item.","behavior":"Basahin ang maraming resulta bilang listahan ng Match. Gamitin ang len(matches), matches[index], o for loop. Maaaring may hindi nahanap na item kahit hindi walang laman ang listahan, lalo na pagkatapos ng wait_any()/wait_all(); suriin ang found ng bawat item.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"hits = Region(100, 200, 300, 400).find_all([\"hp\", \"mp\"], 5000)\nif hits:\n    click(hits, offset=(0, 4), random=0)","aliases":[],"group":null},{"key":"class-matchlist-method-unique","kind":"METHOD","parentKey":"class-matchlist","name":"unique","signature":"matches.unique(iou_threshold=0.5)","description":"Ibalik ang bagong MatchList na nag-aalis ng mga duplicate na detection kada pangalan sa paraang greedy kapag lampas sa threshold ang IoU. Pinoproseso ang nahanap na Match na may positibong lawak ng bounds mula sa pinakamataas na confidence, at pinananatili ang pagkakasunod kapag magkapantay. Ang bigo, walang bounds o hindi positibo ang lawak ay nasa hulihan sa orihinal na pagkakasunod nang hindi inaalis. Nagdudulot ng error ang walang hangganang bounds o confidence na kasama sa pagproseso. Pinananatili ang orihinal na Match at metadata nang walang pagbabago.","behavior":"Ibalik ang bagong MatchList na nag-aalis ng mga duplicate na detection kada pangalan sa paraang greedy kapag lampas sa threshold ang IoU. Pinoproseso ang nahanap na Match na may positibong lawak ng bounds mula sa pinakamataas na confidence, at pinananatili ang pagkakasunod kapag magkapantay. Ang bigo, walang bounds o hindi positibo ang lawak ay nasa hulihan sa orihinal na pagkakasunod nang hindi inaalis. Nagdudulot ng error ang walang hangganang bounds o confidence na kasama sa pagproseso. Pinananatili ang orihinal na Match at metadata nang walang pagbabago.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula mula sa mga nakaimbak na value nang walang screen capture. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iou_threshold","type":"Number","defaultValue":"0.5","description":"May hangganang IoU threshold mula 0 hanggang 1, kasama ang dalawang dulo.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Dapat may hangganan ang coordinate at nakalkulang gilid ng nahanap na Match na may bounds, kahit hindi positibo ang lawak nito.","example":"# Alisin ang magkapatong na detection na may parehong pangalan\nhits = Region.full_screen().find_all([\"enemy\", \"enemy\"], 1000)\nfiltered = hits.unique(iou_threshold=0.5)","aliases":[],"group":"FLOW"},{"key":"class-matchlist-method-highlight","kind":"METHOD","parentKey":"class-matchlist","name":"highlight","signature":"matches.highlight(color=\"green\", line_width=2, region_width=36, auto_hide_ms=0)","description":"Markahan sa screen ang bawat nahanap na resulta gamit ang bounds o mga parisukat sa paligid ng mga punto nito. Laktawan ang resultang walang lokasyon. Naka-iskedyul ang pagguhit, kaya maaaring matapos ang tawag bago lumitaw ang mga frame. Ang pinakahuling update na naghihintay para sa parehong object lamang ang iginuguhit sa susunod na frame ng screen.","behavior":"Markahan sa screen ang bawat nahanap na resulta gamit ang bounds o mga parisukat sa paligid ng mga punto nito. Laktawan ang resultang walang lokasyon. Naka-iskedyul ang pagguhit, kaya maaaring matapos ang tawag bago lumitaw ang mga frame. Ang pinakahuling update na naghihintay para sa parehong object lamang ang iginuguhit sa susunod na frame ng screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"color","type":"Color | String | Number","defaultValue":"green","description":"Highlight color.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"line_width","type":"Number","defaultValue":"2","description":"Kapal ng gilid sa mga pixel, na may minimum na 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"region_width","type":"Number","defaultValue":"36","description":"Lapad ng parisukat sa mga pixel kung mga punto lamang ang mayroon, na may minimum na 1.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"auto_hide_ms","type":"Number","defaultValue":"0","description":"Oras bago itago, sa millisecond. Pinananatiling nakikita ng 0 o negatibong halaga ang highlight hanggang tawagin ang highlight_off().","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Ang parehong MatchList, upang maipagpatuloy ang pagtawag sa mga method nito.","example":"hits = Region(100, 200, 300, 400).find_any([\"enemy_a\", \"enemy_b\"], 2500)\nhits.highlight(color=\"yellow\", line_width=3, auto_hide_ms=1200)","aliases":[],"group":"FLOW"},{"key":"class-matchlist-method-highlight-off","kind":"METHOD","parentKey":"class-matchlist","name":"highlight_off","signature":"matches.highlight_off()","description":"I-off ang lahat ng aktibong highlight na nabuo mula sa instance ng listahan ng tugma na ito.","behavior":"I-off ang lahat ng aktibong highlight na nabuo mula sa instance ng listahan ng tugma na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"MatchList","returnDescription":"Ibinabalik ang parehong listahan ng tugma pagkatapos i-off ang highlight.","example":"hits = Region(100, 200, 300, 400).find_any([\"enemy_a\", \"enemy_b\"], 2500)\nhits.highlight()\nhits.highlight_off()","aliases":[],"group":"FLOW"},{"key":"class-color","kind":"CLASS","parentKey":null,"name":"Color","signature":"Color(value, /)","description":"Mag-imbak ng kulay, kumuha ng kulay sa screen, o maghambing ng mga kulay. Ang ARGB ay may opacity (A), pula (R), berde (G), at asul (B); hindi ginagamit ng compare(), distance_rgb(), at delta_e() ang opacity.","behavior":"Mag-imbak ng kulay, kumuha ng kulay sa screen, o maghambing ng mga kulay. Ang ARGB ay may opacity (A), pula (R), berde (G), at asul (B); hindi ginagamit ng compare(), distance_rgb(), at delta_e() ang opacity.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["argb","a","r","g","b","hex"],"fieldDocs":[{"name":"argb","type":"Number","defaultValue":null,"description":"Raw ARGB integer value.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"a","type":"Int","defaultValue":null,"description":"Opacity mula 0 (transparent) hanggang 255 (hindi transparent).","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"r","type":"Int","defaultValue":null,"description":"Red channel 0-255.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"g","type":"Int","defaultValue":null,"description":"Green channel 0-255.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"b","type":"Int","defaultValue":null,"description":"Blue channel 0-255.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"hex","type":"String","defaultValue":null,"description":"Hex string `#AARRGGBB`.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"value","type":"String | Number","defaultValue":null,"description":"Hex string (`#AARRGGBB`/`#RRGGBB`) or raw ARGB number.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"fieldExample":null,"constructorExample":"c1 = Color(\"#FFFFFFFF\")\nc2 = Color(4294967295)","params":[],"returnType":null,"returnDescription":null,"example":"cursor = Point(540, 920)\npicked = Color.get(cursor)\nif picked == \"#FFFFFFFF\":\n    click(cursor, random=6)","aliases":[],"group":null},{"key":"class-color-static-method-get","kind":"STATIC_METHOD","parentKey":"class-color","name":"get","signature":"Color.get(target, interval=3, default=\"#00000000\")","description":"Kumuha ng kulay sa screen nang isang beses: isang Color para sa Point, mga hanay ng kulay para sa Region, at listahan ng Color sa parehong pagkakasunod para sa list[Point]. Iisang larawan ng screen ang gamit ng lahat ng punto. Kapag walang capture o sample, default ang ibabalik nang walang pag-ulit; pumili ng default na makikilala mula sa target na kulay.","behavior":"Kumuha ng kulay sa screen nang isang beses: isang Color para sa Point, mga hanay ng kulay para sa Region, at listahan ng Color sa parehong pagkakasunod para sa list[Point]. Iisang larawan ng screen ang gamit ng lahat ng punto. Kapag walang capture o sample, default ang ibabalik nang walang pag-ulit; pumili ng default na makikilala mula sa target na kulay.","execution":{"blocking":"yes","threadSafety":"serialized","parallel":"conditional","details":"Naghihintay sa screen capture at pagbasa ng kulay. Shared ng lahat ng flow ang capture at mga setting sa muling paggamit ng larawan."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"target","type":"Point | Region | list[Point]","defaultValue":null,"description":"Sampling target.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"interval","type":"Number","defaultValue":"3","description":"Agwat ng mga puntong kinukuhanan ng kulay sa yunit ng coordinate ng Region; 1 ang gagamitin sa halagang mas mababa sa 1. Mas maliit na halaga, mas maraming kulay ang ibabalik. Hindi ginagamit para sa Point at list[Point].","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"default","type":"Color | String | Number","defaultValue":"#00000000","description":"Fallback color returned when screen capture or pixel sampling is unavailable.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Color | list[list[Color]] | list[Color]","returnDescription":"Mga kulay ayon sa anyo ng target; default ang pamalit sa sample na hindi makuha. Para sa Region, basahin ang grid[row][column], mula itaas pababa at kaliwa pakanan. Walang lamang listahan ang ibabalik kung walang laman ang listahan ng punto.","example":"c = Color.get(Point(100, 200), default=\"#FF000000\")\ngrid = Color.get(Region(120, 240, 90, 60), interval=3, default=\"#00000000\")\nbatch = Color.get([Point(10, 10), Point(20, 20)])","aliases":[],"group":"FLOW"},{"key":"class-color-static-method-compare","kind":"STATIC_METHOD","parentKey":"class-color","name":"compare","signature":"Color.compare(a, b, tolerance=0)","description":"Paghambingin ang dalawang kulay ayon sa per-channel na RGB tolerance. Ang laban ay pumasa lamang kapag |R1-R2|, |G1-G2|, at |B1-B2| lahat ay <= pagpaparaya.","behavior":"Paghambingin ang dalawang kulay ayon sa per-channel na RGB tolerance. Ang laban ay pumasa lamang kapag |R1-R2|, |G1-G2|, at |B1-B2| lahat ay <= pagpaparaya.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"a","type":"Color | String | Number","defaultValue":null,"description":"First color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"b","type":"Color | String | Number","defaultValue":null,"description":"Second color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"tolerance","type":"Number","defaultValue":"0","description":"Pinakamalaking pagkakaibang pinapayagan sa bawat RGB channel. Kailangang pantay ang mga channel sa 0; tinatanggap ng 255 ang anumang kulay RGB. 0 ang gamit sa negatibong halaga. Unti-unting dagdagan gamit ang mga sample ng aktuwal na screen.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"true kung nasa loob ng tolerance ang lahat ng tatlong RGB channel; false kung hindi.","example":"base = Color(\"#FF4CAF50\")\nsample = Color.get(Point(620, 340))\nis_same = Color.compare(base, sample, tolerance=8)  # halos kaparehong UI shade","aliases":[],"group":"FLOW"},{"key":"class-color-static-method-distance-rgb","kind":"STATIC_METHOD","parentKey":"class-color","name":"distance_rgb","signature":"Color.distance_rgb(a, b)","description":"Sukatin ang pinagsamang pagkakaiba ng pula, berde, at asul sa dalawang kulay. Mas maliit ang halaga, mas malapit ang mga RGB value; hindi ginagamit ang transparency.","behavior":"Sukatin ang pinagsamang pagkakaiba ng pula, berde, at asul sa dalawang kulay. Mas maliit ang halaga, mas malapit ang mga RGB value; hindi ginagamit ang transparency.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"a","type":"Color | String | Number","defaultValue":null,"description":"First color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"b","type":"Color | String | Number","defaultValue":null,"description":"Second color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Layo mula 0 hanggang humigit-kumulang 441.67; 0 kung magkapareho ang mga RGB channel. Pumili ng threshold gamit ang mga sample sa iyong screen.","example":"actual = Color.get(Point(620, 340))\nrgb_gap = Color.distance_rgb(\"#FF4CAF50\", actual)\nif rgb_gap <= 15:\n    print(\"close in RGB\")","aliases":[],"group":"FLOW"},{"key":"class-color-static-method-delta-e","kind":"STATIC_METHOD","parentKey":"class-color","name":"delta_e","signature":"Color.delta_e(a, b)","description":"Tantiyahin kung gaano magkaiba tingnan ang dalawang kulay gamit ang CIE76 Delta E, isang sukatan ng pagkakaiba ng kulay. Mas maliit ang halaga, mas magkahawig ang kulay; hindi ginagamit ang transparency.","behavior":"Tantiyahin kung gaano magkaiba tingnan ang dalawang kulay gamit ang CIE76 Delta E, isang sukatan ng pagkakaiba ng kulay. Mas maliit ang halaga, mas magkahawig ang kulay; hindi ginagamit ang transparency.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"a","type":"Color | String | Number","defaultValue":null,"description":"First color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"b","type":"Color | String | Number","defaultValue":null,"description":"Second color.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Hindi negatibong marka ng pagkakaiba; 0 kung magkapareho ang mga RGB channel. Subukan ang threshold sa iyong screen dahil maaaring mag-iba ang nakikitang pagkakahawig.","example":"actual = Color.get(Point(620, 340))\nd = Color.delta_e(\"#FF4CAF50\", actual)\nif d <= 3:\n    print(\"looks similar to human eye\")","aliases":[],"group":"FLOW"},{"key":"class-color-method-in-range","kind":"METHOD","parentKey":"class-color","name":"in_range","signature":"color.in_range(min_color, max_color)","description":"Suriin kung nasa loob ng mga hangganan, kasama ang mga dulo, ang bawat RGB channel; binabalewala ang alpha. Nagdudulot ng error kung mas mataas ang lower bound kaysa upper bound sa alinmang channel.","behavior":"Suriin kung nasa loob ng mga hangganan, kasama ang mga dulo, ang bawat RGB channel; binabalewala ang alpha. Nagdudulot ng error kung mas mataas ang lower bound kaysa upper bound sa alinmang channel.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"min_color","type":"Color | String | Number","defaultValue":null,"description":"Mas mababang hangganan ng kulay.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"max_color","type":"Color | String | Number","defaultValue":null,"description":"Mas mataas na hangganan ng kulay.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":null,"example":"# Suriin kung nasa saklaw ng RGB ang kulay\nprint(Color(\"#808080\").in_range(\"#606060\", \"#A0A0A0\"))","aliases":[],"group":"FLOW"},{"key":"class-color-method-is-gray","kind":"METHOD","parentKey":"class-color","name":"is_gray","signature":"color.is_gray(spread=15)","description":"Suriin kung hindi hihigit sa spread ang max(R, G, B) - min(R, G, B); binabalewala ang alpha.","behavior":"Suriin kung hindi hihigit sa spread ang max(R, G, B) - min(R, G, B); binabalewala ang alpha.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"spread","type":"Int","defaultValue":"15","description":"May hangganang buong bilang mula 0 hanggang 255, kasama ang dalawang dulo.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":null,"example":"# Suriin kung halos kulay-abo ang kulay\nprint(Color(\"#808080\").is_gray())","aliases":[],"group":"FLOW"},{"key":"class-color-method-compare","kind":"METHOD","parentKey":"class-color","name":"compare","signature":"color.compare(other, tolerance=0)","description":"Suriin kung malapit ang kulay na ito sa isa pang kulay. Hindi dapat lumampas sa tolerance ang pagkakaiba ng bawat RGB channel; hindi ginagamit ang transparency.","behavior":"Suriin kung malapit ang kulay na ito sa isa pang kulay. Hindi dapat lumampas sa tolerance ang pagkakaiba ng bawat RGB channel; hindi ginagamit ang transparency.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Color | String | Number","defaultValue":null,"description":"Color to compare.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"tolerance","type":"Number","defaultValue":"0","description":"Pinakamalaking pagkakaibang pinapayagan sa bawat RGB channel. Kailangang pantay ang mga channel sa 0; tinatanggap ng 255 ang anumang kulay RGB. 0 ang gamit sa negatibong halaga. Unti-unting dagdagan gamit ang mga sample ng aktuwal na screen.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"true kung nasa loob ng tolerance ang lahat ng tatlong RGB channel; false kung hindi.","example":"picked = Color.get(Point(540, 920))\nif picked.compare(\"#FFFFFFFF\", tolerance=5):\n    click(Point(540, 920))","aliases":[],"group":"FLOW"},{"key":"class-color-method-distance-rgb","kind":"METHOD","parentKey":"class-color","name":"distance_rgb","signature":"color.distance_rgb(other)","description":"Sukatin ang pinagsamang pagkakaiba ng RGB ng kulay na ito at isa pang kulay, nang hindi ginagamit ang transparency.","behavior":"Sukatin ang pinagsamang pagkakaiba ng RGB ng kulay na ito at isa pang kulay, nang hindi ginagamit ang transparency.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Color | String | Number","defaultValue":null,"description":"Color to compare.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Layo mula 0 hanggang humigit-kumulang 441.67; 0 kung magkapareho ang mga RGB channel. Pumili ng threshold gamit ang mga sample sa iyong screen.","example":"base = Color(\"#FF4CAF50\")\nactual = Color.get(Point(620, 340))\nrgb_gap = base.distance_rgb(actual)\nif rgb_gap <= 20:\n    print(\"close enough in RGB\")","aliases":[],"group":"FLOW"},{"key":"class-color-method-delta-e","kind":"METHOD","parentKey":"class-color","name":"delta_e","signature":"color.delta_e(other)","description":"Tantiyahin kung gaano magkaiba tingnan ang kulay na ito at isa pang kulay gamit ang CIE76 Delta E, nang hindi ginagamit ang transparency.","behavior":"Tantiyahin kung gaano magkaiba tingnan ang kulay na ito at isa pang kulay gamit ang CIE76 Delta E, nang hindi ginagamit ang transparency.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"Color | String | Number","defaultValue":null,"description":"Color to compare.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Hindi negatibong marka ng pagkakaiba; 0 kung magkapareho ang mga RGB channel. Subukan ang threshold sa iyong screen dahil maaaring mag-iba ang nakikitang pagkakahawig.","example":"base = Color(\"#FF4CAF50\")\nactual = Color.get(Point(620, 340))\nperceptual_gap = base.delta_e(actual)\nif perceptual_gap <= 2:\n    print(\"looks almost the same\")","aliases":[],"group":"FLOW"},{"key":"class-overlaytext","kind":"CLASS","parentKey":null,"name":"OverlayText","signature":"OverlayText(text=\"\", position=(0, 0), color=\"#FFFFFFFF\", size=16, background=None)","description":"Gumawa ng tekstong nakapatong sa ibang app. Tawagin ang show() para ipakita ito at ilapat ang mga susunod na pagbabago. Gamitin ang track() para subaybayan ang pagpindot, pag-drag o paghawak. Basahin ang kasalukuyang halaga sa state(); mga method ang text() at background().","behavior":"Gumawa ng tekstong nakapatong sa ibang app. Tawagin ang show() para ipakita ito at ilapat ang mga susunod na pagbabago. Gamitin ang track() para subaybayan ang pagpindot, pag-drag o paghawak. Basahin ang kasalukuyang halaga sa state(); mga method ang text() at background().","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":true,"fields":["x","y","scale","anchor","argb","size_sp"],"fieldDocs":[{"name":"x","type":"Number","defaultValue":"0","description":"Top-left X position in pixels. Writable before show().","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"y","type":"Number","defaultValue":"0","description":"Top-left Y position in pixels. Writable before show().","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"scale","type":"String","defaultValue":"fixed","description":"Coordinate scale copied from Point positions.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"anchor","type":"String","defaultValue":"none","description":"Coordinate anchor copied from Point positions.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"argb","type":"Color","defaultValue":"white","description":"Text color. Assign with Color/string/number values. Use overlay.color(value) for method chaining.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"size_sp","type":"Number","defaultValue":"16","description":"Text size in sp. Use overlay.size(sp) for method chaining.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"text","type":"String","defaultValue":"\"\"","description":"Nilalaman ng teksto. Ang magkaparis na <b>...</b> ay nagpapakapal lamang sa tekstong nasa loob, kahit tumawid ito sa mga linya. Ipinapakita nang literal ang ibang tag at entity code. Kapag may kulang o sobrang bold tag, ipinapakita nang literal ang buong teksto. Ibinabalik ng state()[\"text\"] ang orihinal na teksto.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"position","type":"Point | tuple[Number, Number]","defaultValue":"(0, 0)","description":"Initial position as Point or tuple/list (x, y). Point carries scale/anchor metadata.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"color","type":"Color | String | Number","defaultValue":"white","description":"Initial text color.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"size","type":"Number","defaultValue":"16","description":"Initial text size (sp).","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"background","type":"Color | String | Number | None","defaultValue":"None","description":"Initial background color. None means transparent/no background.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":"badge = OverlayText(\"<b>Status:</b> Ready\", Point(420, 220, scale=\"width\", anchor=\"top\"), background=None)\nbadge.show()","params":[],"returnType":null,"returnDescription":null,"example":"badge = OverlayText(\"Running...\", Point(320, 160, scale=\"width\", anchor=\"top\"), background=None)\nbadge.color(\"#FF00E676\").background(\"#66000000\").size(18).track(press=True, move=True, hold=True, hold_ms=700)\nbadge.show()\n\nstate = badge.state()\nif state[\"status\"] == 2:\n    MacroPanel.notify(\"Badge is moving\")\n\np = badge.get_point()\nr = badge.get_region()\nif r is not None:\n    r.highlight(\"yellow\", auto_hide_ms=600)\n\nbadge.hide()   # itago agad\nbadge.show()   # ipakita muli agad\nbadge.off()    # ganap na bitawan","aliases":[],"group":null},{"key":"class-overlaytext-static-method-off-all","kind":"STATIC_METHOD","parentKey":"class-overlaytext","name":"off_all","signature":"OverlayText.off_all()","description":"I-off at bitawan ang lahat ng overlay text na ginawa ng kasalukuyang daloy, nang hindi naaapektuhan ang mga daloy na tumatakbo nang sabay.","behavior":"I-off at bitawan ang lahat ng overlay text na ginawa ng kasalukuyang daloy, nang hindi naaapektuhan ang mga daloy na tumatakbo nang sabay.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# Bitawan ang mga overlay na pag-aari ng flow na ito\na = OverlayText(\"Running\", (24, 120))\na.show()\nOverlayText.off_all()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-text","kind":"METHOD","parentKey":"class-overlaytext","name":"text","signature":"overlay.text(value)","description":"Itakda ang nilalaman ng teksto. Tawagin ang show() upang i-update ang teksto sa screen.","behavior":"Itakda ang nilalaman ng teksto. Tawagin ang show() upang i-update ang teksto sa screen.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"String","defaultValue":null,"description":"Nilalaman ng teksto. Ang magkaparis na <b>...</b> ay nagpapakapal lamang sa tekstong nasa loob, kahit tumawid ito sa mga linya. Ipinapakita nang literal ang ibang tag at entity code. Kapag may kulang o sobrang bold tag, ipinapakita nang literal ang buong teksto. Ibinabalik ng state()[\"text\"] ang orihinal na teksto.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\nbadge.text(\"Running\")\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-color","kind":"METHOD","parentKey":"class-overlaytext","name":"color","signature":"overlay.color(value)","description":"I-update ang kulay ng text.","behavior":"I-update ang kulay ng text.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Color | String | Number","defaultValue":null,"description":"Color value.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.color(\"#FF00E676\")\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-background","kind":"METHOD","parentKey":"class-overlaytext","name":"background","signature":"overlay.background(value=None)","description":"I-update ang kulay ng background. Ang pagpasa sa Wala ay nag-aalis ng background.","behavior":"I-update ang kulay ng background. Ang pagpasa sa Wala ay nag-aalis ng background.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Color | String | Number | None","defaultValue":"None","description":"Background color, or None for transparent/no background.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.background(\"#66000000\")\nbadge.show()\nbadge.background(None)\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-size","kind":"METHOD","parentKey":"class-overlaytext","name":"size","signature":"overlay.size(sp)","description":"I-update ang laki ng teksto (sp).","behavior":"I-update ang laki ng teksto (sp).","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sp","type":"Number","defaultValue":null,"description":"Text size in sp.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.size(20)\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-position","kind":"METHOD","parentKey":"class-overlaytext","name":"position","signature":"overlay.position(position)","description":"I-update ang posisyon ng draw gamit ang Point o tuple/list (x, y). Ang punto ay nagdadala ng sukat/anchor metadata.","behavior":"I-update ang posisyon ng draw gamit ang Point o tuple/list (x, y). Ang punto ay nagdadala ng sukat/anchor metadata.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"position","type":"Point | tuple[Number, Number]","defaultValue":null,"description":"New position.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.position((80, 160))\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-track","kind":"METHOD","parentKey":"class-overlaytext","name":"track","signature":"overlay.track(press=False, move=False, hold=False, hold_ms=600)","description":"I-configure ang pagsubaybay sa pagpindot, paghila, at matagal na paghawak. Kapag False ang lahat ng opsyon, hindi gagalaw ang text at dadaan ang touch sa nasa ilalim nito. Kapag nagsasapawan ang text at highlight na maaaring i-drag, inuuna sa pagtanggap ng touch ang text na may aktibong tracking. Ang gesture na nagsimula sa labas ng text ay patuloy na kumokontrol sa highlight.","behavior":"I-configure ang pagsubaybay sa pagpindot, paghila, at matagal na paghawak. Kapag False ang lahat ng opsyon, hindi gagalaw ang text at dadaan ang touch sa nasa ilalim nito. Kapag nagsasapawan ang text at highlight na maaaring i-drag, inuuna sa pagtanggap ng touch ang text na may aktibong tracking. Ang gesture na nagsimula sa labas ng text ay patuloy na kumokontrol sa highlight.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"press","type":"Boolean","defaultValue":"False","description":"Iulat ang PRESSED kapag binitiwan ang maikling pindot nang walang pag-drag o matagal na paghawak.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"move","type":"Boolean","defaultValue":"False","description":"Payagan ang paghila sa teksto. Hindi ito gagalaw sa loob ng touch threshold ng device; magsisimula ang paghila kapag nalampasan ang threshold.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"hold","type":"Boolean","defaultValue":"False","description":"Iulat ang HOLDING pagkalipas ng hold_ms, pagkatapos ay HOLDED kapag binitiwan; mas inuuna ang pag-drag.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"hold_ms","type":"Number","defaultValue":"600","description":"Oras ng paghawak bago HOLDING sa millisecond. Ginagawang 150 ang halagang mas mababa rito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"OverlayText","returnDescription":"Ibinabalik ang overlay na ito para makatawag ka ng susunod na method.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.track(press=True, move=True, hold=True, hold_ms=700)\nbadge.show()\nprint(badge.state())","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-get-point","kind":"METHOD","parentKey":"class-overlaytext","name":"get_point","signature":"overlay.get_point()","description":"Kunin ang kasalukuyang tuktok na kaliwang punto ng overlay na text na ito. Ina-update ang posisyong ito pagkatapos ng mga galaw ng drag. Hindi kinokonsumo ng tawag na ito ang mga event ng interaksyon.","behavior":"Kunin ang kasalukuyang tuktok na kaliwang punto ng overlay na text na ito. Ina-update ang posisyong ito pagkatapos ng mga galaw ng drag. Hindi kinokonsumo ng tawag na ito ang mga event ng interaksyon.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Point","returnDescription":"Kasalukuyang posisyon ng overlay sa mga pixel ng screen.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\npoint = badge.get_point()\nprint(point.x, point.y)","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-get-region","kind":"METHOD","parentKey":"class-overlaytext","name":"get_region","signature":"overlay.get_region()","description":"Kumuha ng rehiyon na bumabalot sa kasalukuyang mga hangganan ng overlay na text. Nagbabalik ng Wala kapag ang overlay ay hindi nakikita o hindi pa nasusukat. Hindi kinokonsumo ng tawag na ito ang mga event ng interaksyon.","behavior":"Kumuha ng rehiyon na bumabalot sa kasalukuyang mga hangganan ng overlay na text. Nagbabalik ng Wala kapag ang overlay ay hindi nakikita o hindi pa nasusukat. Hindi kinokonsumo ng tawag na ito ang mga event ng interaksyon.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Region?","returnDescription":"Bounding region para sa overlay na text, o Wala. Palaging suriin ang Wala bago gamitin ang rehiyon.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\nbounds = badge.get_region()\nif bounds is not None:\n    print(bounds.width, bounds.height)","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-show","kind":"METHOD","parentKey":"class-overlaytext","name":"show","signature":"overlay.show()","description":"Ipakita ang teksto, pati pagkatapos ng hide(), at ilapat ang pagbabago sa nilalaman, estilo, posisyon, pagsubaybay o mga attribute na maaaring baguhin. Tawagin muli ang show() matapos baguhin ang configuration.\nKung posisyon lang ang nagbago habang nakikita, huling posisyon lang ang itatago para sa susunod na frame. Babalik ang tawag bago ito lumitaw: ang x/y ay tinanggap na posisyon, at None ang overlay_width_px/overlay_height_px. Maghihintay ang ibang update hanggang mailapat.\nHabang nakikita, pinapanatili ng show() ang estado at mga event kung hindi nagbago ang tracking. Ang pagpapakita pagkatapos ng hide() o pagbabago ng tracking ay nagre-reset sa IDLE; kinakansela rin ng pagbabago ng tracking ang dating galaw.","behavior":"Ipakita ang teksto, pati pagkatapos ng hide(), at ilapat ang pagbabago sa nilalaman, estilo, posisyon, pagsubaybay o mga attribute na maaaring baguhin. Tawagin muli ang show() matapos baguhin ang configuration.\nKung posisyon lang ang nagbago habang nakikita, huling posisyon lang ang itatago para sa susunod na frame. Babalik ang tawag bago ito lumitaw: ang x/y ay tinanggap na posisyon, at None ang overlay_width_px/overlay_height_px. Maghihintay ang ibang update hanggang mailapat.\nHabang nakikita, pinapanatili ng show() ang estado at mga event kung hindi nagbago ang tracking. Ang pagpapakita pagkatapos ng hide() o pagbabago ng tracking ay nagre-reset sa IDLE; kinakansela rin ng pagbabago ng tracking ang dating galaw.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Kasalukuyang overlay state dictionary.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\nbadge.text(\"Running\")\nprint(badge.show())","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-hide","kind":"METHOD","parentKey":"class-overlaytext","name":"hide","signature":"overlay.hide()","description":"Itago ang teksto. Tawagin ang show() para ipakita muli.","behavior":"Itago ang teksto. Tawagin ang show() para ipakita muli.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Kasalukuyang overlay state dictionary.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\nbadge.hide()\nbadge.show()","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-off","kind":"METHOD","parentKey":"class-overlaytext","name":"off","signature":"overlay.off()","description":"Turn off overlay text and release resources.","behavior":"Turn off overlay text and release resources.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Kasalukuyang overlay state dictionary.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.show()\nprint(badge.off())","aliases":[],"group":"FLOW"},{"key":"class-overlaytext-method-state","kind":"METHOD","parentKey":"class-overlaytext","name":"state","signature":"overlay.state()","description":"Basahin ang pinakabagong estado. Kapag naka-enable ang kaukulang tracking:\nPindutin at bitawan → PRESSED (1).\nHabang hinihila → MOVING (2); bitawan → MOVED (4).\nHawakan nang hold_ms → HOLDING (3); bitawan → HOLDED (7).\nIba pang estado: IDLE (0), HIDDEN (5), OFF (6). Ang pagpindot pa lang ay hindi lumilikha ng event; inuuna ang paghila kaysa paghawak.\nAng PRESSED, MOVED at HOLDED ay ibinabalik nang isang beses, saka ni-reset sa IDLE. Nananatili ang MOVING at HOLDING habang aktibo ang galaw. Pinakabagong estado lang ang iniingatan; pinapalitan ng bagong event ang hindi pa nababasa. Walang completion event kapag kinansela. Inilalapat ang nakabinbing pagbabago ng posisyon bago basahin.\nstate() lang ang kumokonsumo ng mga terminal event. Hindi nag-e-expire ang mga ito, pero hindi garantisadong mapanatili ang lahat ng event sa pagitan ng pagbabasa bawat 100 ms.","behavior":"Basahin ang pinakabagong estado. Kapag naka-enable ang kaukulang tracking:\nPindutin at bitawan → PRESSED (1).\nHabang hinihila → MOVING (2); bitawan → MOVED (4).\nHawakan nang hold_ms → HOLDING (3); bitawan → HOLDED (7).\nIba pang estado: IDLE (0), HIDDEN (5), OFF (6). Ang pagpindot pa lang ay hindi lumilikha ng event; inuuna ang paghila kaysa paghawak.\nAng PRESSED, MOVED at HOLDED ay ibinabalik nang isang beses, saka ni-reset sa IDLE. Nananatili ang MOVING at HOLDING habang aktibo ang galaw. Pinakabagong estado lang ang iniingatan; pinapalitan ng bagong event ang hindi pa nababasa. Walang completion event kapag kinansela. Inilalapat ang nakabinbing pagbabago ng posisyon bago basahin.\nstate() lang ang kumokonsumo ng mga terminal event. Hindi nag-e-expire ang mga ito, pero hindi garantisadong mapanatili ang lahat ng event sa pagitan ng pagbabasa bawat 100 ms.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Sariling overlay lang ng kasalukuyang flow ang inaalis ng off_all(). Maaaring maghintay ang pag-update. Gumawa at baguhin ang bawat OverlayText sa isang flow."},"limitations":[],"relatedApis":["class-overlaytext-static-method-off-all","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Diksyonaryo ng estado na may orihinal na teksto, supports_inline_bold=True, status/status_label, mga opsyon sa pagsubaybay, at lapad/taas ng floating text sa pixel kung available.","example":"# I-configure o suriin ang overlay na pag-aari ng flow na ito\nbadge = OverlayText(\"Ready\", (24, 120))\nbadge.track(press=True, move=True)\nbadge.show()\nstate = badge.state()\nprint(state[\"status_label\"])","aliases":[],"group":"FLOW"},{"key":"class-timer","kind":"CLASS","parentKey":null,"name":"Timer","signature":"Timer(auto_start=True)","description":"Sukatin ang lumipas na oras sa millisecond. I-pause at ipagpatuloy nang hindi nawawala ang nabilang na oras.","behavior":"Sukatin ang lumipas na oras sa millisecond. I-pause at ipagpatuloy nang hindi nawawala ang nabilang na oras.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["auto_start"],"fieldDocs":[{"name":"auto_start","type":"Boolean","defaultValue":"True","description":"Whether the timer starts immediately after creation. Assign True to start; assign False to pause.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"auto_start","type":"Boolean","defaultValue":"True","description":"Start counting immediately after creation.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":"timer = Timer()\nif timer.is_elapsed(500):\n    text(\"half-second passed\")","params":[],"returnType":null,"returnDescription":null,"example":"timer = Timer(auto_start=False)\ntimer.start()\nwhile not timer.is_elapsed(2000):\n    wait(50)\ntimer.stop()","aliases":[],"group":null},{"key":"class-timer-method-start","kind":"METHOD","parentKey":"class-timer","name":"start","signature":"timer.start()","description":"Simulan ang pagbilang kung ang timer ay kasalukuyang nakahinto.","behavior":"Simulan ang pagbilang kung ang timer ay kasalukuyang nakahinto.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer(auto_start=False)\ntimer.start()\nwait(100)\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-pause","kind":"METHOD","parentKey":"class-timer","name":"pause","signature":"timer.pause()","description":"I-pause ang pagbibilang habang pinapanatili ang mga lumipas na millisecond.","behavior":"I-pause ang pagbibilang habang pinapanatili ang mga lumipas na millisecond.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nwait(100)\ntimer.pause()\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-resume","kind":"METHOD","parentKey":"class-timer","name":"resume","signature":"timer.resume()","description":"Ipagpatuloy ang pagbibilang, o simulan kung hindi pa tumakbo ang timer.","behavior":"Ipagpatuloy ang pagbibilang, o simulan kung hindi pa tumakbo ang timer.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\ntimer.pause()\ntimer.resume()\nwait(100)\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-stop","kind":"METHOD","parentKey":"class-timer","name":"stop","signature":"timer.stop()","description":"Itigil ang pagbibilang at panatilihing nagyelo ang lumipas na millisecond.","behavior":"Itigil ang pagbibilang at panatilihing nagyelo ang lumipas na millisecond.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nwait(100)\ntimer.stop()\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-reset","kind":"METHOD","parentKey":"class-timer","name":"reset","signature":"timer.reset()","description":"I-reset ang lumipas na oras sa 0 habang pinapanatili ang kasalukuyang tumatakbong estado.","behavior":"I-reset ang lumipas na oras sa 0 habang pinapanatili ang kasalukuyang tumatakbong estado.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nwait(100)\ntimer.reset()\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-restart","kind":"METHOD","parentKey":"class-timer","name":"restart","signature":"timer.restart()","description":"I-reset ang lumipas na oras sa 0 at simulan agad ang pagbilang.","behavior":"I-reset ang lumipas na oras sa 0 at simulan agad ang pagbilang.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Timer","returnDescription":"Ibinabalik ang timer na ito para makatawag ka ng susunod na method.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer(auto_start=False)\ntimer.restart()\nwait(100)\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-elapsed-ms","kind":"METHOD","parentKey":"class-timer","name":"elapsed_ms","signature":"timer.elapsed_ms()","description":"Basahin ang kabuuang lumipas na millisecond.","behavior":"Basahin ang kabuuang lumipas na millisecond.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number","returnDescription":"Mga lumipas na millisecond.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nwait(100)\nprint(timer.elapsed_ms())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-is-elapsed","kind":"METHOD","parentKey":"class-timer","name":"is_elapsed","signature":"timer.is_elapsed(time)","description":"Suriin kung ang lumipas na oras ay mas malaki o katumbas ng ibinigay na millisecond.","behavior":"Suriin kung ang lumipas na oras ay mas malaki o katumbas ng ibinigay na millisecond.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"time","type":"Number","defaultValue":null,"description":"Oras na ihahambing sa millisecond. Ginagawang 0 ang negatibo; tinatanggal ang decimal.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"totoo kapag ang lumipas na oras ay umabot o lumampas sa threshold.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nwait(500)\nif timer.is_elapsed(500):\n    print(\"Elapsed\")","aliases":[],"group":"FLOW"},{"key":"class-timer-method-is-running","kind":"METHOD","parentKey":"class-timer","name":"is_running","signature":"timer.is_running()","description":"Suriin kung kasalukuyang nagbibilang ang timer.","behavior":"Suriin kung kasalukuyang nagbibilang ang timer.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"totoo kapag nagbibilang ang timer.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\nprint(timer.is_running())","aliases":[],"group":"FLOW"},{"key":"class-timer-method-is-paused","kind":"METHOD","parentKey":"class-timer","name":"is_paused","signature":"timer.is_paused()","description":"Suriin kung naka-pause ang timer pagkatapos simulan.","behavior":"Suriin kung naka-pause ang timer pagkatapos simulan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"totoo kapag naka-pause ang timer.","example":"# Sukatin ang oras sa tumatawag na flow\ntimer = Timer()\ntimer.pause()\nprint(timer.is_paused())","aliases":[],"group":"FLOW"},{"key":"class-tflitemodel","kind":"CLASS","parentKey":null,"name":"TfliteModel","signature":"TfliteModel(model)","description":"Gamitin ang TFLite model na in-import sa Template Manager para kumilala ng mga bagay o uri ng larawan. Piliin ang tamang uri ng model doon.\nSinusuportahang output: YOLOv8/YOLO11 detection [1,N,4+C]/[1,4+C,N]; YOLO26 detection [1,N,6]/[N,6]; YOLO11/YOLO26 at MobileNetV3 classification [1,C]. Awtomatikong suportado ang FLOAT32, INT8 at UINT8.\nNagbabalik ang classification ng puntos at metadata ng class nang walang punto o hangganan sa screen. Kailangan ng lokal na model file para tumakbo; error kung hindi makuha ito.","behavior":"Gamitin ang TFLite model na in-import sa Template Manager para kumilala ng mga bagay o uri ng larawan. Piliin ang tamang uri ng model doon.\nSinusuportahang output: YOLOv8/YOLO11 detection [1,N,4+C]/[1,4+C,N]; YOLO26 detection [1,N,6]/[N,6]; YOLO11/YOLO26 at MobileNetV3 classification [1,C]. Awtomatikong suportado ang FLOAT32, INT8 at UINT8.\nNagbabalik ang classification ng puntos at metadata ng class nang walang punto o hangganan sa screen. Kailangan ng lokal na model file para tumakbo; error kung hindi makuha ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["model","resize_mode","color_mode","norm_mode","padding_color"],"fieldDocs":[{"name":"model","type":"String","defaultValue":null,"description":"Model reference in current macro (prefer template model name; legacy model id still accepted).","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"resize_mode","type":"String","defaultValue":"LETTERBOX","description":"Paraan ng pag-resize: pinapanatili ng LETTERBOX ang proporsyon at nagdaragdag ng padding; pinupuno ng STRETCH ang input size; gitna ang kino-crop ng CROP_CENTER.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"color_mode","type":"String","defaultValue":"RGB","description":"Format ng kulay ng larawan para sa model: RGB, BGR o GRAYSCALE.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"norm_mode","type":"String","defaultValue":"ZERO_ONE","description":"Paraan ng pag-convert ng pixel value para sa model: ZERO_ONE, MINUS_ONE_ONE, IMAGENET o CUSTOM.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"padding_color","type":"Int","defaultValue":"114","description":"Halaga mula 0 hanggang 255 para punan ang padding na idinagdag ng LETTERBOX.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"model","type":"String","defaultValue":null,"description":"Model reference to use for inference (prefer template model name).","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":"# Mag-import ng suportadong TFLite model at piliin ang uri ng output sa Template Manager.\n# Gumawa ng model handle na nakakabit sa isang pangalan ng TFLite model sa Template Manager.\nmodel = TfliteModel(\"enemy_model\")","params":[],"returnType":null,"returnDescription":null,"example":"# Suriin kung available ang model bago magpatakbo ng detection\nif TfliteModel.exists(\"enemy_model\"):\n    detector = TfliteModel(\"enemy_model\")\n    hits = detector.inference()\n    if len(hits) > 0:\n        click(hits[0])","aliases":[],"group":null},{"key":"class-tflitemodel-static-method-exists","kind":"STATIC_METHOD","parentKey":"class-tflitemodel","name":"exists","signature":"TfliteModel.exists(model)","description":"Suriin kung ang isang lokal na TFLite model file (nalutas sa pamamagitan ng pangalan ng modelo o legacy id) ay kasalukuyang available sa macro na ito.","behavior":"Suriin kung ang isang lokal na TFLite model file (nalutas sa pamamagitan ng pangalan ng modelo o legacy id) ay kasalukuyang available sa macro na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"model","type":"String","defaultValue":null,"description":"Model reference to check.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"true kung handa nang gamitin ang file ng lokal na modelo.","example":"# Tingnan kung may model na na-import sa Template Manager\nif TfliteModel.exists(\"enemy_detector\"):\n    print(\"Model available\")","aliases":[],"group":"FLOW"},{"key":"class-tflitemodel-static-method-list","kind":"STATIC_METHOD","parentKey":"class-tflitemodel","name":"list","signature":"TfliteModel.list()","description":"Ibalik ang mga lokal na modelong reference na kasalukuyang available para sa macro (mas gusto ang mga display name).","behavior":"Ibalik ang mga lokal na modelong reference na kasalukuyang available para sa macro (mas gusto ang mga display name).","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list[String]","returnDescription":"Listahan ng sanggunian ng modelo.","example":"# Ilista ang mga model na magagamit ng macro na ito\nprint(TfliteModel.list())","aliases":[],"group":"FLOW"},{"key":"class-tflitemodel-method-exists","kind":"METHOD","parentKey":"class-tflitemodel","name":"exists","signature":"model.exists()","description":"Tingnan kung available ang file ng lokal na modelo ng detector na ito.","behavior":"Tingnan kung available ang file ng lokal na modelo ng detector na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"true kung magagamit kaagad ang file ng lokal na modelo.","example":"# Gumawa lamang kapag nakumpirmang naroon ang na-import na model\nif TfliteModel.exists(\"enemy_detector\"):\n    model = TfliteModel(\"enemy_detector\")\n    print(model.exists())","aliases":[],"group":"FLOW"},{"key":"class-tflitemodel-method-inference","kind":"METHOD","parentKey":"class-tflitemodel","name":"inference","signature":"model.inference(threshold=0.5, region=None, max_results=8, debug=False)","description":"Patakbuhin ang model sa isang kasalukuyang larawan ng screen o ibinigay na region at ibalik ang MatchList ng lahat ng class. Walang laman ang listahan kung walang tugma o wala pang screen frame. Error ang kulang na capture permission, pagpalya ng pag-load o pagtakbo.\nKino-crop ng region ang larawan bago iproseso. Gumamit ng larawang katulad ng training data; maaaring bumaba ang accuracy dahil sa crop. Walang punto o hangganan ang classification result.\nSa Edit mode, ipinapakita ng setting na Debug Frame sa Pagkilala ang pulang lugar na ini-scan at berdeng kahon ng mga nakitang object, kahit debug=False. Lugar na ini-scan lamang ang ipinapakita para sa classification.","behavior":"Patakbuhin ang model sa isang kasalukuyang larawan ng screen o ibinigay na region at ibalik ang MatchList ng lahat ng class. Walang laman ang listahan kung walang tugma o wala pang screen frame. Error ang kulang na capture permission, pagpalya ng pag-load o pagtakbo.\nKino-crop ng region ang larawan bago iproseso. Gumamit ng larawang katulad ng training data; maaaring bumaba ang accuracy dahil sa crop. Walang punto o hangganan ang classification result.\nSa Edit mode, ipinapakita ng setting na Debug Frame sa Pagkilala ang pulang lugar na ini-scan at berdeng kahon ng mga nakitang object, kahit debug=False. Lugar na ini-scan lamang ang ipinapakita para sa classification.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"threshold","type":"Number","defaultValue":"0.5","description":"Pinakamababang confidence mula 0 hanggang 1. Hindi bababa sa 0.01 ang ginagamit ng app kapag pinapatakbo ang model.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"region","type":"Region?","defaultValue":"None","description":"Optional screen region. Its image is cropped before preprocessing and inference, which can reduce accuracy if the model was not trained on similarly cropped images.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max_results","type":"Int","defaultValue":"8","description":"Pinakamaraming resultang ibabalik. Tinatanggal ang decimal bago limitahan sa 1..64.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"debug","type":"Boolean","defaultValue":"False","description":"Binubuksan ng True ang preview ng larawan at mga resulta ng model sa Edit mode. May mga kahon at class ang detection preview; input na larawan at puntos ng class ang classification preview. Binabalewala ito ng Run-only mode. Walang debug_result ang ibinalik na Match.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MatchList","returnDescription":"Listahan ng mga tugma ng hinuha sa lahat ng klase.","example":"# Patakbuhin ang raw model inference at tingnan ang preprocess debug output\ndetector = TfliteModel(\"enemy_model\")\nsearch = Region(100, 200, 300, 400)\nhits = detector.inference(threshold=0.55, region=search, max_results=12, debug=True)\ntext(str(len(hits)))","aliases":[],"group":"FLOW"},{"key":"class-flow","kind":"READ_ONLY_CLASS","parentKey":null,"name":"Flow","signature":"Flow","description":"Patakbuhin nang sabay ang mga pinangalanang macro flow at magpadala ng mensahe sa pagitan nila. May sariling variable ang bawat flow. Ipasa ang panimulang data sa Flow.params; hiwalay na kopya ang mga mensahe at binabasa ayon sa pagkakasunod ng pagpapadala.","behavior":"Patakbuhin nang sabay ang mga pinangalanang macro flow at magpadala ng mensahe sa pagitan nila. May sariling variable ang bawat flow. Ipasa ang panimulang data sa Flow.params; hiwalay na kopya ang mga mensahe at binabasa ayon sa pagkakasunod ng pagpapadala.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"yes","details":"Nagbabalik ang Flow.start() ng positibong Int na bilang. Hanggang dalawang background flow ang kasabay ng main. Hinihintay sila ng macro; pinatitigil ng error sa alinmang flow o System.stop() ang lahat."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-storage","class-screencapture"],"isCallable":false,"fields":[],"fieldDocs":[{"name":"params","type":"dict","defaultValue":null,"description":"Panimulang data para sa flow na ito. Bawat pagbasa ay nagbabalik ng hiwalay na dict; hindi mababago ng pag-edit nito ang nagpadala o mga susunod na pagbasa. Walang laman ang dict ng main flow.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# I-save ang enemy template at i-configure ang watch_enemy bago patakbuhin\n# Main: i-arm ang watcher at ihinto pagkatapos ng main task\nFlow.start(\"watch_enemy\")\nFlow.send(\"watch_enemy\", {\"command\": \"ARM\"})\nwait(1000)\nFlow.stop(\"watch_enemy\")","aliases":[],"group":null},{"key":"class-flow-static-method-start","kind":"STATIC_METHOD","parentKey":"class-flow","name":"start","signature":"Flow.start(name, params=None)","description":"Simulan ang naka-configure na flow kasabay ng main flow. Maaari nang magpadala ng mensahe pagbalik ng tawag. Hanggang dalawang background flow ang puwedeng tumakbo; maaari rin silang magsimula ng ibang flow.\nHindi puwedeng sabay na tumakbo nang dalawang beses ang isang pangalan, kahit naka-pause o humihinto. Maling o dobleng pangalan, punong limitasyon, o error ng flow ay nagpapahinto sa buong Run. Pinapahinto rin ng System.stop() at Main Stop ang lahat ng flow.\nNaghihintay ang main flow sa background flow bago matapos ang Run: tahasang ihinto ang mga flow na walang katapusan. Kinokopya ang panimulang data ayon sa limitasyon ng Flow.send().","behavior":"Simulan ang naka-configure na flow kasabay ng main flow. Maaari nang magpadala ng mensahe pagbalik ng tawag. Hanggang dalawang background flow ang puwedeng tumakbo; maaari rin silang magsimula ng ibang flow.\nHindi puwedeng sabay na tumakbo nang dalawang beses ang isang pangalan, kahit naka-pause o humihinto. Maling o dobleng pangalan, punong limitasyon, o error ng flow ay nagpapahinto sa buong Run. Pinapahinto rin ng System.stop() at Main Stop ang lahat ng flow.\nNaghihintay ang main flow sa background flow bago matapos ang Run: tahasang ihinto ang mga flow na walang katapusan. Kinokopya ang panimulang data ayon sa limitasyon ng Flow.send().","execution":{"blocking":"no","threadSafety":"serialized","parallel":"yes","details":"Sinisimulan ang pinangalanang background flow gamit ang kinopyang input, saka nagbabalik nang hindi hinihintay ang pagtatapos."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Eksaktong pangalan ng naka-configure na flow.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"params","type":"dict?","defaultValue":"None","description":"Opsyonal na panimulang data na kinokopya para sa bagong flow at mababasa sa Flow.params.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Int","returnDescription":"Positibong numerong tumataas sa bawat pagsisimula, na ginagamit sa status ng dock at mga log. Hindi ito magagamit para kontrolin ang flow.","example":"# Simulan ang recognition at telemetry kasama ng main flow\nrecognition_no = Flow.start(\"recognition\", {\"region\": \"arena\", \"threshold\": 0.86})\ntelemetry_no = Flow.start(\"telemetry\")\n\n# Sa naka-configure na recognition flow, basahin ang kinopyang input ng branch na ito\nregion_name = Flow.params.get(\"region\", \"full_screen\")\nthreshold = Flow.params.get(\"threshold\", 0.8)","aliases":[],"group":"FLOW"},{"key":"class-flow-static-method-send","kind":"STATIC_METHOD","parentKey":"class-flow","name":"send","signature":"Flow.send(name, data)","description":"Magpadala ng hiwalay na kopya sa tumatakbong flow nang hindi naghihintay. Ligtas na makapagpapadala ang maraming flow at matatanggap ang mga mensahe ayon sa pagkakasunod ng pagpapadala, kahit naka-pause. Pinapayagang value ang None, Boolean, finite na numero, String, list, tuple, at dict na may String na key. Hanggang 8 antas ang lalim, 512 ang kabuuang value, at 65536 ang kabuuang haba ng text. Nagdudulot ng error ang mga function, resource o app object, at paikot na reference. May bagong pila ng mensahe sa bawat pagsisimula; itinatapon ang mga hindi pa nababasa kapag huminto o natapos ang flow.","behavior":"Magpadala ng hiwalay na kopya sa tumatakbong flow nang hindi naghihintay. Ligtas na makapagpapadala ang maraming flow at matatanggap ang mga mensahe ayon sa pagkakasunod ng pagpapadala, kahit naka-pause. Pinapayagang value ang None, Boolean, finite na numero, String, list, tuple, at dict na may String na key. Hanggang 8 antas ang lalim, 512 ang kabuuang value, at 65536 ang kabuuang haba ng text. Nagdudulot ng error ang mga function, resource o app object, at paikot na reference. May bagong pila ng mensahe sa bawat pagsisimula; itinatapon ang mga hindi pa nababasa kapag huminto o natapos ang flow.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"yes","details":"Pinag-uugnay ang sabayang tawag nang hindi naghihintay sa mensahe o paglilinis. Isang background flow ang target ng Flow.stop(); tuloy ang main at iba pa."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Eksaktong naka-configure na pangalan ng target na flow. Walang awtomatikong pangalang ibinibigay sa main flow.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"data","type":"Any","defaultValue":null,"description":"Value na ipapadala. Kinokopya ito bago idagdag sa pila ng mensahe.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"True kung tinanggap; False kung unknown, inactive o humihinto ang target.","example":"# Magpadala ng ARM command sa naka-configure na watcher\nFlow.start(\"watch_enemy\")\naccepted = Flow.send(\"watch_enemy\", {\"command\": \"ARM\"})\nprint(accepted)","aliases":[],"group":"FLOW"},{"key":"class-flow-static-method-receive","kind":"STATIC_METHOD","parentKey":"class-flow","name":"receive","signature":"Flow.receive(timeout=None)","description":"Hintayin at kunin ang pinakamatandang mensahe para sa flow na ito. Puwedeng tumanggap ang main at background flow. Ang pinangalanang grupong tumatakbo sa loob ng parehong flow ay gumagamit ng parehong pila.\nAgad na tinatapos ng pagkansela ang paghihintay; pinapanatili ng Pause ang mga nakapilang mensahe. Hiwalay na kopya ang natatanggap na list at dict.","behavior":"Hintayin at kunin ang pinakamatandang mensahe para sa flow na ito. Puwedeng tumanggap ang main at background flow. Ang pinangalanang grupong tumatakbo sa loob ng parehong flow ay gumagamit ng parehong pila.\nAgad na tinatapos ng pagkansela ang paghihintay; pinapanatili ng Pause ang mga nakapilang mensahe. Hiwalay na kopya ang natatanggap na list at dict.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"yes","details":"Naghihintay sa mensahe ng flow na ito o timeout. Agad sumusuri ang timeout=0. Agad tinatapos ng stop ang paghihintay."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"timeout","type":"Number?","defaultValue":"None","description":"Opsyonal na finite timeout sa milliseconds: 0 <= timeout < 2^63. Inaalis ang bahaging desimal; walang hanggan ang None, agad sumusuri ang 0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Any?","returnDescription":"Pinakamatandang mensahe, o None kapag natapos ang oras ng paghihintay o walang mensahe sa agarang pagsuri. None din ang ibinabalik ng mensaheng may lamang None.","example":"# Naka-configure na watch_enemy flow: hintayin ang ARM, saka suriin ang command sa pagitan ng trabaho\nmessage = Flow.receive()\nif message is not None and message.get(\"command\") == \"ARM\":\n    while True:\n        command = Flow.poll()\n        if command is not None:\n            print(command)\n        if Region().find(\"enemy\", timeout=0).found:\n            print(\"enemy\")\n        wait(100)","aliases":[],"group":"FLOW"},{"key":"class-flow-static-method-poll","kind":"STATIC_METHOD","parentKey":"class-flow","name":"poll","signature":"Flow.poll()","description":"Kunin agad ang pinakamatandang mensahe ng flow na ito nang hindi naghihintay. Pareho ang pila at hiwalay na mga kopya sa Flow.receive().","behavior":"Kunin agad ang pinakamatandang mensahe ng flow na ito nang hindi naghihintay. Pareho ang pila at hiwalay na mga kopya sa Flow.receive().","execution":{"blocking":"no","threadSafety":"serialized","parallel":"yes","details":"Pinag-uugnay ang sabayang tawag nang hindi naghihintay sa mensahe o paglilinis. Isang background flow ang target ng Flow.stop(); tuloy ang main at iba pa."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Any?","returnDescription":"Pinakamatandang mensahe, o None kapag walang mensahe. None din ang ibinabalik ng mensaheng may lamang None.","example":"# Suriin kung may command nang hindi naghihintay\nmessage = Flow.poll()\nif message is not None:\n    print(message)","aliases":[],"group":"FLOW"},{"key":"class-flow-static-method-running","kind":"STATIC_METHOD","parentKey":"class-flow","name":"running","signature":"Flow.running(name)","description":"Tingnan kung tumatakbo o naka-pause ang pinangalanang flow. Maaaring magbago agad ang resulta pagkatapos ng tawag.","behavior":"Tingnan kung tumatakbo o naka-pause ang pinangalanang flow. Maaaring magbago agad ang resulta pagkatapos ng tawag.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"yes","details":"Pinag-uugnay ang sabayang tawag nang hindi naghihintay sa mensahe o paglilinis. Isang background flow ang target ng Flow.stop(); tuloy ang main at iba pa."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Eksaktong naka-configure na pangalan ng target na flow. Walang awtomatikong pangalang ibinibigay sa main flow.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"True habang aktibo; False kung unknown, humihinto o tapos na.","example":"print(Flow.running(\"watch_enemy\"))","aliases":[],"group":"FLOW"},{"key":"class-flow-static-method-stop","kind":"STATIC_METHOD","parentKey":"class-flow","name":"stop","signature":"Flow.stop(name)","description":"Hilinging huminto ang isang background flow; bumalik nang hindi naghihintay sa cleanup. Tuloy ang main at ibang flow. Hindi nito mapapahinto ang main flow. Tinatapos ng self-stop ang tumawag na flow.\nPara sa nakapaloob na pinangalanang grupo, ihihinto ang background flow na may-ari nito. Hintaying matapos ang cleanup bago simulan muli ang parehong pangalan.\nMay Pause/Resume ang background dock. Apektado ang lahat ng flow ng Main Pause/Resume; inaalis din ng Main Resume ang kani-kanilang pause setting.","behavior":"Hilinging huminto ang isang background flow; bumalik nang hindi naghihintay sa cleanup. Tuloy ang main at ibang flow. Hindi nito mapapahinto ang main flow. Tinatapos ng self-stop ang tumawag na flow.\nPara sa nakapaloob na pinangalanang grupo, ihihinto ang background flow na may-ari nito. Hintaying matapos ang cleanup bago simulan muli ang parehong pangalan.\nMay Pause/Resume ang background dock. Apektado ang lahat ng flow ng Main Pause/Resume; inaalis din ng Main Resume ang kani-kanilang pause setting.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"yes","details":"Pinag-uugnay ang sabayang tawag nang hindi naghihintay sa mensahe o paglilinis. Isang background flow ang target ng Flow.stop(); tuloy ang main at iba pa."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Eksaktong naka-configure na pangalan ng target na flow. Walang awtomatikong pangalang ibinibigay sa main flow.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"True para sa bagong stop request; False kung absent, unknown, humihinto na o main ang target. Hindi pinatutunayan ng True na tapos na ang cleanup.","example":"print(Flow.stop(\"watch_enemy\"))","aliases":[],"group":"FLOW"},{"key":"class-list","kind":"COLLECTION","parentKey":null,"name":"list","signature":"list(iterable=(), /)","description":"Mag-imbak ng mga item ayon sa pagkakasunod, kahit may magkakaparehong halaga. Basahin ang posisyon simula sa 0, ulitin ang mga item sa loop, o magdagdag, magpalit, at mag-alis sa mismong list.","behavior":"Mag-imbak ng mga item ayon sa pagkakasunod, kahit may magkakaparehong halaga. Basahin ang posisyon simula sa 0, ulitin ang mga item sa loop, o magdagdag, magpalit, at mag-alis sa mismong list.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"numbers = list()\nnumbers.append(2)\nnumbers.extend([0, 3])\nfirst = numbers[0]        # nagbabalik ng 2\ncount = len(numbers)      # nagbabalik ng 3\n\nfor value in numbers:\n    wait(50)              # nagbabalik ng None","aliases":[],"group":null},{"key":"class-list-creation-method-constructor","kind":"CREATION_METHOD","parentKey":"class-list","name":"constructor","signature":"list()\nlist(iterable, /)","description":"Gumawa ng walang lamang list o bagong list mula sa source na maaaring ulitin sa loop, gaya ng string, list, o generator. Mananatili ang pagkakasunod ng mga item; ginagamit pa rin kasama ng source ang mga nakapaloob na collection.","behavior":"Gumawa ng walang lamang list o bagong list mula sa source na maaaring ulitin sa loop, gaya ng string, list, o generator. Mananatili ang pagkakasunod ng mga item; ginagamit pa rin kasama ng source ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":"()","description":"Mga source value na kokopyahin sa bagong listahan.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"list","returnDescription":"Isang bagong nababagong listahan.","example":"numbers = list()\nnumbers.append(2)\nnumbers.append(3)\n\ncopied = list(numbers)","aliases":[],"group":"FLOW"},{"key":"class-list-creation-method-literal","kind":"CREATION_METHOD","parentKey":"class-list","name":"literal","signature":"[1, 2, 3]","description":"Gumawa ng list sa pamamagitan ng pagsulat ng mga item sa loob ng mga square bracket.","behavior":"Gumawa ng list sa pamamagitan ng pagsulat ng mga item sa loob ng mga square bracket.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"item","type":"Any?","defaultValue":null,"description":"Each item written inside the brackets.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"list","returnDescription":"Bagong list na may mga item ayon sa pagkakasulat.","example":"numbers = [2, 0, 3]\nfirst = numbers[0]       # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-list-creation-method-comprehension","kind":"CREATION_METHOD","parentKey":"class-list","name":"comprehension","signature":"[expr for target in iterable if condition]","description":"Bumuo ng list mula sa mga halagang ginawa ng expr habang inuulit sa loop ang source. Gamitin ang if para panatilihin lang ang tumugmang item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","behavior":"Bumuo ng list mula sa mga halagang ginawa ng expr habang inuulit sa loop ang source. Gamitin ang if para panatilihin lang ang tumugmang item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"expr","type":"Any?","defaultValue":null,"description":"Value to append for each accepted item.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"target","type":"Name | destructuring target","defaultValue":null,"description":"Variable o grupo ng mga variable na tumatanggap ng kasalukuyang item. Hindi sinusuportahan ang target gaya ng *rest.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Source na maaaring ulitin sa loop, gaya ng string, collection, o generator; mga key ang ibinibigay ng dictionary.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"condition","type":"Boolean","defaultValue":"True","description":"Optional filter checked before appending.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"list","returnDescription":"Isang bagong nababagong listahan na may mga tumutugmang item sa pagkakasunud-sunod ng pag-ulit.","example":"values = [1, 2, 3, 4]\nevens = [x for x in values if x % 2 == 0]","aliases":[],"group":"FLOW"},{"key":"class-list-creation-method-range-source","kind":"CREATION_METHOD","parentKey":"class-list","name":"range_source","signature":"range(stop, /) | range(start, stop, step=1, /)","description":"Gumawa ng bagong integer list para sa loops, counters, at numeric ranges.","behavior":"Gumawa ng bagong integer list para sa loops, counters, at numeric ranges.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"start","type":"Number","defaultValue":"0","description":"Start value (inclusive).","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"stop","type":"Number","defaultValue":null,"description":"End value (exclusive).","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"step","type":"Number","defaultValue":"1","description":"Halagang idinaragdag para sa susunod na item. Pababa ang bilang kapag negatibo; error ang 0. Kung palayo sa stop ang direksiyon ng step, walang laman ang resulta.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"list[Int]","returnDescription":"Isang bagong listahan ng integer.","example":"numbers = range(5)         # nagbabalik ng [0, 1, 2, 3, 4]\nevens = range(0, 10, 2)   # nagbabalik ng [0, 2, 4, 6, 8]","aliases":[],"group":"FLOW"},{"key":"class-list-method-length","kind":"METHOD","parentKey":"class-list","name":"length","signature":"len(list, /)","description":"Bilangin kung ilang item ang nasa listahan.","behavior":"Bilangin kung ilang item ang nasa listahan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"list","type":"list","defaultValue":null,"description":"The list to count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga item sa listahan.","example":"numbers = range(3, 8)     # nagbabalik ng [3, 4, 5, 6, 7]\ncount = len(numbers)      # nagbabalik ng 5","aliases":[],"group":"FLOW"},{"key":"class-list-method-index-access","kind":"METHOD","parentKey":"class-list","name":"index_access","signature":"list[index]","description":"Basahin ang isang item ayon sa posisyon: 0 ang una, -1 ang huli, at mula sa dulo ang bilang ng ibang negatibong index.","behavior":"Basahin ang isang item ayon sa posisyon: 0 ang una, -1 ang huli, at mula sa dulo ang bilang ng ibang negatibong index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"list","type":"list","defaultValue":null,"description":"The source list.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"index","type":"Int","defaultValue":null,"description":"Posisyon ng item: 0 ang una, -1 ang huli.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Ang item sa posisyong iyon. Maglalabas ng IndexError kapag ang index ay nasa labas ng listahan.","example":"numbers = range(10, 15)   # nagbabalik ng [10, 11, 12, 13, 14]\nfirst = numbers[0]        # nagbabalik ng 10\nthird = numbers[2]        # nagbabalik ng 12\nlast = numbers[-1]        # nagbabalik ng 14","aliases":[],"group":"FLOW"},{"key":"class-list-method-slice","kind":"METHOD","parentKey":"class-list","name":"slice","signature":"list[start:end[:step]]","description":"Magbalik ng bagong list mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong list ayon sa direksiyon ng step; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","behavior":"Magbalik ng bagong list mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong list ayon sa direksiyon ng step; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"start","type":"Int","defaultValue":"start of list","description":"First item index to include.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"end","type":"Int","defaultValue":"end of list","description":"Stop before this item index.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"step","type":"Int","defaultValue":"1","description":"Distance between items. Cannot be 0; negative values read backward.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"list","returnDescription":"Isang bagong nababagong hiwa ng listahan, na naka-clamp sa available na hanay.","example":"numbers = [0, 1, 2, 3, 4]\nmiddle = numbers[1:4]     # nagbabalik ng [1, 2, 3]\ntail = numbers[-2:]       # nagbabalik ng [3, 4]\nreverse = numbers[::-1]   # nagbabalik ng [4, 3, 2, 1, 0]","aliases":[],"group":"FLOW"},{"key":"class-list-method-index-assignment","kind":"METHOD","parentKey":"class-list","name":"index_assignment","signature":"list[index] = value","description":"Palitan ang isang umiiral nang item sa pamamagitan ng index. Ang mga negatibong index ay binibilang mula sa dulo. Dapat nasa loob na ng listahan ang index.","behavior":"Palitan ang isang umiiral nang item sa pamamagitan ng index. Ang mga negatibong index ay binibilang mula sa dulo. Dapat nasa loob na ng listahan ang index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"list","type":"list","defaultValue":null,"description":"The mutable list to update.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"index","type":"Int","defaultValue":null,"description":"Item index that already exists. Use -1 for the last item.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"},{"name":"value","type":"Any?","defaultValue":null,"description":"New value to store at that position.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang listahan ay na-update sa lugar.","example":"numbers = [12, 12, 21, 3, 2, 1]\nnumbers[4] = 3            # numbers ay nagiging [12, 12, 21, 3, 3, 1]","aliases":[],"group":"FLOW"},{"key":"class-list-method-destructuring-assignment","kind":"METHOD","parentKey":"class-list","name":"destructuring_assignment","signature":"a, b = list","description":"Italaga ang mga item ng list sa mga variable mula kaliwa pakanan. Dapat pareho ang dami ng mga variable at item, kung hindi ay magkakaroon ng error. Maaaring may nakapaloob na grupo ng mga variable; hindi sinusuportahan ang *rest.","behavior":"Italaga ang mga item ng list sa mga variable mula kaliwa pakanan. Dapat pareho ang dami ng mga variable at item, kung hindi ay magkakaroon ng error. Maaaring may nakapaloob na grupo ng mga variable; hindi sinusuportahan ang *rest.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"a, b","type":"Targets","defaultValue":null,"description":"Mga variable na tatanggap ng mga item; dapat katumbas ng haba ng list ang dami nila.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"list","type":"list","defaultValue":null,"description":"Source list to unpack.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang mga target ay tumatanggap ng mga item sa listahan mula kaliwa hanggang kanan.","example":"point = [500, 900]\nx, y = point","aliases":[],"group":"FLOW"},{"key":"class-list-method-append","kind":"METHOD","parentKey":"class-list","name":"append","signature":"list.append(value, /)","description":"Magdagdag ng isang bagong item sa dulo ng listahan.","behavior":"Magdagdag ng isang bagong item sa dulo ng listahan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"The value to add.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang listahan ay na-update sa lugar.","example":"numbers = [2, 0]\nnumbers.append(3)\nlast = numbers[-1]        # nagbabalik ng 3","aliases":[],"group":"FLOW"},{"key":"class-list-method-extend","kind":"METHOD","parentKey":"class-list","name":"extend","signature":"list.extend(iterable, /)","description":"Idagdag ang bawat item mula sa source na maaaring ulitin sa loop sa dulo ng list na ito, ayon sa pagkakasunod sa source.","behavior":"Idagdag ang bawat item mula sa source na maaaring ulitin sa loop sa dulo ng list na ito, ayon sa pagkakasunod sa source.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Mga source value na ang mga item ay idaragdag.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang listahan ay lumalaki sa lugar.","example":"numbers = [1]\nnumbers.extend([2, 3])\ncount = len(numbers)      # nagbabalik ng 3","aliases":[],"group":"FLOW"},{"key":"class-list-method-insert","kind":"METHOD","parentKey":"class-list","name":"insert","signature":"list.insert(index, value, /)","description":"Magsingit ng item bago ang ibinigay na posisyon. Nagsisimula sa 0 ang mga posisyon; mula sa dulo ang bilang ng negatibong index. Sa simula isisingit kung mas mababa sa saklaw ng list ang index; sa dulo kung lampas sa list.","behavior":"Magsingit ng item bago ang ibinigay na posisyon. Nagsisimula sa 0 ang mga posisyon; mula sa dulo ang bilang ng negatibong index. Sa simula isisingit kung mas mababa sa saklaw ng list ang index; sa dulo kung lampas sa list.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"index","type":"Int","defaultValue":null,"description":"Posisyon kung saan ipapasok ang value bago nito.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"value","type":"Any?","defaultValue":null,"description":"Ang value na ipapasok.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang listahan ay na-update sa lugar.","example":"numbers = [1, 3]\nnumbers.insert(1, 2)      # numbers ay nagiging [1, 2, 3]","aliases":[],"group":"FLOW"},{"key":"class-list-method-remove","kind":"METHOD","parentKey":"class-list","name":"remove","signature":"list.remove(value, /)","description":"Alisin ang unang item na ang halaga ay tumutugma sa ibinigay na halaga.","behavior":"Alisin ang unang item na ang halaga ay tumutugma sa ibinigay na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value to find and remove from the list.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Itinataas ang ValueError kapag hindi nakita ang value.","example":"numbers = [1, 2, 2, 3]\nnumbers.remove(2)         # numbers ay nagiging [1, 2, 3]","aliases":[],"group":"FLOW"},{"key":"class-list-method-pop","kind":"METHOD","parentKey":"class-list","name":"pop","signature":"list.pop(index=-1, /)","description":"Mag-alis ng isang item mula sa listahan at ibalik ito. Kapag walang index, aalisin ang huling item.","behavior":"Mag-alis ng isang item mula sa listahan at ibalik ito. Kapag walang index, aalisin ang huling item.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"index","type":"Int","defaultValue":"-1","description":"Opsyonal na index na aalisin. Ang negatibong index ay binibilang mula sa dulo.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Ang inalis na item. Maglalabas ng IndexError kapag walang laman ang listahan o nasa labas ng listahan ang index.","example":"numbers = [2, 0, 3]\nremoved = numbers.pop()   # nagbabalik ng 3\nfirst = numbers.pop(0)    # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-list-method-clear","kind":"METHOD","parentKey":"class-list","name":"clear","signature":"list.clear()","description":"Alisin ang bawat item sa listahan.","behavior":"Alisin ang bawat item sa listahan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang listahan ay nagiging walang laman.","example":"numbers = [2, 0, 3]\nnumbers.clear()\ntext(str(len(numbers)))   # nagbabalik ng 0","aliases":[],"group":"FLOW"},{"key":"class-list-method-index","kind":"METHOD","parentKey":"class-list","name":"index","signature":"list.index(value, start=0, stop=len(list), /)","description":"Ibalik ang unang index na ang item ay katumbas ng value sa loob ng opsyonal na start at stop bounds.","behavior":"Ibalik ang unang index na ang item ay katumbas ng value sa loob ng opsyonal na start at stop bounds.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value na hahanapin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int","defaultValue":"0","description":"Unang posisyong hahanapan, kasama ito. Nagsisimula sa 0 ang mga posisyon; mula sa dulo ang bilang ng negatibong halaga.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int","defaultValue":"len(list)","description":"Huminto bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Ang tumutugmang index. Maglalabas ng ValueError kapag hindi nahanap ang value.","example":"numbers = [1, 2, 1, 3]\nfirst_one = numbers.index(1)       # nagbabalik ng 0\nlater_one = numbers.index(1, 1)    # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-list-method-count","kind":"METHOD","parentKey":"class-list","name":"count","signature":"list.count(value, /)","description":"Bilangin kung ilang item ang katumbas ng ibinigay na value.","behavior":"Bilangin kung ilang item ang katumbas ng ibinigay na value.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value na bibilangin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga tumutugmang item.","example":"numbers = [1, 2, 1, 3]\nones = numbers.count(1)   # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-list-method-sort","kind":"METHOD","parentKey":"class-list","name":"sort","signature":"list.sort(*, key=None, reverse=False)","description":"Ayusin ang mismong list mula pinakamaliit hanggang pinakamalaki. Nananatili ang orihinal na pagkakasunod ng mga halagang magkatumbas sa paghahambing. Dapat maaaring paghambingin ang mga halaga: numero at boolean, string, o list/tuple na magkapareho ang uri at may mga item na maaaring paghambingin; error ang paghahalo ng di-magkatugmang uri.","behavior":"Ayusin ang mismong list mula pinakamaliit hanggang pinakamalaki. Nananatili ang orihinal na pagkakasunod ng mga halagang magkatumbas sa paghahambing. Dapat maaaring paghambingin ang mga halaga: numero at boolean, string, o list/tuple na magkapareho ang uri at may mga item na maaaring paghambingin; error ang paghahalo ng di-magkatugmang uri.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Pinoproseso ang mga value sa kasalukuyang flow. Doon din tumatakbo ang key function; magaganap muna ang paghihintay at pagbabago nito bago bumalik ang tawag."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Callable?","defaultValue":"None","description":"Opsiyonal na function na tinatawag nang isang beses bawat item para gumawa ng halagang pagbabatayan ng pag-aayos. Sa None, ang mismong mga item ang paghahambingin.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"reverse","type":"Boolean","defaultValue":"False","description":"Kapag true, ayusin mula pinakamalaki hanggang pinakamaliit.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"None","returnDescription":"Walang direktang return value. Inaayos muli ang listahan sa mismong lugar.","example":"numbers = [3, 1, 2]\nnumbers.sort()\ntext(str(numbers))        # nagbabalik ng [1, 2, 3]","aliases":[],"group":"FLOW"},{"key":"class-list-method-reverse","kind":"METHOD","parentKey":"class-list","name":"reverse","signature":"list.reverse()","description":"Baliktarin ang listahan sa mismong lugar.","behavior":"Baliktarin ang listahan sa mismong lugar.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang direktang return value. Binabaliktad ang ayos ng listahan sa mismong lugar.","example":"numbers = [1, 2, 3]\nnumbers.reverse()         # numbers ay nagiging [3, 2, 1]","aliases":[],"group":"FLOW"},{"key":"class-list-method-copy","kind":"METHOD","parentKey":"class-list","name":"copy","signature":"list.copy()","description":"Magbalik ng bagong list na may parehong mga item. Hindi mababago ang orihinal kapag nagdagdag, nag-alis, o nagpalit ng mga item sa kopya; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","behavior":"Magbalik ng bagong list na may parehong mga item. Hindi mababago ang orihinal kapag nagdagdag, nag-alis, o nagpalit ng mga item sa kopya; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list","returnDescription":"Bagong list; hindi kinokopya ang mga nakapaloob na collection.","example":"numbers = [1, 2]\ncopied = numbers.copy()\ncopied.append(3)\ncount = len(numbers)      # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-list-method-for-loop","kind":"METHOD","parentKey":"class-list","name":"for_loop","signature":"for item in list:","description":"I-loop ang mga item sa pagkakasunud-sunod mula kaliwa hanggang kanan.","behavior":"I-loop ang mga item sa pagkakasunud-sunod mula kaliwa hanggang kanan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"item","type":"Any","defaultValue":null,"description":"Current item inside the loop.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"list","type":"list","defaultValue":null,"description":"The list to iterate.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Pinapatakbo ng loop ang katawan nito nang isang beses bawat item.","example":"steps = range(1, 4)      # nagbabalik ng [1, 2, 3]\nfor step in steps:\n    wait(step * 100)      # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"class-list-method-truthy-check","kind":"METHOD","parentKey":"class-list","name":"truthy_check","signature":"if list | if not list","description":"Suriin kung ang listahan ay may kahit isang item. Ang isang walang laman na listahan ay itinuturing na hindi totoo.","behavior":"Suriin kung ang listahan ay may kahit isang item. Ang isang walang laman na listahan ay itinuturing na hindi totoo.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"list","type":"list","defaultValue":null,"description":"The list used in the condition.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean condition","returnDescription":"totoo kapag ang listahan ay walang laman, mali kapag ito ay walang laman.","example":"numbers = range(0)        # nagbabalik ng []\nif not numbers:\n    text(\"No items\")      # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"class-tuple","kind":"COLLECTION","parentKey":null,"name":"tuple","signature":"tuple(iterable=(), /)\n(value1, value2, ...)","description":"Mag-imbak ng magkakasunod na item, kahit may magkakapareho, na hindi na madaragdagan, maaalis, o mapapalitan matapos gawin. Maaari pa ring magbago ang nakapaloob na list o dictionary. Sa kondisyon, false ang walang lamang tuple at true ang tuple na may laman.","behavior":"Mag-imbak ng magkakasunod na item, kahit may magkakapareho, na hindi na madaragdagan, maaalis, o mapapalitan matapos gawin. Maaari pa ring magbago ang nakapaloob na list o dictionary. Sa kondisyon, false ang walang lamang tuple at true ang tuple na may laman.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"offset = (0, 1)\nx = offset[0]\ny = offset[1]\nif 1 in offset:\n    text(\"offset ready\")","aliases":[],"group":null},{"key":"class-tuple-creation-method-constructor","kind":"CREATION_METHOD","parentKey":"class-tuple","name":"constructor","signature":"tuple()\ntuple(iterable, /)","description":"Gumawa ng walang lamang tuple o kopyahin sa tuple ang mga item mula sa source na maaaring ulitin sa loop. Ginagamit pa rin kasama ng source ang mga nakapaloob na collection.","behavior":"Gumawa ng walang lamang tuple o kopyahin sa tuple ang mga item mula sa source na maaaring ulitin sa loop. Ginagamit pa rin kasama ng source ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":"()","description":"Opsiyonal na source na maaaring ulitin sa loop, gaya ng string, list, o generator.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"tuple","returnDescription":"Isang bagong read-only na tuple.","example":"coords = (120, 340)\ncopy = tuple(coords)","aliases":[],"group":"FLOW"},{"key":"class-tuple-creation-method-literal","kind":"CREATION_METHOD","parentKey":"class-tuple","name":"literal","signature":"(value1, value2, ...)","description":"Gumawa ng tuple gamit ang mga item na pinaghihiwalay ng kuwit. Gamitin ang (value,) para sa isang item; hindi tuple ang (value) lang.","behavior":"Gumawa ng tuple gamit ang mga item na pinaghihiwalay ng kuwit. Gamitin ang (value,) para sa isang item; hindi tuple ang (value) lang.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Each item written inside tuple parentheses.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"tuple","returnDescription":"Isang bagong tuple na nagpapanatili ng literal na kaayusan.","example":"offset = (0, 1)\nclick(Point(500, 900), offset=offset)","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-length","kind":"METHOD","parentKey":"class-tuple","name":"length","signature":"len(tuple, /)","description":"Bilangin kung ilang bagay ang nasa tuple.","behavior":"Bilangin kung ilang bagay ang nasa tuple.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"tuple","type":"tuple","defaultValue":null,"description":"The tuple to count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga item ng tuple.","example":"offset = (0, 1)\ncount = len(offset)      # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-index-access","kind":"METHOD","parentKey":"class-tuple","name":"index_access","signature":"tuple[index]","description":"Basahin ang isang item ng tuple ayon sa posisyon: 0 ang una, -1 ang huli, at mula sa dulo ang bilang ng ibang negatibong index.","behavior":"Basahin ang isang item ng tuple ayon sa posisyon: 0 ang una, -1 ang huli, at mula sa dulo ang bilang ng ibang negatibong index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"tuple","type":"tuple","defaultValue":null,"description":"Source tuple.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"index","type":"Int","defaultValue":null,"description":"Posisyon ng item: 0 ang una, -1 ang huli.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Item sa posisyong iyon. Naglalabas ng IndexError kapag nasa labas ng tuple ang posisyon.","example":"pair = (10, 20)\nx = pair[0]              # nagbabalik ng 10\ny = pair[-1]             # nagbabalik ng 20","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-slice","kind":"METHOD","parentKey":"class-tuple","name":"slice","signature":"tuple[start:end[:step]]","description":"Magbalik ng bagong tuple mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong tuple ayon sa direksiyon ng step; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","behavior":"Magbalik ng bagong tuple mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong tuple ayon sa direksiyon ng step; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"start","type":"Int","defaultValue":"start of tuple","description":"First item index to include.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"end","type":"Int","defaultValue":"end of tuple","description":"Stop before this item index.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"step","type":"Int","defaultValue":"1","description":"Distance between items. Cannot be 0; negative values read backward.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"tuple","returnDescription":"Isang bagong tuple slice, na naka-clamp sa available na hanay.","example":"values = (0, 1, 2, 3, 4)\nmiddle = values[1:4]     # nagbabalik ng (1, 2, 3)\nreverse = values[::-1]   # nagbabalik ng (4, 3, 2, 1, 0)","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-destructuring-assignment","kind":"METHOD","parentKey":"class-tuple","name":"destructuring_assignment","signature":"x, y = tuple","description":"Italaga ang mga item ng tuple sa mga variable mula kaliwa pakanan. Dapat pareho ang dami ng mga variable at item, kung hindi ay magkakaroon ng error. Maaaring may nakapaloob na grupo ng mga variable; hindi sinusuportahan ang *rest.","behavior":"Italaga ang mga item ng tuple sa mga variable mula kaliwa pakanan. Dapat pareho ang dami ng mga variable at item, kung hindi ay magkakaroon ng error. Maaaring may nakapaloob na grupo ng mga variable; hindi sinusuportahan ang *rest.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"x, y","type":"Targets","defaultValue":null,"description":"Mga variable na tatanggap ng mga item; dapat katumbas ng haba ng tuple ang dami nila.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"tuple","type":"tuple","defaultValue":null,"description":"Source tuple to unpack.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang mga target ay tumatanggap ng mga tuple item mula kaliwa hanggang kanan.","example":"label, (x, y) = (\"target\", (500, 900))","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-index-method","kind":"METHOD","parentKey":"class-tuple","name":"index_method","signature":"tuple.index(value, start=0, stop=len(tuple), /)","description":"Ibalik ang unang tumugmang posisyon sa napiling saklaw, o maglabas ng ValueError kung wala ang halaga.","behavior":"Ibalik ang unang tumugmang posisyon sa napiling saklaw, o maglabas ng ValueError kung wala ang halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value that must exist in the tuple.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int","defaultValue":"0","description":"Unang posisyong hahanapan, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int","defaultValue":"len(tuple)","description":"Itigil ang paghahanap bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"First matching item index.","example":"pair = (\"farm\", \"pvp\")\nindex = pair.index(\"pvp\")","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-count-method","kind":"METHOD","parentKey":"class-tuple","name":"count_method","signature":"tuple.count(value, /)","description":"Count matching tuple items.","behavior":"Count matching tuple items.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value na bibilangin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Number of matches.","example":"pair = (\"farm\", \"farm\", \"pvp\")\ncount = pair.count(\"farm\")","aliases":[],"group":"FLOW"},{"key":"class-tuple-method-for-loop","kind":"METHOD","parentKey":"class-tuple","name":"for_loop","signature":"for item in tuple:","description":"Ulitin ang mga item ng tuple mula kaliwa hanggang kanan.","behavior":"Ulitin ang mga item ng tuple mula kaliwa hanggang kanan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"item","type":"Any","defaultValue":null,"description":"Current tuple item in loop.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"tuple","type":"tuple","defaultValue":null,"description":"tuple to iterate.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga.","example":"offset = (0, 1)\nfor item in offset:\n    text(str(item))","aliases":[],"group":"FLOW"},{"key":"class-motiontracker","kind":"CLASS","parentKey":null,"name":"MotionTracker","signature":"MotionTracker(region=None, exclude=None, max_displacement=80, max_gap_ms=850, max_frame_age_ms=250)","description":"Subaybayan ang paglipat ng background sa pagitan ng mga screen frame gamit ang native OpenCV na pagtutugma ng maraming bahagi. Hindi nito tinutukoy ang player o lokasyon sa atlas. Ibukod ang HUD at character; pangasiwaan ang zoom ng laro sa labas gamit ang template matching at scale. Kapag pinaghinalaang may zoom o pag-ikot, LOST ang resulta at walang pagtatantiya ng zoom. Hindi kumukuha ng frame ang paggawa; hanggang 16 na tracker ang maaaring bukas sa bawat flow.","behavior":"Subaybayan ang paglipat ng background sa pagitan ng mga screen frame gamit ang native OpenCV na pagtutugma ng maraming bahagi. Hindi nito tinutukoy ang player o lokasyon sa atlas. Ibukod ang HUD at character; pangasiwaan ang zoom ng laro sa labas gamit ang template matching at scale. Kapag pinaghinalaang may zoom o pag-ikot, LOST ang resulta at walang pagtatantiya ng zoom. Hindi kumukuha ng frame ang paggawa; hanggang 16 na tracker ang maaaring bukas sa bawat flow.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[{"name":"region","type":"Region | None","defaultValue":"None","description":"Parihabang susubaybayan sa screen pixels, na nasa loob nang buo ng kasalukuyang screen at may positibo at may hangganang lapad at taas. Pinipili ng None ang buong screen. Nakapirmi ang coordinates sa paggawa. Nagkakaroon ng error kapag masyadong maliit o makitid ang region; pumili ng mas malaking region.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"exclude","type":"list | tuple | None","defaultValue":"None","description":"Mga Region na ibubukod, na pinuputol ayon sa hangganan ng tracking area. Bawat isa ay may positibo at may hangganang lapad at taas; nakapirmi ang coordinates sa paggawa. Walang ibinubukod ang None. Hanggang 32 Region ang maaaring ibukod.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max_displacement","type":"Number (1..256)","defaultValue":"80","description":"Pinakamalaking may hangganang paglipat sa bawat axis sa screen pixels; default ay 80.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max_gap_ms","type":"Number (1..5000)","defaultValue":"850","description":"Pinakamalaking pagitan ng mga frame bilang buong bilang ng millisecond; default ay 850.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max_frame_age_ms","type":"Number (1..5000)","defaultValue":"250","description":"Pinakamalaking edad ng frame bilang buong bilang ng millisecond; default ay 250.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# Subaybayan ang galaw ng background sa pagitan ng mga nakuhang frame\ntracker = MotionTracker()\nfirst = tracker.update()\nwait(100)\nresult = tracker.update()\nif result.status == \"TRACKED\":\n    print(result.dx, result.dy)\ntracker.close()","aliases":[],"group":null},{"key":"class-motiontracker-method-update","kind":"METHOD","parentKey":"class-motiontracker","name":"update","signature":"tracker.update()","description":"Basahin ang kasalukuyang nakuhang frame at ibalik ang resulta ng galaw. Dapat may tahasang pahintulot at handa na ang screen capture. Gumagawa ng baseline ang INITIALIZED; ibinabalik ng TRACKED ang tinanggap na paglipat; hindi binabago ng STALE ang baseline; binubura ng LOST ang continuity upang muling magsimula sa susunod na bago at wastong frame. Nagkakaroon ng error kapag tinawag pagkatapos ng close. Ang STALE ay duplicate, panghinaharap, o sobrang lumang frame bago iproseso at hindi binabago ang baseline. Kung tumanda nang sobra ang frame habang pinoproseso o nagkaroon ng Pause bago ibigay ang resulta, LOST ang resulta na may reason na processing_frame_too_old at binubura ang continuity.","behavior":"Basahin ang kasalukuyang nakuhang frame at ibalik ang resulta ng galaw. Dapat may tahasang pahintulot at handa na ang screen capture. Gumagawa ng baseline ang INITIALIZED; ibinabalik ng TRACKED ang tinanggap na paglipat; hindi binabago ng STALE ang baseline; binubura ng LOST ang continuity upang muling magsimula sa susunod na bago at wastong frame. Nagkakaroon ng error kapag tinawag pagkatapos ng close. Ang STALE ay duplicate, panghinaharap, o sobrang lumang frame bago iproseso at hindi binabago ang baseline. Kung tumanda nang sobra ang frame habang pinoproseso o nagkaroon ng Pause bago ibigay ang resulta, LOST ang resulta na may reason na processing_frame_too_old at binubura ang continuity.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"MotionResult","returnDescription":null,"example":null,"aliases":[],"group":"FLOW"},{"key":"class-motiontracker-method-reset","kind":"METHOD","parentKey":"class-motiontracker","name":"reset","signature":"tracker.reset()","description":"Burahin ang baseline habang maaari pang gamitin ang tracker. Nagkakaroon ng error kapag tinawag pagkatapos ng close.","behavior":"Burahin ang baseline habang maaari pang gamitin ang tracker. Nagkakaroon ng error kapag tinawag pagkatapos ng close.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":null,"example":null,"aliases":[],"group":"FLOW"},{"key":"class-motiontracker-method-close","kind":"METHOD","parentKey":"class-motiontracker","name":"close","signature":"tracker.close()","description":"Bitawan ang tracker; ligtas itong tawagin nang paulit-ulit. Binibitawan din ang handle kapag natapos, nahinto, o pumalya ang macro o flow. Magagamit muli ang handle sa mga action ng parehong executor at hiwalay ito sa ibang flow.","behavior":"Bitawan ang tracker; ligtas itong tawagin nang paulit-ulit. Binibitawan din ang handle kapag natapos, nahinto, o pumalya ang macro o flow. Magagamit muli ang handle sa mga action ng parehong executor at hiwalay ito sa ibang flow.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":null,"example":null,"aliases":[],"group":"FLOW"},{"key":"class-motionresult","kind":"READ_ONLY_CLASS","parentKey":null,"name":"MotionResult","signature":"MotionResult","description":"Read-only na resulta mula sa MotionTracker.update(). Ang paglipat ay galaw ng background sa pagitan ng mga frame, hindi absolute na lokasyon. Hindi nagki-click, nagpapadala ng input, nag-a-upload, o nagse-save ng data ang tracking.","behavior":"Read-only na resulta mula sa MotionTracker.update(). Ang paglipat ay galaw ng background sa pagitan ng mga frame, hindi absolute na lokasyon. Hindi nagki-click, nagpapadala ng input, nag-a-upload, o nagse-save ng data ang tracking.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":["status","dx","dy","frame_id","captured_at_ms","dt_ms","age_ms","inliers","residual_px","reason"],"fieldDocs":[{"name":"status","type":"String","defaultValue":null,"description":"Gumagawa ng baseline ang INITIALIZED; may tinanggap na paglipat ang TRACKED; ang STALE ay duplicate, luma, o panghinaharap na frame; ang LOST ay dahil sa pagitan, pagbabago ng geometry, maling pagkakasunod ng frame, kakulangan ng texture, o kalabuan. Sinusuri ng STALE ang frame bago iproseso; LOST ang frame na tumanda nang sobra habang pinoproseso.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"dx","type":"Number | None","defaultValue":null,"description":"Pahalang na paglipat ng background sa screen pixels na buong resolusyon, para lamang sa TRACKED; negatibo ang galaw pakaliwa.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"dy","type":"Number | None","defaultValue":null,"description":"Patayong paglipat ng background sa screen pixels na buong resolusyon, para lamang sa TRACKED.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"frame_id","type":"Number","defaultValue":null,"description":"Natatanging identity ng frame, na hindi nagbabago kapag muling binasa ang parehong cached frame.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"captured_at_ms","type":"Number","defaultValue":null,"description":"Oras ng pagkuha ng frame sa Android monotonic clock sa millisecond, hindi oras ng pagpapakita.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"dt_ms","type":"Number | None","defaultValue":null,"description":"Mga millisecond na lumipas mula sa baseline, kung mayroon.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"age_ms","type":"Number","defaultValue":null,"description":"Panghuling edad ng frame sa millisecond.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"inliers","type":"Number","defaultValue":null,"description":"Bilang ng mga bahaging sumusuporta sa tinanggap na galaw.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"residual_px","type":"Number | None","defaultValue":null,"description":"Natitirang error ng galaw sa screen pixels, kung mayroon.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"reason","type":"String","defaultValue":null,"description":"Dahilan ng status ng resulta.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":null,"aliases":[],"group":null},{"key":"class-range","kind":"COLLECTION","parentKey":null,"name":"range","signature":"range(stop, /) | range(start, stop, step=1, /)","description":"Hindi nababagong sequence ng mga integer na nilikha gamit ang range(). Maaari itong gamitin muli nang hindi gumagawa ng buong list; gamitin ang list() kapag kailangan ng list.","behavior":"Hindi nababagong sequence ng mga integer na nilikha gamit ang range(). Maaari itong gamitin muli nang hindi gumagawa ng buong list; gamitin ang list() kapag kailangan ng list.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["start","stop","step"],"fieldDocs":[{"name":"start","type":"Int","defaultValue":null,"description":"Panimulang hangganan na kasama sa saklaw.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"stop","type":"Int","defaultValue":null,"description":"Hangganan sa dulo na hindi kasama sa sequence.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"step","type":"Int","defaultValue":null,"description":"Pagkakaiba sa pagitan ng magkasunod na value.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"start","type":"Int","defaultValue":"0","description":"Start value (inclusive)","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"stop","type":"Int","defaultValue":null,"description":"End value (exclusive)","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"step","type":"Int","defaultValue":"1","description":"Pagitan ng magkasunod na value. Gumamit ng negatibong value para magbilang pababa; nagdudulot ng error ang 0.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"fieldExample":"numbers = range(2, 10, 2)\ntext(str(numbers.start))","constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"numbers = range(0, 10, 2)\ntext(str(list(numbers)))\ntext(str(numbers.index(4)))","aliases":[],"group":null},{"key":"class-range-method-count","kind":"METHOD","parentKey":"class-range","name":"count","signature":"range.count(value, /)","description":"Ibalik kung ilang beses lumilitaw ang value: 0 o 1.","behavior":"Ibalik kung ilang beses lumilitaw ang value: 0 o 1.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value na hahanapin. Inihahambing ang mga numerong value ayon sa halaga, kaya katumbas ng 1 ang 1.0.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":null,"example":"range(0, 10, 2).count(4)","aliases":[],"group":"FLOW"},{"key":"class-range-method-index","kind":"METHOD","parentKey":"class-range","name":"index","signature":"range.index(value, /)","description":"Ibalik ang unang index ng value. Nagbibigay ng ValueError kapag wala ang value.","behavior":"Ibalik ang unang index ng value. Nagbibigay ng ValueError kapag wala ang value.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value na hahanapin. Inihahambing ang mga numerong value ayon sa halaga, kaya katumbas ng 1 ang 1.0.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":null,"example":"range(0, 10, 2).index(4)","aliases":[],"group":"FLOW"},{"key":"class-set","kind":"COLLECTION","parentKey":null,"name":"set","signature":"set(iterable=(), /)","description":"Mag-imbak ng mga halaga na walang duplikado at magdagdag o mag-alis sa susunod. Isang beses lang lalabas ang magkatumbas na halaga: magkatumbas ang True, 1, at 1.0. Dapat maaaring gamiting key ng dictionary ang mga item; hindi tinatanggap ang list, dictionary, set, o tuple na naglalaman ng mga ito. Huwag umasa sa pagkakasunod ng loop.","behavior":"Mag-imbak ng mga halaga na walang duplikado at magdagdag o mag-alis sa susunod. Isang beses lang lalabas ang magkatumbas na halaga: magkatumbas ang True, 1, at 1.0. Dapat maaaring gamiting key ng dictionary ang mga item; hindi tinatanggap ang list, dictionary, set, o tuple na naglalaman ng mga ito. Huwag umasa sa pagkakasunod ng loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"seen = {1, 2, 2}\nseen.add(3)\n\nif 2 in seen:\n    text(str(seen))","aliases":[],"group":null},{"key":"class-set-creation-method-constructor","kind":"CREATION_METHOD","parentKey":"class-set","name":"constructor","signature":"set()\nset(iterable, /)","description":"Gumawa ng walang lamang set o kumuha ng mga halaga mula sa source na maaaring ulitin sa loop, gaya ng list o generator, na unang paglitaw lang ng bawat magkatumbas na halaga ang pinananatili.","behavior":"Gumawa ng walang lamang set o kumuha ng mga halaga mula sa source na maaaring ulitin sa loop, gaya ng list o generator, na unang paglitaw lang ng bawat magkatumbas na halaga ang pinananatili.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":"()","description":"Optional source values to deduplicate into the new set.","suggestAsNamedArg":true,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"set","returnDescription":"Isang bagong nababagong set.","example":"seen = set()\nunique = set([1, 2, 2, 3])","aliases":[],"group":"FLOW"},{"key":"class-set-creation-method-literal","kind":"CREATION_METHOD","parentKey":"class-set","name":"literal","signature":"{1, 2, 3}","description":"Gumawa ng set sa pamamagitan ng pagsulat ng mga halaga sa loob ng mga brace. Gamitin ang set() para sa walang lamang set; walang lamang dictionary ang ginagawa ng {}.","behavior":"Gumawa ng set sa pamamagitan ng pagsulat ng mga halaga sa loob ng mga brace. Gamitin ang set() para sa walang lamang set; walang lamang dictionary ang ginagawa ng {}.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Each value written inside the braces.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"set","returnDescription":"Isang bagong nababagong set na nagpapanatili ng isang kopya ng bawat halaga.","example":"unique = {1, 2, 2, 3}\ntext(str(unique))        # nagbabalik ng {1, 2, 3}","aliases":[],"group":"FLOW"},{"key":"class-set-creation-method-comprehension","kind":"CREATION_METHOD","parentKey":"class-set","name":"comprehension","signature":"{expr for target in iterable if condition}","description":"Bumuo ng set mula sa mga halagang ginawa ng expr habang inuulit sa loop ang source, na inaalis ang mga duplikado. Gamitin ang if para salain ang mga item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","behavior":"Bumuo ng set mula sa mga halagang ginawa ng expr habang inuulit sa loop ang source, na inaalis ang mga duplikado. Gamitin ang if para salain ang mga item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"expr","type":"Any?","defaultValue":null,"description":"Value calculated for each accepted item.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"target","type":"Name | destructuring target","defaultValue":null,"description":"Variable o grupo ng mga variable na tumatanggap ng kasalukuyang item. Hindi sinusuportahan ang target gaya ng *rest.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Source na maaaring ulitin sa loop, gaya ng string, collection, o generator; mga key ang ibinibigay ng dictionary.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"condition","type":"Boolean","defaultValue":"True","description":"Optional filter checked before adding a value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"set","returnDescription":"Isang bagong nababagong set.","example":"values = [1, 2, 3, 4, 5]\nremainders = {x % 3 for x in values}","aliases":[],"group":"FLOW"},{"key":"class-set-method-length","kind":"METHOD","parentKey":"class-set","name":"length","signature":"len(set, /)","description":"Bilangin kung ilang natatanging value ang nasa set.","behavior":"Bilangin kung ilang natatanging value ang nasa set.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"set","type":"set","defaultValue":null,"description":"The set to count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga nakatakdang halaga.","example":"values = {1, 2, 2}\ncount = len(values)      # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-set-method-membership-operator","kind":"METHOD","parentKey":"class-set","name":"membership_operator","signature":"value in set","description":"Suriin kung may value sa set.","behavior":"Suriin kung may value sa set.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value to test.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"set","type":"set","defaultValue":null,"description":"Set na paghahanapan ng halaga.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"totoo kapag ang halaga ay umiiral, kung hindi man ay mali.","example":"values = {1, 2, 3}\nif 2 in values:\n    text(\"ready\")","aliases":[],"group":"FLOW"},{"key":"class-set-method-add-method","kind":"METHOD","parentKey":"class-set","name":"add_method","signature":"set.add(value, /)","description":"Magdagdag ng isang halaga sa set. Ang mga kasalukuyang halaga ay pinananatili nang isang beses.","behavior":"Magdagdag ng isang halaga sa set. Ang mga kasalukuyang halaga ay pinananatili nang isang beses.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value to add.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang set ay na-update sa lugar.","example":"seen = set()\nseen.add(\"home\")","aliases":[],"group":"FLOW"},{"key":"class-set-method-discard-method","kind":"METHOD","parentKey":"class-set","name":"discard_method","signature":"set.discard(value, /)","description":"Mag-alis ng halaga kung mayroon ito. Binabalewala ang mga nawawalang halaga.","behavior":"Mag-alis ng halaga kung mayroon ito. Binabalewala ang mga nawawalang halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value to remove if present.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Maaaring ma-update ang set sa lugar.","example":"seen = {\"home\", \"shop\"}\nseen.discard(\"shop\")","aliases":[],"group":"FLOW"},{"key":"class-set-method-remove-method","kind":"METHOD","parentKey":"class-set","name":"remove_method","signature":"set.remove(value, /)","description":"Alisin ang halaga sa set na ito, o maglabas ng KeyError kung wala ito.","behavior":"Alisin ang halaga sa set na ito, o maglabas ng KeyError kung wala ito.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value that must exist in the set.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang set ay na-update sa lugar.","example":"seen = {\"home\", \"shop\"}\nseen.remove(\"home\")","aliases":[],"group":"FLOW"},{"key":"class-set-method-pop-method","kind":"METHOD","parentKey":"class-set","name":"pop_method","signature":"set.pop()","description":"Alisin at ibalik ang alinmang halaga mula sa set na ito. Maglalabas ng KeyError ang walang lamang set.","behavior":"Alisin at ibalik ang alinmang halaga mula sa set na ito. Maglalabas ng KeyError ang walang lamang set.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Any?","returnDescription":"Removed value.","example":"seen = {\"home\", \"shop\"}\nvalue = seen.pop()","aliases":[],"group":"FLOW"},{"key":"class-set-method-update-method","kind":"METHOD","parentKey":"class-set","name":"update_method","signature":"set.update(*iterables)","description":"Idagdag sa set na ito ang mga halaga mula sa mga source na maaaring ulitin sa loop, na isang beses lang pinananatili ang bawat magkatumbas na halaga.","behavior":"Idagdag sa set na ito ang mga halaga mula sa mga source na maaaring ulitin sa loop, na isang beses lang pinananatili ang bawat magkatumbas na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterables","type":"Iterable","defaultValue":null,"description":"Sources to add.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang set ay na-update sa lugar.","example":"seen = {\"home\"}\nseen.update([\"shop\", \"home\"])","aliases":[],"group":"FLOW"},{"key":"class-set-method-union-method","kind":"METHOD","parentKey":"class-set","name":"union_method","signature":"set.union(*iterables)","description":"Magbalik ng bagong set na pinagsasama ang set na ito at mga source na maaaring ulitin sa loop, na walang duplikado. Hindi nagbabago ang set na ito.","behavior":"Magbalik ng bagong set na pinagsasama ang set na ito at mga source na maaaring ulitin sa loop, na walang duplikado. Hindi nagbabago ang set na ito.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterables","type":"Iterable","defaultValue":null,"description":"Sources to merge.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"}],"returnType":"set","returnDescription":"Merged set copy.","example":"a = {\"home\"}\nb = a.union([\"shop\"])","aliases":[],"group":"FLOW"},{"key":"class-set-method-intersection-method","kind":"METHOD","parentKey":"class-set","name":"intersection_method","signature":"set.intersection(*iterables)","description":"Magbalik ng bagong set na may mga halaga mula sa set na ito na nasa bawat ibinigay na source. Kung walang source, magbalik ng kopya. Hindi nagbabago ang set na ito.","behavior":"Magbalik ng bagong set na may mga halaga mula sa set na ito na nasa bawat ibinigay na source. Kung walang source, magbalik ng kopya. Hindi nagbabago ang set na ito.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterables","type":"Iterable","defaultValue":null,"description":"Sources to compare.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"}],"returnType":"set","returnDescription":"Intersection set copy.","example":"a = {\"home\", \"shop\"}\nb = a.intersection([\"shop\"])","aliases":[],"group":"FLOW"},{"key":"class-set-method-difference-method","kind":"METHOD","parentKey":"class-set","name":"difference_method","signature":"set.difference(*iterables)","description":"Magbalik ng bagong set na may mga halaga mula sa set na ito na wala sa alinman sa mga ibinigay na source. Kung walang source, magbalik ng kopya. Hindi nagbabago ang set na ito.","behavior":"Magbalik ng bagong set na may mga halaga mula sa set na ito na wala sa alinman sa mga ibinigay na source. Kung walang source, magbalik ng kopya. Hindi nagbabago ang set na ito.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterables","type":"Iterable","defaultValue":null,"description":"Sources to subtract.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"}],"returnType":"set","returnDescription":"Difference set copy.","example":"a = {\"home\", \"shop\"}\nb = a.difference([\"home\"])","aliases":[],"group":"FLOW"},{"key":"class-set-method-copy-method","kind":"METHOD","parentKey":"class-set","name":"copy_method","signature":"set.copy()","description":"Magbalik ng bagong set na may parehong mga halaga. Hindi mababago ang orihinal kapag nagdagdag o nag-alis ng mga halaga sa kopya.","behavior":"Magbalik ng bagong set na may parehong mga halaga. Hindi mababago ang orihinal kapag nagdagdag o nag-alis ng mga halaga sa kopya.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"set","returnDescription":"Isang bagong set na may parehong mga halaga.","example":"seen = {1, 2}\ncopied = seen.copy()","aliases":[],"group":"FLOW"},{"key":"class-set-method-clear-method","kind":"METHOD","parentKey":"class-set","name":"clear_method","signature":"set.clear()","description":"Alisin ang bawat halaga mula sa hanay.","behavior":"Alisin ang bawat halaga mula sa hanay.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang set ay nagiging walang laman.","example":"seen = {1, 2}\nseen.clear()","aliases":[],"group":"FLOW"},{"key":"class-set-method-for-loop","kind":"METHOD","parentKey":"class-set","name":"for_loop","signature":"for value in set:","description":"Ulitin sa loop ang bawat halaga nang isang beses. Huwag umasa sa isang tiyak na pagkakasunod.","behavior":"Ulitin sa loop ang bawat halaga nang isang beses. Huwag umasa sa isang tiyak na pagkakasunod.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Current set value in the loop.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"set","type":"set","defaultValue":null,"description":"set to iterate.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang loop ay tumatakbo nang isang beses bawat halaga.","example":"values = {\"home\", \"shop\"}\nfor value in values:\n    text(value)","aliases":[],"group":"FLOW"},{"key":"class-set-method-truthy-check","kind":"METHOD","parentKey":"class-set","name":"truthy_check","signature":"if set | if not set","description":"Suriin kung ang hanay ay may hindi bababa sa isang halaga. Ang isang walang laman na hanay ay itinuturing na false.","behavior":"Suriin kung ang hanay ay may hindi bababa sa isang halaga. Ang isang walang laman na hanay ay itinuturing na false.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"set","type":"set","defaultValue":null,"description":"The set used in the condition.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean condition","returnDescription":"true kapag walang laman ang set, false kapag walang laman.","example":"seen = set()\nif not seen:\n    text(\"empty\")","aliases":[],"group":"FLOW"},{"key":"class-dict","kind":"COLLECTION","parentKey":null,"name":"dict","signature":"dict(mapping_or_pairs=(), /, **items)","description":"Mag-imbak ng mga halaga sa ilalim ng mga key at basahin gamit ang key. Pinananatili ang pagkakasunod ng pagdagdag ng mga key; pinapalitan ng pagsulat sa umiiral na key ang halaga nang hindi inililipat ang key. Isang halaga ang bawat key.","behavior":"Mag-imbak ng mga halaga sa ilalim ng mga key at basahin gamit ang key. Pinananatili ang pagkakasunod ng pagdagdag ng mga key; pinapalitan ng pagsulat sa umiiral na key ang halaga nang hindi inililipat ang key. Isang halaga ang bawat key.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"settings = dict(mode=\"farm\", retries=3)\nmode = settings.get(\"mode\")   # nagbabalik ng farm\nkeys = settings.keys()\n\nfor key in settings:\n    text(str(settings[key]))   # nagbabalik ng None","aliases":[],"group":null},{"key":"class-dict-creation-method-constructor","kind":"CREATION_METHOD","parentKey":"class-dict","name":"constructor","signature":"dict()\ndict(mapping_or_pairs, /)\ndict(key=value, ...)","description":"Gumawa ng walang lamang dictionary o kopyahin ang ibang dictionary o source ng mga pares na (key, value). Idinaragdag pagkatapos ang mga entry mula sa may-pangalang argumento at pinapalitan ang mga katugmang key. Ginagamit pa rin kasama ng source ang mga nakapaloob na halaga.","behavior":"Gumawa ng walang lamang dictionary o kopyahin ang ibang dictionary o source ng mga pares na (key, value). Idinaragdag pagkatapos ang mga entry mula sa may-pangalang argumento at pinapalitan ang mga katugmang key. Ginagamit pa rin kasama ng source ang mga nakapaloob na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"mapping_or_pairs","type":"dict | Iterable","defaultValue":"()","description":"Isang dict o source na maaaring ikutin; dapat list o tuple na may eksaktong dalawang item ang bawat item: key at value.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"key=value","type":"Any?","defaultValue":null,"description":"Mga entry na nakasulat bilang key=value, na idinaragdag pagkatapos ng source; pinapalitan ang mga katugmang key.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"variadic"}],"returnType":"dict","returnDescription":"Isang bagong nababagong diksyunaryo.","example":"settings = dict(mode=\"farm\", retries=3)\ncopied = dict(settings)\nfrom_pairs = dict([(\"mode\", \"pvp\")])","aliases":[],"group":"FLOW"},{"key":"class-dict-creation-method-literal","kind":"CREATION_METHOD","parentKey":"class-dict","name":"literal","signature":"{\"mode\": \"farm\", \"retries\": 3}","description":"Gumawa ng dictionary sa pamamagitan ng pagsulat ng mga pares na key: value sa loob ng mga brace. Huling halaga ang pinananatili para sa nauulit na key.","behavior":"Gumawa ng dictionary sa pamamagitan ng pagsulat ng mga pares na key: value sa loob ng mga brace. Huling halaga ang pinananatili para sa nauulit na key.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key na tumutukoy sa halaga. Maaari ang mga numero, string, at tuple ng mga valid na key; hindi maaari ang list, dictionary, at set. Iisang key ang tinutukoy ng True, 1, at 1.0.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"value","type":"Any?","defaultValue":null,"description":"Value stored for that key.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"dict","returnDescription":"Isang bagong diksyunaryo na nagpapanatili ng literal na pagkakasunud-sunod ng pagpasok.","example":"settings = {\n    \"mode\": \"farm\",\n    \"retries\": 3,\n    \"enabled\": True\n}","aliases":[],"group":"FLOW"},{"key":"class-dict-creation-method-comprehension","kind":"CREATION_METHOD","parentKey":"class-dict","name":"comprehension","signature":"{key: value for target in iterable if condition}","description":"Bumuo ng dictionary mula sa mga pares na key: value na kinakalkula habang inuulit sa loop ang source. Pinapalitan ng nauulit na key ang naunang halaga. Gamitin ang if para salain ang mga item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","behavior":"Bumuo ng dictionary mula sa mga pares na key: value na kinakalkula habang inuulit sa loop ang source. Pinapalitan ng nauulit na key ang naunang halaga. Gamitin ang if para salain ang mga item; maaaring gumamit ng maraming for/if. Dito lang sa expression na ito ang mga variable ng loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"dict key calculated for each accepted item.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"value","type":"Any?","defaultValue":null,"description":"Value stored for that key.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"target","type":"Name | destructuring target","defaultValue":null,"description":"Variable o grupo ng mga variable na tumatanggap ng kasalukuyang item. Hindi sinusuportahan ang target gaya ng *rest.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Source na maaaring ulitin sa loop, gaya ng string, collection, o generator; mga key ang ibinibigay ng dictionary.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"condition","type":"Boolean","defaultValue":"True","description":"Optional filter checked before storing an entry.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"dict","returnDescription":"Isang bagong nababagong diksyunaryo.","example":"pairs = [(\"mode\", \"farm\"), (\"retries\", 3)]\nsettings = {key: value for key, value in pairs}","aliases":[],"group":"FLOW"},{"key":"class-dict-method-key-access","kind":"METHOD","parentKey":"class-dict","name":"key_access","signature":"dictionary[\"key\"]","description":"Basahin ang halagang nakaimbak sa key. Naglalabas ng KeyError ang nawawalang key; gamitin ang get() para magbigay ng default.","behavior":"Basahin ang halagang nakaimbak sa key. Naglalabas ng KeyError ang nawawalang key; gamitin ang get() para magbigay ng default.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"dictionary","type":"dict","defaultValue":null,"description":"The source dictionary.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"key","type":"Any","defaultValue":null,"description":"Key to look up.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Any?","returnDescription":"Nakaimbak na halaga, na maaaring None. Naglalabas ng KeyError ang nawawalang key.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nmode = settings[\"mode\"]        # nagbabalik ng farm\nmissing = settings.get(\"unknown\")  # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"class-dict-method-key-assignment","kind":"METHOD","parentKey":"class-dict","name":"key_assignment","signature":"dictionary[key] = value","description":"Sumulat o palitan ang isang key/value entry ng bracket assignment syntax.","behavior":"Sumulat o palitan ang isang key/value entry ng bracket assignment syntax.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"dictionary","type":"dict","defaultValue":null,"description":"The mutable dictionary to update.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"key","type":"Any","defaultValue":null,"description":"Key to write or replace.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"},{"name":"value","type":"Any?","defaultValue":null,"description":"Value to store for that key.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang diksyunaryo ay na-update sa lugar.","example":"settings = {\"mode\": \"farm\"}\nsettings[\"mode\"] = \"pvp\"","aliases":[],"group":"FLOW"},{"key":"class-dict-method-length","kind":"METHOD","parentKey":"class-dict","name":"length","signature":"len(dictionary, /)","description":"Bilangin kung ilang key/value pairs ang nasa diksyunaryo.","behavior":"Bilangin kung ilang key/value pairs ang nasa diksyunaryo.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"dictionary","type":"dict","defaultValue":null,"description":"The dictionary to count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga entry sa diksyunaryo.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\ncount = len(settings)          # nagbabalik ng 2","aliases":[],"group":"FLOW"},{"key":"class-dict-method-get-method","kind":"METHOD","parentKey":"class-dict","name":"get_method","signature":"dictionary.get(key, default=None, /)","description":"Magbasa ng value sa pamamagitan ng key at opsyonal na bumalik sa default.","behavior":"Magbasa ng value sa pamamagitan ng key at opsyonal na bumalik sa default.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to look up.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"default","type":"Any?","defaultValue":"None","description":"Fallback value returned when the key is missing.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Ang nakaimbak na halaga para sa key na iyon, o ang ibinigay na default.","example":"settings = {\"mode\": \"farm\"}\nmode = settings.get(\"mode\")           # nagbabalik ng farm\nretry = settings.get(\"retries\", 0)    # nagbabalik ng 0","aliases":[],"group":"FLOW"},{"key":"class-dict-method-items-method","kind":"METHOD","parentKey":"class-dict","name":"items_method","signature":"dictionary.items()","description":"Magbalik ng live view ng mga tuple na (key, value) ayon sa pagkakadagdag. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","behavior":"Magbalik ng live view ng mga tuple na (key, value) ayon sa pagkakadagdag. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict_items","returnDescription":"Isang dict_items view; hindi ito direktang maa-access sa index.","example":"settings = {\"mode\": \"farm\"}\npairs = settings.items()","aliases":[],"group":"FLOW"},{"key":"class-dict-method-pop-method","kind":"METHOD","parentKey":"class-dict","name":"pop_method","signature":"dictionary.pop(key, /)\ndictionary.pop(key, default, /)","description":"Alisin ang key at ibalik ang halaga nito. Kung wala ang key, ibalik ang tahasang ibinigay na default, kabilang ang None; maglalabas ng KeyError kapag walang ipinasa na default.","behavior":"Alisin ang key at ibalik ang halaga nito. Kung wala ang key, ibalik ang tahasang ibinigay na default, kabilang ang None; maglalabas ng KeyError kapag walang ipinasa na default.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to remove.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"default","type":"Any?","defaultValue":null,"description":"Halagang ibinabalik para sa nawawalang key kapag ibinigay lang ang argumentong ito. Kung wala ito, maglalabas ng KeyError para sa nawawalang key.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Inalis na halaga, o ang tahasang ibinigay na default kung wala ang key.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nremoved = settings.pop(\"retries\")","aliases":[],"group":"FLOW"},{"key":"class-dict-method-copy-method","kind":"METHOD","parentKey":"class-dict","name":"copy_method","signature":"dictionary.copy()","description":"Magbalik ng bagong dictionary na may parehong mga entry. Hindi mababago ang orihinal kapag nagdagdag, nag-alis, o nagpalit ng mga entry; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","behavior":"Magbalik ng bagong dictionary na may parehong mga entry. Hindi mababago ang orihinal kapag nagdagdag, nag-alis, o nagpalit ng mga entry; ginagamit pa rin nang magkasama ang mga nakapaloob na collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Bagong dict; hindi kinokopya ang mga koleksiyong nakapaloob dito.","example":"settings = {\"mode\": \"farm\"}\ncopied = settings.copy()","aliases":[],"group":"FLOW"},{"key":"class-dict-method-update-method","kind":"METHOD","parentKey":"class-dict","name":"update_method","signature":"dictionary.update(other=(), /, **items)","description":"Magdagdag ng mga entry sa dictionary na ito mula sa ibang dictionary o source ng mga pares na (key, value), saka ilapat ang mga may-pangalang argumento. Pinapalitan ang mga katugmang key nang hindi binabago ang posisyon nila.","behavior":"Magdagdag ng mga entry sa dictionary na ito mula sa ibang dictionary o source ng mga pares na (key, value), saka ilapat ang mga may-pangalang argumento. Pinapalitan ang mga katugmang key nang hindi binabago ang posisyon nila.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"other","type":"dict | Iterable","defaultValue":"()","description":"Isang dict o source ng mga list o tuple na may dalawang item: key at value.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"items","type":"Any?","defaultValue":null,"description":"Mga entry na nakasulat bilang key=value; pinapalitan ng mga ito ang katugmang entry mula sa other.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang diksyunaryo ay na-update sa lugar.","example":"settings = {\"mode\": \"farm\"}\nsettings.update([(\"retries\", 3)], mode=\"pvp\")","aliases":[],"group":"FLOW"},{"key":"class-dict-method-setdefault-method","kind":"METHOD","parentKey":"class-dict","name":"setdefault_method","signature":"dictionary.setdefault(key, default=None, /)","description":"Return an existing value, or store and return the default when the key is missing.","behavior":"Return an existing value, or store and return the default when the key is missing.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to read or create.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"default","type":"Any?","defaultValue":"None","description":"Value stored when the key is absent.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Any?","returnDescription":"Existing value or inserted default.","example":"settings = dict()\nmode = settings.setdefault(\"mode\", \"farm\")","aliases":[],"group":"FLOW"},{"key":"class-dict-method-keys-method","kind":"METHOD","parentKey":"class-dict","name":"keys_method","signature":"dictionary.keys()","description":"Magbalik ng live view ng mga key ayon sa pagkakadagdag. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","behavior":"Magbalik ng live view ng mga key ayon sa pagkakadagdag. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict_keys","returnDescription":"Isang dict_keys view; hindi ito direktang maa-access sa index.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nkeys = settings.keys()\nfirst_key = list(keys)[0]                 # nagbabalik ng mode","aliases":[],"group":"FLOW"},{"key":"class-dict-method-values-method","kind":"METHOD","parentKey":"class-dict","name":"values_method","signature":"dictionary.values()","description":"Magbalik ng live view ng mga halaga ayon sa pagkakadagdag ng key. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","behavior":"Magbalik ng live view ng mga halaga ayon sa pagkakadagdag ng key. Makikita rito ang mga susunod na pagbabago sa dictionary. Ulitin ito sa loop o i-convert gamit ang list() para gumamit ng index.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict_values","returnDescription":"Isang dict_values view; hindi ito direktang maa-access sa index.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nvalues = settings.values()\nlast_value = list(values)[-1]             # nagbabalik ng 3","aliases":[],"group":"FLOW"},{"key":"class-dict-method-clear-method","kind":"METHOD","parentKey":"class-dict","name":"clear_method","signature":"dictionary.clear()","description":"Alisin ang bawat key/value pair sa diksyunaryo.","behavior":"Alisin ang bawat key/value pair sa diksyunaryo.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang diksyunaryo ay nagiging walang laman.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nsettings.clear()\ntext(str(len(settings)))   # nagbabalik ng 0","aliases":[],"group":"FLOW"},{"key":"class-dict-method-for-loop","kind":"METHOD","parentKey":"class-dict","name":"for_loop","signature":"for key in dictionary:","description":"Ulitin sa loop ang mga key ng dictionary ayon sa pagkakadagdag, kasama ang mga key na idinagdag matapos itong gawin.","behavior":"Ulitin sa loop ang mga key ng dictionary ayon sa pagkakadagdag, kasama ang mga key na idinagdag matapos itong gawin.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Current key inside the loop.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"dictionary","type":"dict","defaultValue":null,"description":"The dictionary to iterate.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang loop ay tumatakbo nang isang beses sa bawat key.","example":"settings = {\"mode\": \"farm\", \"retries\": 3}\nfor key in settings:\n    text(str(settings[key]))   # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"class-dict-method-truthy-check","kind":"METHOD","parentKey":"class-dict","name":"truthy_check","signature":"if dictionary | if not dictionary","description":"Suriin kung ang diksyunaryo ay may kahit isang entry. Ang isang walang laman na diksyunaryo ay itinuturing na hindi totoo.","behavior":"Suriin kung ang diksyunaryo ay may kahit isang entry. Ang isang walang laman na diksyunaryo ay itinuturing na hindi totoo.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"dictionary","type":"dict","defaultValue":null,"description":"The dictionary used in the condition.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean condition","returnDescription":"totoo kapag walang laman ang diksyunaryo, mali kapag walang laman.","example":"settings = {}\nif not settings:\n    text(\"No settings\")       # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"class-string","kind":"COLLECTION","parentKey":null,"name":"String","signature":"String","description":"Mag-imbak ng tekstong nasa panipi o kinonvert gamit ang str(value). Hindi direktang nababago ang string; nagbabalik ng bagong halaga ang mga method nito. Unicode code point ang binibilang sa posisyon at haba: isang posisyon ang isang emoji, ngunit maaaring ilang posisyon ang titik na may hiwalay na accent o pinagsamang emoji.","behavior":"Mag-imbak ng tekstong nasa panipi o kinonvert gamit ang str(value). Hindi direktang nababago ang string; nagbabalik ng bagong halaga ang mga method nito. Unicode code point ang binibilang sa posisyon at haba: isang posisyon ang isang emoji, ngunit maaaring ilang posisyon ang titik na may hiwalay na accent o pinagsamang emoji.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":false,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"name = \"Start\"\nif name:\n    first_char = name[0]\n    text(first_char)","aliases":[],"group":null},{"key":"class-string-creation-method-literal","kind":"CREATION_METHOD","parentKey":"class-string","name":"literal","signature":"\"hello\"","description":"Direktang gumawa ng text gamit ang single o double quotes.","behavior":"Direktang gumawa ng text gamit ang single o double quotes.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"text","type":"String","defaultValue":null,"description":"String content between quotes.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"String","returnDescription":"Isang bagong halaga ng string.","example":"label = \"Start\"\ntext(label)","aliases":[],"group":"FLOW"},{"key":"class-string-creation-method-cast","kind":"CREATION_METHOD","parentKey":"class-string","name":"cast","signature":"str(value, /)","description":"I-convert ang halaga sa teksto. Pinaikli ang malalaking collection o mga halagang maraming antas ang pagkakasama, na may palatandaan ng inalis na nilalaman; hindi nagbabago ang string na direktang ipinasa.","behavior":"I-convert ang halaga sa teksto. Pinaikli ang malalaking collection o mga halagang maraming antas ang pagkakasama, na may palatandaan ng inalis na nilalaman; hindi nagbabago ang string na direktang ipinasa.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any?","defaultValue":null,"description":"Value to convert into text.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Na-convert na halaga ng teksto.","example":"attempt = 3\nline = str(attempt)","aliases":[],"group":"FLOW"},{"key":"class-string-method-length","kind":"METHOD","parentKey":"class-string","name":"length","signature":"len(string, /)","description":"Bilangin kung ilang character ang nasa string.","behavior":"Bilangin kung ilang character ang nasa string.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"string","type":"String","defaultValue":null,"description":"String value to count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng karakter.","example":"label = \"Play\"\ncount = len(label)        # nagbabalik ng 4","aliases":[],"group":"FLOW"},{"key":"class-string-method-index-access","kind":"METHOD","parentKey":"class-string","name":"index_access","signature":"string[index]","description":"Basahin ang isang character ayon sa posisyon, simula sa 0. Mula sa dulo ang bilang ng negatibong index: -1 ang huling posisyon.","behavior":"Basahin ang isang character ayon sa posisyon, simula sa 0. Mula sa dulo ang bilang ng negatibong index: -1 ang huling posisyon.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"string","type":"String","defaultValue":null,"description":"Source string.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"index","type":"Int","defaultValue":null,"description":"Posisyon ng character: 0 ang una, -1 ang huli.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-only"}],"returnType":"String","returnDescription":"String na may isang character. Naglalabas ng IndexError kapag nasa labas ng string ang posisyon.","example":"label = \"Play\"\nfirst = label[0]          # nagbabalik ng 'P'\nlast = label[-1]          # nagbabalik ng 'y'","aliases":[],"group":"FLOW"},{"key":"class-string-method-slice","kind":"METHOD","parentKey":"class-string","name":"slice","signature":"string[start:end[:step]]","description":"Magbalik ng bagong string mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong string ayon sa direksiyon ng step.","behavior":"Magbalik ng bagong string mula start hanggang bago ang end. Mula sa dulo ang bilang ng negatibong index. Kapag walang mga hangganan, pipiliin ang buong string ayon sa direksiyon ng step.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"start","type":"Int?","defaultValue":"start of string","description":"First character index to include.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"end","type":"Int","defaultValue":"end of string","description":"Stop before this character index.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"},{"name":"step","type":"Int","defaultValue":"1","description":"Distance between characters. Cannot be 0; negative values read backward.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Isang bagong hiwa ng string, na naka-clamp sa available na hanay.","example":"label = \"abcdef\"\nmiddle = label[1:4]       # nagbabalik ng 'bcd'\ntail = label[-3:]         # nagbabalik ng 'def'\nreverse = label[::-1]     # nagbabalik ng 'fedcba'","aliases":[],"group":"FLOW"},{"key":"class-string-method-lower-method","kind":"METHOD","parentKey":"class-string","name":"lower_method","signature":"string.lower()","description":"Return a lowercase copy of the string.","behavior":"Return a lowercase copy of the string.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"String","returnDescription":"Lowercase string.","example":"label = \"PLAY\"\ntext(label.lower())","aliases":[],"group":"FLOW"},{"key":"class-string-method-upper-method","kind":"METHOD","parentKey":"class-string","name":"upper_method","signature":"string.upper()","description":"Return an uppercase copy of the string.","behavior":"Return an uppercase copy of the string.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"String","returnDescription":"Uppercase string.","example":"label = \"play\"\ntext(label.upper())","aliases":[],"group":"FLOW"},{"key":"class-string-method-strip-method","kind":"METHOD","parentKey":"class-string","name":"strip_method","signature":"string.strip(chars=None, /)","description":"Trim whitespace, or the provided characters, from both ends.","behavior":"Trim whitespace, or the provided characters, from both ends.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"chars","type":"String?","defaultValue":"None","description":"Alisin nang paulit-ulit sa napiling mga dulo ang alinman sa mga character na ito, hindi ang buong string na chars bilang panimula o pangwakas.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Trimmed string.","example":"label = \"  Play  \"\nclean = label.strip()","aliases":[],"group":"FLOW"},{"key":"class-string-method-lstrip-method","kind":"METHOD","parentKey":"class-string","name":"lstrip_method","signature":"string.lstrip(chars=None, /)","description":"Trim whitespace, or the provided characters, from the left side.","behavior":"Trim whitespace, or the provided characters, from the left side.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"chars","type":"String?","defaultValue":"None","description":"Alisin nang paulit-ulit sa napiling mga dulo ang alinman sa mga character na ito, hindi ang buong string na chars bilang panimula o pangwakas.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Left-trimmed string.","example":"label = \"...Play\"\nclean = label.lstrip(\".\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-rstrip-method","kind":"METHOD","parentKey":"class-string","name":"rstrip_method","signature":"string.rstrip(chars=None, /)","description":"Trim whitespace, or the provided characters, from the right side.","behavior":"Trim whitespace, or the provided characters, from the right side.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"chars","type":"String?","defaultValue":"None","description":"Alisin nang paulit-ulit sa napiling mga dulo ang alinman sa mga character na ito, hindi ang buong string na chars bilang panimula o pangwakas.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Right-trimmed string.","example":"label = \"Play...\"\nclean = label.rstrip(\".\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-startswith-method","kind":"METHOD","parentKey":"class-string","name":"startswith_method","signature":"string.startswith(prefix, start=0, stop=len(string), /)","description":"Suriin kung nagsisimula sa prefix ang napiling bahagi, na magkaiba ang malaki at maliit na titik.","behavior":"Suriin kung nagsisimula sa prefix ang napiling bahagi, na magkaiba ang malaki at maliit na titik.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"prefix","type":"String | tuple","defaultValue":null,"description":"Teksto o tuple ng mga posibleng teksto; True kung may tumugma sa simula.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int?","defaultValue":"0","description":"Unang posisyong isasama, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int?","defaultValue":"len(string)","description":"Huminto bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"true when the prefix matches.","example":"label = \"Play\"\nready = label.startswith(\"Pl\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-endswith-method","kind":"METHOD","parentKey":"class-string","name":"endswith_method","signature":"string.endswith(suffix, start=0, stop=len(string), /)","description":"Suriin kung nagtatapos sa suffix ang napiling bahagi, na magkaiba ang malaki at maliit na titik.","behavior":"Suriin kung nagtatapos sa suffix ang napiling bahagi, na magkaiba ang malaki at maliit na titik.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"suffix","type":"String | tuple","defaultValue":null,"description":"Teksto o tuple ng mga posibleng teksto; True kung may tumugma sa dulo.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int?","defaultValue":"0","description":"Unang posisyong isasama, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int?","defaultValue":"len(string)","description":"Huminto bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"true when the suffix matches.","example":"label = \"Play\"\nready = label.endswith(\"ay\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-find-method","kind":"METHOD","parentKey":"class-string","name":"find_method","signature":"string.find(sub, start=0, stop=len(string), /)","description":"Find the first substring index, or return -1 when absent.","behavior":"Find the first substring index, or return -1 when absent.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sub","type":"String","defaultValue":null,"description":"Substring to find.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int?","defaultValue":"0","description":"Unang posisyong hahanapan, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int?","defaultValue":"len(string)","description":"Itigil ang paghahanap bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Unang tumugmang posisyon sa orihinal na string, simula sa 0, o -1 kung wala.","example":"label = \"start button\"\nindex = label.find(\"button\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-index-method","kind":"METHOD","parentKey":"class-string","name":"index_method","signature":"string.index(sub, start=0, stop=len(string), /)","description":"Ibalik ang unang tumugmang posisyon sa orihinal na string, o maglabas ng ValueError kung wala ang sub sa napiling bahagi.","behavior":"Ibalik ang unang tumugmang posisyon sa orihinal na string, o maglabas ng ValueError kung wala ang sub sa napiling bahagi.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sub","type":"String","defaultValue":null,"description":"Substring that must exist.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int?","defaultValue":"0","description":"Unang posisyong hahanapan, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int?","defaultValue":"len(string)","description":"Itigil ang paghahanap bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"First matching index.","example":"label = \"start button\"\nindex = label.index(\"button\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-replace-method","kind":"METHOD","parentKey":"class-string","name":"replace_method","signature":"string.replace(old, new, /, count=-1)","description":"Return a copy with occurrences of old text replaced.","behavior":"Return a copy with occurrences of old text replaced.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"old","type":"String","defaultValue":null,"description":"Tekstong papalitan, na hindi nagkakapatong ang mga tugma. Kapag walang laman ang string, isisingit ang new sa mga hangganan ng character, ayon sa limitasyong count.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"new","type":"String","defaultValue":null,"description":"Replacement text.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"count","type":"Int","defaultValue":"-1","description":"Maximum replacements; negative means all.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"String","returnDescription":"Updated string copy.","example":"label = \"start start\"\nonce = label.replace(\"start\", \"play\", 1)","aliases":[],"group":"FLOW"},{"key":"class-string-method-split-method","kind":"METHOD","parentKey":"class-string","name":"split_method","signature":"string.split(sep=None, maxsplit=-1)","description":"Magbalik ng list ng mga bahaging hinati sa sep. Sa sep=None, isang panghiwalay ang magkakasunod na whitespace at nilalaktawan ang whitespace sa simula; matapos ang maxsplit na paghahati, isang bahagi ang natitira.","behavior":"Magbalik ng list ng mga bahaging hinati sa sep. Sa sep=None, isang panghiwalay ang magkakasunod na whitespace at nilalaktawan ang whitespace sa simula; matapos ang maxsplit na paghahati, isang bahagi ang natitira.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sep","type":"String?","defaultValue":"None","description":"Tekstong panghiwalay; naglalabas ng ValueError ang walang lamang panghiwalay. Sa None, mga magkakasunod na whitespace ang ginagamit na panghiwalay.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"maxsplit","type":"Int","defaultValue":"-1","description":"Maximum split count; negative means all.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"list","returnDescription":"List of string parts.","example":"raw = \"a,b,c\"\nparts = raw.split(\",\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-join-method","kind":"METHOD","parentKey":"class-string","name":"join_method","signature":"string.join(iterable, /)","description":"Pagsamahin ang mga string mula sa source na maaaring ulitin sa loop, na inilalagay ang string na ito sa pagitan. Magdudulot ng error ang item na hindi string.","behavior":"Pagsamahin ang mga string mula sa source na maaaring ulitin sa loop, na inilalagay ang string na ito sa pagitan. Magdudulot ng error ang item na hindi string.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable<String>","defaultValue":null,"description":"String values to join.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Joined string.","example":"parts = [\"a\", \"b\", \"c\"]\nline = \",\".join(parts)","aliases":[],"group":"FLOW"},{"key":"class-string-method-count-method","kind":"METHOD","parentKey":"class-string","name":"count_method","signature":"string.count(sub, start=0, stop=len(string), /)","description":"Count non-overlapping substring occurrences.","behavior":"Count non-overlapping substring occurrences.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"sub","type":"String","defaultValue":null,"description":"Tekstong bibilangin. Tumutugma ang walang lamang string sa bawat hangganan, kaya ang bilang ay haba ng napiling bahagi na dinagdagan ng 1.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Int?","defaultValue":"0","description":"Unang posisyong bibilangan, simula sa 0. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"},{"name":"stop","type":"Int?","defaultValue":"len(string)","description":"Itigil ang pagbibilang bago ang posisyong ito. Mula sa dulo ang bilang ng negatibong halaga; nililimitahan sa umiiral na saklaw ang hangganang lampas dito.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Occurrence count.","example":"label = \"banana\"\ncount = label.count(\"an\")","aliases":[],"group":"FLOW"},{"key":"class-string-method-isalpha-method","kind":"METHOD","parentKey":"class-string","name":"isalpha_method","signature":"string.isalpha()","description":"Check whether the string is non-empty and all characters are letters.","behavior":"Check whether the string is non-empty and all characters are letters.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"true for letters only.","example":"label = \"Play\"\nok = label.isalpha()","aliases":[],"group":"FLOW"},{"key":"class-string-method-isdigit-method","kind":"METHOD","parentKey":"class-string","name":"isdigit_method","signature":"string.isdigit()","description":"Suriin kung may laman ang string at lahat ng character ay digit na Unicode, kabilang ang superscript at nakabilog na digit.","behavior":"Suriin kung may laman ang string at lahat ng character ay digit na Unicode, kabilang ang superscript at nakabilog na digit.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"true for digits only.","example":"value = \"123\"\nok = value.isdigit()","aliases":[],"group":"FLOW"},{"key":"class-string-method-isalnum-method","kind":"METHOD","parentKey":"class-string","name":"isalnum_method","signature":"string.isalnum()","description":"Suriin kung may laman ang string at bawat character ay titik o numerong Unicode, kabilang ang mga fraction.","behavior":"Suriin kung may laman ang string at bawat character ay titik o numerong Unicode, kabilang ang mga fraction.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"True kung puro titik o numerong character; False kung walang laman ang string.","example":"value = \"A123\"\nok = value.isalnum()","aliases":[],"group":"FLOW"},{"key":"class-string-method-isspace-method","kind":"METHOD","parentKey":"class-string","name":"isspace_method","signature":"string.isspace()","description":"Check whether the string is non-empty and all characters are whitespace.","behavior":"Check whether the string is non-empty and all characters are whitespace.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"true for whitespace only.","example":"value = \"   \"\nok = value.isspace()","aliases":[],"group":"FLOW"},{"key":"class-string-method-for-loop","kind":"METHOD","parentKey":"class-string","name":"for_loop","signature":"for ch in string:","description":"Ulitin ang mga character mula kaliwa hanggang kanan.","behavior":"Ulitin ang mga character mula kaliwa hanggang kanan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"ch","type":"String","defaultValue":null,"description":"Current character in the loop.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"string","type":"String","defaultValue":null,"description":"String to iterate.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Isinasagawa nang isang beses bawat karakter.","example":"word = \"Go\"\nfor ch in word:\n    text(ch)","aliases":[],"group":"FLOW"},{"key":"class-string-method-truthy-check","kind":"METHOD","parentKey":"class-string","name":"truthy_check","signature":"if string | if not string","description":"Suriin kung ang string ay walang laman o wala.","behavior":"Suriin kung ang string ay walang laman o wala.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"string","type":"String","defaultValue":null,"description":"String used in the condition.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean condition","returnDescription":"totoo kapag walang laman, mali kapag walang laman.","example":"value = \"\"\nif not value:\n    text(\"empty\")","aliases":[],"group":"FLOW"},{"key":"class-macropanel","kind":"CLASS","parentKey":null,"name":"MacroPanel","signature":"MacroPanel(title=\"\", subtitle=\"\", confirm_text=\"Run\", cancel_text=\"Cancel\", *, version=\"\")","description":"Gumawa ng panel para sa mga setting ng macro na ilalagay ng user. Magdagdag ng mga field, saka tawagin ang show() upang ipakita ito.","behavior":"Gumawa ng panel para sa mga setting ng macro na ilalagay ng user. Magdagdag ng mga field, saka tawagin ang show() upang ipakita ito.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":true,"fields":["title","subtitle","version","confirm_text","cancel_text"],"fieldDocs":[{"name":"title","type":"String","defaultValue":"\"\"","description":"Panel title. Writable after construction.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"subtitle","type":"String","defaultValue":"\"\"","description":"Panel subtitle/helper text. Writable after construction.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"version","type":"String","defaultValue":"\"\"","description":"Opsyonal na version label para sa compatibility; hindi nito nire-reset ang native na naka-save na setting o binabago ang identity nito. Puwedeng baguhin pagkatapos gawin.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"confirm_text","type":"String","defaultValue":"\"Run\"","description":"Confirm button label.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"cancel_text","type":"String","defaultValue":"\"Cancel\"","description":"Cancel button label.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[{"name":"title","type":"String","defaultValue":"\"\"","description":"Panel title.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"subtitle","type":"String","defaultValue":"\"\"","description":"Panel subtitle/helper text.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"confirm_text","type":"String","defaultValue":"\"Run\"","description":"Confirm button label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"cancel_text","type":"String","defaultValue":"\"Cancel\"","description":"Cancel button label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"version","type":"String","defaultValue":"\"\"","description":"Opsyonal na version label para sa compatibility; hindi nito nire-reset ang native na naka-save na setting o binabago ang identity nito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"panel = MacroPanel(\"Run config\", \"Pick options before run\", confirm_text=\"Start\", cancel_text=\"Back\")\npanel.text(\"<b>Ready?</b>\")\npanel.checkbox(\"safe_mode\", \"Safe mode\", checked=True)\npanel.toggle_switch(\"retry\", \"Auto retry\", checked=False)\npanel.edit_text(\"username\", default=\"player01\", desc=\"Shown below the field\")\npanel.edit_text(\"runs\", \"Runs\", default=3, desc=\"Numbers only\", input_type=\"number\")\npanel.radio_group(\"mode\", [\"farm\", \"pvp\"], default=\"farm\")\npanel.radio_group(\"target\", [\"boss\", \"minion\"], default=\"boss\", dropdown=True)\npanel.slider(\"speed\", min=0, max=100, step=5, default=60)\npanel.stepper(\"retry_count\", min=0, max=10, step=1, default=2)\nvalues = panel.show()","aliases":[],"group":null},{"key":"class-macropanel-static-method-notify","kind":"STATIC_METHOD","parentKey":"class-macropanel","name":"notify","signature":"MacroPanel.notify(text)","description":"Magpakita ng mensahe at hintayin ang kumpirmasyon ng user bago magpatuloy ang script. Ipinapakita ang string gaya ng pagkakasulat; ang ibang halaga ay gaya ng str(value), na may magkakahiwalay na linya para sa nakapaloob na data.","behavior":"Magpakita ng mensahe at hintayin ang kumpirmasyon ng user bago magpatuloy ang script. Ipinapakita ang string gaya ng pagkakasulat; ang ibang halaga ay gaya ng str(value), na may magkakahiwalay na linya para sa nakapaloob na data.","execution":{"blocking":"yes","threadSafety":"serialized","parallel":"conditional","details":"Nagpapakita ng mensahe at naghihintay sa kumpirmasyon. Paisa-isang lumalabas ang mga mensahe at dialog panel ng lahat ng flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"text","type":"Any","defaultValue":null,"description":"Message text or structured value to display.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang return value pagkatapos ng kumpirmasyon ng user.","example":"# Hintayin ang pagkumpirma ng user sa mensaheng ito\nMacroPanel.notify(\"Macro is ready\")","aliases":[],"group":"FLOW"},{"key":"class-macropanel-static-method-error","kind":"STATIC_METHOD","parentKey":"class-macropanel","name":"error","signature":"MacroPanel.error(text)","description":"Mag-ulat ng error gamit ang mensaheng ito at ihinto ang script. Sa pagtakbo ng macro, ipinapakita rin ang flow at landas ng action. Ginagawang nababasang teksto ang ibang halaga gaya ng str(value).","behavior":"Mag-ulat ng error gamit ang mensaheng ito at ihinto ang script. Sa pagtakbo ng macro, ipinapakita rin ang flow at landas ng action. Ginagawang nababasang teksto ang ibang halaga gaya ng str(value).","execution":{"blocking":"no","threadSafety":"serialized","parallel":"no","details":"Pinatitigil ang lahat ng flow nang may script error, nang hindi naghihintay sa kumpirmasyon."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"text","type":"Any","defaultValue":null,"description":"Error text or structured value to display.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Hindi bumabalik; nagtataas ng runtime error.","example":"# Kapag hindi natupad ang precondition, matatapos ang buong Run\nif not TfliteModel.exists(\"enemy_detector\"):\n    MacroPanel.error(\"Import enemy_detector in Template Manager\")","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-edit-text","kind":"METHOD","parentKey":"class-macropanel","name":"edit_text","signature":"panel.edit_text(name, label=None, default=\"\", desc=None, input_type=\"text\")","description":"Magdagdag ng nae-edit na field. Tumatanggap ang numeric input ng finite na signed decimal, scientific notation, at whitespace sa paligid; hindi valid ang blangko, NaN, Infinity, overflow, at hexadecimal. Nagpapakita ng error at hinaharangan ang Run para sa hindi valid na input sa dialog; sa floating panel, nagpapakita ng error, pinapanatili ang huling valid na halaga, at hindi sine-save ang hindi valid na draft.","behavior":"Magdagdag ng nae-edit na field. Tumatanggap ang numeric input ng finite na signed decimal, scientific notation, at whitespace sa paligid; hindi valid ang blangko, NaN, Infinity, overflow, at hexadecimal. Nagpapakita ng error at hinaharangan ang Run para sa hindi valid na input sa dialog; sa floating panel, nagpapakita ng error, pinapanatili ang huling valid na halaga, at hindi sine-save ang hindi valid na draft.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"default","type":"String|Number","defaultValue":"\"\"","description":"Ginagamit lang ang input value kapag walang native na naka-save na value o katugmang Storage value. Kailangan ng floating numeric field ng valid na paunang value mula sa native settings, Storage, o default na ito; kung wala, magbibigay ng error ang show().","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"desc","type":"String?","defaultValue":"None","description":"Small helper text displayed below this field.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"input_type","type":"String","defaultValue":"\"text\"","description":"Gamitin ang \"text\" para sa String o \"number\" para sa Number (float). Nauuna ang native na naka-save na value; kung wala, maaaring i-restore ang dating naka-save na numeric string mula sa Storage.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.edit_text(\"player\", label=\"Player\", default=\"Guest\")\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-checkbox","kind":"METHOD","parentKey":"class-macropanel","name":"checkbox","signature":"panel.checkbox(name, label=None, checked=False)","description":"Magdagdag ng kahong maaaring lagyan o alisin ng tsek ng user.","behavior":"Magdagdag ng kahong maaaring lagyan o alisin ng tsek ng user.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"checked","type":"Boolean","defaultValue":"False","description":"Ginagamit lang ang paunang value kapag walang native na naka-save na value o katugmang Storage value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.checkbox(\"sound\", label=\"Sound\", checked=True)\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-toggle-switch","kind":"METHOD","parentKey":"class-macropanel","name":"toggle_switch","signature":"panel.toggle_switch(name, label=None, checked=False)","description":"Magdagdag ng switch na maaaring i-on o i-off ng user.","behavior":"Magdagdag ng switch na maaaring i-on o i-off ng user.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"checked","type":"Boolean","defaultValue":"False","description":"Ginagamit lang ang paunang value kapag walang native na naka-save na value o katugmang Storage value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.toggle_switch(\"enabled\", label=\"Enabled\", checked=True)\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-radio-group","kind":"METHOD","parentKey":"class-macropanel","name":"radio_group","signature":"panel.radio_group(name, options, label=None, default=None, dropdown=False, multi_select=False, depends_on=None)","description":"Add a radio-group selector, or render it as a single- or multi-select dropdown when dropdown=True. Options can be a list or a dict mapping parent option labels to sub-option lists when depends_on is set.","behavior":"Add a radio-group selector, or render it as a single- or multi-select dropdown when dropdown=True. Options can be a list or a dict mapping parent option labels to sub-option lists when depends_on is set.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"options","type":"list[String]|dict[String, list[String]]","defaultValue":null,"description":"Selectable options or dictionary mapping parent option labels to lists of options when depends_on is set.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"default","type":"String|Int|list|None","defaultValue":"None","description":"Ginagamit lang ang paunang option kapag walang native na naka-save na value o katugmang Storage value: label, 0-based option index, o listahan ng label/index kapag multi_select=True; pinipili ng None ang unang option (o wala kapag multi_select=True).","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"dropdown","type":"Boolean","defaultValue":"False","description":"Render this selector as a dropdown instead of radio options.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"multi_select","type":"Boolean","defaultValue":"False","description":"Allow selecting multiple options when rendered as a dropdown. The panel returns a list of 0-based option indices.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"depends_on","type":"String?","defaultValue":"None","description":"Variable name of the preceding parent selector this dropdown depends on for cascading dynamic options.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.radio_group(\"mode\", [\"slow\", \"fast\"], label=\"Mode\", default=\"slow\")\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-slider","kind":"METHOD","parentKey":"class-macropanel","name":"slider","signature":"panel.slider(name, min=0, max=100, step=1, label=None, default=None)","description":"Magdagdag ng numeric slider.","behavior":"Magdagdag ng numeric slider.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"min","type":"Number","defaultValue":"0","description":"Minimum value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max","type":"Number","defaultValue":"100","description":"Pinakamataas na halaga; dapat hindi bababa sa min.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"step","type":"Number","defaultValue":"1","description":"Positibong pagitan ng mga halaga ng slider.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"default","type":"Number?","defaultValue":"min","description":"Ginagamit lang ang paunang value kapag walang native na naka-save na value o katugmang Storage value, saka nililimitahan sa min/max.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.slider(\"speed\", min=1, max=10, step=1, default=5)\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-stepper","kind":"METHOD","parentKey":"class-macropanel","name":"stepper","signature":"panel.stepper(name, min=0, max=100, step=1, label=None, default=None)","description":"Magdagdag ng numeric stepper na may +/- na mga kontrol.","behavior":"Magdagdag ng numeric stepper na may +/- na mga kontrol.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"name","type":"String","defaultValue":null,"description":"Hindi bakanteng key ng field sa ibinalik na dict at persistent settings. Dapat magkakaiba ang key ng bawat input sa panel. Ginagamit ng native settings ang macro scope at protected namespace (o lokal na macroId), variant, at pangalan ng field; hindi kasama sa key ang title, version, localized label, at runtime instance.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"min","type":"Number","defaultValue":"0","description":"Minimum integer value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"max","type":"Number","defaultValue":"100","description":"Pinakamataas na integer; dapat hindi bababa sa min.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"step","type":"Number","defaultValue":"1","description":"Positibong buong bilang na dagdag o bawas sa bawat pindot ng + o -. Ginagawang integer ang numerong input.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"label","type":"String?","defaultValue":"None","description":"Display label. Leave empty to hide label.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"default","type":"Number?","defaultValue":"min","description":"Ginagamit lang ang paunang value kapag walang native na naka-save na value o katugmang Storage value, saka nililimitahan sa min/max.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.stepper(\"count\", min=1, max=20, step=1, default=3)\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-text","kind":"METHOD","parentKey":"class-macropanel","name":"text","signature":"panel.text(html)","description":"Magdagdag ng HTML text block. Ang mga pangunahing tag ay nagre-render ng inline, at naka-istilong CSS na mga fragment gaya ng mga card, may kulay na mga seksyon, mga flex row, gradient, at mga rounded box na nagre-render sa isang naka-lock na WebView na hindi pinagana ang JavaScript at external navigation.","behavior":"Magdagdag ng HTML text block. Ang mga pangunahing tag ay nagre-render ng inline, at naka-istilong CSS na mga fragment gaya ng mga card, may kulay na mga seksyon, mga flex row, gradient, at mga rounded box na nagre-render sa isang naka-lock na WebView na hindi pinagana ang JavaScript at external navigation.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"html","type":"String","defaultValue":null,"description":"HTML content to display.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Gumawa ng panel at hintayin ang kumpirmasyon ng user\npanel = MacroPanel(\"Settings\")\npanel.text(\"<b>Ready</b>\")\nresult = panel.show()\nprint(result)","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-localize","kind":"METHOD","parentKey":"class-macropanel","name":"localize","signature":"panel.localize(selector, variants, *, locales=None)","description":"Magrehistro ng mga kopya ng isinaling panel para sa floating panel. Agad nagbabago ang display kapag pinalitan ang selector, kahit naka-pause ang macro, nang walang Python callback o muling pagbukas ng panel; nananatili ang mga value, draft, at posisyon ng window. Teksto lamang ang maaaring magkaiba: pamagat, subtitle, label at paglalarawan ng field, HTML, at nakikitang teksto ng mga opsyon. Pinagtutugma ang mga opsyon ayon sa posisyon; ang mga value, Storage, at default ay mula pa rin sa base panel. Dapat magkapareho ang mga opsyon ng selector. Dapat magkapareho sa bawat variant ang bilang, pagkakasunod, uri at pangalan ng widget, numeric limits, input_type, multi_select, istruktura ng dependency, at bilang ng mga opsyon, kasama ang mga key at pagkakasunod ng dependent branch. Hindi suportado ang nested localization. Pinapalitan ng susunod na tawag ang mga kopya; walang epekto ang pagbabago sa source panel hangga't hindi ito muling nirerehistro. Sinusuri ito sa pagtawag at sa show(); nagdudulot ng error ang hindi magkatugmang pagbabago. Hindi maaaring ipakita sa dialog mode ang localized na panel.","behavior":"Magrehistro ng mga kopya ng isinaling panel para sa floating panel. Agad nagbabago ang display kapag pinalitan ang selector, kahit naka-pause ang macro, nang walang Python callback o muling pagbukas ng panel; nananatili ang mga value, draft, at posisyon ng window. Teksto lamang ang maaaring magkaiba: pamagat, subtitle, label at paglalarawan ng field, HTML, at nakikitang teksto ng mga opsyon. Pinagtutugma ang mga opsyon ayon sa posisyon; ang mga value, Storage, at default ay mula pa rin sa base panel. Dapat magkapareho ang mga opsyon ng selector. Dapat magkapareho sa bawat variant ang bilang, pagkakasunod, uri at pangalan ng widget, numeric limits, input_type, multi_select, istruktura ng dependency, at bilang ng mga opsyon, kasama ang mga key at pagkakasunod ng dependent branch. Hindi suportado ang nested localization. Pinapalitan ng susunod na tawag ang mga kopya; walang epekto ang pagbabago sa source panel hangga't hindi ito muling nirerehistro. Sinusuri ito sa pagtawag at sa show(); nagdudulot ng error ang hindi magkatugmang pagbabago. Hindi maaaring ipakita sa dialog mode ang localized na panel.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"selector","type":"String","defaultValue":null,"description":"Pangalan ng naunang idinagdag na single-choice radio_group o dropdown; hindi maaaring gamitin ang multi_select at depends_on sa selector na ito.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"variants","type":"dict[String, MacroPanel]","defaultValue":null,"description":"Eksaktong isang panel para sa bawat label ng opsyon ng selector, gamit ang label bilang key. Kinokopya ang mga panel sa tawag na ito; hindi binabago ng kanilang mga default ang kilos ng base panel.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"locales","type":"dict[String, String]?","defaultValue":"None","description":"Optional map from selector option labels to supported app language codes en, vi, th, id, or fil. It must cover every variant exactly and controls built-in panel labels such as Pause and select-all summaries; None keeps the app language.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"MacroPanel","returnDescription":"Ang parehong panel, para matawag ang isa pang method ng panel sa ibinalik na resulta.","example":"# Ilipat ang floating panel sa Ingles o Vietnamese\nen = MacroPanel(\"Fishing\")\nen.radio_group(\"language\", [\"English\", \"Tiếng Việt\"], label=\"Language\")\nen.checkbox(\"enabled\", label=\"Enabled\", checked=True)\nvi = MacroPanel(\"Câu cá\")\nvi.radio_group(\"language\", [\"English\", \"Tiếng Việt\"], label=\"Ngôn ngữ\")\nvi.checkbox(\"enabled\", label=\"Bật\", checked=True)\nen.localize(\"language\", {\"English\": en, \"Tiếng Việt\": vi}, locales={\"English\": \"en\", \"Tiếng Việt\": \"vi\"})\nconfig = en.show(mode=\"floating\")","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-show","kind":"METHOD","parentKey":"class-macropanel","name":"show","signature":"panel.show(*, mode=\"dialog\", anchor=\"top_left\", stop_button=True, width=None, height=None, collapsed=None, dock_position=None, pause_on_expand=True)","description":"Ipakita ang panel at ibalik ang dict ng mga pangalan at halaga ng field. Priyoridad ang native na naka-save na value, kasunod ang katugmang entry ng Storage, saka ang default ng bawat field. Agad sine-save sa native settings at mina-mirror sa Storage ang bawat tinanggap na edit, pati habang naka-pause ang macro; hindi kailangan ng script ang Storage.set(), values(), o close(). Boolean ang checkbox at switch, Number ang slider at numeric field, Int ang stepper, Int na index mula 0 ang selector, at String ang text field. Hihinto ang script kapag paulit-ulit na binubuksan ang parehong show() nang walang ibang runtime action upang maiwasan ang walang katapusang loop.","behavior":"Ipakita ang panel at ibalik ang dict ng mga pangalan at halaga ng field. Priyoridad ang native na naka-save na value, kasunod ang katugmang entry ng Storage, saka ang default ng bawat field. Agad sine-save sa native settings at mina-mirror sa Storage ang bawat tinanggap na edit, pati habang naka-pause ang macro; hindi kailangan ng script ang Storage.set(), values(), o close(). Boolean ang checkbox at switch, Number ang slider at numeric field, Int ang stepper, Int na index mula 0 ang selector, at String ang text field. Hihinto ang script kapag paulit-ulit na binubuksan ang parehong show() nang walang ibang runtime action upang maiwasan ang walang katapusang loop.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Naghihintay sa user ang dialog show(). Nagpapatuloy ang show(mode=\"floating\") nang walang kumpirmasyon; gamitin ang values() para basahin ang mga control at close() para alisin ang panel."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"mode","type":"String","defaultValue":"\"dialog\"","description":"Naghihintay ng kumpirmasyon ang dialog; nagbabalik ng walang lamang dict ang Cancel. Agad bumabalik ang floating at nananatili hanggang isara o matapos ang macro. Pinapalitan ng ibang floating panel ang kasalukuyang nakikita.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"anchor","type":"String","defaultValue":"\"top_left\"","description":"Puwesto ng nakabukang floating panel: top_left, top_right, bottom_left, bottom_right, o free. Nagsisimula ang free sa kaliwang itaas at puwedeng i-drag ang panel nang hiwalay sa shared dock. Dock lamang ang inililipat kapag ito ang dinrag. Pinananatili ng paulit-ulit na show() ang kasalukuyang puwesto.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"stop_button","type":"Boolean","defaultValue":"True","description":"Ipakita ang Stop button sa nakabukang floating panel. Walang hiwalay na Stop button ang nakaliit na panel; nananatili ang karaniwang Stop button ng pangunahing dock sa row mode.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"width","type":"Int?","defaultValue":"None","description":"Lapad ng naka-expand na floating window sa mga pixel ng kasalukuyang screen; awtomatikong compact na sukat ang None. Gumamit ng positibong buong bilang. Nililimitahan ng overlay ang sukat para magkasya ang header at window sa screen; compact pa rin ang naka-collapse na panel. Hindi ginagamit ang coordinate scaling ng Point.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"height","type":"Int?","defaultValue":"None","description":"Taas ng naka-expand na floating window sa mga pixel ng kasalukuyang screen; sumusunod sa laman ang None. Gumamit ng positibong buong bilang. Nililimitahan ng overlay ang sukat para magkasya ang header at window sa screen sa ibabaw ng keyboard; compact pa rin ang naka-collapse na panel. Hindi ginagamit ang coordinate scaling ng Point.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"collapsed","type":"Boolean?","defaultValue":"None","description":"Para lamang sa floating mode; tinatanggihan ang halagang hindi None sa dialog mode. Pinapaliit ng True ang panel bilang open button sa pangunahing dock; binubuksan ito ng False. Binubuksan ng None ang bagong panel at pinananatili ang kasalukuyang estado sa paulit-ulit na show(). Gumagana rin ito sa unang pagpapakita. Ulitin ang anumang custom na anchor, width, o height sa mga susunod na show() para mapanatili ang layout ng nakabukang panel.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"dock_position","type":"Point | tuple[Number, Number] | list[Number] | None","defaultValue":"None","description":"Para lamang sa floating mode; tinatanggihan ang halagang hindi None sa dialog mode. Itakda ang kaliwang itaas na puwesto ng shared na pangunahing dock sa mga pixel ng kasalukuyang screen, kahit nakabuka ang panel o bago ito unang paliitin. Gumagalaw ang dock gamit ang 160 ms na animation. Tumatanggap ng Point(x, y) o tuple/list na may eksaktong dalawang finite na numero mula -2147483648 hanggang 2147483647; hindi ginagamit ang scaling at anchor ng Point. Nililimitahan ang dock sa loob ng screen matapos sukatin ang aktuwal nitong laki. Pinananatili ng None ang kasalukuyang puwesto. Hiwalay ang puwesto ng nakabukang panel para sa lahat ng anchor, kasama ang free.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"pause_on_expand","type":"Boolean","defaultValue":"True","description":"Para lamang sa floating mode; magdudulot ng error ang tahasang pagpasa ng argument na ito sa dialog mode. Pansamantalang ihihinto ng True ang macro habang nakabuka at nakikita ang floating panel. Agad na nagbabalik ng resulta ang show(); hihinto ang pagpapatakbo sa susunod na runtime checkpoint hanggang paliitin, itago, o isara ang panel. Gamitin ang collapsed=True o pause_on_expand=False para magpatuloy ang script habang bukas ang panel. Inaalis ng False ang paghinto mula sa panel na ito; mananatili ang manwal na paghinto. Ginagamit ng bawat show() ang halaga sa tawag na iyon, at babalik sa True kapag hindi tinukoy.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"dict","returnDescription":"Hiwalay na dict ang ibinabalik ng dialog. Parehong dict ang ibinabalik ng floating sa paulit-ulit na show(); agad ina-update ng valid na pag-edit ng user ang mga entry nito at naka-save na ang mga ito sa native settings at naka-mirror sa Storage. Ang hiwalay na assignment gaya ng speed = config[\"speed\"] ay nagpapanatili ng value na nabasa noon. Hiwalay na kopya ang values(); pinananatili ng close() ang huling mga entry. Hindi binabago ng pag-edit sa dict sa Python ang panel o mga naka-save na setting, at papalitan ng susunod na update ng panel ang mga edit na iyon.","example":"# Magsimula nang nakaliit, saka buksan, paliitin, at ilipat ang dock\npanel = MacroPanel(\"Run config\")\npanel.show(mode=\"floating\", collapsed=True, dock_position=Point(20, 100))\nwait(1000)\npanel.show(mode=\"floating\", collapsed=False, pause_on_expand=False)\nwait(1000)\npanel.show(mode=\"floating\", collapsed=True, dock_position=(100, 200))","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-values","kind":"METHOD","parentKey":"class-macropanel","name":"values","signature":"panel.values()","description":"Kopyahin ang huling wastong mga halaga pagkatapos ng show(). Hindi nagbabago ang kopyang ito sa susunod na pag-edit ng panel. Naka-save na sa native settings at mina-mirror agad sa Storage ang wastong pag-edit ng floating panel; pagkatapos ng close(), ibinabalik ng values() ang huling halaga. Error ang pagtawag bago ang show().","behavior":"Kopyahin ang huling wastong mga halaga pagkatapos ng show(). Hindi nagbabago ang kopyang ito sa susunod na pag-edit ng panel. Naka-save na sa native settings at mina-mirror agad sa Storage ang wastong pag-edit ng floating panel; pagkatapos ng close(), ibinabalik ng values() ang huling halaga. Error ang pagtawag bago ang show().","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Hiwalay na dict ng mga pangalan at halaga ng field.","example":"# Basahin ang kasalukuyang setting sa maliit na window sa bawat ulit ng loop\npanel = MacroPanel(\"Live controls\")\npanel.slider(\"speed\", min=1, max=10, default=5)\nconfig = panel.show(mode=\"floating\", anchor=\"free\", stop_button=True, width=320, height=240)\nfor index in range(10):\n    print(config[\"speed\"])\n    wait(1000)\nsnapshot = panel.values()\npanel.close()","aliases":[],"group":"FLOW"},{"key":"class-macropanel-method-close","kind":"METHOD","parentKey":"class-macropanel","name":"close","signature":"panel.close()","description":"Isara ang floating panel na ito. Naka-save na sa native settings at naka-mirror sa Storage ang tinanggap na value, pati habang naka-pause ang macro. Hindi nito hinihinto ang macro. Ligtas ulitin pagkatapos ng show(); ibinabalik pa rin ng values() ang huling halaga. Error ang pagtawag bago ang show().","behavior":"Isara ang floating panel na ito. Naka-save na sa native settings at naka-mirror sa Storage ang tinanggap na value, pati habang naka-pause ang macro. Hindi nito hinihinto ang macro. Ligtas ulitin pagkatapos ng show(); ibinabalik pa rin ng values() ang huling halaga. Error ang pagtawag bago ang show().","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Gumawa ng bawat panel sa isang flow. Paisa-isa at naghihintay ang mga dialog; puwedeng magpatuloy sa floating panel. Pinatitigil ng error() ang lahat ng flow."},"limitations":[],"relatedApis":["class-system-static-method-stop","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# Basahin ang kasalukuyang setting sa maliit na window sa bawat ulit ng loop\npanel = MacroPanel(\"Live controls\")\npanel.slider(\"speed\", min=1, max=10, default=5)\nconfig = panel.show(mode=\"floating\", anchor=\"free\", stop_button=True, width=320, height=240)\nfor index in range(10):\n    print(config[\"speed\"])\n    wait(1000)\nsnapshot = panel.values()\npanel.close()","aliases":[],"group":"FLOW"},{"key":"class-system","kind":"CLASS","parentKey":null,"name":"System","signature":"System()","description":"I-access ang impormasyon ng system/device ng runtime at mag-trigger ng mga pagkilos sa antas ng system mula sa script.","behavior":"I-access ang impormasyon ng system/device ng runtime at mag-trigger ng mga pagkilos sa antas ng system mula sa script.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":true,"fields":["dev","battery","screen","memory"],"fieldDocs":[{"name":"dev","type":"dict","defaultValue":null,"description":"Kasalukuyang detalye ng device: isEmulator, Android API level na sdk, code ng language, darkmode, suporta sa touch, at kahandaan ng capture. Basahin muli upang makuha ang bagong detalye.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"battery","type":"dict","defaultValue":null,"description":"Kasalukuyang detalye ng baterya: percent mula 0 hanggang 100, charging, temperature sa degrees Celsius, at tekstong health. -1 ang percent o temperature kung hindi makuha; \"unknown\" ang hindi alam na health. Basahin muli para i-update.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"screen","type":"dict","defaultValue":null,"description":"Kasalukuyang detalye ng screen: width at height sa pixel, sukat ng density, dpi, at orientation bilang anggulo ng pag-ikot sa degrees (0, 90, 180, o 270). Basahin muli pagkatapos ikutin ang device.","suggestAsNamedArg":true,"requirement":null,"callingMode":null},{"name":"memory","type":"dict","defaultValue":null,"description":"Kasalukuyang memory ng system: avail, total, at threshold ng mababang memory sa byte; ipinapahiwatig ng low na kaunti na ang available na memory. Basahin muli para i-update.","suggestAsNamedArg":true,"requirement":null,"callingMode":null}],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"sys = System()\nprint(\"sdk=\", sys.sdk())\nbattery = System.battery()\nprint(\"battery=\", battery.percent, battery.charging)\nSystem.toast(\"Macro started\")\nSystem.play_noti()\nSystem.home()","aliases":[],"group":null},{"key":"class-system-static-method-time-ms","kind":"STATIC_METHOD","parentKey":"class-system","name":"time_ms","signature":"System.time_ms()","description":"Basahin ang kasalukuyang petsa at oras bilang millisecond mula 1970-01-01 00:00:00 UTC.","behavior":"Basahin ang kasalukuyang petsa at oras bilang millisecond mula 1970-01-01 00:00:00 UTC.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number","returnDescription":"Mga millisecond mula 1970-01-01 00:00:00 UTC.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nstarted = System.time_ms()\nwait(100)\nprint(System.time_ms() - started)","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-app-version","kind":"STATIC_METHOD","parentKey":"class-system","name":"app_version","signature":"System.app_version()","description":"Basahin ang pangalan ng naka-install na bersyon ng CogniTab.","behavior":"Basahin ang pangalan ng naka-install na bersyon ng CogniTab.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"String","returnDescription":"Pangalan ng bersyon ng CogniTab, o \"unknown\" kung hindi makuha.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.app_version())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-variant","kind":"STATIC_METHOD","parentKey":"class-system","name":"variant","signature":"System.variant()","description":"Kunin ang permanenteng code ng macro variant na pinili para sa run na ito.","behavior":"Kunin ang permanenteng code ng macro variant na pinili para sa run na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"String","returnDescription":"Variant code gaya ng `default` o `pro_plus`.","example":"# Mag-branch batay sa kasalukuyang macro variant\nif System.variant() == \"pro_plus\":\n    print(\"Pro Plus\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-open","kind":"STATIC_METHOD","parentKey":"class-system","name":"open","signature":"System.open(package_name)","description":"Buksan ang launchable activity ng naka-install na Android app. Awtomatikong hinahanap ng CogniTab ang karaniwan o Android TV launcher activity mula sa package name, kaya hindi kailangan ang activity class.","behavior":"Buksan ang launchable activity ng naka-install na Android app. Awtomatikong hinahanap ng CogniTab ang karaniwan o Android TV launcher activity mula sa package name, kaya hindi kailangan ang activity class.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"package_name","type":"String","defaultValue":null,"description":"Package name ng Android app, halimbawa `com.android.settings`.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"`True` kapag tinanggap ng Android ang launch intent; `False` kapag wala ang app, wala itong launchable activity, o hindi ito mabuksan.","example":"# Buksan ang Android Settings at pangasiwaan kapag hindi available ang app\nopened = System.open(\"com.android.settings\")\nif not opened:\n    System.toast(\"App is unavailable\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-sdk","kind":"STATIC_METHOD","parentKey":"class-system","name":"sdk","signature":"System.sdk()","description":"Basahin ang Android API level na gamit ng device na ito.","behavior":"Basahin ang Android API level na gamit ng device na ito.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number","returnDescription":"Android API level bilang numero.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.sdk())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-language","kind":"STATIC_METHOD","parentKey":"class-system","name":"language","signature":"System.language()","description":"Kunin ang kasalukuyang code ng wika.","behavior":"Kunin ang kasalukuyang code ng wika.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"String","returnDescription":"Locale language code (halimbawa `en`, `vi`).","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.language())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-dpi","kind":"STATIC_METHOD","parentKey":"class-system","name":"dpi","signature":"System.dpi()","description":"Kumuha ng kasalukuyang screen DPI.","behavior":"Kumuha ng kasalukuyang screen DPI.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Number","returnDescription":"Display density DPI.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.dpi())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-darkmode","kind":"STATIC_METHOD","parentKey":"class-system","name":"darkmode","signature":"System.darkmode()","description":"Tingnan kung naka-enable ang dark mode.","behavior":"Tingnan kung naka-enable ang dark mode.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kapag aktibo ang dark mode.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nif System.darkmode():\n    print(\"Dark mode\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-play-noti","kind":"STATIC_METHOD","parentKey":"class-system","name":"play_noti","signature":"System.play_noti()","description":"I-play ang tunog ng notification ng system.","behavior":"I-play ang tunog ng notification ng system.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nSystem.play_noti()","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-toast","kind":"STATIC_METHOD","parentKey":"class-system","name":"toast","signature":"System.toast(text)","description":"Magpakita ng maikling mensahe ng Android. Pinaikli ang list, dict, at iba pang may istrukturang halaga para madaling basahin.","behavior":"Magpakita ng maikling mensahe ng Android. Pinaikli ang list, dict, at iba pang may istrukturang halaga para madaling basahin.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"text","type":"Any","defaultValue":null,"description":"Toast text or structured value to display compactly.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang return value.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nSystem.toast(\"Macro started\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-stop","kind":"STATIC_METHOD","parentKey":"class-system","name":"stop","signature":"System.stop()","description":"Ihinto kaagad ang kasalukuyang macro mula sa script.","behavior":"Ihinto kaagad ang kasalukuyang macro mula sa script.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"no","details":"Pinatitigil ang lahat ng flow; hindi na tatakbo ang susunod na linya. Gamitin ang Flow.stop(name) para isang background flow lang ang ihinto."},"limitations":[],"relatedApis":["class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Huminto sa pagpapatupad; walang binabalik na halaga ang sinusunod.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nif Storage.get(\"stop_requested\", False):\n    System.stop()\nprint(\"Still running\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-minimized-dock","kind":"STATIC_METHOD","parentKey":"class-system","name":"minimized_dock","signature":"System.minimized_dock(point=None, *, width=None, height=None, alpha=None, mode=None)","description":"I-query o isaayos ang pinaliit na overlay dock. Gumagamit ang punto ng parehong sukat ng coordinate at mga panuntunan sa anchor bilang mga target na click na nakabatay sa punto; ang lapad at taas ay kasalukuyang-screen na mga pixel.","behavior":"I-query o isaayos ang pinaliit na overlay dock. Gumagamit ang punto ng parehong sukat ng coordinate at mga panuntunan sa anchor bilang mga target na click na nakabatay sa punto; ang lapad at taas ay kasalukuyang-screen na mga pixel.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"point","type":"Point?","defaultValue":"None","description":"Optional top-left dock position.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"width","type":"Number?","defaultValue":"None","description":"Opsyonal na lapad ng sakop ng nakaliit na dock sa pixels. Habang may nakakabit na nakaliit na floating panel, natural na sukat ang ginagamit ng dock; itinatabi ang hiniling na sukat at muling ginagamit kapag wala na ang panel.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"height","type":"Number?","defaultValue":"None","description":"Opsyonal na taas ng sakop ng nakaliit na dock sa pixels. Habang may nakakabit na nakaliit na floating panel, natural na sukat ang ginagamit ng dock; itinatabi ang hiniling na sukat at muling ginagamit kapag wala na ang panel.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"alpha","type":"Number?","defaultValue":"None","description":"Optional dock opacity from 0.2 to 1.0.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"mode","type":"String?","defaultValue":"None","description":"Opsyonal na anyo ng dock: icon, row, o hidden. Pinananatili ng icon ang open button para sa nakaliit na floating panel. May bisa ang hidden sa run na ito at nagpapanatili ng Stop button sa kaliwang ibaba kapag walang nakikitang Stop button sa floating panel; kapag nakaliit ang panel, may open button din sa emergency window.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"dict","returnDescription":"Inilapat na estado na may `applied`, `x`, `y`, `width`, `height`, `alpha`, `mode`, at opsyonal na `reason`.","example":"# Ilipat, baguhin ang laki, at i-collapse ang minimized dock sa icon para sa run na ito\nSystem.minimized_dock(Point(24, 120), width=72, height=36, alpha=0.85, mode=\"icon\")","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-send-key","kind":"STATIC_METHOD","parentKey":"class-system","name":"send_key","signature":"System.send_key(key)","description":"Magpadala ng isang pares ng pagpindot at pagbitaw ng Android key sa kasalukuyang naka-focus na text editor gamit ang Accessibility sa Android 13 o mas bago, nang hindi hinahanap ang puwesto ng key sa keyboard sa screen.","behavior":"Magpadala ng isang pares ng pagpindot at pagbitaw ng Android key sa kasalukuyang naka-focus na text editor gamit ang Accessibility sa Android 13 o mas bago, nang hindi hinahanap ang puwesto ng key sa keyboard sa screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"String|Number","defaultValue":null,"description":"Pangalan ng Android key na hindi sensitibo sa laki ng letra at maaaring may prefix na `KEYCODE_`, gaya ng `ENTER`, `TAB`, `ESCAPE`, `DEL`, `DPAD_LEFT`, `A`, o `F1`; o positibong buong Android keycode, gaya ng `66` para sa Enter. Binabalewala ang espasyo sa simula at dulo ng pangalan.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"`True` kapag naipadala ang parehong key event; `False` sa Android 12L o mas luma, kapag hindi suportado ang key, walang aktibong input connection ng editor, o nabigo ang pagpapadala. Ang target na app ang nagpapasya kung paano hahawakan ang key; suriin ang screen bago magpatuloy. Hindi ito nagpapadala ng hardware key sa buong system o nagpapatunay na naproseso na ito ng app.","example":"# Magpadala ng key sa kasalukuyang naka-focus na text field gamit ang pangalan o Android keycode\nsent = System.send_key(\"ENTER\")\nSystem.send_key(key=\"TAB\")\nSystem.send_key(66)","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-back","kind":"STATIC_METHOD","parentKey":"class-system","name":"back","signature":"System.back()","description":"Hilingin sa Android na bumalik, gaya ng pagpindot sa Back.","behavior":"Hilingin sa Android na bumalik, gaya ng pagpindot sa Back.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.back())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-home","kind":"STATIC_METHOD","parentKey":"class-system","name":"home","signature":"System.home()","description":"Hilingin sa Android na buksan ang home screen.","behavior":"Hilingin sa Android na buksan ang home screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.home())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-recent","kind":"STATIC_METHOD","parentKey":"class-system","name":"recent","signature":"System.recent()","description":"Buksan ang kamakailang screen.","behavior":"Buksan ang kamakailang screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.recent())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-noti","kind":"STATIC_METHOD","parentKey":"class-system","name":"noti","signature":"System.noti()","description":"Buksan ang shade ng mga notification.","behavior":"Buksan ang shade ng mga notification.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.noti())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-lockscreen","kind":"STATIC_METHOD","parentKey":"class-system","name":"lockscreen","signature":"System.lockscreen()","description":"I-lock ang kasalukuyang screen.","behavior":"I-lock ang kasalukuyang screen.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.lockscreen())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-powerdialog","kind":"STATIC_METHOD","parentKey":"class-system","name":"powerdialog","signature":"System.powerdialog()","description":"Buksan ang power dialog.","behavior":"Buksan ang power dialog.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.powerdialog())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-quicksetting","kind":"STATIC_METHOD","parentKey":"class-system","name":"quicksetting","signature":"System.quicksetting()","description":"Buksan ang quick settings ng Android.","behavior":"Buksan ang quick settings ng Android.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.quicksetting())","aliases":[],"group":"FLOW"},{"key":"class-system-static-method-screenshot","kind":"STATIC_METHOD","parentKey":"class-system","name":"screenshot","signature":"System.screenshot()","description":"Hilingin sa Android na kumuha ng screenshot.","behavior":"Hilingin sa Android na kumuha ng screenshot.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Boolean","returnDescription":"`True` kung tinanggap ng Android ang aksyon, kung hindi ay `False`.","example":"# Kumuha ng impormasyon sa Android o humiling ng nakadokumentong system action\nprint(System.screenshot())","aliases":[],"group":"FLOW"},{"key":"class-screencapture","kind":"CLASS","parentKey":null,"name":"ScreenCapture","signature":"ScreenCapture","description":"Kontrolin kung gagamitin muli ng pagkilala sa screen ang mga nakuhang larawan sa kasalukuyang pagtakbo ng macro. Karaniwang magagamit muli ang isang larawan nang hanggang 100 ms. Tawagin ang mga method nang direkta sa ScreenCapture; huwag gumawa ng instance.","behavior":"Kontrolin kung gagamitin muli ng pagkilala sa screen ang mga nakuhang larawan sa kasalukuyang pagtakbo ng macro. Karaniwang magagamit muli ang isang larawan nang hanggang 100 ms. Tawagin ang mga method nang direkta sa ScreenCapture; huwag gumawa ng instance.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"conditional","details":"Binabago ang muling paggamit ng larawan para sa lahat ng flow, nang walang capture, paghihintay sa tagal, o paghingi ng capture permission. Gagamitin ito sa susunod na capture."},"limitations":[],"relatedApis":["class-region","class-flow"],"isCallable":false,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# Gamitin muli ang isang captured frame para sa ilang screen check\nScreenCapture.cache_on()\ncolor = Color.get(Point(500, 900))\nhit = Region.full_screen().find(\"enemy\", timeout=0)\nScreenCapture.cache_off()\n\n# Gamitin ang pinakabagong available na frame para sa maikling pagkilala\nScreenCapture.auto_cache_off(duration_ms=1000)\nhit = Region.full_screen().find(\"enemy\", timeout=800, rate=30)\n\n# I-off nang walang timer, saka tahasang ibalik ang awtomatikong cache\nScreenCapture.auto_cache_off()\nhit = Region.full_screen().find(\"enemy\", timeout=2000, rate=30)\nScreenCapture.auto_cache_on()","aliases":[],"group":null},{"key":"class-screencapture-static-method-cache-on","kind":"STATIC_METHOD","parentKey":"class-screencapture","name":"cache_on","signature":"ScreenCapture.cache_on()","description":"Panatilihin ang isang larawan ng screen para sa paulit-ulit na pagsusuri hanggang cache_off() o matapos ang macro. Gamitin ang susunod na available na larawan, o ang huling wastong larawan kung wala pang bago. Mas inuuna ito kaysa sa awtomatikong paggamit muli at hindi ito humihingi ng pahintulot sa pagkuha ng screen.","behavior":"Panatilihin ang isang larawan ng screen para sa paulit-ulit na pagsusuri hanggang cache_off() o matapos ang macro. Gamitin ang susunod na available na larawan, o ang huling wastong larawan kung wala pang bago. Mas inuuna ito kaysa sa awtomatikong paggamit muli at hindi ito humihingi ng pahintulot sa pagkuha ng screen.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"conditional","details":"Binabago ang muling paggamit ng larawan para sa lahat ng flow, nang walang capture, paghihintay sa tagal, o paghingi ng capture permission. Gagamitin ito sa susunod na capture."},"limitations":[],"relatedApis":["class-region","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# I-pin ang isang shared frame para sa dalawang recognition pass\nScreenCapture.cache_on()\nregion = Region(100, 200, 300, 400)\nfirst = region.find(\"start\", 0)\nsecond = region.find(\"confirm\", 0)\nScreenCapture.cache_off()\nprint(first.found, second.found)","aliases":[],"group":"FLOW"},{"key":"class-screencapture-static-method-cache-off","kind":"STATIC_METHOD","parentKey":"class-screencapture","name":"cache_off","signature":"ScreenCapture.cache_off()","description":"Itigil ang pagpapanatili ng larawang pinili ng cache_on(). Hindi nagbabago ang awtomatikong paggamit muli, kaya maaari pa ring magamit ang kamakailang larawan. Tawagin din ang auto_cache_off() kung kailangan ng bawat pagsusuri ang pinakabagong available na larawan.","behavior":"Itigil ang pagpapanatili ng larawang pinili ng cache_on(). Hindi nagbabago ang awtomatikong paggamit muli, kaya maaari pa ring magamit ang kamakailang larawan. Tawagin din ang auto_cache_off() kung kailangan ng bawat pagsusuri ang pinakabagong available na larawan.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"conditional","details":"Binabago ang muling paggamit ng larawan para sa lahat ng flow, nang walang capture, paghihintay sa tagal, o paghingi ng capture permission. Gagamitin ito sa susunod na capture."},"limitations":[],"relatedApis":["class-region","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# Alisin ang manual na pag-pin bago ang susunod na scan\nScreenCapture.cache_off()\nregion = Region(100, 200, 300, 400)\nprint(region.find(\"start\", 0).found)","aliases":[],"group":"FLOW"},{"key":"class-screencapture-static-method-auto-cache-off","kind":"STATIC_METHOD","parentKey":"class-screencapture","name":"auto_cache_off","signature":"ScreenCapture.auto_cache_off(duration_ms=None)","description":"I-off ang awtomatikong paggamit muli ng larawan upang hanapin ng pagkuha ang pinakabagong available na larawan. Agad bumabalik; dito nagsisimula ang tagal at pinapalitan ito ng susunod na tawag. Saklaw ang bitmap, raw image, TFLite, at pixel. Maaaring dumami ang pagproseso at paggamit ng baterya nang hindi bumibilis o napipilitang gumuhit ang Android ng bagong pixel; may limitasyon pa rin ang paghihintay sa larawan. Hindi nito kinakansela ang cache_on() o hinihingi ang pahintulot sa pagkuha.","behavior":"I-off ang awtomatikong paggamit muli ng larawan upang hanapin ng pagkuha ang pinakabagong available na larawan. Agad bumabalik; dito nagsisimula ang tagal at pinapalitan ito ng susunod na tawag. Saklaw ang bitmap, raw image, TFLite, at pixel. Maaaring dumami ang pagproseso at paggamit ng baterya nang hindi bumibilis o napipilitang gumuhit ang Android ng bagong pixel; may limitasyon pa rin ang paghihintay sa larawan. Hindi nito kinakansela ang cache_on() o hinihingi ang pahintulot sa pagkuha.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"conditional","details":"Binabago ang muling paggamit ng larawan para sa lahat ng flow, nang walang capture, paghihintay sa tagal, o paghingi ng capture permission. Gagamitin ito sa susunod na capture."},"limitations":[],"relatedApis":["class-region","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"duration_ms","type":"Number | None","defaultValue":"None","description":"Tagal sa positibong buong millisecond (puwede ang 100 at 100.0). Alisin o gamitin ang None upang manatiling naka-off hanggang auto_cache_on() o matapos ang macro. Error ang zero, negatibo, may decimal na bahagi, string, boolean, at halagang lampas sa limitasyon.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang return value.","example":"# Pansamantalang lampasan ang automatic cache; hiwalay ang manual na pag-pin\nScreenCapture.cache_off()\nScreenCapture.auto_cache_off(1000)\nregion = Region(100, 200, 300, 400)\nprint(region.find(\"start\", 500).found)\nScreenCapture.auto_cache_on()","aliases":[],"group":"FLOW"},{"key":"class-screencapture-static-method-auto-cache-on","kind":"STATIC_METHOD","parentKey":"class-screencapture","name":"auto_cache_on","signature":"ScreenCapture.auto_cache_on()","description":"Payagan agad ang awtomatikong paggamit muli ng larawan at kanselahin ang dating panahong naka-off. Ibinabalik din ito kapag natapos ang macro. Hindi nito kinakansela ang cache_on(), hinihingi ang pahintulot sa pagkuha, o hinihintay ang anuman.","behavior":"Payagan agad ang awtomatikong paggamit muli ng larawan at kanselahin ang dating panahong naka-off. Ibinabalik din ito kapag natapos ang macro. Hindi nito kinakansela ang cache_on(), hinihingi ang pahintulot sa pagkuha, o hinihintay ang anuman.","execution":{"blocking":"no","threadSafety":"serialized","parallel":"conditional","details":"Binabago ang muling paggamit ng larawan para sa lahat ng flow, nang walang capture, paghihintay sa tagal, o paghingi ng capture permission. Gagamitin ito sa susunod na capture."},"limitations":[],"relatedApis":["class-region","class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang return value.","example":"# Ibalik ang karaniwang awtomatikong muling paggamit ng frame\nScreenCapture.auto_cache_on()\nregion = Region(100, 200, 300, 400)\nprint(region.find(\"start\", 0).found)","aliases":[],"group":"FLOW"},{"key":"class-storage","kind":"CLASS","parentKey":null,"name":"Storage","signature":"Storage","description":"Mag-save ng mga halagang may pangalan para magamit ng kasalukuyang macro sa susunod na pagtakbo. Magkasalo sa Storage ang lahat ng flow sa isang pagtakbo; ang karaniwang variable ay pinagsasaluhan lang ng sunod-sunod na PYTHON_CODE action sa iisang flow, kasama ang GROUP. Hiwalay ang variable ng magkakasabay na flow. Hindi daluyan ng mensahe sa pagitan ng mga proseso ang Storage.","behavior":"Mag-save ng mga halagang may pangalan para magamit ng kasalukuyang macro sa susunod na pagtakbo. Magkasalo sa Storage ang lahat ng flow sa isang pagtakbo; ang karaniwang variable ay pinagsasaluhan lang ng sunod-sunod na PYTHON_CODE action sa iisang flow, kasama ang GROUP. Hiwalay ang variable ng magkakasabay na flow. Hindi daluyan ng mensahe sa pagitan ng mga proseso ang Storage.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":false,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":null,"returnDescription":null,"example":"# Mag-save ng mga value sa magkakahiwalay na macro run\nrun_count = Storage.get(\"run_count\", 0)\nrun_count = run_count + 1\nStorage.set(\"run_count\", run_count)\nStorage.set(\"last_point\", Point(500, 900))\nMacroPanel.notify(\"Run #\" + str(run_count))","aliases":[],"group":null},{"key":"class-storage-static-method-get","kind":"STATIC_METHOD","parentKey":"class-storage","name":"get","signature":"Storage.get(key, default=None)","description":"Magbasa ng isang persisted value sa pamamagitan ng key at opsyonal na bumalik sa default kapag nawawala ang key.","behavior":"Magbasa ng isang persisted value sa pamamagitan ng key at opsyonal na bumalik sa default kapag nawawala ang key.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to look up.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"default","type":"Any?","defaultValue":"None","description":"Fallback value returned when the key is missing.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Any?","returnDescription":"Ang nakaimbak na halaga para sa key na iyon, o ang ibinigay na default.","example":"# I-restore ang naka-save na counter gamit ang fallback default\nrun_count = Storage.get(\"run_count\", 0)","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-set","kind":"STATIC_METHOD","parentKey":"class-storage","name":"set","signature":"Storage.set(key, value)","description":"Mag-save ng halaga sa isang key, kapalit ng dati nitong halaga kung mayroon. Kabilang sa sinusuportahang uri ang Number, String, Boolean, Point, Region, list, tuple, dict, set, at None; maaaring maglaman ng ibang collection ang isang collection.","behavior":"Mag-save ng halaga sa isang key, kapalit ng dati nitong halaga kung mayroon. Kabilang sa sinusuportahang uri ang Number, String, Boolean, Point, Region, list, tuple, dict, set, at None; maaaring maglaman ng ibang collection ang isang collection.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to write.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"value","type":"Any?","defaultValue":null,"description":"Value to persist for that key.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"Walang ibinabalik na halaga. Agad nakikita ng ibang pagbasa sa Storage ang pagbabago. Naka-save ito sa device matapos ang 2 segundo na walang bagong pagsulat at muli kapag natapos ang macro at lahat ng background flow.","example":"# I-save ang mga value para sa susunod na macro run\nStorage.set(\"run_count\", 3)\nStorage.set(\"last_point\", Point(500, 900))","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-remove","kind":"STATIC_METHOD","parentKey":"class-storage","name":"remove","signature":"Storage.remove(key)","description":"Alisin ang isang patuloy na entry at ibalik ang lumang halaga.","behavior":"Alisin ang isang patuloy na entry at ibalik ang lumang halaga.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to remove.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Any?","returnDescription":"Ang inalis na halaga, o Wala kapag nawawala ang susi.","example":"# Alisin ang naka-save na flag kapag hindi na kailangan\nold_flag = Storage.remove(\"boost_enabled\")","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-contains","kind":"STATIC_METHOD","parentKey":"class-storage","name":"contains","signature":"Storage.contains(key)","description":"Suriin kung ang isang persisted key ay kasalukuyang umiiral.","behavior":"Suriin kung ang isang persisted key ay kasalukuyang umiiral.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"key","type":"Any","defaultValue":null,"description":"Key to test.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"}],"returnType":"Boolean","returnDescription":"`True` kapag umiiral ang key, kung hindi man ay `False`.","example":"# Bantayan ang logic batay sa naka-save na state\nif Storage.contains(\"last_point\"):\n    MacroPanel.notify(\"Saved point is ready\")","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-keys","kind":"STATIC_METHOD","parentKey":"class-storage","name":"keys","signature":"Storage.keys()","description":"Kunin ang lahat ng patuloy na key bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.","behavior":"Kunin ang lahat ng patuloy na key bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list","returnDescription":"Isang listahan ng mga patuloy na key.","example":"# Suriin kung aling mga value ang naka-save para sa macro na ito\nsaved_keys = Storage.keys()","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-values","kind":"STATIC_METHOD","parentKey":"class-storage","name":"values","signature":"Storage.values()","description":"Kunin ang lahat ng mga persisted value bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.","behavior":"Kunin ang lahat ng mga persisted value bilang isang listahan sa pagkakasunud-sunod ng pagpapasok.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"list","returnDescription":"Isang listahan ng mga patuloy na halaga.","example":"# Basahin ang lahat ng naka-save na value para sa mabilisang pagsusuri\nsaved_values = Storage.values()","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-clear","kind":"STATIC_METHOD","parentKey":"class-storage","name":"clear","signature":"Storage.clear()","description":"Alisin ang bawat nagpapatuloy na entry para sa kasalukuyang macro.","behavior":"Alisin ang bawat nagpapatuloy na entry para sa kasalukuyang macro.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow","class-storage-static-method-to-dict"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"None","returnDescription":"Walang direktang pagbabalik na halaga. Ang imbakan ay nagiging walang laman.","example":"# I-reset ang lahat ng naka-save na Storage value\nStorage.clear()","aliases":[],"group":"FLOW"},{"key":"class-storage-static-method-to-dict","kind":"STATIC_METHOD","parentKey":"class-storage","name":"to_dict","signature":"Storage.to_dict()","description":"Kunin ang dict na ginagamit ng Storage sa pagtakbong ito. Pinagsasaluhan ito ng lahat ng flow: agad binabago ng pagdagdag, pag-edit, o pagbura ng entry ang Storage. Naka-save ang mga edit matapos ang 2 segundo na walang bagong pagsulat at muli kapag tapos na ang macro at lahat ng background flow.","behavior":"Kunin ang dict na ginagamit ng Storage sa pagtakbong ito. Pinagsasaluhan ito ng lahat ng flow: agad binabago ng pagdagdag, pag-edit, o pagbura ng entry ang Storage. Naka-save ang mga edit matapos ang 2 segundo na walang bagong pagsulat at muli kapag tapos na ang macro at lahat ng background flow.","execution":{"blocking":"conditional","threadSafety":"serialized","parallel":"conditional","details":"Shared ang Storage. Protektado ang bawat operasyon, pati pagbabago sa loob ng naka-save na koleksiyon. Maaaring magsulat ang ibang flow sa pagitan ng get() at set(); gumamit ng isang tagasulat para hindi mapatungan ang update nito."},"limitations":[],"relatedApis":["class-flow"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Ang mismong dict ng Storage, hindi hiwalay na kopya.","example":"# Basahin at i-update ang buong naka-save na storage dictionary\nstate = Storage.to_dict()\nstate[\"bonus\"] = 5\nMacroPanel.notify(str(state))","aliases":[],"group":"FLOW"},{"key":"function-click","kind":"FUNCTION","parentKey":null,"name":"click","signature":"click(target, hold_ms=0, offset=(0, 0), random=0, delay_before=0, delay_after=0, parallel=False)","description":"Pindutin at bitawan ang bawat target na punto. Bilang default, hintaying matapos ang pag-click bago magpatuloy. Maaaring ibigay ang mga argumento ayon sa posisyon o pangalan sa nakasaad na pagkakasunod.","behavior":"Pindutin at bitawan ang bawat target na punto. Bilang default, hintaying matapos ang pag-click bago magpatuloy. Maaaring ibigay ang mga argumento ayon sa posisyon o pangalan sa nakasaad na pagkakasunod.","execution":{"blocking":"conditional","threadSafety":"limited","parallel":"conditional","details":"Naglalagay ng touch sa queue ang parallel=True; naghihintay pa rin ang delay_before, delay_after sa labas ng collect. Nag-iipon ang Touch.collect(), nagpapadala ang send(), at naghihintay ang wait(). Maaaring magkaabala ang touch ng iba’t ibang flow."},"limitations":[],"relatedApis":["class-touch-static-method-collect","class-touch-static-method-send","class-touch-static-method-wait"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"target","type":"Point | tuple[Number, Number] | Match | MatchList","defaultValue":null,"description":"Point, nakapirming pixel coordinate na (x, y), o mga resulta ng paghahanap. Gumamit ng Point para sa pag-scale o pag-anchor. I-click ang bawat nahanap na punto; walang gagawin kung walang nahanap.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"hold_ms","type":"Int","defaultValue":"0","description":"Tagal ng pagpindot sa millisecond","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"offset","type":"tuple[Number, Number]","defaultValue":"(0, 0)","description":"Pahalang at patayong offset sa pixel na idinadagdag sa huling coordinate ng target.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"random","type":"Number | tuple[Number, Number]","defaultValue":"0","description":"Pinakamalaking random na offset sa pixel sa bawat direksiyon mula sa target. Isang numero ang ginagamit para sa parehong axis; itinatakda ng (x, y) ang bawat axis nang hiwalay. Nagiging 0 ang negatibong value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"delay_before","type":"Number","defaultValue":"0","description":"Tagal ng paghihintay bago mag-click, sa millisecond.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"delay_after","type":"Number","defaultValue":"0","description":"Tagal ng paghihintay pagkatapos mag-click, sa millisecond.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"},{"name":"parallel","type":"Boolean","defaultValue":"False","description":"True: ilagay sa pila ang touch at ibalik ang numerong id nito nang hindi hinihintay na matapos. Pagkatapos ng Touch.collect(), hintayin ang Touch.send(); maaaring magsabay ang mga nakolektang touch na may magkakaibang delay_before. Kanselahin gamit ang Touch.cancel(id), o kanselahin lahat gamit ang Touch.cancel().","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Number | list[Number] | None","returnDescription":"Kapag parallel=True: isang touch id para sa isang punto, o listahan ng mga id para sa maraming punto. Sa ibang kaso, o kung walang nahanap na punto: None.","example":"# I-click ang coordinate sa screen gamit ang Point o tuple\nclick(Point(500, 900))\nclick((500, 900))\nclick((500, 900), hold_ms=200)\nclick(Point(500, 900), 0, (0, 0), 10, 0, 500)\n\nmatch = Region(100, 200, 300, 400).find(\"start\", 3000)\nif match.found:\n    click(match, offset=(0, 6))\n\nhits = Region(100, 200, 300, 400).find_any([\"a\", \"b\"], 3000)\nif hits:\n    click(hits, random=0)\n\n# Kolektahin ang dalawang parallel touch, ipadala nang sabay, pagkatapos hintayin ang queue\nTouch.collect()\na = click(Point(300, 900), parallel=True)\nb = click(Point(780, 900), parallel=True)\nTouch.send()\nTouch.wait()\n\n# Hawakan ang p1, pagkatapos i-tap ang p2 pagkalipas ng 1 segundo nang hindi binibitiwan ang p1\nTouch.collect()\np1 = click(Point(300, 900), hold_ms=5000, parallel=True)\np2 = click(Point(780, 900), hold_ms=1000, delay_before=1000, parallel=True)\nTouch.send()\nTouch.cancel(p1)\nTouch.wait()","aliases":[],"group":"GESTURE"},{"key":"function-swipe","kind":"FUNCTION","parentKey":null,"name":"swipe","signature":"swipe(points, *, parallel=False)","description":"Igalaw ang isang daliri sa mga SwipePoint ayon sa pagkakasunod. Bilang default, hintaying matapos ang pag-swipe bago magpatuloy.","behavior":"Igalaw ang isang daliri sa mga SwipePoint ayon sa pagkakasunod. Bilang default, hintaying matapos ang pag-swipe bago magpatuloy.","execution":{"blocking":"conditional","threadSafety":"limited","parallel":"conditional","details":"Naglalagay ng touch sa queue ang parallel=True; naghihintay pa rin ang delay_before, delay_after sa labas ng collect. Nag-iipon ang Touch.collect(), nagpapadala ang send(), at naghihintay ang wait(). Maaaring magkaabala ang touch ng iba’t ibang flow."},"limitations":[],"relatedApis":["class-touch-static-method-collect","class-touch-static-method-send","class-touch-static-method-wait"],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"points","type":"list[SwipePoint]","defaultValue":null,"description":"Flat path for one finger. Requires at least 2 points.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"parallel","type":"Boolean","defaultValue":"False","description":"True: ilagay sa pila ang swipe nang hindi hinihintay na matapos. Pagkatapos ng Touch.collect(), hintayin ang Touch.send(). Kanselahin gamit ang Touch.cancel(id), o kanselahin lahat gamit ang Touch.cancel().","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"Number | None","returnDescription":"Nagbabalik lamang ng numeric id kapag parallel=True; kung hindi Wala.","example":"path = [\n    SwipePoint(Point(500, 1500), speed=\"FAST\"),\n    SwipePoint((560, 980), speed=\"NORMAL\", humanized=True),\n    SwipePoint(Point(500, 500))\n]\nswipe(path)\n\nTouch.collect()\nleft = swipe(path, parallel=True)\nright = swipe([\n    SwipePoint(Point(780, 1500), speed=\"FAST\"),\n    SwipePoint(Point(780, 500))\n], parallel=True)\nTouch.send()\nTouch.wait()","aliases":[],"group":"GESTURE"},{"key":"function-wait","kind":"FUNCTION","parentKey":null,"name":"wait","signature":"wait(ms, /)","description":"Ihinto muna ang pagpapatakbo ng script sa tinukoy na bilang ng millisecond.","behavior":"Ihinto muna ang pagpapatakbo ng script sa tinukoy na bilang ng millisecond.","execution":{"blocking":"yes","threadSafety":"limited","parallel":"conditional","details":"Naghihintay sa tagal o pagtatapos ng touch. Maaaring magpatuloy ang ibang flow; umiiral pa rin ang pause at stop."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"ms","type":"Int","defaultValue":null,"description":"Tagal ng paghihintay sa millisecond; nagiging 0 ang negatibong value. Maaari pa ring i-pause o ihinto ang macro habang naghihintay.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"None","returnDescription":"Walang return value","example":"click(Point(500, 900))\nwait(1000)  # Maghintay ng 1 segundo\nclick(Point(500, 900))","aliases":["sleep"],"group":"FLOW"},{"key":"function-text","kind":"FUNCTION","parentKey":null,"name":"text","signature":"text(value, /, focus_index=0)","description":"Palitan ng value ang nilalaman ng isang nae-edit na text field.","behavior":"Palitan ng value ang nilalaman ng isang nae-edit na text field.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"String","defaultValue":null,"description":"Text to input","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"focus_index","type":"Int","defaultValue":"0","description":"0: gamitin ang nae-edit na field na naka-focus, o ang unang nae-edit na field kung walang naka-focus. N >= 1: i-focus at gamitin ang ika-N na nae-edit na field.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"None","returnDescription":"None. Kung walang nahanap na nae-edit na field, walang tekstong ilalagay.","example":"click(Point(300, 500))  # I-click ang input field\nwait(200)\ntext(\"Hello World\", 1)","aliases":[],"group":"INPUT"},{"key":"function-range","kind":"FUNCTION","parentKey":null,"name":"range","signature":"range(stop, /) | range(start, stop, step=1, /)","description":"Bumuo ng isang pagkakasunud-sunod ng mga integer para magamit sa mga for-loop.","behavior":"Bumuo ng isang pagkakasunud-sunod ng mga integer para magamit sa mga for-loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"start","type":"Int","defaultValue":"0","description":"Start value (inclusive)","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"stop","type":"Int","defaultValue":null,"description":"End value (exclusive)","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"step","type":"Int","defaultValue":"1","description":"Pagitan ng magkasunod na value. Gumamit ng negatibong value para magbilang pababa; nagdudulot ng error ang 0.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"}],"returnType":"range","returnDescription":"Hindi nababagong sunod-sunod na buumbilang na maaaring uliting basahin at nagtatapos bago ang stop. Walang laman kung palayo sa stop ang step. Gumamit ng list(result) para sa nae-edit na listahan.","example":"# Mag-click sa limang posisyong magkakapantay ang pagitan\nnumbers = range(5)\n\nfor i in numbers:\n    click(Point(100 + i * 50, 500))  # nagbabalik ng None","aliases":[],"group":"FLOW"},{"key":"function-enumerate","kind":"FUNCTION","parentKey":null,"name":"enumerate","signature":"enumerate(iterable, start=0)","description":"Lagyan ng numero ang mga item na input habang iniikot ang mga ito sa loop.","behavior":"Lagyan ng numero ang mga item na input habang iniikot ang mga ito sa loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Value to enumerate. Dictionaries enumerate keys.","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"start","type":"Int","defaultValue":"0","description":"First index value.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"enumerate","returnDescription":"Iterator na isang beses lang ginagamit at nagbibigay ng mga pares na (index, item). Binabasa lamang ang mga item kapag kailangan. Gumamit ng list(result) para itabi ang mga pares.","example":"# Lagyan ng numero ang mga item bago gamitin\nnames = [\"alpha\", \"beta\"]\nfor pair in enumerate(names, start=1):\n    text(str(pair[0]) + \": \" + pair[1])","aliases":[],"group":"COLLECTION"},{"key":"function-zip","kind":"FUNCTION","parentKey":null,"name":"zip","signature":"zip(*iterables, strict=False)","description":"Pagsamahin ang mga item sa parehong posisyon ng bawat input habang naglo-loop.","behavior":"Pagsamahin ang mga item sa parehong posisyon ng bawat input habang naglo-loop.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterables","type":"Iterable","defaultValue":null,"description":"Values to combine. Dictionaries contribute keys.","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"},{"name":"strict","type":"Boolean","defaultValue":"False","description":"False: huminto sa pinakamaikling input. True: magbigay ng error habang nagbabasa kung magkakaiba ang haba ng mga input. Ibigay ang argumento gamit ang pangalan nito.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"zip","returnDescription":"Iterator na isang beses lang ginagamit at nagbibigay ng mga tuple na may tig-isang item mula sa bawat input. Gumamit ng list(result) para itabi ang mga tuple.","example":"# Ipares ang mga label sa mga click point\nlabels = [\"left\", \"right\"]\npoints = [Point(100, 500), Point(900, 500)]\nfor pair in zip(labels, points):\n    text(pair[0])\n    click(pair[1])","aliases":[],"group":"COLLECTION"},{"key":"function-random","kind":"FUNCTION","parentKey":null,"name":"random","signature":"random()","description":"Magbalik ng random na floating-point na numero sa 0 -> 1 range.","behavior":"Magbalik ng random na floating-point na numero sa 0 -> 1 range.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"Float","returnDescription":"Random na floating-point na halaga sa 0 -> 1 (1 ay eksklusibo).","example":"chance = random()\nif chance < 0.25:\n    text(\"lucky\")","aliases":[],"group":"FLOW"},{"key":"function-random-int","kind":"FUNCTION","parentKey":null,"name":"random_int","signature":"random_int(min, max, /)","description":"Magbalik ng random na integer sa inclusive min -> max na hanay.","behavior":"Magbalik ng random na integer sa inclusive min -> max na hanay.","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"min","type":"Int","defaultValue":null,"description":"Lower bound of the range.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"max","type":"Int","defaultValue":null,"description":"Upper bound of the range.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Random na integer sa pagitan ng min at max (kasama).","example":"delay_steps = random_int(1, 4)\nwait(delay_steps * 100)","aliases":[],"group":"FLOW"},{"key":"function-len","kind":"FUNCTION","parentKey":null,"name":"len","signature":"len(value, /)","description":"Kunin ang laki ng isang String, list/tuple, o dict.","behavior":"Kunin ang laki ng isang String, list/tuple, o dict.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"String | list | tuple | dict","defaultValue":null,"description":"Value to measure","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Bilang ng mga item/character.","example":"name = \"CogniTab\"\ncount = len(name)\ntext(str(count))","aliases":[],"group":"COLLECTION"},{"key":"function-all","kind":"FUNCTION","parentKey":null,"name":"all","signature":"all(iterable, /)","description":"Ibalik ang False sa unang falsy na item; kung wala, True, pati para sa walang lamang iterable. Ginagamit ang karaniwang pag-iterate at pagsusuri ng truth value; sinusuportahan ang pause at stop.","behavior":"Ibalik ang False sa unang falsy na item; kung wala, True, pati para sa walang lamang iterable. Ginagamit ang karaniwang pag-iterate at pagsusuri ng truth value; sinusuportahan ang pause at stop.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Nag-iiterate sa kasalukuyang flow at humihinto sa unang falsy na value. Maaaring tumawag ng user code o maghintay sa host ang iteration o truth test; ipinapasa ang mga error. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Koleksiyon o iterable na susuriin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":null,"example":"# Tiyaking pumasa ang lahat ng score\nscores = [0.9, 0.95]\nprint(all(score >= 0.85 for score in scores))","aliases":[],"group":"COLLECTION"},{"key":"function-any","kind":"FUNCTION","parentKey":null,"name":"any","signature":"any(iterable, /)","description":"Magbalik ng True kung hindi bababa sa isang item sa iterable ay truthy; humihinto sa unang truthy na item. Magbalik ng False kapag walang laman ang iterable o falsy ang bawat item.","behavior":"Magbalik ng True kung hindi bababa sa isang item sa iterable ay truthy; humihinto sa unang truthy na item. Magbalik ng False kapag walang laman ang iterable o falsy ang bawat item.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"Iterable","defaultValue":null,"description":"Koleksiyon, String, range, iterator, o generator expression na susuriin. Maglalabas ng TypeError ang mga value na hindi maaaring i-iterate.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"True kapag may anumang item na truthy; False kung wala.","example":"scores = [0.42, 0.91, 0.65]\nhas_match = any(score >= 0.85 for score in scores)\nif has_match:\n    text(\"found\")","aliases":[],"group":"COLLECTION"},{"key":"function-globals","kind":"FUNCTION","parentKey":null,"name":"globals","signature":"globals()","description":"Ibalik ang live na dictionary ng mga module-level na global variable, function, at class para sa kasalukuyang takbo ng script.","behavior":"Ibalik ang live na dictionary ng mga module-level na global variable, function, at class para sa kasalukuyang takbo ng script.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[],"returnType":"dict","returnDescription":"Live na dict ng mga global symbol. Direktang kumakapit sa global scope ang pagbasa at pag-update gamit ang string key; maglalabas ng error ang mga key na hindi string at ang pagbabago sa Recognition.","example":"status = \"ready\"\nif \"status\" in globals():\n    text(str(globals()[\"status\"]))","aliases":[],"group":"COLLECTION"},{"key":"function-int","kind":"FUNCTION","parentKey":null,"name":"int","signature":"int(value=0, /)","description":"I-convert ang value sa buumbilang at alisin ang bahaging desimal ng numerong input. Dapat buumbilang ang nasa teksto; nagdudulot ng error ang tekstong desimal. Nagiging 1 ang True at 0 ang False.","behavior":"I-convert ang value sa buumbilang at alisin ang bahaging desimal ng numerong input. Dapat buumbilang ang nasa teksto; nagdudulot ng error ang tekstong desimal. Nagiging 1 ang True at 0 ang False.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float | Boolean | String","defaultValue":"0","description":"Value to cast","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Na-convert na halaga ng integer.","example":"threshold = int(3.9)\ntext(str(threshold))","aliases":[],"group":"TYPE_CAST"},{"key":"function-float","kind":"FUNCTION","parentKey":null,"name":"float","signature":"float(value=0.0, /)","description":"I-convert ang value sa numerong desimal. Dapat may wastong numero ang teksto; nagiging 1.0 ang True at 0.0 ang False.","behavior":"I-convert ang value sa numerong desimal. Dapat may wastong numero ang teksto; nagiging 1.0 ang True at 0.0 ang False.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float | Boolean | String","defaultValue":"0.0","description":"Value to cast","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Na-convert na floating-point value.","example":"score = float(\"0.85\")\nif score > 0.8:\n    text(\"ok\")","aliases":[],"group":"TYPE_CAST"},{"key":"function-str","kind":"FUNCTION","parentKey":null,"name":"str","signature":"str(value=\"\", /)","description":"Gawing teksto ang value. Hindi binabago ang mga dati nang string; gumagamit ng notasyong Python ang mga numero at built-in collection.","behavior":"Gawing teksto ang value. Hindi binabago ang mga dati nang string; gumagamit ng notasyong Python ang mga numero at built-in collection.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any","defaultValue":"\"\"","description":"Value to convert","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Text form ng value.","example":"total = 12\ntext(\"Total: \" + str(total))","aliases":[],"group":"TYPE_CAST"},{"key":"function-type","kind":"FUNCTION","parentKey":null,"name":"type","signature":"type(value, /)","description":"Ibalik ang string ng descriptor ng klase na tulad ng Python para sa isang halaga, halimbawa <class 'int'>.","behavior":"Ibalik ang string ng descriptor ng klase na tulad ng Python para sa isang halaga, halimbawa <class 'int'>.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any","defaultValue":null,"description":"Value to inspect","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"String","returnDescription":"Deskriptor ng uri na tulad ng Python.","example":"value = 42\nprint(type(value))","aliases":[],"group":"TYPE_CAST"},{"key":"function-isinstance","kind":"FUNCTION","parentKey":null,"name":"isinstance","signature":"isinstance(value, class_or_tuple, /)","description":"Suriin kung ang value ay kabilang sa built-in na type, DSL value class, o class na tinukoy ng user. Hindi kino-convert ang value.","behavior":"Suriin kung ang value ay kabilang sa built-in na type, DSL value class, o class na tinukoy ng user. Hindi kino-convert ang value.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any","defaultValue":null,"description":"Value na susuriin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"class_or_tuple","type":"Type | tuple[Type, ...]","defaultValue":null,"description":"Gumamit ng mga type reference na walang panipi: bool, int, float, str, list, tuple, dict, set, range, enumerate, zip; mga DSL value class gaya ng Point, Match o AudioMatch; o class na tinukoy ng user. Maaaring maglaman ng ibang tuple ang tuple at sinusuri ito mula kaliwa pakanan hanggang may tumugma. Kapag may naabot na hindi wastong entry bago magkaroon ng tugma, maglalabas ng TypeError. Hindi tinatanggap ang mga string at type(value) dahil text ang ibinabalik ng type(). Ang Flow, System, Storage, Touch, ScreenCapture at Recognition ay mga namespace o context, hindi mga type.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"True kung tumugma ang type; kung hindi, False, pati para sa walang lamang tuple. Tumutugma rin ang bool sa int; magkaibang type ang int at float. Ang mga class na tinukoy ng user ay itinutugma ayon sa kanilang depinisyon, kahit magkapareho ang pangalan.","example":"# Suriin ang uri ng value bago gamitin\nvalue = 42\nif isinstance(value, (int, float)):\n    print(value + 1)\nprint(isinstance(Point(10, 20), Point))","aliases":[],"group":"TYPE_CAST"},{"key":"function-hasattr","kind":"FUNCTION","parentKey":null,"name":"hasattr","signature":"hasattr(object, name, /)","description":"Suriin kung may attribute o method ang object gamit ang karaniwang paghahanap ng attribute sa DSL. Hindi nito tinatawag ang mga method.","behavior":"Suriin kung may attribute o method ang object gamit ang karaniwang paghahanap ng attribute sa DSL. Hindi nito tinatawag ang mga method.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Ginagamit ang karaniwang paghahanap ng attribute nang hindi tumatawag ng method. Maaaring mabasa ang kasalukuyang estado ng host. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"object","type":"Any","defaultValue":null,"description":"Object o namespace na susuriin.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"name","type":"String","defaultValue":null,"description":"Pangalan ng attribute o method. Magkakaroon ng TypeError kung hindi string ang halaga.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"True kapag may attribute, kahit None, False o 0 ang halaga nito. False lamang kapag wala ang attribute; patuloy na iuulat ang ibang error sa paghahanap. Sinusunod ng mga key ng dict ang mga tuntunin ng DSL sa pag-access gamit ang tuldok.","example":"# Basahin lamang ang coordinate kapag may ganoong attribute\nvalue = Point(10, 20)\nif hasattr(value, \"x\"):\n    print(value.x)\nprint(hasattr(value, \"missing\"))","aliases":[],"group":"TYPE_CAST"},{"key":"function-print","kind":"FUNCTION","parentKey":null,"name":"print","signature":"print(*values, sep=\" \", end=\"\\n\")","description":"Isulat ang mga value sa script console ng overlay at magpatuloy sa pagpapatakbo. Ginagamit ang parehong teksto gaya ng str(value).","behavior":"Isulat ang mga value sa script console ng overlay at magpatuloy sa pagpapatakbo. Ginagamit ang parehong teksto gaya ng str(value).","execution":{"blocking":"conditional","threadSafety":"not-guaranteed","parallel":"conditional","details":"Depende sa API ang paghihintay. Gumamit ng hiwalay na object sa bawat flow; maaaring di-inaasahan ang resulta ng pagbabago sa iisang object mula sa maraming flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"values","type":"Any","defaultValue":null,"description":"Values to print","suggestAsNamedArg":false,"requirement":"optional","callingMode":"variadic"},{"name":"sep","type":"String","defaultValue":"\" \"","description":"Separator between values","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"end","type":"String","defaultValue":"\"\\n\"","description":"Suffix appended after each print call","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"None","returnDescription":"Walang return value.","example":"count = 3\nprint(\"remaining\", count, sep=\": \")\nprint(\"done\", end=\"\")","aliases":[],"group":"FLOW"},{"key":"function-bool","kind":"FUNCTION","parentKey":null,"name":"bool","signature":"bool(value=False, /)","description":"I-convert ang value sa True o False para gamitin sa mga kondisyon.","behavior":"I-convert ang value sa True o False para gamitin sa mga kondisyon.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Any","defaultValue":"False","description":"Value to convert","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Boolean","returnDescription":"False para sa None, False, 0, o walang lamang teksto/collection; ginagamit ng Match ang value ng found nito. True sa ibang kaso.","example":"enabled = bool(1)\nif enabled:\n    text(\"enabled\")","aliases":[],"group":"TYPE_CAST"},{"key":"function-abs","kind":"FUNCTION","parentKey":null,"name":"abs","signature":"abs(value, /)","description":"Ibalik ang ganap na halaga.","behavior":"Ibalik ang ganap na halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input number","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int | Float","returnDescription":"Ganap na numerong halaga.","example":"delta = abs(-12.5)\ntext(str(delta))","aliases":[],"group":"MATH"},{"key":"function-sum","kind":"FUNCTION","parentKey":null,"name":"sum","signature":"sum(iterable, /, start=0)","description":"Idagdag ang mga numerong input sa start at ibalik ang kabuuan.","behavior":"Idagdag ang mga numerong input sa start at ibalik ang kabuuan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"list | tuple | set | generator","defaultValue":null,"description":"Collection o generator na nagbibigay ng mga numero nang paisa-isa. Kailangan ng sariling panaklong ang generator expression kung may kasunod na ibang argumento o kuwit sa dulo.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"start","type":"Number","defaultValue":"0","description":"Initial value added before iterable items.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Number","returnDescription":"Kabuuang numerong halaga.","example":"# Kunin ang kabuuan ng mga halagang mula sa generator\nvalues = [1, 2, 3]\ntotal = sum(value * 2 for value in values)\nwith_start = sum((value * 2 for value in values), start=10)\ntext(str(total))\ntext(str(with_start))","aliases":[],"group":"MATH"},{"key":"function-min","kind":"FUNCTION","parentKey":null,"name":"min","signature":"min(iterable, /, *, key=None) | min(iterable, /, *, default, key=None) | min(arg1, arg2, /, *args, key=None)","description":"Ibalik ang pinakamaliit na item mula sa isang iterable o ang pinakamaliit sa dalawa o higit pang argumento. maaaring kalkulahin ng key ang halaga na ginamit para sa pag-order; pinapanatili ng mga ugnayan ang unang bagay na nakatagpo.","behavior":"Ibalik ang pinakamaliit na item mula sa isang iterable o ang pinakamaliit sa dalawa o higit pang argumento. maaaring kalkulahin ng key ang halaga na ginamit para sa pag-order; pinapanatili ng mga ugnayan ang unang bagay na nakatagpo.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Pinoproseso ang mga value sa kasalukuyang flow. Doon din tumatakbo ang key function; magaganap muna ang paghihintay at pagbabago nito bago bumalik ang tawag."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"String | list | tuple | dict","defaultValue":null,"description":"Value na nababasa ang mga item nang paisa-isa, gaya ng listahan o string. Para sa dict, ihambing ang mga key.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"args","type":"Any","defaultValue":null,"description":"Additional positional values when passing two or more arguments.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"variadic"},{"name":"default","type":"Any","defaultValue":"-","description":"Value returned when the single iterable is empty. Only valid with one iterable argument.","suggestAsNamedArg":true,"requirement":"overload-dependent","callingMode":"keyword-only"},{"name":"key","type":"Callable?","defaultValue":"None","description":"Function na tinatawag para sa bawat item; ang resulta nito ang ihahambing sa halip na ang item. Direktang inihahambing ang mga item kapag None.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"Any","returnDescription":"Ang orihinal na pinakamaliit na item, o default kung walang laman ang input. Magkakaroon ng error kung walang laman ang input at walang default, o kung hindi maihahambing ang mga value.","example":"# Piliin ang pinakamababang score, na may ligtas na fallback kapag walang laman ang list\nbest = min([0.9, 0.7, 0.85])\nfallback = min([], default=\"none\")\nclosest = min([12, -5, 7], key=lambda value: abs(value))\ntext(str(closest))","aliases":[],"group":"MATH"},{"key":"function-max","kind":"FUNCTION","parentKey":null,"name":"max","signature":"max(iterable, /, *, key=None) | max(iterable, /, *, default, key=None) | max(arg1, arg2, /, *args, key=None)","description":"Ibalik ang pinakamalaking item mula sa isang iterable o pinakamalaki sa dalawa o higit pang argumento. maaaring kalkulahin ng key ang halaga na ginamit para sa pag-order; pinapanatili ng mga ugnayan ang unang bagay na nakatagpo.","behavior":"Ibalik ang pinakamalaking item mula sa isang iterable o pinakamalaki sa dalawa o higit pang argumento. maaaring kalkulahin ng key ang halaga na ginamit para sa pag-order; pinapanatili ng mga ugnayan ang unang bagay na nakatagpo.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Pinoproseso ang mga value sa kasalukuyang flow. Doon din tumatakbo ang key function; magaganap muna ang paghihintay at pagbabago nito bago bumalik ang tawag."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"String | list | tuple | dict","defaultValue":null,"description":"Value na nababasa ang mga item nang paisa-isa, gaya ng listahan o string. Para sa dict, ihambing ang mga key.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"positional-only"},{"name":"args","type":"Any","defaultValue":null,"description":"Additional positional values when passing two or more arguments.","suggestAsNamedArg":false,"requirement":"overload-dependent","callingMode":"variadic"},{"name":"default","type":"Any","defaultValue":"-","description":"Value returned when the single iterable is empty. Only valid with one iterable argument.","suggestAsNamedArg":true,"requirement":"overload-dependent","callingMode":"keyword-only"},{"name":"key","type":"Callable?","defaultValue":"None","description":"Function na tinatawag para sa bawat item; ang resulta nito ang ihahambing sa halip na ang item. Direktang inihahambing ang mga item kapag None.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"Any","returnDescription":"Ang orihinal na pinakamalaking item, o default kung walang laman ang input. Magkakaroon ng error kung walang laman ang input at walang default, o kung hindi maihahambing ang mga value.","example":"# Piliin ang pinakamataas na score, na may ligtas na fallback kapag walang laman ang list\npeak = max([0.9, 0.7, 0.85])\nfallback = max([], default=\"none\")\nlongest = max([\"a\", \"team\", \"go\"], key=lambda value: len(value))\ntext(longest)","aliases":[],"group":"MATH"},{"key":"function-sorted","kind":"FUNCTION","parentKey":null,"name":"sorted","signature":"sorted(iterable, /, *, key=None, reverse=False)","description":"Magbalik ng bagong listahang inayos mula pinakamaliit hanggang pinakamalaki. Pinananatili ng mga item na magkapantay ang halagang pinaghahambingan ang orihinal nilang pagkakasunod, kahit reverse=True.","behavior":"Magbalik ng bagong listahang inayos mula pinakamaliit hanggang pinakamalaki. Pinananatili ng mga item na magkapantay ang halagang pinaghahambingan ang orihinal nilang pagkakasunod, kahit reverse=True.","execution":{"blocking":"conditional","threadSafety":"isolated","parallel":"conditional","details":"Pinoproseso ang mga value sa kasalukuyang flow. Doon din tumatakbo ang key function; magaganap muna ang paghihintay at pagbabago nito bago bumalik ang tawag."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"iterable","type":"String | list | tuple | dict | set","defaultValue":null,"description":"Value na nababasa ang mga item nang paisa-isa, gaya ng listahan o string. Para sa dict, ayusin ang mga key.","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"key","type":"Callable?","defaultValue":"None","description":"Function na tinatawag para sa bawat item; ang resulta nito ang ihahambing sa halip na ang item. Direktang inihahambing ang mga item kapag None.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"},{"name":"reverse","type":"Boolean","defaultValue":"False","description":"Sort descending when True.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"keyword-only"}],"returnType":"list","returnDescription":"Isang bagong pinagsunod-sunod na listahan. Ang halaga ng input ay hindi binago.","example":"values = sorted([3, 1, 2])\ntext(str(values))","aliases":[],"group":"COLLECTION"},{"key":"function-round","kind":"FUNCTION","parentKey":null,"name":"round","signature":"round(number, ndigits=None)","description":"Round value sa isang ibinigay na bilang ng mga decimal digit.","behavior":"Round value sa isang ibinigay na bilang ng mga decimal digit.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"number","type":"Int | Float","defaultValue":null,"description":"Input number","suggestAsNamedArg":true,"requirement":"required","callingMode":"positional-or-keyword"},{"name":"ndigits","type":"Int?","defaultValue":"None","description":"Bilang ng puwestong desimal na pananatilihin; ang negatibong value ay nagra-round sa sampuan, sandaan, at iba pa. Nagbabalik ng buumbilang ang None. Ang value na nasa eksaktong gitna ay niro-round sa pinakamalapit na resultang even.","suggestAsNamedArg":true,"requirement":"optional","callingMode":"positional-or-keyword"}],"returnType":"Int | Float","returnDescription":"Bilugan na numerong halaga.","example":"ratio = round(0.87654, 2)\ntext(str(ratio))","aliases":[],"group":"MATH"},{"key":"function-sqrt","kind":"FUNCTION","parentKey":null,"name":"sqrt","signature":"sqrt(value, /)","description":"Ibalik ang square root ng isang hindi negatibong halaga.","behavior":"Ibalik ang square root ng isang hindi negatibong halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input number (>= 0)","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"halaga ng square root.","example":"distance = sqrt(144)\ntext(str(distance))","aliases":[],"group":"MATH"},{"key":"function-pow","kind":"FUNCTION","parentKey":null,"name":"pow","signature":"pow(base, exponent, /)","description":"Itaas ang base sa exponent.","behavior":"Itaas ang base sa exponent.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"base","type":"Int | Float","defaultValue":null,"description":"Base value","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"exponent","type":"Int | Float","defaultValue":null,"description":"Exponent value","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int | Float","returnDescription":"Resulta ng kapangyarihan.","example":"boost = pow(1.2, 3)\ntext(str(boost))","aliases":[],"group":"MATH"},{"key":"function-floor","kind":"FUNCTION","parentKey":null,"name":"floor","signature":"floor(value, /)","description":"Ibalik ang pinakamalaking integer na hindi mas malaki kaysa sa halaga.","behavior":"Ibalik ang pinakamalaking integer na hindi mas malaki kaysa sa halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input number","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Floored value.","example":"bucket = floor(9.99)\ntext(str(bucket))","aliases":[],"group":"MATH"},{"key":"function-ceil","kind":"FUNCTION","parentKey":null,"name":"ceil","signature":"ceil(value, /)","description":"Ibalik ang pinakamaliit na integer na hindi mas maliit sa halaga.","behavior":"Ibalik ang pinakamaliit na integer na hindi mas maliit sa halaga.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input number","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Int","returnDescription":"Halaga ng kisame.","example":"bucket = ceil(9.01)\ntext(str(bucket))","aliases":[],"group":"MATH"},{"key":"function-sin","kind":"FUNCTION","parentKey":null,"name":"sin","signature":"sin(value, /)","description":"Ibalik ang sine ng halaga sa radians.","behavior":"Ibalik ang sine ng halaga sa radians.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Angle in radians","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Resulta ng sine.","example":"wave = sin(0)\ntext(str(wave))","aliases":[],"group":"MATH"},{"key":"function-cos","kind":"FUNCTION","parentKey":null,"name":"cos","signature":"cos(value, /)","description":"Ibalik ang cosine ng halaga sa radians.","behavior":"Ibalik ang cosine ng halaga sa radians.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Angle in radians","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Resulta ng cosine.","example":"wave = cos(0)\ntext(str(wave))","aliases":[],"group":"MATH"},{"key":"function-tan","kind":"FUNCTION","parentKey":null,"name":"tan","signature":"tan(value, /)","description":"Ibalik ang tangent ng halaga sa radians.","behavior":"Ibalik ang tangent ng halaga sa radians.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Angle in radians","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Tangent na resulta.","example":"wave = tan(0)\ntext(str(wave))","aliases":[],"group":"MATH"},{"key":"function-log","kind":"FUNCTION","parentKey":null,"name":"log","signature":"log(value, base=None, /)","description":"Ibalik ang logarithm ng halaga. Gumagamit ng natural na log kapag tinanggal ang base.","behavior":"Ibalik ang logarithm ng halaga. Gumagamit ng natural na log kapag tinanggal ang base.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input value (> 0)","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"base","type":"Int | Float","defaultValue":null,"description":"Optional base (> 0 and != 1)","suggestAsNamedArg":false,"requirement":"optional","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Resulta ng logarithm.","example":"bits = log(8, 2)\ntext(str(bits))","aliases":[],"group":"MATH"},{"key":"function-clamp","kind":"FUNCTION","parentKey":null,"name":"clamp","signature":"clamp(value, min, max, /)","description":"Panatilihin ang value sa pagitan ng min at max: palitan ang value na lampas sa saklaw ng pinakamalapit na hangganan. Maaari ring baligtad ang pagkakasunod ng mga hangganan.","behavior":"Panatilihin ang value sa pagitan ng min at max: palitan ang value na lampas sa saklaw ng pinakamalapit na hangganan. Maaari ring baligtad ang pagkakasunod ng mga hangganan.","execution":{"blocking":"no","threadSafety":"isolated","parallel":"yes","details":"Nagkakalkula o nagbabago ng value nang hindi naghihintay sa capture, gesture, o input. Gumamit ng hiwalay na nababagong object sa bawat flow."},"limitations":[],"relatedApis":[],"isCallable":null,"fields":[],"fieldDocs":[],"constants":[],"constructorParams":[],"fieldExample":null,"constructorExample":null,"params":[{"name":"value","type":"Int | Float","defaultValue":null,"description":"Input value","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"min","type":"Int | Float","defaultValue":null,"description":"Lower bound","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"},{"name":"max","type":"Int | Float","defaultValue":null,"description":"Upper bound","suggestAsNamedArg":false,"requirement":"required","callingMode":"positional-only"}],"returnType":"Float","returnDescription":"Naka-clamp na numeric na halaga.","example":"safe = clamp(135, 0, 100)\ntext(str(safe))","aliases":[],"group":"MATH"}]}}