189d00965a
Update to Compose alpha10
2021-01-16 11:57:55 -05:00
0967fd24c4
Rewrite TextSurface/TextCanvas
...
Eventually this will be upstreamed to Crossword, but for now it unblocks a bunch of other features like padding, box colors, even modifiers.
2021-01-01 02:02:47 -05:00
9f2fb488de
Destroy abstractions
...
These were built for testing purposes, but it is unclear what testing will look like. Right now they just stand in the way of simplifying and debugging Compose internals.
2020-12-30 23:27:23 -05:00
e56dee2904
Compose alpha09
...
What have I done...? Must clean up this nonsense.
2020-12-30 22:40:12 -05:00
a8cefa92cb
Add archivesBaseName for uniqueness
...
We do not want to clash with anyone having a module named "compose" or "yoga" downstream.
2020-12-30 21:50:22 -05:00
a3a6679afa
Correctly pass children to Compose emit function
2020-12-15 16:29:51 -05:00
0bd92a88c9
Update to Compose alpha08
2020-12-04 23:27:02 -05:00
38edc191ae
Add additional sample "Robot"
...
This matches the use-input sample from Ink, although I may go full Snake on this in the future.
2020-11-21 01:38:38 -05:00
e0ed21cdaa
Upgrade to Jansi 2.0
...
As part of the change, stop installing it globally in System.out. Instead, reference its output wrapper directly.
2020-11-20 23:06:29 -05:00
f540538c00
Fix my name
2020-11-20 22:20:04 -05:00
51464b9523
Update to Compose alpha07
...
Also add (basic) validation that the submodule version matches the runtime version.
2020-11-20 13:09:42 -05:00
9f896ccbff
Validate submodules during configuration
...
Not great, but it ensures the check runs before any task. In the case of Yoga, the core and jni subprojects would try to run and fail before the check with the previous setup.
2020-11-20 13:04:04 -05:00
dee35c4e0a
Link examples from README
2020-11-19 15:49:36 -05:00
b35b681377
Push snapshots from CI
2020-11-19 15:48:17 -05:00
4e9a653e14
Add Maven deployment infrastructure
2020-11-19 15:43:29 -05:00
5f62fd0cae
Remove intermediate Yoga java module
2020-11-19 15:35:34 -05:00
4d66b499e0
Switch Compose module to JVM only
...
This will make deployment simpler as we do not need the multiplatform capabilities at all.
2020-11-19 14:01:57 -05:00
1a0d5e2bb3
Explicitly flush after write
...
This ensures the trailing line clear, which is not suffixed with a newline, is processed.
2020-10-28 23:07:20 -04:00
add06e80c3
Upgrade to Compose alpha 6
2020-10-28 16:37:43 -04:00
153e254467
Ensure final frame is rendered
...
...using some not-so-pretty yields...
2020-10-28 10:07:00 -04:00
59431ddd12
Ignore flaky test for now
2020-10-27 16:39:57 -04:00
0384c6b1e6
Revert "Use asciinema-vsync to process asciinema before making SVGs"
...
This reverts commit 8b482322d03aa842d1be213221539362a45f7aac.
2020-10-27 16:27:26 -04:00
bc8af5799a
Write frames as a byte array to avoid buffering
2020-10-27 16:24:44 -04:00
8b482322d0
Use asciinema-vsync to process asciinema before making SVGs
2020-10-22 11:52:09 -04:00
8bde18a8e2
Do not emit trailing newline when clearing old lines
2020-10-21 11:06:19 -04:00
0fced024f5
Deterministic Jest output
2020-10-20 17:08:16 -04:00
ce9db14cb0
Check for svg-term and fail gracefully
2020-10-20 11:19:06 -04:00
733610b7a8
Prevent most flickering while rendering
...
Instead of moving the cursor up and clearing each line before rendering the output, move to the top first, print each line, and then clear the rest of the line to erase old output. This avoids the case where all lines are empty for a few milliseconds as the sequences are being parsed.
2020-10-20 11:10:09 -04:00
bb9d698e57
Add a script to update example READMEs with output
2020-10-20 00:15:16 -04:00
fab94b81bf
Reduce dependency on jansi
2020-10-20 00:12:28 -04:00
bb08e710c4
Replace launchInComposition with LaunchedTask
2020-10-19 22:09:57 -04:00
076414d022
Inline render.kt function
2020-10-14 14:53:34 -04:00
6962b01fcd
Update to Compose alpha 5
2020-10-14 14:14:44 -04:00
e5dcd8a390
Emit fewer ANSI control sequences
...
Group together the attributes of a single text entry into a single sequence.
2020-10-14 14:01:10 -04:00
bd0de027ad
Add support for foreground and background color
2020-10-13 16:00:24 -04:00
207ed2afb8
Send frame as single buffer to reduce judder
2020-10-12 21:48:10 -04:00
d804ee0341
Add text styles
2020-10-12 21:35:12 -04:00
fa53cbe1f0
Put nodes in charge of rendering themselves
2020-10-11 23:18:24 -04:00
c5dff2a559
Update to Crossword 0.1.2
...
Adds support for zero-sized canvas which is required if your first real frame is delayed.
2020-10-10 22:19:41 -04:00
aa45b3c0ae
Test Applier and implement move
2020-10-10 21:45:20 -04:00
842974f825
Upgrade to Compose alpha 4
2020-10-01 15:21:21 -04:00
dbe03d45b5
Add high-level DSL entrypoint
...
This handles blocking the caller thread, setting up the coroutine scope for work, and waiting for the final frame to render.
Also add a new simple example (although it's partially broken since the final frame is missing).
2020-09-25 14:21:21 -04:00
93c990f30d
Set frame delay to 50ms
...
At 20fps you can see consistent changes which occur at 250ms, 200ms, and 100ms intervals which are common.
2020-09-25 14:13:43 -04:00
81abb18d1b
Expose setting the content on a Mosaic instance
2020-09-25 13:27:55 -04:00
2175f13826
Only wait for the next frame if there are pending changes
2020-09-25 12:46:26 -04:00
ca42e5789a
Correct toString output
...
Whoops.
2020-09-25 12:42:20 -04:00
e485daa34c
Solve the final frame problem by returning a handle
...
With this you can wait for the next render before canceling to ensure that the final state is correctly sent to output.
2020-09-25 12:10:55 -04:00
9b1880fe47
Create an object to represent a mosaic
...
This will let it be driven in tests in a deterministic manner.
2020-09-25 11:43:41 -04:00
b6fdfc25ce
Simplify Jest example by conforming to standard Gradle layout
2020-09-24 22:47:30 -04:00
cef0977d95
Split frame rendering from stdout rendering
...
This is a first step on the way to test-driven Mosaic compositions.
2020-09-24 22:44:32 -04:00