<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chrona/src/components, branch throttle-relayout</title>
<subtitle>Chrona: Interactive Historical Timeline</subtitle>
<id>https://terryt.dev/cgit/chrona/atom?h=throttle-relayout</id>
<link rel='self' href='https://terryt.dev/cgit/chrona/atom?h=throttle-relayout'/>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/'/>
<updated>2023-01-07T08:50:09+00:00</updated>
<entry>
<title>Throttle relayouting of events</title>
<updated>2023-01-07T08:50:09+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-07T08:48:36+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=5d25f637119f1560ce8f8171cd46123c0bba56b4'/>
<id>urn:sha1:5d25f637119f1560ce8f8171cd46123c0bba56b4</id>
<content type='text'>
Reduces CPU drain, but adds noticeable gap between panning and
event movement.
</content>
</entry>
<entry>
<title>Fix events sometimes not transitioning</title>
<updated>2023-01-07T08:24:12+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-07T08:24:12+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=4b323024f51a8de755e4fb6cab301c36d52132a3'/>
<id>urn:sha1:4b323024f51a8de755e4fb6cab301c36d52132a3</id>
<content type='text'>
For some reason, by updating elements of the idToPos map
individually, instead of assigning over the map itself, events
rendered from the map sometimes don't transition.

Also, skip transitions for events that would move across the
mainline.
</content>
</entry>
<entry>
<title>Avoid occasional inability to zoom in with pointer beyond ends</title>
<updated>2023-01-07T05:33:55+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-07T05:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=4175226e489e850b10b295d8c57bde39f332c4bc'/>
<id>urn:sha1:4175226e489e850b10b295d8c57bde39f332c4bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Show events in unit after MAX_DATE tick</title>
<updated>2023-01-07T01:39:36+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-07T01:39:36+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=d0091d71cee4fa3b24dd7fea6830fcd96498435a'/>
<id>urn:sha1:d0091d71cee4fa3b24dd7fea6830fcd96498435a</id>
<content type='text'>
Without this, for a MAX_DATE of, say 2000/1/1, at scale 1e9, events
after 1 AD won't be shown.
</content>
</entry>
<entry>
<title>Prevent selection of tick/event label text</title>
<updated>2023-01-06T13:25:04+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-06T13:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=cd890bc47df00f16c54755549314cd7e15ec3219'/>
<id>urn:sha1:cd890bc47df00f16c54755549314cd7e15ec3219</id>
<content type='text'>
Without this, text tends to get accidentally selected when dragging
the timeline.  Also, the tick labels are short enough that copying
them doesn't seem necessary, and event labels can be obtained via
the info modal.
</content>
</entry>
<entry>
<title>Keep track of a 'current' timeline</title>
<updated>2023-01-06T12:58:25+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-06T12:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=3a66879b889dce85d7498e216980a2c08288b36f'/>
<id>urn:sha1:3a66879b889dce85d7498e216980a2c08288b36f</id>
<content type='text'>
Make timeline addition and searching use the current timeline.
Add keyboard controls for timeline panning, zooming, switching, opening, and closing.
Fix zoomTimeline() bug when not centering zoom on pointer.
</content>
</entry>
<entry>
<title>Add help modal</title>
<updated>2023-01-06T10:20:36+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-06T10:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=d5b2c3d55b614914331525801ffb38ce824a5e8f'/>
<id>urn:sha1:d5b2c3d55b614914331525801ffb38ce824a5e8f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement filtering by event categories</title>
<updated>2023-01-06T09:23:45+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-06T09:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=d8c29e8dcc925b6013880f66e690fa6b006d9154'/>
<id>urn:sha1:d8c29e8dcc925b6013880f66e690fa6b006d9154</id>
<content type='text'>
Filter events in display and search suggestions.
Make server queries allow specification of multiple categories.
Make settings modal avoid disabling all categories.
</content>
</entry>
<entry>
<title>Add settings modal</title>
<updated>2023-01-06T05:59:54+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-06T05:59:54+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=50fc47e6e387c3b278526ef773badf63913389d6'/>
<id>urn:sha1:50fc47e6e387c3b278526ef773badf63913389d6</id>
<content type='text'>
Add saving, loading, default vals, and device-detection, to store.ts.
Add setting for hiding minor tick labels.
</content>
</entry>
<entry>
<title>Jump to and highlight search results</title>
<updated>2023-01-05T15:45:26+00:00</updated>
<author>
<name>Terry Truong</name>
<email>terry06890@gmail.com</email>
</author>
<published>2023-01-05T15:32:59+00:00</published>
<link rel='alternate' type='text/html' href='https://terryt.dev/cgit/chrona/commit/?id=559902e0211a06b349c4c2f50b0882a8d314f8b7'/>
<id>urn:sha1:559902e0211a06b349c4c2f50b0882a8d314f8b7</id>
<content type='text'>
Use a 'searchTarget' prop of Timeline to trigger jumping to a search result.
Make TimeLine prioritise search result in layout.
When querying for events in App, check for a search target, and use incl= to retrieve it.
On server, for the incl= query param, don't include the event if outside specified range.
</content>
</entry>
</feed>
