Skip to main content

Add note or assign script text display jumps

when i do

Add note or assign script text…

  1. I first have to select the panel i want to modify

  2. then double click ON THE WORDS “add note or assign script text”

that seems a bit odd (and frustratingly difficult to hit the sweet spot)

and when I finally hit it properly and go into edit mode, the panel jumps to the top of the display, so now I have to re-orient my focus.

can we just leave it where it was when i started editing? and perhaps make getting into the “add note or assign text” mode smoother?

4 comments

Log in to comment and vote

Comments4

  • tekkonkinkreet

    •

    Jul 31

    Would be excellent to have graphic notes, not just typed

  • tekkonkinkreet

    •

    Jul 31

    Understood regarding jump in display - my bad. So used to scribbling notes into the boards and having some difficulty doing it all w keys…

  • ShotGlide

    Team•

    Jul 31

    We tried reproducing this but couldn't get the same behavior on our end. Are you using the iOS on-screen keyboard or an external keyboard?


    Normally you don't need to select the panel first. Double-tapping anywhere inside the notebox, even if that row is not selected, should enter edit mode right away, bring up the iOS keyboard, and place the notebox at the top of the screen ready to edit.


    That top placement is needed since the keyboard covers the lower half of the display. The notebox moves up to stay fully visible while you type. As soon as the keyboard closes, the row returns to center.


    If double-tapping a row doesn't behave that way for you, could you reproduce the issue once, then go to Settings > Logs and email the result to support@shotglide.com? That will show us exactly what happened on your device.


    Tip: the single chevrons above the notebox let you jump one shot forward or back while staying in edit mode.

    • tekkonkinkreet

      •

      Jul 31

      I am using just the iOS keys. Pasted a log and recorded a video showing problem.

      Here is log, vid in next post

      === ShotGlide Debug Log ===

      App version: 2.0 (build 202607302100)

      Device: iPad17,3

      Copied: 2026-07-31T22:35:23.552Z

      Entries: 1000

      PK log verbosity: QUIET

      Name sanitization: applied — 0 name(s) substituted

      This log contains no personal data.

      ---

      [07:31:51.368] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=nfantj storeText="" localValue="" isNativeEditing=false

      [07:31:51.368] INFO: [Windowing Ref] Container ref released (view=script)

      [07:31:51.368] INFO: [PK Pool] Leaving board view - dismissing all overlays

      [07:31:51.371] INFO: [SV] Edit menu enabled

      [07:31:51.372] INFO: [PK Native] ⚡ [5975201.0ms] cancelActiveDrawingAndFlush (skipJpeg=false)

      [07:31:51.372] INFO: [PK Native] 🔄 CLEAR CANVAS & TRACKING (no load) [cancelActiveDrawingAndFlush]

      [07:31:51.372] INFO: [PK Native] 🔒 zonesNeedSync=true (cancelActiveDrawingAndFlush)

      [07:31:51.372] INFO: [PK Native] 📋 [5975200.9ms] MENU: OPEN (wasMenu:false)

      [07:31:51.377] INFO: [PK Native] ⚡ [5975228.7ms] cancelActiveDrawingAndFlush (skipJpeg=false)

      [07:31:51.378] INFO: [PK Native] 🔄 CLEAR CANVAS & TRACKING (no load) [cancelActiveDrawingAndFlush]

      [07:31:51.378] INFO: [PK Native] 📝 setEditMenuEnabled(true)

      [07:31:51.378] INFO: [PK Native] ✅ Restored: BETextInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIAsyncTextInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.378] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UIEditMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: _UIEditMenuBridgedContextMenuInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.379] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.380] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.380] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.380] INFO: [PK Native] ✅ Restored: UITextInteraction

      [07:31:51.380] INFO: [PK Native] ✅ Restored 36 WKContentView interactions

      [07:31:52.389] INFO: [PK Native] ⏱️ ZONE SYNC WATCHDOG (1000ms, no updateVisibleFrames received) — menuMode=true

      [07:31:52.390] INFO: [ER-045] zoneSyncStalled (watchdog, nativeMenuMode=true) — no blocking surface, re-sending zone positions

      [07:31:52.882] INFO: [iOS] 👆 TOUCHSTART on: <DIV> frame=none class="" at=(77,392) type=direct ep=<DIV>

      [07:31:52.905] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(76,392)

      [07:31:52.931] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (32px)

      [07:31:52.931] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=49ms

      [07:31:53.296] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=dn44op storeText="" localValue="" isNativeEditing=false

      [07:31:53.629] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:31:53.648] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(114,455)

      [07:31:53.673] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (35px)

      [07:31:53.673] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=35ms

      [07:31:54.191] INFO: [SV] snap-to-center — closest=2 scrollTop=723 rows=15

      [07:31:54.192] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=59 < 155)

      [07:31:56.489] INFO: [iOS] 👆 TOUCHSTART on: <BUTTON> frame=none class="px-6 py-2.5 bg-[hsl(var(--crea" at=(1228,667) type=direct ep=<BUTTON>

      [07:31:56.504] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1227,667)

      [07:31:56.554] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=62ms

      [07:31:56.554] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=63ms)

      [07:31:56.554] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=65ms

      [07:31:56.556] INFO: [ScriptView] handleImport called, mode=add, isImporting=false

      [07:32:12.252] INFO: [ScriptView] FilePicker result: cancelled=false, hasData=true, filename=Arias_SUNNY_20220224.fountain, tooLarge=false

      [07:32:12.305] INFO: [ScriptView] Parsed 2753 paragraphs from "Arias_SUNNY_20220224.fountain" (ext=fountain)

      [07:32:12.305] INFO: [ScriptView] Font decision for "Arias_SUNNY_20220224.fountain": screenplay

      [07:32:12.306] INFO: [ScriptView] addTab returned: bb29a46f-2d3f-4b98-80ce-edd4d371731b

      [07:32:12.306] INFO: [ScriptView] Added tab "Arias_SUNNY_20220224.fountain" with 2753 paragraphs

      [07:32:13.878] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=1250 y=929

      [07:32:13.914] INFO: [iOS] 👆 TOUCHSTART on: <DIV> frame=none class="h-full overflow-y-auto px-6 py" at=(1250,929) type=direct ep=<DIV>

      [07:32:13.915] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1250,928)

      [07:32:13.915] INFO: [SV-Sel] move pre-timer — adx=3.5 ady=13.0 dist=13.5 ratio=3.7 elapsed=37ms (kept)

      [07:32:13.915] INFO: [SV-Sel] move pre-timer — adx=3.5 ady=13.0 dist=13.5 ratio=3.7 elapsed=37ms (kept)

      [07:32:14.074] INFO: [SV-Sel] move CANCEL→scroll — adx=5.0 ady=42.5 dist=42.8 ratio=8.5 elapsed=196ms

      [07:32:14.108] INFO: [SV-Sel] pointerUp — wasSelecting=false elapsed=230ms dx=-5.5 dy=-44.0 dist=44.3 rAFframes=0

      [07:32:14.108] INFO: [SV-Sel] pointerCancel — restoring touch-action

      [07:32:14.108] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (32px)

      [07:32:14.108] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=75ms

      [07:32:14.109] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1237,882)

      [07:32:14.118] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (33px)

      [07:32:14.118] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=81ms

      [07:32:18.236] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=478 y=484

      [07:32:18.236] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:18.237] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(478,484) type=stylus ep=<TEXTAREA>

      [07:32:18.303] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=478 y=483

      [07:32:18.303] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:18.303] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:18.303] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:18.309] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,438) 501x287

      [07:32:18.310] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:18.912] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:32:19.445] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=598 y=617

      [07:32:19.445] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:19.445] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(598,617) type=stylus ep=<TEXTAREA>

      [07:32:19.570] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=607 y=623

      [07:32:19.570] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:19.570] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:19.570] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:19.572] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:19.573] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,438) 501x287

      [07:32:20.177] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:32:21.184] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=437 y=531

      [07:32:21.184] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:21.184] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(437,531) type=stylus ep=<TEXTAREA>

      [07:32:21.745] INFO: [SV] snap-to-center — closest=2 scrollTop=706 rows=15

      [07:32:21.746] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=42 < 155)

      [07:32:22.937] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=504 y=503

      [07:32:22.937] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:22.937] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(504,503) type=direct ep=<TEXTAREA>

      [07:32:22.960] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(503,502)

      [07:32:23.019] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=504 y=503

      [07:32:23.019] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:23.019] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:23.019] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:23.025] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=84ms

      [07:32:23.025] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=84ms)

      [07:32:23.025] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=87ms

      [07:32:23.028] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,455) 501x287

      [07:32:23.029] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:23.631] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:32:23.912] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=432 y=492

      [07:32:23.912] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:23.913] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(432,492) type=direct ep=<TEXTAREA>

      [07:32:23.936] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(432,491)

      [07:32:24.019] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=432 y=492

      [07:32:24.019] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:24.020] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:24.020] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:24.025] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=109ms

      [07:32:24.025] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=109ms)

      [07:32:24.025] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=112ms

      [07:32:24.027] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,455) 501x287

      [07:32:24.028] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:24.630] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:32:33.704] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=464 y=496

      [07:32:33.704] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:33.704] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(464,496) type=direct ep=<TEXTAREA>

      [07:32:33.727] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(464,496)

      [07:32:33.761] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=464 y=496

      [07:32:33.761] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:33.761] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:33.761] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:33.765] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=58ms

      [07:32:33.765] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=58ms)

      [07:32:33.765] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=61ms

      [07:32:33.767] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,455) 501x287

      [07:32:33.768] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:33.859] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=466 y=496

      [07:32:33.860] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:33.860] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(466,496) type=direct ep=<TEXTAREA>

      [07:32:33.873] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(466,496)

      [07:32:33.939] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=466 y=496

      [07:32:33.939] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:33.939] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:33.939] INFO: [SV-NoteBox] edit branch reached — frame=hpl5yc

      [07:32:33.944] INFO: [SV] handleNativeEditStart — frame=2

      [07:32:33.947] INFO: [SV] pre-scroll — delta=276px (kbEst=564)

      [07:32:33.947] INFO: [SV] handleNativeEditStart — savedScroll=982 overflowY=hidden

      [07:32:33.947] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=179 w=502 h=287

      [07:32:33.952] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=77ms

      [07:32:33.952] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=77ms)

      [07:32:33.952] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=82ms

      [07:32:33.952] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:32:33.953] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:32:33.958] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:32:33.959] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,179) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3

      [07:32:34.103] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:32:34.115] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:32:34.115] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:32:34.362] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:32:34.363] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:32:34.363] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:32:34.807] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=2

      [07:32:35.118] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=2

      [07:32:35.119] INFO: [PK Native] 📝 NOTE EDITOR: backdrop tap suppressed (hasReceivedFirstTouch=false)

      [07:32:35.119] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:32:35.119] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3 len=0

      [07:32:35.120] INFO: [SV-NoteBox] noteEditComplete received — frame=hpl5yc len=0 cancelledBlur=false

      [07:32:35.120] INFO: [SV] handleNativeEditEnd — frameIdx=2 scrollNow=982 savedScroll=982

      [07:32:35.122] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:35.122] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:35.122] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:32:35.122] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 28) contentOffset=(0.0, 0.0)

      [07:32:35.122] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:32:35.127] INFO: [SV-scroll] scrollRowToCenter(2, smooth) — scrollTop=982 offset=-318 rowTop=171 ctrTop=88 ctrH=1112

      [07:32:35.147] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=960)

      [07:32:35.436] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 28) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:32:35.494] INFO: [SV] snap-to-center — closest=2 scrollTop=664 rows=15

      [07:32:35.494] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:32:40.386] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=435 y=547

      [07:32:40.386] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:40.386] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(435,547) type=stylus ep=<TEXTAREA>

      [07:32:40.454] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=436 y=547

      [07:32:40.454] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:40.454] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:40.454] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:32:40.459] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:32:40.462] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:32:40.586] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=444 y=543

      [07:32:40.586] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:32:40.587] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(444,543) type=stylus ep=<TEXTAREA>

      [07:32:40.639] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=444 y=542

      [07:32:40.640] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:32:40.640] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:32:40.640] INFO: [SV-NoteBox] edit branch reached — frame=hpl5yc

      [07:32:40.640] INFO: [SV] handleNativeEditStart — frame=2

      [07:32:40.642] INFO: [SV] pre-scroll — delta=307px (kbEst=586)

      [07:32:40.642] INFO: [SV] handleNativeEditStart — savedScroll=971 overflowY=hidden

      [07:32:40.643] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:32:40.645] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:32:40.645] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:32:40.651] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:32:40.652] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3

      [07:32:40.795] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:32:40.805] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:32:40.805] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:32:41.049] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:32:41.049] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:32:41.076] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:32:41.490] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=2

      [07:32:42.041] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=2

      [07:32:42.041] INFO: [PK Native] 📝 NOTE EDITOR: backdrop tap suppressed (hasReceivedFirstTouch=false)

      [07:32:42.041] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:32:42.041] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3 len=0

      [07:32:42.042] INFO: [SV-NoteBox] noteEditComplete received — frame=hpl5yc len=0 cancelledBlur=false

      [07:32:42.042] INFO: [SV] handleNativeEditEnd — frameIdx=2 scrollNow=971 savedScroll=971

      [07:32:42.043] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:42.043] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:32:42.043] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:32:42.043] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 30) contentOffset=(0.0, 0.0)

      [07:32:42.043] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:32:42.047] INFO: [SV-scroll] scrollRowToCenter(2, smooth) — scrollTop=971 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:32:42.063] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=956)

      [07:32:42.355] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 30) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:32:42.411] INFO: [SV] snap-to-center — closest=2 scrollTop=664 rows=15

      [07:32:42.411] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:32:50.968] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=901 y=259

      [07:32:51.009] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(901,259) type=direct ep=<P>

      [07:32:51.009] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(900,258)

      [07:32:51.171] INFO: [SV-Sel] longPress FIRED — selection mode ON, paragraphs=2753 domNodes=2754

      [07:32:51.409] WARN: [iOS] ⏱️ LONG PRESS detected on: <P> class="" frame=none

      [07:32:52.304] INFO: [SV-Sel] pointerUp — wasSelecting=true elapsed=1336ms dx=0.0 dy=0.0 dist=0.0 rAFframes=0

      [07:32:52.371] INFO: [SV-Sel] canvas init: css=735x1039 dpr=2 bcr=(865,161,735x1039) parent=flex-1 min-h-0 relative

      [07:32:52.373] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=1336ms

      [07:32:52.373] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=1336ms)

      [07:32:52.373] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=1340ms

      [07:32:53.570] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=904 y=251

      [07:32:53.609] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(904,251) type=direct ep=<P>

      [07:32:53.609] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(904,251)

      [07:32:53.767] INFO: [SV-Sel] pointerUp — wasSelecting=false elapsed=198ms dx=0.0 dy=0.0 dist=0.0 rAFframes=0

      [07:32:53.802] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=908 y=250

      [07:32:53.819] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(908,250) type=direct ep=<P>

      [07:32:53.820] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=68ms

      [07:32:53.820] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=68ms)

      [07:32:53.820] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=69ms

      [07:32:53.821] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(907,250)

      [07:32:53.821] INFO: [SV-Sel] pointerUp — wasSelecting=false elapsed=19ms dx=0.0 dy=0.0 dist=0.0 rAFframes=0

      [07:32:53.854] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=73ms

      [07:32:53.854] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=73ms)

      [07:32:53.854] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=74ms

      [07:32:54.536] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=903 y=260

      [07:32:54.576] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(903,260) type=direct ep=<P>

      [07:32:54.576] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(903,260)

      [07:32:54.736] INFO: [SV-Sel] longPress FIRED — selection mode ON, paragraphs=2753 domNodes=2754

      [07:32:54.977] WARN: [iOS] ⏱️ LONG PRESS detected on: <P> class="" frame=none

      [07:32:55.105] INFO: [SV-Sel] rAF#1 caretFromPt=1.0ms gCR=0.0ms raw=1 out=1 paint=0.0ms total=1.0ms

      [07:32:55.737] INFO: [SV-Sel] pointerUp — wasSelecting=true elapsed=1201ms dx=1.0 dy=-3.5 dist=3.6 rAFframes=2

      [07:32:55.806] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=1200ms

      [07:32:55.806] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=1200ms)

      [07:32:55.806] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=1201ms

      [07:32:56.545] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=908 y=258

      [07:32:56.584] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(908,258) type=direct ep=<P>

      [07:32:56.584] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(908,258)

      [07:32:56.744] INFO: [SV-Sel] move pre-timer — adx=47.0 ady=16.5 dist=49.8 ratio=0.4 elapsed=200ms (kept)

      [07:32:56.744] INFO: [SV-Sel] move pre-timer — adx=47.0 ady=16.5 dist=49.8 ratio=0.4 elapsed=200ms (kept)

      [07:32:56.744] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (31px)

      [07:32:56.744] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=174ms

      [07:32:56.745] INFO: [SV-Sel] pointerCancel — restoring touch-action

      [07:32:59.236] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=893 y=335

      [07:32:59.274] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(893,335) type=stylus ep=<P>

      [07:32:59.436] INFO: [SV-Sel] longPress FIRED — selection mode ON, paragraphs=2753 domNodes=2754

      [07:32:59.452] INFO: [SV-Sel] rAF#1 caretFromPt=0.0ms gCR=0.0ms raw=1 out=0 paint=0.0ms total=0.0ms

      [07:32:59.619] INFO: [SV-Sel] rAF#11 caretFromPt=0.0ms gCR=0.0ms raw=1 out=0 paint=0.0ms total=0.0ms

      [07:32:59.786] INFO: [SV-Sel] rAF#21 caretFromPt=1.0ms gCR=0.0ms raw=1 out=0 paint=0.0ms total=1.0ms

      [07:32:59.953] INFO: [SV-Sel] rAF#31 caretFromPt=0.0ms gCR=0.0ms raw=1 out=0 paint=0.0ms total=0.0ms

      [07:33:00.120] INFO: [SV-Sel] rAF#41 caretFromPt=0.0ms gCR=0.0ms raw=1 out=0 paint=0.0ms total=0.0ms

      [07:33:00.286] INFO: [SV-Sel] rAF#51 caretFromPt=0.0ms gCR=0.0ms raw=2 out=2 paint=0.0ms total=1.0ms

      [07:33:00.453] INFO: [SV-Sel] rAF#61 caretFromPt=0.0ms gCR=0.0ms raw=3 out=2 paint=0.0ms total=0.0ms

      [07:33:00.620] INFO: [SV-Sel] rAF#71 caretFromPt=0.0ms gCR=0.0ms raw=3 out=2 paint=0.0ms total=0.0ms

      [07:33:00.787] INFO: [SV-Sel] rAF#81 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:00.953] INFO: [SV-Sel] rAF#91 caretFromPt=0.0ms gCR=1.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:01.120] INFO: [SV-Sel] rAF#101 caretFromPt=1.0ms gCR=0.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:01.286] INFO: [SV-Sel] rAF#111 caretFromPt=1.0ms gCR=0.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:01.453] INFO: [SV-Sel] rAF#121 caretFromPt=0.0ms gCR=0.0ms raw=9 out=5 paint=1.0ms total=1.0ms

      [07:33:01.620] INFO: [SV-Sel] rAF#131 caretFromPt=1.0ms gCR=0.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:01.786] INFO: [SV-Sel] rAF#141 caretFromPt=1.0ms gCR=0.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:01.953] INFO: [SV-Sel] rAF#151 caretFromPt=1.0ms gCR=0.0ms raw=9 out=5 paint=0.0ms total=1.0ms

      [07:33:02.120] INFO: [SV-Sel] rAF#161 caretFromPt=0.0ms gCR=1.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:02.286] INFO: [SV-Sel] rAF#171 caretFromPt=1.0ms gCR=0.0ms raw=11 out=7 paint=0.0ms total=1.0ms

      [07:33:02.453] INFO: [SV-Sel] rAF#181 caretFromPt=1.0ms gCR=0.0ms raw=11 out=7 paint=0.0ms total=1.0ms

      [07:33:02.620] INFO: [SV-Sel] rAF#191 caretFromPt=0.0ms gCR=0.0ms raw=11 out=6 paint=0.0ms total=0.0ms

      [07:33:02.787] INFO: [SV-Sel] rAF#201 caretFromPt=1.0ms gCR=0.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:02.953] INFO: [SV-Sel] rAF#211 caretFromPt=1.0ms gCR=0.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:03.120] INFO: [SV-Sel] rAF#221 caretFromPt=1.0ms gCR=0.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:03.287] INFO: [SV-Sel] rAF#231 caretFromPt=1.0ms gCR=0.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:03.453] INFO: [SV-Sel] rAF#241 caretFromPt=0.0ms gCR=1.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:03.620] INFO: [SV-Sel] rAF#251 caretFromPt=0.0ms gCR=1.0ms raw=11 out=6 paint=0.0ms total=1.0ms

      [07:33:03.786] INFO: [SV-Sel] rAF#261 caretFromPt=1.0ms gCR=0.0ms raw=9 out=6 paint=0.0ms total=1.0ms

      [07:33:03.953] INFO: [SV-Sel] rAF#271 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:04.120] INFO: [SV-Sel] rAF#281 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=0.0ms

      [07:33:04.287] INFO: [SV-Sel] rAF#291 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:04.453] INFO: [SV-Sel] rAF#301 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=1.0ms total=1.0ms

      [07:33:04.620] INFO: [SV-Sel] rAF#311 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:04.786] INFO: [SV-Sel] rAF#321 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:04.953] INFO: [SV-Sel] rAF#331 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:05.120] INFO: [SV-Sel] rAF#341 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=0.0ms

      [07:33:05.287] INFO: [SV-Sel] rAF#351 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:05.470] INFO: [SV-Sel] rAF#361 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=0.0ms

      [07:33:05.636] INFO: [SV-Sel] rAF#371 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:05.937] INFO: [SV-Sel] rAF#381 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:06.103] INFO: [SV-Sel] rAF#391 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=0.0ms

      [07:33:06.353] INFO: [SV-Sel] rAF#401 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:06.520] INFO: [SV-Sel] rAF#411 caretFromPt=0.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=0.0ms

      [07:33:06.686] INFO: [SV-Sel] rAF#421 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:06.853] INFO: [SV-Sel] rAF#431 caretFromPt=1.0ms gCR=0.0ms raw=7 out=5 paint=0.0ms total=1.0ms

      [07:33:06.971] INFO: [SV-Sel] pointerUp — wasSelecting=true elapsed=7735ms dx=605.5 dy=114.0 dist=616.1 rAFframes=437

      [07:33:24.264] INFO: [ScriptView] Assigned 120 chars to shot 3 (suffix=hpl5yc)

      [07:33:24.266] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=hpl5yc storeText="Sei stares into his " localValue="" isNativeEditing=false

      [07:33:24.270] INFO: [iOS] 👆 TOUCHSTART on: <BUTTON> frame=none class="flex items-center justify-cent" at=(932,63) type=stylus ep=<DIV>

      [07:33:30.905] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=374 y=537

      [07:33:30.905] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:30.906] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(374,537) type=direct ep=<TEXTAREA>

      [07:33:30.928] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(373,537)

      [07:33:31.307] WARN: [iOS] ⏱️ LONG PRESS detected on: <TEXTAREA> class="w-full h-full resize-none bg-t" frame=none

      [07:33:31.821] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=375 y=538

      [07:33:31.821] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:31.821] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:31.821] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:31.844] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=915ms

      [07:33:31.844] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=916ms)

      [07:33:31.845] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=937ms

      [07:33:31.902] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:32.448] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:32.633] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=396 y=546

      [07:33:32.633] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:32.633] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(396,546) type=direct ep=<TEXTAREA>

      [07:33:32.647] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(396,546)

      [07:33:32.720] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (30px)

      [07:33:32.720] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=88ms

      [07:33:33.514] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=633 y=600

      [07:33:33.514] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:33.514] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:33.514] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:33.530] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:34.130] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:34.230] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=442 y=538

      [07:33:34.231] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:34.231] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(442,538) type=direct ep=<TEXTAREA>

      [07:33:34.253] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(441,538)

      [07:33:34.632] WARN: [iOS] ⏱️ LONG PRESS detected on: <TEXTAREA> class="w-full h-full resize-none bg-t" frame=none

      [07:33:35.213] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=442 y=538

      [07:33:35.213] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:35.214] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:35.214] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:35.236] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=982ms

      [07:33:35.236] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=982ms)

      [07:33:35.236] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=1003ms

      [07:33:35.264] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:35.840] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:35.992] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=394 y=531

      [07:33:35.992] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:35.992] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(394,531) type=direct ep=<TEXTAREA>

      [07:33:36.007] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(394,530)

      [07:33:36.187] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (30px)

      [07:33:36.187] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=196ms

      [07:33:36.313] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=353 y=523

      [07:33:36.313] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:36.313] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:36.314] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:36.330] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:36.930] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:37.881] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=368 y=538

      [07:33:37.881] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:37.881] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(368,538) type=stylus ep=<TEXTAREA>

      [07:33:39.565] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=555 y=568

      [07:33:39.565] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:39.565] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:39.565] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:39.626] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:40.226] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:40.595] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=378 y=535

      [07:33:40.595] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:40.596] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(378,535) type=stylus ep=<TEXTAREA>

      [07:33:40.713] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=379 y=535

      [07:33:40.713] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:40.713] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:40.713] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:40.720] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:33:40.722] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:33:40.820] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=378 y=538

      [07:33:40.821] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:40.821] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(378,538) type=stylus ep=<TEXTAREA>

      [07:33:40.986] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=380 y=537

      [07:33:40.986] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:40.986] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:40.986] INFO: [SV-NoteBox] edit branch reached — frame=hpl5yc

      [07:33:40.986] INFO: [SV] handleNativeEditStart — frame=2

      [07:33:40.990] INFO: [SV] pre-scroll — delta=307px (kbEst=586)

      [07:33:40.990] INFO: [SV] handleNativeEditStart — savedScroll=971 overflowY=hidden

      [07:33:40.990] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:33:40.999] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:33:41.006] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:33:41.006] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:33:41.150] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:33:45.141] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3

      [07:33:45.189] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=53fbsb x=394 y=546

      [07:33:45.189] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:45.189] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(394,546) type=stylus ep=<TEXTAREA>

      [07:33:45.197] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=53fbsb x=394 y=544

      [07:33:45.197] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=false target=<TEXTAREA> frame=53fbsb

      [07:33:45.197] INFO: [SV-NoteBox] handleTap fired — frameId=53fbsb, isEditing=false, isActive=false

      [07:33:45.197] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:33:45.200] INFO: [SV-NoteBox] DEACTIVATE effect — frame=hpl5yc isActive=false isEditing=true localValue="Sei stares into his "

      [07:33:45.201] INFO: [SV] handleNativeEditEnd — frameIdx=2 scrollNow=971 savedScroll=971

      [07:33:45.202] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=53fbsb x=370 y=541

      [07:33:45.202] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:45.202] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(370,541) type=stylus ep=<TEXTAREA>

      [07:33:45.204] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=53fbsb x=372 y=541

      [07:33:45.204] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=53fbsb

      [07:33:45.204] INFO: [SV-NoteBox] handleTap fired — frameId=53fbsb, isEditing=false, isActive=true

      [07:33:45.204] INFO: [SV-NoteBox] edit branch reached — frame=53fbsb

      [07:33:45.204] INFO: [SV] handleNativeEditStart — frame=3

      [07:33:45.205] INFO: [SV] pre-scroll — delta=310px (kbEst=586)

      [07:33:45.205] INFO: [SV] handleNativeEditStart — savedScroll=1281 overflowY=hidden

      [07:33:45.205] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:33:45.206] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=ihxofx x=794 y=605

      [07:33:45.206] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:45.207] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(794,605) type=stylus ep=<TEXTAREA>

      [07:33:45.208] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=791 y=606

      [07:33:45.208] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=false target=<TEXTAREA> frame=ihxofx

      [07:33:45.208] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=false

      [07:33:45.208] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:33:45.209] INFO: [SV-NoteBox] DEACTIVATE effect — frame=53fbsb isActive=false isEditing=true localValue=""

      [07:33:45.210] INFO: [SV] handleNativeEditEnd — frameIdx=3 scrollNow=1281 savedScroll=1281

      [07:33:45.210] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=ihxofx x=777 y=604

      [07:33:45.210] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:45.210] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(777,604) type=stylus ep=<TEXTAREA>

      [07:33:45.212] INFO: [SV-scroll] scrollRowToCenter(2, smooth) — scrollTop=1281 offset=-617 rowTop=-128 ctrTop=88 ctrH=1112

      [07:33:45.212] INFO: [SV-scroll] scrollRowToCenter(3, smooth) — scrollTop=1281 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:33:45.215] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=134wls storeText="" localValue="" isNativeEditing=false

      [07:33:45.215] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = nil

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDITOR: backdrop tap suppressed (hasReceivedFirstTouch=false)

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3 len=120

      [07:33:45.216] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.217] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.217] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.217] INFO: [PK Native] ✋ pencil blocked (menuMode)

      [07:33:45.217] INFO: [PK Native] ✋ pencil blocked (menuMode)

      [07:33:45.217] INFO: [PK Native] ✋ pencil blocked (menuMode)

      [07:33:45.217] INFO: [PK Native] ✋ pencil blocked (menuMode)

      [07:33:45.223] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=779 y=602

      [07:33:45.223] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=ihxofx

      [07:33:45.223] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=true

      [07:33:45.223] INFO: [SV-NoteBox] edit branch reached — frame=ihxofx

      [07:33:45.223] INFO: [SV] handleNativeEditStart — frame=4

      [07:33:45.223] INFO: [SV] pre-scroll — delta=310px (kbEst=586)

      [07:33:45.223] INFO: [SV] handleNativeEditStart — savedScroll=1591 overflowY=hidden

      [07:33:45.223] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:33:45.225] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=198uhs x=779 y=604

      [07:33:45.225] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:45.225] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(779,604) type=stylus ep=<TEXTAREA>

      [07:33:45.233] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,500) 501x287

      [07:33:45.233] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 32) contentOffset=(0.0, 0.0)

      [07:33:45.233] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-4

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,500) 501x287

      [07:33:45.234] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 34) contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.234] INFO: [PK Native] ✋ pencil blocked (menuMode)

      [07:33:45.236] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:33:45.236] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-5

      [07:33:45.238] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=1591)

      [07:33:45.243] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=si3fg4 storeText="" localValue="" isNativeEditing=false

      [07:33:45.354] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=198uhs x=779 y=604

      [07:33:45.354] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=false target=<TEXTAREA> frame=198uhs

      [07:33:45.354] INFO: [SV-NoteBox] handleTap fired — frameId=198uhs, isEditing=false, isActive=false

      [07:33:45.354] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:33:45.356] INFO: [SV-NoteBox] DEACTIVATE effect — frame=ihxofx isActive=false isEditing=true localValue=""

      [07:33:45.357] INFO: [SV] handleNativeEditEnd — frameIdx=4 scrollNow=1591 savedScroll=1591

      [07:33:45.357] INFO: [SV-scroll] scrollRowToCenter(4, smooth) — scrollTop=1591 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:33:45.359] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,500) 501x287

      [07:33:45.359] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 36) contentOffset=(0.0, 0.0)

      [07:33:45.359] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:33:45.360] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:45.360] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.360] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:45.360] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:45.531] INFO: [PK Native] 🔒 setWebViewScrollEnabled — dampen skipped (gen 32 stale, current 36)

      [07:33:45.531] INFO: [PK Native] 🔒 setWebViewScrollEnabled — dampen skipped (gen 34 stale, current 36)

      [07:33:45.673] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 36) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:33:45.821] INFO: [SV] snap-to-center blocked (userTapped)

      [07:33:46.156] INFO: [SV] markUserTapped timer — calling scrollRowToCenter(5)

      [07:33:46.156] INFO: [SV-scroll] scrollRowToCenter(5, smooth) — scrollTop=1284 offset=310 rowTop=799 ctrTop=88 ctrH=1112

      [07:33:46.381] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=si3fg4 storeText="" localValue="" isNativeEditing=false

      [07:33:46.621] INFO: [SV] snap-to-center — closest=5 scrollTop=1594 rows=18

      [07:33:46.621] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:33:46.939] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=198uhs x=602 y=521

      [07:33:46.939] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:46.940] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(602,521) type=direct ep=<TEXTAREA>

      [07:33:46.962] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(602,521)

      [07:33:46.971] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (38px)

      [07:33:46.971] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=32ms

      [07:33:47.688] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=false frame=j13pll x=664 y=977

      [07:33:47.688] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:47.688] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(664,977) type=direct ep=<TEXTAREA>

      [07:33:47.699] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(664,976)

      [07:33:47.738] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (40px)

      [07:33:47.738] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=50ms

      [07:33:47.957] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=dn44op storeText="" localValue="" isNativeEditing=false

      [07:33:48.079] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(615,710)

      [07:33:48.229] INFO: [SV] snap-to-center — closest=3 scrollTop=844 rows=15

      [07:33:48.229] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=130 < 155)

      [07:33:48.263] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (38px)

      [07:33:48.264] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=194ms

      [07:33:48.588] INFO: [SV] snap-to-center — closest=2 scrollTop=768 rows=15

      [07:33:48.589] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=104 < 155)

      [07:33:48.763] INFO: [SV] snap-to-center — closest=2 scrollTop=768 rows=15

      [07:33:48.763] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=104 < 155)

      [07:33:49.373] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=true frame=hpl5yc x=711 y=551

      [07:33:49.373] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:49.373] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(711,551) type=direct ep=<TEXTAREA>

      [07:33:49.396] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(711,551)

      [07:33:49.429] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=hpl5yc x=711 y=551

      [07:33:49.429] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:49.429] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:49.429] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:49.433] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=58ms

      [07:33:49.433] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=58ms)

      [07:33:49.433] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=60ms

      [07:33:49.435] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,393) 501x287

      [07:33:49.436] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:33:50.038] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:33:50.296] INFO: [SV-Sel] pointerDown — caret hit, touch-action=none, timer=150ms x=1130 y=820

      [07:33:50.334] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(1130,820) type=direct ep=<P>

      [07:33:50.334] INFO: [SV-Sel] move pre-timer — adx=56.0 ady=99.0 dist=113.7 ratio=1.8 elapsed=38ms (kept)

      [07:33:50.334] INFO: [iOS] 👆 TOUCHSTART on: <P> frame=none class="" at=(1074,919) type=direct ep=<P>

      [07:33:50.335] INFO: [SV-Sel] move pre-timer — adx=3.5 ady=7.0 dist=7.8 ratio=2.0 elapsed=39ms (kept)

      [07:33:50.335] INFO: [SV-Sel] move pre-timer — adx=3.5 ady=7.0 dist=7.8 ratio=2.0 elapsed=39ms (kept)

      [07:33:50.335] INFO: [SV-Sel] pointerCancel — restoring touch-action

      [07:33:50.377] INFO: [SV-Sel] pointerCancel — restoring touch-action

      [07:33:50.377] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1130,820)

      [07:33:50.377] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=2 peak=2 elapsed=27ms at=(1074,919)

      [07:33:50.378] INFO: [PK Native] [GestureUndo] touchesCancelled: remaining=1 peak=2

      [07:33:50.378] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (43px)

      [07:33:50.378] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=2 elapsed=33ms

      [07:33:50.734] WARN: [iOS] ⏱️ LONG PRESS detected on: <P> class="" frame=none

      [07:33:51.094] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=790 y=498

      [07:33:51.094] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:51.095] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(790,498) type=stylus ep=<TEXTAREA>

      [07:33:51.211] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=790 y=499

      [07:33:51.211] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:51.211] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:51.211] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:33:51.219] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,393) 501x287

      [07:33:51.220] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:33:51.327] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=hpl5yc x=791 y=499

      [07:33:51.328] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:33:51.328] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(791,499) type=stylus ep=<TEXTAREA>

      [07:33:51.465] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=hpl5yc x=791 y=499

      [07:33:51.466] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=hpl5yc

      [07:33:51.466] INFO: [SV-NoteBox] handleTap fired — frameId=hpl5yc, isEditing=false, isActive=true

      [07:33:51.466] INFO: [SV-NoteBox] edit branch reached — frame=hpl5yc

      [07:33:51.466] INFO: [SV] handleNativeEditStart — frame=2

      [07:33:51.470] INFO: [SV] pre-scroll — delta=203px (kbEst=586)

      [07:33:51.470] INFO: [SV] handleNativeEditStart — savedScroll=971 overflowY=hidden

      [07:33:51.471] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:33:51.474] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:33:51.475] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:33:51.483] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:33:51.483] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:33:51.484] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3

      [07:33:51.626] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:33:51.639] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:33:51.639] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:33:51.885] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:33:51.885] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:33:51.885] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:33:52.071] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (430.29108810424805, 289.8534631729126) → true

      [07:33:52.328] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=2

      [07:33:54.810] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=2

      [07:33:54.814] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=false isFirstR=true pending=false

      [07:33:54.814] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — cycling responder (already first responder)

      [07:33:54.982] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=true isFirstR=true pending=false

      [07:33:55.056] INFO: [SV-VV] transition — was=false now=true kbH=614 editActive=true settling=false afIdx=2

      [07:33:55.056] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=2

      [07:33:55.065] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (16.0, 14.0) → true

      [07:33:55.324] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (23.109634399414062, 14.19461727142334) → true

      [07:33:55.749] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=true isFirstR=true pending=false

      [07:33:55.818] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (12.0, 14.0) → true

      [07:33:55.868] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (14.0, 14.5) → true

      [07:33:56.765] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=true isFirstR=true pending=false

      [07:34:00.406] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=true isFirstR=true pending=false

      [07:34:00.475] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (12.5, 38.0) → true

      [07:34:00.580] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (15.0, 40.5) → true

      [07:34:03.520] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=2

      [07:34:03.521] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:34:03.522] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-3 len=47

      [07:34:03.522] INFO: [SV-NoteBox] noteEditComplete received — frame=hpl5yc len=47 cancelledBlur=false

      [07:34:03.522] INFO: [SV] handleNativeEditEnd — frameIdx=2 scrollNow=971 savedScroll=971

      [07:34:03.525] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=hpl5yc storeText="MAN'S VOICE (resigne" localValue="MAN'S VOICE (resigne" isNativeEditing=false

      [07:34:03.526] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:03.526] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:03.526] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:03.528] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 38) contentOffset=(0.0, 0.0)

      [07:34:03.528] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:34:03.538] INFO: [SV-scroll] scrollRowToCenter(2, smooth) — scrollTop=971 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:34:03.557] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=951)

      [07:34:03.838] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 38) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:34:03.904] INFO: [SV] snap-to-center — closest=2 scrollTop=664 rows=15

      [07:34:03.905] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:34:05.989] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=j13pll x=398 y=227

      [07:34:05.989] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:05.990] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(398,227) type=stylus ep=<TEXTAREA>

      [07:34:06.064] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=j13pll x=403 y=228

      [07:34:06.064] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=false target=<TEXTAREA> frame=j13pll

      [07:34:06.064] INFO: [SV-NoteBox] handleTap fired — frameId=j13pll, isEditing=false, isActive=false

      [07:34:06.064] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:34:06.070] INFO: [SV-scroll] scrollRowToCenter(1, smooth) — scrollTop=664 offset=-310 rowTop=179 ctrTop=88 ctrH=1112

      [07:34:06.073] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,187) 501x287

      [07:34:06.074] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:06.539] INFO: [SV] snap-to-center blocked (userTapped)

      [07:34:06.673] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:34:06.866] INFO: [SV] markUserTapped timer — calling scrollRowToCenter(1)

      [07:34:06.866] INFO: [SV-scroll] scrollRowToCenter(1, smooth) — scrollTop=354 offset=0 rowTop=489 ctrTop=88 ctrH=1112

      [07:34:07.336] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=j13pll x=382 y=539

      [07:34:07.337] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:07.337] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(382,539) type=stylus ep=<TEXTAREA>

      [07:34:07.402] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=j13pll x=384 y=538

      [07:34:07.403] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=j13pll

      [07:34:07.403] INFO: [SV-NoteBox] handleTap fired — frameId=j13pll, isEditing=false, isActive=true

      [07:34:07.403] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:34:07.408] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:34:07.409] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:07.501] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=j13pll x=384 y=539

      [07:34:07.501] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:07.501] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(384,539) type=stylus ep=<TEXTAREA>

      [07:34:07.640] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=j13pll x=385 y=539

      [07:34:07.640] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=j13pll

      [07:34:07.640] INFO: [SV-NoteBox] handleTap fired — frameId=j13pll, isEditing=false, isActive=true

      [07:34:07.640] INFO: [SV-NoteBox] edit branch reached — frame=j13pll

      [07:34:07.641] INFO: [SV] handleNativeEditStart — frame=1

      [07:34:07.644] INFO: [SV] pre-scroll — delta=307px (kbEst=586)

      [07:34:07.644] INFO: [SV] handleNativeEditStart — savedScroll=661 overflowY=hidden

      [07:34:07.645] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:34:07.648] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:34:07.648] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:34:07.651] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:34:07.652] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-2

      [07:34:07.657] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=dn44op storeText="" localValue="" isNativeEditing=false

      [07:34:07.799] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:34:07.807] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:34:07.807] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:34:08.049] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:34:08.050] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:34:08.076] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:34:08.500] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=1

      [07:34:08.771] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=1

      [07:34:08.775] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=false isFirstR=true pending=false

      [07:34:08.775] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — cycling responder (already first responder)

      [07:34:09.016] INFO: [SV-VV] transition — was=false now=true kbH=614 editActive=true settling=false afIdx=1

      [07:34:09.016] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=1

      [07:34:09.446] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (53.4136848449707, 15.425143241882324) → true

      [07:34:10.605] INFO: [PK Native] 📝 NOTE EDITOR: touchesBegan — hasFirst=true isFirstR=true pending=false

      [07:34:10.674] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (12.0, 15.5) → true

      [07:34:10.693] INFO: [PK Native] 📝 NOTE EDITOR: Scribble shouldBeginAt (16.0, 15.5) → true

      [07:34:14.701] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=1

      [07:34:14.703] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:34:14.703] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-2 len=71

      [07:34:14.703] INFO: [SV-NoteBox] noteEditComplete received — frame=j13pll len=71 cancelledBlur=false

      [07:34:14.703] INFO: [SV] handleNativeEditEnd — frameIdx=1 scrollNow=661 savedScroll=661

      [07:34:14.706] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=j13pll storeText="Sei stares into his " localValue="Sei stares into his " isNativeEditing=false

      [07:34:14.707] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:14.707] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:14.707] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:14.708] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 40) contentOffset=(0.0, 0.0)

      [07:34:14.708] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:34:14.711] INFO: [SV-scroll] scrollRowToCenter(1, smooth) — scrollTop=661 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:34:14.729] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=642)

      [07:34:15.022] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 40) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:34:15.078] INFO: [SV] snap-to-center — closest=1 scrollTop=354 rows=14

      [07:34:15.078] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:34:15.823] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=false frame=hpl5yc x=656 y=939

      [07:34:15.823] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:15.823] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(656,939) type=direct ep=<TEXTAREA>

      [07:34:15.846] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(655,938)

      [07:34:15.855] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (31px)

      [07:34:15.855] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=32ms

      [07:34:16.065] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=dn44op storeText="" localValue="" isNativeEditing=false

      [07:34:16.504] INFO: [SV] snap-to-center — closest=2 scrollTop=726 rows=15

      [07:34:16.505] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=62 < 155)

      [07:34:18.091] INFO: [SV] snap-to-center — closest=0 scrollTop=0 rows=14

      [07:34:18.091] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=44 < 155)

      [07:34:20.604] INFO: [iOS] 👆 TOUCHSTART on: <DIV> frame=none class="fixed top-0 left-0 right-0 h-1" at=(1585,0) type=direct ep=<DIV>

      [07:34:20.620] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1585,0)

      [07:34:20.630] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (39px)

      [07:34:20.630] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=27ms

      [07:34:20.639] INFO: [PK Native] 📱 App resigning active

      [07:34:27.238] INFO: [PK Native] 📱 App became active (idle: 6.6s)

      [07:34:27.239] INFO: [PK Native] 📱 Quick resume (6.6s) — no-op (PK state valid)

      [07:34:30.227] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=z62g8s x=757 y=648

      [07:34:30.227] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:30.228] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(757,648) type=stylus ep=<TEXTAREA>

      [07:34:30.985] INFO: [SV] snap-to-center — closest=1 scrollTop=418 rows=14

      [07:34:30.985] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=64 < 155)

      [07:34:31.818] INFO: [SV] snap-to-center — closest=1 scrollTop=427 rows=14

      [07:34:31.818] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=73 < 155)

      [07:34:32.293] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=hpl5yc x=693 y=939

      [07:34:32.294] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:32.294] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(693,939) type=stylus ep=<TEXTAREA>

      [07:34:32.475] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=dn44op storeText="" localValue="" isNativeEditing=false

      [07:34:32.987] INFO: [SV] snap-to-center — closest=3 scrollTop=833 rows=15

      [07:34:32.987] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=141 < 155)

      [07:34:34.657] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=53fbsb x=415 y=683

      [07:34:34.658] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:34.658] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(415,683) type=stylus ep=<TEXTAREA>

      [07:34:34.751] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=53fbsb x=414 y=682

      [07:34:34.752] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=53fbsb

      [07:34:34.752] INFO: [SV-NoteBox] handleTap fired — frameId=53fbsb, isEditing=false, isActive=true

      [07:34:34.752] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:34:34.758] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,638) 501x287

      [07:34:34.761] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:34.892] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=53fbsb x=419 y=680

      [07:34:34.892] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:34.892] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(419,680) type=stylus ep=<TEXTAREA>

      [07:34:34.970] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=53fbsb x=420 y=678

      [07:34:34.971] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=53fbsb

      [07:34:34.971] INFO: [SV-NoteBox] handleTap fired — frameId=53fbsb, isEditing=false, isActive=true

      [07:34:34.971] INFO: [SV-NoteBox] edit branch reached — frame=53fbsb

      [07:34:34.971] INFO: [SV] handleNativeEditStart — frame=3

      [07:34:34.974] INFO: [SV] pre-scroll — delta=448px (kbEst=586)

      [07:34:34.974] INFO: [SV] handleNativeEditStart — savedScroll=1281 overflowY=hidden

      [07:34:34.974] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:34:34.978] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:34:34.978] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:34:34.981] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:34:34.981] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:34:34.981] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:34.981] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:34.982] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:34.982] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:34:34.982] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:34:34.982] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:34:34.982] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-4

      [07:34:34.989] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=gvgyb6 storeText="" localValue="" isNativeEditing=false

      [07:34:34.989] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=134wls storeText="" localValue="" isNativeEditing=false

      [07:34:35.129] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:34:35.138] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:34:35.139] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:34:35.382] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:34:35.384] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:34:35.412] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:34:35.821] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=3

      [07:34:40.205] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=53fbsb storeText="why " localValue="" isNativeEditing=true

      [07:34:41.764] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=53fbsb storeText="why jump " localValue="why " isNativeEditing=true

      [07:34:43.330] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=3

      [07:34:43.331] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:34:43.332] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-4 len=13

      [07:34:43.332] INFO: [SV-NoteBox] noteEditComplete received — frame=53fbsb len=13 cancelledBlur=false

      [07:34:43.332] INFO: [SV] handleNativeEditEnd — frameIdx=3 scrollNow=1281 savedScroll=1281

      [07:34:43.335] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=53fbsb storeText="why jump her?" localValue="why jump her?" isNativeEditing=false

      [07:34:43.336] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:43.336] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:43.336] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:43.336] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 42) contentOffset=(0.0, 0.0)

      [07:34:43.336] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:34:43.337] INFO: [SV-scroll] scrollRowToCenter(3, smooth) — scrollTop=1281 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:34:43.355] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=1261)

      [07:34:43.651] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 42) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:34:43.701] INFO: [SV] snap-to-center — closest=3 scrollTop=974 rows=16

      [07:34:43.701] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:34:44.928] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=false frame=ihxofx x=505 y=841

      [07:34:44.928] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:44.928] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(505,841) type=stylus ep=<TEXTAREA>

      [07:34:45.069] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=505 y=842

      [07:34:45.069] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=false target=<TEXTAREA> frame=ihxofx

      [07:34:45.070] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=false

      [07:34:45.070] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:34:45.076] INFO: [SV-scroll] scrollRowToCenter(4, smooth) — scrollTop=974 offset=310 rowTop=799 ctrTop=88 ctrH=1112

      [07:34:45.079] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,807) 501x287

      [07:34:45.079] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:45.310] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=134wls storeText="" localValue="" isNativeEditing=false

      [07:34:45.552] INFO: [SV] snap-to-center blocked (userTapped)

      [07:34:45.677] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:34:45.871] INFO: [SV] markUserTapped timer — calling scrollRowToCenter(4)

      [07:34:45.871] INFO: [SV-scroll] scrollRowToCenter(4, smooth) — scrollTop=1284 offset=0 rowTop=489 ctrTop=88 ctrH=1112

      [07:34:46.385] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=ihxofx x=424 y=537

      [07:34:46.385] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:46.385] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(424,537) type=stylus ep=<TEXTAREA>

      [07:34:46.536] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=424 y=537

      [07:34:46.537] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=ihxofx

      [07:34:46.537] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=true

      [07:34:46.537] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:34:46.540] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:46.541] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:34:47.061] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=ihxofx x=425 y=536

      [07:34:47.061] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:47.061] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(425,536) type=stylus ep=<TEXTAREA>

      [07:34:47.143] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:34:47.177] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=426 y=533

      [07:34:47.177] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=ihxofx

      [07:34:47.177] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=true

      [07:34:47.177] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:34:47.185] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:34:47.186] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:47.788] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:34:47.876] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=ihxofx x=441 y=539

      [07:34:47.877] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:47.877] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(441,539) type=stylus ep=<TEXTAREA>

      [07:34:47.986] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=443 y=539

      [07:34:47.986] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=ihxofx

      [07:34:47.986] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=true

      [07:34:47.986] INFO: [SV-NoteBox] handleTap first-of-pair — waiting for second tap

      [07:34:47.994] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,497) 501x287

      [07:34:47.995] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:34:48.084] INFO: [SV-NoteBox] TA pointerDown — pt=pen editing=false active=true frame=ihxofx x=445 y=542

      [07:34:48.084] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:34:48.085] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(445,542) type=stylus ep=<TEXTAREA>

      [07:34:48.196] INFO: [SV-NoteBox] TA pointerUp — pt=pen editing=false frame=ihxofx x=442 y=538

      [07:34:48.197] INFO: [SV-NoteBox] WRAP pointerUp — pt=pen editing=false active=true target=<TEXTAREA> frame=ihxofx

      [07:34:48.197] INFO: [SV-NoteBox] handleTap fired — frameId=ihxofx, isEditing=false, isActive=true

      [07:34:48.197] INFO: [SV-NoteBox] edit branch reached — frame=ihxofx

      [07:34:48.197] INFO: [SV] handleNativeEditStart — frame=4

      [07:34:48.201] INFO: [SV] pre-scroll — delta=307px (kbEst=586)

      [07:34:48.201] INFO: [SV] handleNativeEditStart — savedScroll=1591 overflowY=hidden

      [07:34:48.201] INFO: [SV-NoteBox] native showNoteEditor — x=355 y=190 w=502 h=287

      [07:34:48.205] INFO: [PK Native] 🔒 setWebViewScrollEnabled(false) — KVO pin at (0.0, 0.0)

      [07:34:48.205] INFO: [PK Native] 🎯 setGestureUndoEnabled(false)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: show start — contentOffset=(0.0, 0.0)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:48.208] INFO: [PK Native] 📝 NOTE EDITOR: show after resign chain — contentOffset=(0.0, 0.0)

      [07:34:48.209] INFO: [PK Native] 📝 NOTE EDITOR: reusing pre-staged view (hasReceivedFirstTouch=false)

      [07:34:48.209] INFO: [PK Native] 📝 NOTE EDITOR: installed gated Scribble blocker

      [07:34:48.209] INFO: [PK Native] 📝 NOTE EDITOR: shown at (354,190) 501x287 frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-5

      [07:34:48.215] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=si3fg4 storeText="" localValue="" isNativeEditing=false

      [07:34:48.355] INFO: [SV] snap-to-center blocked (kbWasVisible)

      [07:34:48.362] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 1, currentFirstResponder = Optional(<WKWebView: 0x10677c000; frame = (0 0; 1600 1200); autoresize = W+H; backgroundColor = UIExtendedSRGBColorSpace 0.137255 0.137255 0.141176 1; layer = <CALayer: 0x1064299b0>>)

      [07:34:48.363] INFO: [PK Native] 📝 NOTE EDITOR: responder not clear, forcing resign and waiting

      [07:34:48.607] INFO: [PK Native] 📝 NOTE EDITOR: focus attempt 2, currentFirstResponder = nil

      [07:34:48.607] INFO: [PK Native] 📝 NOTE EDITOR: becomeFirstResponder = true, isFirstResponder = true

      [07:34:48.634] INFO: [PK Native] 📝 NOTE EDITOR: keyboard forcing complete (scribbleAllowed=true)

      [07:34:49.046] INFO: [SV] native edit vv resize — kb=614px, scrolling frame=4

      [07:34:52.437] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see " localValue="" isNativeEditing=true

      [07:34:53.404] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how " localValue="see " isNativeEditing=true

      [07:34:54.688] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many " localValue="see how " isNativeEditing=true

      [07:34:55.464] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many times " localValue="see how many " isNativeEditing=true

      [07:34:56.347] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many times i" localValue="see how many times " isNativeEditing=true

      [07:34:56.947] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many times i" localValue="see how many times i" isNativeEditing=true

      [07:34:58.708] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many times i" localValue="see how many times i" isNativeEditing=true

      [07:34:59.365] INFO: [SV-VV] transition — was=true now=false kbH=0 editActive=true settling=false afIdx=4

      [07:34:59.366] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=true contentOffset=(0.0, 0.0)

      [07:34:59.366] INFO: [PK Native] 📝 NOTE EDIT COMPLETE: frame=scene-72c2b468-15e5-479d-b19b-c9e30cc5b5a7-page-frame-5 len=32

      [07:34:59.366] INFO: [SV-NoteBox] noteEditComplete received — frame=ihxofx len=32 cancelledBlur=false

      [07:34:59.367] INFO: [SV] handleNativeEditEnd — frameIdx=4 scrollNow=1591 savedScroll=1591

      [07:34:59.370] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=ihxofx storeText="see how many times i" localValue="see how many times i" isNativeEditing=false

      [07:34:59.370] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:59.370] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:34:59.370] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:34:59.370] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — dampened release started (gen 44) contentOffset=(0.0, 0.0)

      [07:34:59.371] INFO: [SV-scroll] scrollRowToCenter(4, smooth) — scrollTop=1591 offset=-307 rowTop=182 ctrTop=88 ctrH=1112

      [07:34:59.373] INFO: [PK Native] 🎯 setGestureUndoEnabled(true)

      [07:34:59.387] INFO: [SV] handleNativeEditEnd — overflowY restored (scrollTop=1575)

      [07:34:59.685] INFO: [PK Native] 🔒 setWebViewScrollEnabled(true) — KVO pin removed (gen 44) before=(0.0, 0.0) after=(0.0, 0.0)

      [07:34:59.735] INFO: [SV] snap-to-center — closest=4 scrollTop=1284 rows=17

      [07:34:59.735] INFO: [SV] snap-to-center skipped (tolerance band: |offset|=0 < 155)

      [07:35:03.676] INFO: [iOS] 👆 TOUCHSTART on: <DIV> frame=none class="fixed top-0 left-0 right-0 h-1" at=(1578,0) type=direct ep=<DIV>

      [07:35:03.692] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(1578,0)

      [07:35:03.693] INFO: [PK Native] 📱 App resigning active

      [07:35:03.698] INFO: [PK Native] [GestureUndo] FAILED: movement exceeded (50px)

      [07:35:03.698] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=1 peak=1 elapsed=21ms

      [07:35:12.157] INFO: [PK Native] 📱 App became active (idle: 8.5s)

      [07:35:12.157] INFO: [PK Native] 📱 Quick resume (8.5s) — no-op (PK state valid)

      [07:35:12.903] INFO: [SV-NoteBox] TA pointerDown — pt=touch editing=false active=false frame=198uhs x=736 y=1007

      [07:35:12.903] INFO: [SV-NoteBox] TA pointerDown preventDefault (pre-edit)

      [07:35:12.903] INFO: [iOS] 👆 TOUCHSTART on: <TEXTAREA> frame=none class="w-full h-full resize-none bg-t" at=(736,1007) type=direct ep=<TEXTAREA>

      [07:35:12.926] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(735,1007)

      [07:35:12.944] INFO: [SV-NoteBox] TA pointerUp — pt=touch editing=false frame=198uhs x=736 y=1007

      [07:35:12.944] INFO: [SV-NoteBox] WRAP pointerUp — pt=touch editing=false active=false target=<TEXTAREA> frame=198uhs

      [07:35:12.944] INFO: [SV-NoteBox] handleTap fired — frameId=198uhs, isEditing=false, isActive=false

      [07:35:12.944] INFO: [SV-NoteBox] handleTap activating row + seeding first-of-pair

      [07:35:12.949] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=43ms

      [07:35:12.949] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=43ms)

      [07:35:12.950] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=45ms

      [07:35:12.951] INFO: [SV-scroll] scrollRowToCenter(5, smooth) — scrollTop=1284 offset=310 rowTop=799 ctrTop=88 ctrH=1112

      [07:35:12.953] INFO: [PK Native] 📝 NOTE EDITOR: pre-staged at (354,807) 501x287

      [07:35:12.954] INFO: [SV-NoteBox] TA mouseDown preventDefault (pre-edit)

      [07:35:13.189] INFO: [SV-NoteBox] STORE→LOCAL sync — frame=si3fg4 storeText="" localValue="" isNativeEditing=false

      [07:35:13.427] INFO: [SV] snap-to-center blocked (userTapped)

      [07:35:13.554] INFO: [PK Native] 📝 NOTE EDITOR: pre-stage teardown (no showNoteEditor within 600ms)

      [07:35:13.746] INFO: [SV] markUserTapped timer — calling scrollRowToCenter(5)

      [07:35:13.746] INFO: [SV-scroll] scrollRowToCenter(5, smooth) — scrollTop=1594 offset=0 rowTop=489 ctrTop=88 ctrH=1112

      [07:35:14.491] INFO: [iOS] 👆 TOUCHSTART on: <svg> frame=none class="" at=(50,20) type=direct ep=<svg>

      [07:35:14.508] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(50,19)

      [07:35:14.608] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=113ms

      [07:35:14.608] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=113ms)

      [07:35:14.608] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=115ms

      [07:35:14.620] INFO: [PK] Modal closed but sidebar/parkbin/color picker/resize modal/tooltip/drag still open - keeping menu mode ON — sidebar=OPEN parkbin=closed colorPicker=closed resizeModal=closed blockingModal=closed tooltip=inactive drag=no debugPanel=closed viewMode=SCRIPT

      [07:35:14.620] INFO: [PK] Sidebar opened - sending menu mode ON

      [07:35:14.623] INFO: [PK Native] 📝 NOTE EDITOR: dismiss start — save=false contentOffset=(0.0, 0.0)

      [07:35:14.623] INFO: [PK Native] 📝 NOTE EDITOR: before resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:35:14.623] INFO: [PK Native] 📝 NOTE EDITOR: after resignFirstResponder — contentOffset=(0.0, 0.0)

      [07:35:14.623] INFO: [PK Native] 📝 NOTE EDITOR: dismissed — contentOffset=(0.0, 0.0)

      [07:35:14.630] INFO: [PK Native] ⚡ [6178480.6ms] cancelActiveDrawingAndFlush (skipJpeg=false)

      [07:35:14.631] INFO: [PK Native] 🔄 CLEAR CANVAS & TRACKING (no load) [cancelActiveDrawingAndFlush]

      [07:35:14.631] INFO: [PK Native] 📋 [6178480.5ms] MENU: OPEN (wasMenu:true)

      [07:35:14.631] INFO: [PK] setMenuMode bridge latency: 11ms

      [07:35:15.666] INFO: [PK Native] ⏱️ ZONE SYNC WATCHDOG (1000ms, no updateVisibleFrames received) — menuMode=true

      [07:35:15.667] INFO: [ER-045] zoneSyncStalled (watchdog, nativeMenuMode=true) — no heal, PK is correctly suppressed: sidebar=OPEN parkbin=closed colorPicker=closed resizeModal=closed blockingModal=closed tooltip=inactive drag=no debugPanel=closed viewMode=SCRIPT frameMenu=closed layoutMutation=no

      [07:35:18.103] INFO: [iOS] 👆 TOUCHSTART on: <path> frame=none class="" at=(173,1161) type=direct ep=<path>

      [07:35:18.119] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(173,1161)

      [07:35:18.137] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=32ms

      [07:35:18.137] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=32ms)

      [07:35:18.137] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=33ms

      [07:35:23.427] INFO: [iOS] 👆 TOUCHSTART on: <path> frame=none class="" at=(889,956) type=direct ep=<svg>

      [07:35:23.443] INFO: [PK Native] [GestureUndo] touchesBegan: tracked=1 peak=1 elapsed=0ms at=(889,955)

      [07:35:23.533] INFO: [PK Native] [GestureUndo] touchesEnded: remaining=0 peak=1 elapsed=103ms

      [07:35:23.533] INFO: [PK Native] [GestureUndo] FAILED: peak=1 (elapsed=103ms)

      [07:35:23.533] INFO: [PK Native] [GestureUndo] ER-008-FIX22 reset: tracked=0 peak=1 elapsed=105ms