2022.06.13
Swift でというか UIKit で UIView のうえにのっかってるボタンをタップしたときにボタンだけじゃなくてその下の UIView の touchBegan とかも呼ばれてしまうやつをなんとかしたくて JS なら event.stopPropagation とかやるところがぜんぜんわからんし responder chain がどうこうもいまいちよくわからんので結局 UITouch.view で分岐みたいにしたけどなんかきもいので定石が知りたい。
Swift でというか UIKit で UIView のうえにのっかってるボタンをタップしたときにボタンだけじゃなくてその下の UIView の touchBegan とかも呼ばれてしまうやつをなんとかしたくて JS なら event.stopPropagation とかやるところがぜんぜんわからんし responder chain がどうこうもいまいちよくわからんので結局 UITouch.view で分岐みたいにしたけどなんかきもいので定石が知りたい。
なんか変に JS 最適化スイッチがはいってしまって OpenCV.js より vanilla JS のが速いなら速いアルゴリズムを WebAssembly 化したらもっと速くなるのでは?と Rust から WASM 出力するのをやりはじめたけど調べてるうちにもとが JS なら AssemblyScript のが移植しやすいよなーとそっちで書き始めたけど ArrayBuffer を JS 界と WASM 界で をやりとりすると絶対にコピーが走ってしまうが気になってもとの JS をもういちどちゃんとプロファイリングしたら明らかに無駄なところを発見して修正したら処理時間半分になったのでちゃんとプロファイリングするのは大事。
SceneKit でまず背景だけレンダリングして depth だけクリアして全景を別カメラでもう一回描くみたいなことは SCNTechnique を使うとできることがわかったのだけどこれを ARSCNView でやろうとるすると People Occlusion 機能がしれっと内部で SCNTechnique を上書きするらしく両立させるためには別の view にレンダリングしないといけないなーと思ったけどまだそこまで込みったレンダリングいらんかったのでそのへんはまたこんど。