prev Kozaneba Development Diary 2021-08-20
js
User can define scripts to be executed at load time
- Users can override the behavior of the tutorial when they access the top page.
- Users can add buttons to the AppBar
Bug not usable on touch devices. 2021-08-23 Iâm trying to fix it, but it doesnât seem like an easy fix. https://twitter.com/nishio/status/1428904779703472131?s=20
Usually, we can use
overflow: hidden
on the element to prevent scrolling. But unfortunately, that does not work on older versions of iOS.
Itâs hard to get the iPhone to work as expected.
- Aside from the iPhone, Iâd love to see it work on the iPad.
When I think about running Scrapbox cards on Kozaneba, I need to be able to create something that behaves like Kozane but has a different DOM structure.
- This âsame behaviorâ is also ambiguous.
- Ideally, this could be accomplished with user extensions, but thatâs Youâre trying to solve two problems at once.
2021-08-23
Iâm always tempted to do âsomething I havenât done yetâ. Already doing it, and almost prioritizing it over features that were useful. Getting it to work on the iPad is a muddle. If I can get it to work on my iPad, Iâll be tempted to add handwritten additions. SVG of handwritten additions anchor point Auto-positioning objects
I wrote the dependencies with red arrows, but since one-way updating will cause circular references, it would be better to use the gradient method to solve for each point as a âconstraint that minimizes the distanceâ.
Thumbnails on links for sharing
Instead of skipping tutorials, just make the first process user-customizable.
paste
- Paste JSON
- âDetermine format
- Regroup
- Kozaneba
- âDetermine format
- Text Paste
- Open Add Kozane Dialog
- Paste Image
- Upload to Gyazo and make it Gyazo Kozane
- First, you need a Gyazo Kozane
- Allow switching of rendering methods in Kozaneâs options
- It would be nice to be able to extend it from the user in the future.
- Is this a âkozaneâ in the first place?
- GroupItem, KozaneItem, should not be lined up at the level of
- In other words, âadd item.typeâ
- First, you need a Gyazo Kozane
- Upload to Gyazo and make it Gyazo Kozane
read-only sharing
- thumbnail view
Letâs lose the âtutorialâ in the menu â .
The wheel and touchpad can be used individually to set the speed when zooming.
- The distinction between a wheel and a touchpad, the deprecated property is a wheel, and the typical device is 120, which is used for identification and so on (discussion in 2020).
- Detect touchpad vs mouse in Javascript - Stack Overflow
- The implementation itself is not difficult, so I can put it out there with enough confidence to say, âI think it works for now.
- done
Dragging a closed group out of position.
No problem when a group is open to move in and out of another group, but when it is closed to move in, it is out of place A
- At this time, âthe position when closedâ and âthe position when openedâ are misaligned, so if you return it to the position you wanted to place it in while it is closed, it will be misaligned in the opposite direction from A when it is opened.
- At least I fixed half of the problem: âwhen you put a closed group into a group, itâs out of sync with the open groupâ.
- Apart from that, âthings go wrong when you move things around in a groupâ happens.
- Well, I think I can make it look consistent, but I donât know the root cause of why the discrepancy is occurring.
- Oh, this happens even if itâs not a closed group. Itâs the movement within the same group that makes it go wrong.
- Fixed.
cause
- The contents of the group are offset by the group
- However, when drawing closed groups, this value was not referenced, so the display is misaligned only when the group is placed inside a group.
- Positioning is wrong only when dragging within the same group.
- Only occurs when mousemove is generated on a group while dragging, which naturally occurs in user operation, but did not occur in the test code.
- The structure of the DOM changes when entering and leaving the group, this does not happen at this time.
- The top-level move is the phenomenon in question itself, but it looks the same because youâre not in the group and the offset is zero.
- Rewriting ReactN state with mousemove event while dragging is expensive and choppy
- So I was editing DOM styles directly.
- This style remains even after redrawing by React
- Because redrawing from React updates the styled-components style, but this is applied to the element via the class, so it has lower priority than the âstyle of the element itself
- Once the âstyle of the element itselfâ is set, that takes precedence.
- Insert empty string because style cannot be DELETE
- I didnât see where it stated that this could be removed.
- In this case, if you try to parseFloat the value on the next drag as the start position of the drag, you will end up with NaN.
- Window.getComputedStyle() - Web APIs | MDN
I see you can produce such a diff (I understand the indentation and still understand the correspondence).
This page is auto-translated from /nishio/Kozanebaéçșæ„èš2021-08-21 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.