[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [4c1fd32](https://github.com/UnigramDev/Unigram/commit/4c1fd3224caca58e23e4a1e21adfaa5a76db8788) • _10 files, +891/-42_
Add shapes to the media editor as objects

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [97abb18](https://github.com/UnigramDev/Unigram/commit/97abb1883cb0c114efba016496b355e80a17b5eb) • _7 files, +570/-0_
Add an editor meter for what a keystroke costs, behind Diagnostics

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [11a5faf](https://github.com/UnigramDev/Unigram/commit/11a5faffbc0d96cfa722e2a7bf088ab8f701afca) • _16 files, +3476/-23_
Lay out edited text on IDWriteTextAnalyzer, behind a Diagnostics switch

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [786e64a](https://github.com/UnigramDev/Unigram/commit/786e64ae22d1a5e1647c309c6c4cea0b3305e3d1) • _7 files, +795/-17_
Recognise drawn shapes in the media editor

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [74355cd](https://github.com/UnigramDev/Unigram/commit/74355cd0118e61bf40a1ca437c9be32efa4f387f) • _5 files, +242/-28_
Draw an editor highlight or spoiler as one shape down its lines

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [b2e35fc](https://github.com/UnigramDev/Unigram/commit/b2e35fc3df1738776fd1dcf1ed7d630ea1e3a342) • _8 files, +688/-25_
Draw a long edited text into a virtual surface, only what is in view

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [b415b86](https://github.com/UnigramDev/Unigram/commit/b415b86c71119b4536c24d5ef0f703be2c151254) • _1 files, +23/-0_
Let the editor meter open its documents without measuring them

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [150437f](https://github.com/UnigramDev/Unigram/commit/150437ffbf8bef7da942ee0335d2a398df4da3c8) • _1 files, +6/-1_
Look for a markdown rule only in a line short enough to be one

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [012b0a2](https://github.com/UnigramDev/Unigram/commit/012b0a2ece2128c3adb9b7695487494a63f6944f) • _5 files, +34/-8_
Ask a leaf's direction once per change, without copying its text

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [35bc2f5](https://github.com/UnigramDev/Unigram/commit/35bc2f5e871fbfd095535ea54c1f62c4edcf363d) • _2 files, +49/-2_
Convert the message box's document once per state, not per reader

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [0ee9092](https://github.com/UnigramDev/Unigram/commit/0ee90927a4d5d4880c635e8a25bd71c7379b4817) • _19 files, +2377/-109_
Transcode videos natively, on a hardware H.264 encoder when available

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [f821848](https://github.com/UnigramDev/Unigram/commit/f821848d6322175887c536bae35c507db271c922) • _9 files, +301/-59_
Pick animated image frames from a playback clock, so a lost decode is skipped instead of slowing it down

[UnigramDev/Unigram/develop](https://github.com/UnigramDev/Unigram/tree/develop) • [6f0a415](https://github.com/UnigramDev/Unigram/commit/6f0a4152b3831f2017459daa791d609375f7e548) • _1 files, +18/-11_
Paint blur strokes from a blurred copy made once, not a live effect

[#unigram](?q=%23unigram)