4092ed477b
Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.1 ( #504 )
...
* Update dependency com.pinterest.ktlint:ktlint-cli to v1.7.1
* Formatting garbage
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2025-10-21 02:15:33 +00:00
01d71011f4
Use non-deprecated function for date days ( #1014 )
2025-10-05 03:30:31 +00:00
52e1fddacd
Update rrtop image ( #993 )
...
It is less bad. Still not perfect.
2025-09-26 16:54:10 +00:00
36c6a9ec2b
Expose Tty read/write as InputStream/OutputStream ( #927 )
...
Also add a simple Java sample which mimics the counter. Unfortunately it doesn't actually use very much of raw mode right now.
2025-07-18 04:25:07 +00:00
eb1e502671
Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.7.1 ( #916 )
...
* Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.7.0-0.6.x-compat
* Update build.gradle
* kotlin.time migration
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <github@jakewharton.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2025-07-07 18:47:03 +00:00
a941e2c6fc
Make rrtop sample working in MPP ( #824 )
2025-03-24 15:01:06 -04:00
83a7d0c2f3
Create Terminal.Theme, and use Terminal.Size more ( #815 )
...
The ternary theme more accurately models our knowledge, and the size propagates both cell and pixel values.
2025-03-21 04:10:01 +00:00
3fe9eceeb4
Get Snake sample working on MPP ( #808 )
2025-03-19 21:05:05 +00:00
52916d2f4a
Rewrite POSIX Tty to actually use the TTY ( #805 )
...
And a PTY for testing. Windows still uses stdin/stdout for now.
2025-03-19 20:27:29 +00:00
4f5977231b
Run samples in CI ( #792 )
2025-03-17 03:47:30 +00:00
f71c42d2d0
Make all samples multiplatform ( #786 )
2025-03-13 13:23:43 -04:00
8cee1568ae
Move static to root package ( #778 )
...
It no longer depends on UI things.
2025-03-07 14:26:49 +00:00
c38c09d8bc
Create new static logging system ( #777 )
...
`Static` function is now called `StaticEffect` to better indicate that it only renders its content once.
`LocalStaticLogger` composition local provides access to `StaticLogger` which allows logging plain strings at arbitrary points for inclusion in the next frame. This can be used from effects, callback, state classes, etc.
2025-03-07 00:56:46 -05:00
8957294eff
Add support for Kitty underlines ( #765 )
2025-03-02 06:47:20 -05:00
1d6a300bb8
Upgrade to Kotlin 2.1.20-RC ( #734 )
...
Use the new application plugin replacement.
2025-02-24 17:02:18 +00:00
93cccf14ff
Add focus and theme to Terminal, make cursor and sync conditional ( #696 )
2025-02-15 14:50:17 -05:00
ac2f10564a
Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.6.2 ( #689 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-10 15:57:28 +00:00
6046e7365b
Do not trigger recomposition when static renders ( #677 )
2025-02-03 14:59:35 -05:00
321290f5c1
Create mosaic-testing module ( #528 )
2025-01-03 21:55:32 +00:00
efcf480ebe
Create mosaic-animation ( #600 )
...
Porting animation helpers from androidx:
- https://developer.android.com/reference/kotlin/androidx/compose/animation/core/package-summary
- androidx.compose.animation](https://developer.android.com/reference/kotlin/androidx/compose/animation/package-summary (a little bit from here)
Solution for https://github.com/JakeWharton/mosaic/issues/400
Use the new code to update and add animations to the demo sample.
2025-01-02 21:19:21 -05:00
15b566f973
Create simple Snake game sample ( #514 )
2024-11-14 23:03:42 -05:00
2b4cb8a69c
Add rudimentary key handling ( #442 )
...
This forces all usages into raw mode, regardless of whether you are listening for keys or not.
2024-09-10 18:11:15 -04:00
028a7a9bff
Add tool for displaying raw input ( #462 )
2024-09-03 21:01:56 -04:00
e308b86351
Hide and show the cursor automatically during rendering ( #452 )
2024-08-26 16:30:32 +00:00
83474b8724
Remove JS support ( #447 )
...
Demand for this is low, probably 0. If someone wants for it they can file an issue and we can discuss support further.
Downgrade to Gradle 8.9 because of KT-70700.
2024-08-23 09:59:23 -04:00
145c8112dd
Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.6.1 ( #437 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-20 10:34:09 -04:00
4d053dbbd3
Change runMosaic to support effects ( #284 )
2024-08-16 16:58:08 -04:00
3fc06ec160
Update dependency org.jline:jline to v3.26.3 ( #414 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-17 12:25:16 -04:00
8b2abbae64
Update dependency org.jline:jline to v3.26.2 ( #403 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 08:10:00 -04:00
3dffc85de3
Some fun animation in demo sample ( #399 )
2024-06-09 23:19:57 -04:00
620fcad8ca
Remove background color from default rrtop sample theme ( #395 )
2024-06-08 16:25:22 -04:00
5ca7ff1a15
Update dependency com.pinterest.ktlint:ktlint-cli to v1.3.0 ( #392 )
...
* Update dependency com.pinterest.ktlint:ktlint-cli to v1.3.0
* Format
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-06-07 03:39:41 +00:00
be8adb134d
Add rrtop gif to rrtop readme
2024-06-03 21:29:59 -04:00
0a4b690c90
Update gifs and readme ( #388 )
...
New renders for the demo and rrtop. Also use self-documenting awaitCancelation function in their code.
2024-06-03 20:50:41 +00:00
148502f815
Some code fixes ( #384 )
...
- Move `Fill` and `Stroke` inside the `DrawStyle`
- Remove `toString` from `DrawStyle.Stroke` because `@Poko` is already doing it
- In the robot sample, the use of the `offset` modifier in the robot (`Text`)
- Remove `TODO https://github.com/JakeWharton/mosaic/issues/11 ` in the robot sample, it seems that it is no longer relevant
- In the robot sample, add `isActive` check in the loop for keyboard input
- Fix in the `README.md` `mutableStateOf` to `mutableIntStateOf`, as is correct in newer versions
2024-05-30 07:49:11 -04:00
d542cf1587
Modify DrawScope#drawRect ( #383 )
...
- Change the `drawRect` method in `DrawScope` like the method from the Compose UI
- Add support for `DrawStyle`: `Fill` and `Stroke` in `DrawScope#drawRect`
- Add support for drawing a rectangle from text characters
- Add `Filler` with code point
- Change the robot sample to show `drawRect` with `Stroke`
2024-05-29 21:50:07 -04:00
a5ec60767d
Update to Kotlin 2.0
...
* Update Kotlin and Compose to v2
* Kotlin 2.0 updates
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-05-28 16:55:50 -04:00
15d9d2df30
Remove autoboxing and object creation from multiple locations ( #372 )
...
- Add `Color.Unspecified` for replace nullable `Color`
- Add some extension functions for `Color` to check on `Color.Unspecified`
- Use `TextStyle.Unspecified` instead null for `TextStyle`
- Add some extension functions for `TextStyle` to check on `TextStyle.Unspecified` and `TextStyle.Empty`
- Make `TextStyle` an inline class
- Using `Int` as codepoint (`TextPixel#codePoint`) instead of `String` in `TextPixel` (`TextPixel#value`)
- Rename `style: TextStyle` to `textStyle: TextStyle` for clearer and less confusing naming, as there are several other styles
- Add emoji to demo sample and use of 2 styles for part of the text
2024-05-27 21:15:36 -04:00
6efdb159b8
Support true color palette ( #356 )
...
Also update rrtop sample with several color palettes
2024-05-15 21:30:20 -04:00
eb76d4c1ba
Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.6.0 ( #368 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 13:55:31 +00:00
cc4b181c17
Add rrtop sample ( #366 )
...
An example of a UI like the [rrtop](https://github.com/wojciech-zurek/rrtop ) program with **fake** data.
2024-05-15 09:47:04 -04:00
074aa9773b
Update dependency org.jline:jline to v3.26.1 ( #352 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 08:28:18 -04:00
6572612751
Update dependency org.jline:jline to v3.26.0 ( #349 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 13:24:31 -04:00
36fc6a8e3b
Update dependency io.nlopez.compose.rules:ktlint to v0.3.15 ( #345 )
...
* Update dependency io.nlopez.compose.rules:ktlint to v0.3.15
* Use mutableIntStateOf
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-04-14 01:34:12 +00:00
e58ceb1dd0
Update dependency com.pinterest.ktlint:ktlint-cli to v1.2.0 ( #320 )
...
* Update dependency com.pinterest.ktlint:ktlint-cli to v1.2.0
* Appease ktlint
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-02-29 02:17:03 +00:00
4482dd33a9
Update dependency org.jline:jline to v3.25.1 ( #303 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 16:03:42 +00:00
167f6b1e56
Update dependency org.jline:jline to v3.25.0 ( #286 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-23 19:49:40 -05:00
12fc6fc245
Introduce Compose ktlint rules ( #267 )
2023-12-01 22:03:15 -05:00
e8e498e34f
Update robot sample with offset modifier ( #256 )
2023-11-18 22:08:34 -05:00
340baf8eb3
Allow the robot to move on Windows ( #250 )
2023-11-13 22:57:50 +00:00