• 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

  • nishio.iconšŸ…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

  • nishio.iconOkay, 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

  • nishio.iconšŸ…15:44-16:09 continued.
    • fixed, releasedāœ…

16:00

  • nishio.iconšŸ…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.

      • image
    • Counting is easy, but Iā€™m not quite sure where to measure timeā€¦

17:00

  • nishio.iconHmmm, 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

  • nishio.iconIn 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.
    • image
    • 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.
    • image
    • 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

  • nishio.iconI 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ā€.
    • image
    • 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.
      • image
      • 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.

Current [Fixed size group titles are unreadable when zoomed out image 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.