- Fixed a bug that the drawing position of arrows in a group was misaligned.
- Did the last fix enbuggle it?
- Create test cases
- Add an indication of the number of kozane sheets and rendering time
11:00
- š
11:56-12:21 make test cases.
- A reproducible test case was created.
- When a group is dragged, the bounding box is not updated, but the start and end points of the line segments are updated and the calculated intersection is shifted.
- Huh? Why did it work before? Didnāt it ever work before?
- Iāve tried to checkout the previous version, but I canāt reproduce the bug.
12:00
- Okay, the argument I originally passed to the intersection calculation function was wrong, and if you were in a group, you were out of alignment, but the old algorithm was āassume the starting point is out of the center of the box and calculate the intersection by focusing only on the slopeā, so it wasnāt discovered.
15:00
- š
15:44-16:09 continued.
- fixed, releasedā
16:00
- š
16:42-17:07 Show number of sheets and rendering time.
-
For now, letās skip the UI and just generate a function to display in the window.
-
Turns out there are a little over 500 things to display.
-
Counting is easy, but Iām not quite sure where to measure timeā¦
-
17:00
- Hmmm, I was going to measure the time taken to process the onWheel, but this only updates the React state, and the event handler itself finishes quickly.
- I wonder if the movement will be smoother if we do our own state management instead of leaving it to React?
- The reason Iām not doing that now is because the wheel event doesnāt have an event to indicate āendā unlike mouse dragging and the like.
21:00
- In onWheel, it only calls ReactNās GlobalStateManager.set, but that takes up 3.7 msec of the 16.7 msec per frame. This is about the only thing that can be cut.
- I guess I still have to do the status updates and screen updates on my own without going through React?
- When itās running smoothly, itās about 2 msec.
- Hmmm, this is mainly due to the fact that Paint (and the same amount of time of unknown content) is growing, so cutting out status updates wonāt help. Itās like, āIf you want a solution, get a new MacBook.ā
23:00
- I was curious to find out what this shaded line in the CPU tab was, and found out that it was āprocessing other than the main threadā.
- What is so full of processing other than the main thread?
- Are you saying that React is doing state management outside of the main thread?
- How is that possibleā¦?
- If you select a zone with only projectile lines, the summary view is Idle, but in reality it is a Dropped Frame because it was not processed in time.
- The call tree and other displays are all empty, perhaps only the main thread process is gathering information.
consideration
- I have about 600 Kozane out there, which I think is rare for a user.
- Itās taking time outside the main thread, so maybe trying hard to improve the process implemented in the script wonāt solve the problem.
- Rather, letās not try so hard and thwart the event.
Current [Fixed size group titles are unreadable when zoomed out I think some sort of algorithm should be used to increase the font size of the title.
-
Itās going to be buggy when something that used to be a fixed size becomes variable~~~.
-
Iāll set a maximum font size, and if it goes over the length, Iāll shrink it, I guess.
-
About [Petit hang on load
-
Asynchronous font size calculation?
-
If you make it asynchronous, well, itās displayed in āsmall printā for about the same amount of time as if itās petit-hung.
-
I would prefer to store the calculated values on the serverā¦
- If itās ārecalculate if not,ā I can read past data with no problem.
What should happen to link notation when copying and pasting from Scrapbox?
- If it is in Scrapbox mode, you can parse it as Scrapbox.
- Should it be a Kozane or a Scrapbox card?
- /villagepump/Kozaneba+Scrapbox
- It looks good to be a kozane and be able to expand from there.
This page is auto-translated from /nishio/Kozanebaéēŗę„čØ2022-06-08 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iām very happy to spread my thought to non-Japanese readers.