From dceb9e41a23cdc9315826cbbee171ed3b52816fa Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Wed, 4 Jun 2025 11:41:54 -0400 Subject: [PATCH 01/19] Create sandbox-type background for app - Allows users to freely zoom and pan to view different sections of the tree --- .../traceviewer/SandboxBackground.kt | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt new file mode 100644 index 000000000..80bcf79c8 --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -0,0 +1,72 @@ +package com.squareup.workflow1.traceviewer + +import androidx.compose.foundation.gestures.awaitEachGesture +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.wrapContentSize +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.input.pointer.PointerEventType +import androidx.compose.ui.input.pointer.pointerInput + +/** + * This is the backdrop for the whole app. Since there can be hundreds of modules at a time, there + * is not realistic way to fit everything on the screen at once. Having the liberty to pan across + * the whole tree as well as zoom into specific subtrees means there's a lot more control when + * analyzing the traces. + * + */ +@Composable +public fun SandboxBackground(content: @Composable () -> Unit) { + var scale by remember { mutableStateOf(1f) } + var offset by remember { mutableStateOf(Offset.Zero) } + + Box( + modifier = Modifier + .wrapContentSize(unbounded = true) // this allows the content to be larger than the initial screen of the app + .pointerInput(Unit) { // this allows for user's panning to view different parts of content + awaitEachGesture { + val event = awaitPointerEvent() + + // zooming + if (event.type == PointerEventType.Scroll) { + val scrollDelta = event.changes.first().scrollDelta.y + scale *= if (scrollDelta < 0) 1.1f else 0.9f + scale = scale.coerceIn(0.1f, 10f) + event.changes.forEach { it.consume() } + } + + // panning: this tracks multiple events within one gesture to see what the user is doing, then calculates the offset and pans the screen accordingly + val drag = event.changes.firstOrNull() + if (drag != null && drag.pressed) { + var prev = drag.position + while (true) { + val nextEvent = awaitPointerEvent() + val nextDrag = nextEvent.changes.firstOrNull() ?: break + if (!nextDrag.pressed) break + + val delta = nextDrag.position - prev + offset += delta + prev = nextDrag.position + nextDrag.consume() + } + } + } + } + .graphicsLayer { + translationX = offset.x + translationY = offset.y + scaleX = scale + scaleY = scale + } + ) { + Box { + content() // this is main content + } + } +} From 759e3e4f7371445cb9212e9baf8dd4ec79efa097 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Wed, 4 Jun 2025 11:46:00 -0400 Subject: [PATCH 02/19] Create json parsing using moshi --- gradle/libs.versions.toml | 2 + workflow-trace-viewer/build.gradle.kts | 1 + .../com/squareup/workflow1/traceviewer/App.kt | 9 +- .../traceviewer/WorkflowJsonParser.kt | 27 + .../src/jvmMain/resources/workflow-large.json | 2598 +++++++++++++++++ .../jvmMain/resources/workflow-simple.json | 105 + 6 files changed, 2741 insertions(+), 1 deletion(-) create mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt create mode 100644 workflow-trace-viewer/src/jvmMain/resources/workflow-large.json create mode 100644 workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 85cc6f751..79f1e5f60 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,6 +4,7 @@ agpVersion = "8.8.0" compileSdk = "34" minSdk = "24" +moshiKotlinVersion = "1.15.2" targetSdk = "33" jdk-target = "1.8" @@ -231,6 +232,7 @@ mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = " mockk = { module = "io.mockk:mockk", version.ref = "mockk" } +moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshiKotlinVersion" } reactivestreams = "org.reactivestreams:reactive-streams:1.0.4" robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } diff --git a/workflow-trace-viewer/build.gradle.kts b/workflow-trace-viewer/build.gradle.kts index 61e4fb13d..4678abb63 100644 --- a/workflow-trace-viewer/build.gradle.kts +++ b/workflow-trace-viewer/build.gradle.kts @@ -23,6 +23,7 @@ kotlin { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutines.swing) implementation(compose.materialIconsExtended) + implementation(libs.moshi.kotlin) } } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 8a82d4609..2ba9d72b7 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -5,5 +5,12 @@ import androidx.compose.runtime.Composable @Composable fun App() { - Text("Hello world!") + val jsonString = object {}.javaClass.getResource("/workflow-simple.json")?.readText() + val root = jsonString?.let { FetchRoot(it) } + println(root) + if (root != null) { + DrawWorkflowTree(root) + } else { + Text("Empty data or failed to parse data") // TODO: proper handling of error + } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt new file mode 100644 index 000000000..ea143891e --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt @@ -0,0 +1,27 @@ +package com.squareup.workflow1.traceviewer + +import com.squareup.moshi.JsonDataException +import com.squareup.moshi.Moshi +import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory +import java.io.IOException + +/** + * Parses a JSON string into [WorkflowNode] with Moshi adapters + * All the caught exceptions should be handled by the caller, and appropriate UI feedback should be provided to user + * + */ +public fun FetchRoot(json: String): WorkflowNode? { + return try{ + val moshi = Moshi.Builder() + .add(KotlinJsonAdapterFactory()) + .build() + val workflowAdapter = moshi.adapter(WorkflowNode::class.java) + val root = workflowAdapter.fromJson(json) + root + } catch (e: JsonDataException) { + throw JsonDataException("Failed to parse JSON: ${e.message}", e) + } catch (e: IOException){ + throw IOException("Malformed JSON: ${e.message}", e) + } +} + diff --git a/workflow-trace-viewer/src/jvmMain/resources/workflow-large.json b/workflow-trace-viewer/src/jvmMain/resources/workflow-large.json new file mode 100644 index 000000000..9733c6e23 --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/resources/workflow-large.json @@ -0,0 +1,2598 @@ +{ + "id": 1, + "name": "root", + "children": [ + { + "id": 2, + "name": "comment-proxy", + "children": [ + { + "id": 11, + "name": "transformer-collector", + "children": [ + { + "id": 14, + "name": "backup-tracker", + "children": [ + { + "id": 32, + "name": "schedule-form", + "children": [ + { + "id": 66, + "name": "download-aggregator", + "children": [] + }, + { + "id": 67, + "name": "search-handler", + "children": [] + }, + { + "id": 68, + "name": "share-dispatcher", + "children": [] + }, + { + "id": 69, + "name": "profile-factory", + "children": [ + { + "id": 71, + "name": "schedule-tracker", + "children": [] + }, + { + "id": 72, + "name": "data-adapter", + "children": [] + }, + { + "id": 73, + "name": "export-server", + "children": [] + }, + { + "id": 74, + "name": "processor-builder", + "children": [] + } + ] + }, + { + "id": 70, + "name": "signup-controller", + "children": [] + } + ] + }, + { + "id": 33, + "name": "schedule-transformer", + "children": [ + { + "id": 113, + "name": "cart-dispatcher", + "children": [] + }, + { + "id": 114, + "name": "cache-validator", + "children": [] + }, + { + "id": 115, + "name": "admin-server", + "children": [] + }, + { + "id": 116, + "name": "notification-client", + "children": [] + }, + { + "id": 117, + "name": "document-formatter", + "children": [] + } + ] + }, + { + "id": 109, + "name": "utils", + "children": [ + { + "id": 186, + "name": "migration-dispatcher", + "children": [] + }, + { + "id": 187, + "name": "audio-gateway", + "children": [] + }, + { + "id": 335, + "name": "export-form", + "children": [] + }, + { + "id": 336, + "name": "schedule-reporter", + "children": [] + }, + { + "id": 337, + "name": "image-collector", + "children": [] + } + ] + }, + { + "id": 110, + "name": "admin-manager", + "children": [ + { + "id": 124, + "name": "video-sorter", + "children": [] + }, + { + "id": 125, + "name": "config", + "children": [] + }, + { + "id": 156, + "name": "search-encoder", + "children": [ + { + "id": 159, + "name": "storage-logger", + "children": [] + }, + { + "id": 160, + "name": "video-manager", + "children": [] + } + ] + }, + { + "id": 157, + "name": "share-formatter", + "children": [] + }, + { + "id": 175, + "name": "import-reporter", + "children": [ + { + "id": 181, + "name": "api-screen", + "children": [] + }, + { + "id": 182, + "name": "task-client", + "children": [] + }, + { + "id": 183, + "name": "storage-transformer", + "children": [] + }, + { + "id": 184, + "name": "order-service", + "children": [] + }, + { + "id": 185, + "name": "service-component", + "children": [] + } + ] + } + ] + }, + { + "id": 197, + "name": "processor-reporter", + "children": [] + } + ] + }, + { + "id": 15, + "name": "user-client", + "children": [ + { + "id": 47, + "name": "download-parser", + "children": [] + }, + { + "id": 48, + "name": "migration-handler", + "children": [] + }, + { + "id": 49, + "name": "filter-sorter", + "children": [] + }, + { + "id": 198, + "name": "notification-sorter", + "children": [] + }, + { + "id": 256, + "name": "message-formatter", + "children": [] + }, + { + "id": 257, + "name": "message-client", + "children": [] + }, + { + "id": 258, + "name": "storage-gateway", + "children": [] + }, + { + "id": 259, + "name": "schedule-client", + "children": [] + } + ] + }, + { + "id": 16, + "name": "processor-optimizer", + "children": [ + { + "id": 19, + "name": "message-reporter", + "children": [ + { + "id": 283, + "name": "schedule-collector", + "children": [] + }, + { + "id": 284, + "name": "review-scheduler", + "children": [] + }, + { + "id": 285, + "name": "sync-filter", + "children": [] + }, + { + "id": 286, + "name": "workspace-validator", + "children": [] + }, + { + "id": 338, + "name": "signup-logger", + "children": [ + { + "id": 482, + "name": "admin-monitor", + "children": [] + }, + { + "id": 483, + "name": "storage-collector", + "children": [] + } + ] + }, + { + "id": 339, + "name": "download-flow", + "children": [ + { + "id": 355, + "name": "order-processor", + "children": [] + }, + { + "id": 356, + "name": "import-client", + "children": [] + }, + { + "id": 357, + "name": "report-collector", + "children": [] + }, + { + "id": 358, + "name": "storage-client", + "children": [] + } + ] + } + ] + }, + { + "id": 20, + "name": "comment-service", + "children": [ + { + "id": 34, + "name": "report-monitor", + "children": [ + { + "id": 84, + "name": "worker-widget", + "children": [ + { + "id": 384, + "name": "migration-service", + "children": [] + }, + { + "id": 385, + "name": "validator-reporter", + "children": [] + }, + { + "id": 386, + "name": "api-server", + "children": [] + }, + { + "id": 387, + "name": "data-logger", + "children": [] + }, + { + "id": 388, + "name": "document-screen", + "children": [] + } + ] + }, + { + "id": 85, + "name": "constants", + "children": [ + { + "id": 131, + "name": "sync-controller", + "children": [] + }, + { + "id": 174, + "name": "message-flow", + "children": [] + }, + { + "id": 214, + "name": "image-tracker", + "children": [ + { + "id": 289, + "name": "project-server", + "children": [ + { + "id": 321, + "name": "filter-manager", + "children": [] + }, + { + "id": 322, + "name": "refresh", + "children": [] + }, + { + "id": 323, + "name": "service-controller", + "children": [ + { + "id": 334, + "name": "audio-scheduler", + "children": [] + } + ] + }, + { + "id": 324, + "name": "upload-controller", + "children": [] + }, + { + "id": 325, + "name": "login-analyzer", + "children": [] + } + ] + }, + { + "id": 366, + "name": "user-parser", + "children": [] + }, + { + "id": 367, + "name": "settings-handler", + "children": [] + }, + { + "id": 368, + "name": "database-component", + "children": [] + }, + { + "id": 369, + "name": "login-filter", + "children": [] + }, + { + "id": 370, + "name": "workspace-dispatcher", + "children": [] + } + ] + }, + { + "id": 215, + "name": "worker-scheduler", + "children": [ + { + "id": 265, + "name": "task-gateway", + "children": [] + }, + { + "id": 266, + "name": "schedule-processor", + "children": [ + { + "id": 290, + "name": "upload-server", + "children": [ + { + "id": 307, + "name": "database-validator", + "children": [] + }, + { + "id": 308, + "name": "signup-aggregator", + "children": [] + }, + { + "id": 309, + "name": "share-optimizer", + "children": [] + }, + { + "id": 315, + "name": "order-reporter", + "children": [] + }, + { + "id": 316, + "name": "auth-service", + "children": [ + { + "id": 390, + "name": "document-factory", + "children": [ + { + "id": 494, + "name": "admin-aggregator", + "children": [] + }, + { + "id": 495, + "name": "task-scheduler", + "children": [] + } + ] + }, + { + "id": 391, + "name": "team-screen", + "children": [ + { + "id": 418, + "name": "backup-sorter", + "children": [ + { + "id": 449, + "name": "share-form", + "children": [] + }, + { + "id": 450, + "name": "user-monitor", + "children": [] + }, + { + "id": 488, + "name": "share-scheduler", + "children": [] + } + ] + }, + { + "id": 419, + "name": "backup-factory", + "children": [] + }, + { + "id": 420, + "name": "sync-optimizer", + "children": [] + }, + { + "id": 421, + "name": "video-server", + "children": [] + }, + { + "id": 422, + "name": "signup-validator", + "children": [] + } + ] + }, + { + "id": 392, + "name": "signup-transformer", + "children": [] + }, + { + "id": 393, + "name": "share-controller", + "children": [] + }, + { + "id": 433, + "name": "settings-client", + "children": [] + }, + { + "id": 434, + "name": "notification-controller", + "children": [] + }, + { + "id": 435, + "name": "workspace-collector", + "children": [] + }, + { + "id": 436, + "name": "processor-server", + "children": [] + }, + { + "id": 437, + "name": "report-transformer", + "children": [] + } + ] + } + ] + }, + { + "id": 291, + "name": "worker-client", + "children": [ + { + "id": 310, + "name": "analytics-adapter", + "children": [] + }, + { + "id": 311, + "name": "settings-tracker", + "children": [] + }, + { + "id": 312, + "name": "migration-processor", + "children": [] + }, + { + "id": 451, + "name": "validator-analyzer", + "children": [] + }, + { + "id": 452, + "name": "filter-collector", + "children": [] + }, + { + "id": 453, + "name": "export-collector", + "children": [] + }, + { + "id": 454, + "name": "team-adapter", + "children": [] + }, + { + "id": 455, + "name": "workspace-service", + "children": [] + } + ] + }, + { + "id": 410, + "name": "video-service", + "children": [] + }, + { + "id": 411, + "name": "analytics-builder", + "children": [] + }, + { + "id": 412, + "name": "workspace-proxy", + "children": [] + }, + { + "id": 413, + "name": "service-reporter", + "children": [] + } + ] + }, + { + "id": 267, + "name": "rating-parser", + "children": [] + }, + { + "id": 268, + "name": "cart-manager", + "children": [ + { + "id": 273, + "name": "team-component", + "children": [] + }, + { + "id": 274, + "name": "signup-tracker", + "children": [] + }, + { + "id": 275, + "name": "sync-dispatcher", + "children": [] + }, + { + "id": 276, + "name": "worker-processor", + "children": [] + }, + { + "id": 277, + "name": "auth-server", + "children": [] + } + ] + }, + { + "id": 269, + "name": "backup-service", + "children": [] + } + ] + }, + { + "id": 216, + "name": "login-builder", + "children": [] + }, + { + "id": 217, + "name": "login-formatter", + "children": [] + } + ] + }, + { + "id": 313, + "name": "import-dispatcher", + "children": [ + { + "id": 317, + "name": "transformer-monitor", + "children": [] + }, + { + "id": 318, + "name": "message-dispatcher", + "children": [] + }, + { + "id": 319, + "name": "dashboard-collector", + "children": [] + }, + { + "id": 320, + "name": "cache-processor", + "children": [] + } + ] + }, + { + "id": 314, + "name": "filter-widget", + "children": [ + { + "id": 428, + "name": "notification-optimizer", + "children": [] + }, + { + "id": 429, + "name": "migration-analyzer", + "children": [] + }, + { + "id": 430, + "name": "download-gateway", + "children": [] + }, + { + "id": 431, + "name": "workspace-widget", + "children": [] + }, + { + "id": 432, + "name": "image-parser", + "children": [] + } + ] + }, + { + "id": 461, + "name": "analytics-flow", + "children": [] + }, + { + "id": 462, + "name": "order-filter", + "children": [] + }, + { + "id": 463, + "name": "image-builder", + "children": [] + }, + { + "id": 464, + "name": "rating-proxy", + "children": [] + }, + { + "id": 465, + "name": "auth-gateway", + "children": [] + } + ] + }, + { + "id": 35, + "name": "comment-widget", + "children": [] + }, + { + "id": 36, + "name": "user-factory", + "children": [] + }, + { + "id": 86, + "name": "backup-screen", + "children": [ + { + "id": 234, + "name": "document-service", + "children": [] + }, + { + "id": 235, + "name": "cart-builder", + "children": [] + }, + { + "id": 236, + "name": "restore-gateway", + "children": [] + }, + { + "id": 237, + "name": "upload-analyzer", + "children": [] + }, + { + "id": 251, + "name": "analytics-analyzer", + "children": [] + }, + { + "id": 252, + "name": "comment-reporter", + "children": [] + }, + { + "id": 253, + "name": "storage-dispatcher", + "children": [] + }, + { + "id": 254, + "name": "report-client", + "children": [] + }, + { + "id": 255, + "name": "restore-factory", + "children": [] + } + ] + }, + { + "id": 87, + "name": "audio-client", + "children": [ + { + "id": 147, + "name": "restore-client", + "children": [] + }, + { + "id": 148, + "name": "auth-aggregator", + "children": [] + }, + { + "id": 149, + "name": "filter-parser", + "children": [] + }, + { + "id": 150, + "name": "migration-adapter", + "children": [] + }, + { + "id": 151, + "name": "team-scheduler", + "children": [ + { + "id": 152, + "name": "restore-builder", + "children": [] + }, + { + "id": 153, + "name": "filter-scheduler", + "children": [] + }, + { + "id": 154, + "name": "message-adapter", + "children": [] + }, + { + "id": 155, + "name": "storage-handler", + "children": [] + } + ] + } + ] + }, + { + "id": 88, + "name": "login-client", + "children": [] + }, + { + "id": 89, + "name": "payment-transformer", + "children": [] + } + ] + }, + { + "id": 21, + "name": "service-sorter", + "children": [ + { + "id": 118, + "name": "video-transformer", + "children": [] + }, + { + "id": 270, + "name": "comment-parser", + "children": [] + }, + { + "id": 271, + "name": "restore-form", + "children": [] + }, + { + "id": 272, + "name": "signup-manager", + "children": [] + }, + { + "id": 340, + "name": "schedule-component", + "children": [] + }, + { + "id": 341, + "name": "processor-formatter", + "children": [] + }, + { + "id": 342, + "name": "image-form", + "children": [ + { + "id": 346, + "name": "worker-sorter", + "children": [ + { + "id": 359, + "name": "share-flow", + "children": [] + }, + { + "id": 360, + "name": "admin-flow", + "children": [] + }, + { + "id": 361, + "name": "worker-validator", + "children": [] + } + ] + }, + { + "id": 347, + "name": "download-optimizer", + "children": [] + }, + { + "id": 348, + "name": "login-adapter", + "children": [] + }, + { + "id": 349, + "name": "audio-transformer", + "children": [] + } + ] + }, + { + "id": 343, + "name": "processor-factory", + "children": [] + }, + { + "id": 344, + "name": "dashboard-component", + "children": [ + { + "id": 350, + "name": "restore-scheduler", + "children": [] + }, + { + "id": 351, + "name": "data-aggregator", + "children": [] + }, + { + "id": 352, + "name": "user-service", + "children": [] + }, + { + "id": 353, + "name": "image-dispatcher", + "children": [] + }, + { + "id": 354, + "name": "dashboard-formatter", + "children": [] + } + ] + } + ] + }, + { + "id": 96, + "name": "login-optimizer", + "children": [] + }, + { + "id": 97, + "name": "api-sorter", + "children": [] + }, + { + "id": 98, + "name": "user-filter", + "children": [] + }, + { + "id": 99, + "name": "login-dispatcher", + "children": [] + } + ] + }, + { + "id": 17, + "name": "rating-controller", + "children": [ + { + "id": 30, + "name": "workspace-flow", + "children": [ + { + "id": 466, + "name": "api-formatter", + "children": [] + }, + { + "id": 467, + "name": "auth-tracker", + "children": [] + }, + { + "id": 468, + "name": "message-decoder", + "children": [] + }, + { + "id": 469, + "name": "audio-collector", + "children": [] + }, + { + "id": 470, + "name": "project-service", + "children": [] + } + ] + }, + { + "id": 31, + "name": "team-proxy", + "children": [ + { + "id": 80, + "name": "chat-component", + "children": [] + }, + { + "id": 81, + "name": "project-validator", + "children": [] + }, + { + "id": 82, + "name": "search-dispatcher", + "children": [] + }, + { + "id": 83, + "name": "signup-factory", + "children": [] + }, + { + "id": 239, + "name": "chat-client", + "children": [] + }, + { + "id": 240, + "name": "import-proxy", + "children": [] + } + ] + }, + { + "id": 61, + "name": "schedule-dispatcher", + "children": [] + }, + { + "id": 62, + "name": "document-filter", + "children": [] + }, + { + "id": 139, + "name": "login-handler", + "children": [ + { + "id": 158, + "name": "review-adapter", + "children": [] + } + ] + }, + { + "id": 140, + "name": "restore-adapter", + "children": [] + }, + { + "id": 141, + "name": "migration-tracker", + "children": [] + } + ] + }, + { + "id": 18, + "name": "validator-flow", + "children": [ + { + "id": 22, + "name": "login-reporter", + "children": [ + { + "id": 28, + "name": "api-controller", + "children": [ + { + "id": 104, + "name": "project-flow", + "children": [] + }, + { + "id": 105, + "name": "worker-filter", + "children": [] + }, + { + "id": 106, + "name": "comment-client", + "children": [] + }, + { + "id": 107, + "name": "download-widget", + "children": [] + }, + { + "id": 108, + "name": "login-decoder", + "children": [] + } + ] + }, + { + "id": 29, + "name": "transformer-server", + "children": [ + { + "id": 50, + "name": "cache-component", + "children": [] + }, + { + "id": 51, + "name": "worker-decoder", + "children": [] + }, + { + "id": 52, + "name": "video-component", + "children": [] + }, + { + "id": 53, + "name": "backup-transformer", + "children": [] + }, + { + "id": 111, + "name": "setup", + "children": [ + { + "id": 126, + "name": "project-handler", + "children": [] + }, + { + "id": 127, + "name": "admin-tracker", + "children": [] + }, + { + "id": 128, + "name": "validator-encoder", + "children": [] + }, + { + "id": 129, + "name": "task-builder", + "children": [] + }, + { + "id": 130, + "name": "project-sorter", + "children": [] + } + ] + }, + { + "id": 112, + "name": "backup-server", + "children": [ + { + "id": 219, + "name": "notification-parser", + "children": [] + }, + { + "id": 220, + "name": "profile-reporter", + "children": [] + }, + { + "id": 221, + "name": "storage-factory", + "children": [] + }, + { + "id": 222, + "name": "video-adapter", + "children": [] + }, + { + "id": 389, + "name": "workspace-factory", + "children": [ + { + "id": 423, + "name": "api-service", + "children": [] + } + ] + } + ] + } + ] + }, + { + "id": 91, + "name": "auth-encoder", + "children": [] + }, + { + "id": 119, + "name": "backup-handler", + "children": [] + }, + { + "id": 120, + "name": "dashboard-dispatcher", + "children": [] + } + ] + }, + { + "id": 23, + "name": "cart-client", + "children": [ + { + "id": 207, + "name": "search-sorter", + "children": [] + }, + { + "id": 208, + "name": "schedule-aggregator", + "children": [] + }, + { + "id": 209, + "name": "document-adapter", + "children": [] + } + ] + }, + { + "id": 24, + "name": "upload-tracker", + "children": [ + { + "id": 161, + "name": "message-component", + "children": [ + { + "id": 498, + "name": "api-manager", + "children": [] + }, + { + "id": 499, + "name": "auth-client", + "children": [] + }, + { + "id": 500, + "name": "storage-parser", + "children": [] + } + ] + }, + { + "id": 162, + "name": "cache-factory", + "children": [] + }, + { + "id": 163, + "name": "user-logger", + "children": [ + { + "id": 165, + "name": "search-monitor", + "children": [] + }, + { + "id": 166, + "name": "validator-screen", + "children": [] + }, + { + "id": 167, + "name": "comment-logger", + "children": [] + }, + { + "id": 190, + "name": "report-server", + "children": [ + { + "id": 247, + "name": "analytics-widget", + "children": [] + }, + { + "id": 248, + "name": "cache-flow", + "children": [] + }, + { + "id": 249, + "name": "analytics-optimizer", + "children": [] + }, + { + "id": 250, + "name": "report-service", + "children": [] + }, + { + "id": 362, + "name": "workspace-formatter", + "children": [ + { + "id": 403, + "name": "filter-validator", + "children": [] + }, + { + "id": 404, + "name": "cart-adapter", + "children": [] + }, + { + "id": 405, + "name": "api-reporter", + "children": [] + }, + { + "id": 406, + "name": "migration-scheduler", + "children": [] + }, + { + "id": 407, + "name": "review-flow", + "children": [] + } + ] + }, + { + "id": 363, + "name": "document-validator", + "children": [ + { + "id": 440, + "name": "storage-filter", + "children": [ + { + "id": 445, + "name": "cart-factory", + "children": [] + }, + { + "id": 446, + "name": "task-filter", + "children": [] + }, + { + "id": 447, + "name": "team-validator", + "children": [] + }, + { + "id": 448, + "name": "report-parser", + "children": [] + }, + { + "id": 476, + "name": "filter-form", + "children": [] + }, + { + "id": 477, + "name": "video-encoder", + "children": [] + } + ] + }, + { + "id": 441, + "name": "analytics-scheduler", + "children": [] + }, + { + "id": 442, + "name": "chat-optimizer", + "children": [] + }, + { + "id": 443, + "name": "validator-form", + "children": [ + { + "id": 496, + "name": "processor-component", + "children": [] + }, + { + "id": 497, + "name": "migration-reporter", + "children": [] + } + ] + }, + { + "id": 444, + "name": "dashboard-decoder", + "children": [] + } + ] + }, + { + "id": 364, + "name": "notification-form", + "children": [ + { + "id": 408, + "name": "order-controller", + "children": [] + }, + { + "id": 409, + "name": "backup-reporter", + "children": [] + } + ] + }, + { + "id": 365, + "name": "sync-monitor", + "children": [] + } + ] + }, + { + "id": 191, + "name": "share-sorter", + "children": [ + { + "id": 228, + "name": "migration-client", + "children": [] + }, + { + "id": 229, + "name": "profile-monitor", + "children": [] + }, + { + "id": 260, + "name": "payment-factory", + "children": [] + }, + { + "id": 471, + "name": "schedule-flow", + "children": [ + { + "id": 472, + "name": "upload-widget", + "children": [] + }, + { + "id": 473, + "name": "download-client", + "children": [] + }, + { + "id": 474, + "name": "payment-analyzer", + "children": [] + } + ] + } + ] + }, + { + "id": 192, + "name": "search-service", + "children": [ + { + "id": 295, + "name": "validator-component", + "children": [] + }, + { + "id": 296, + "name": "team-transformer", + "children": [] + }, + { + "id": 297, + "name": "database-aggregator", + "children": [] + }, + { + "id": 298, + "name": "profile-sorter", + "children": [] + }, + { + "id": 398, + "name": "report-manager", + "children": [] + }, + { + "id": 399, + "name": "review-widget", + "children": [] + }, + { + "id": 400, + "name": "message-widget", + "children": [] + }, + { + "id": 401, + "name": "user-encoder", + "children": [] + }, + { + "id": 402, + "name": "auth-formatter", + "children": [] + } + ] + }, + { + "id": 193, + "name": "worker-monitor", + "children": [] + } + ] + }, + { + "id": 164, + "name": "database-parser", + "children": [ + { + "id": 394, + "name": "worker-server", + "children": [] + }, + { + "id": 395, + "name": "transformer-decoder", + "children": [] + }, + { + "id": 396, + "name": "settings-processor", + "children": [] + }, + { + "id": 397, + "name": "document-controller", + "children": [] + } + ] + }, + { + "id": 168, + "name": "audio-validator", + "children": [] + }, + { + "id": 169, + "name": "transformer-client", + "children": [] + } + ] + }, + { + "id": 25, + "name": "export-aggregator", + "children": [ + { + "id": 218, + "name": "project-client", + "children": [] + } + ] + }, + { + "id": 26, + "name": "auth-handler", + "children": [ + { + "id": 223, + "name": "chat-decoder", + "children": [] + }, + { + "id": 224, + "name": "filter-decoder", + "children": [] + }, + { + "id": 225, + "name": "document-collector", + "children": [] + }, + { + "id": 226, + "name": "backup-proxy", + "children": [] + }, + { + "id": 227, + "name": "api-factory", + "children": [] + } + ] + }, + { + "id": 27, + "name": "migration-optimizer", + "children": [ + { + "id": 54, + "name": "signup-screen", + "children": [] + }, + { + "id": 55, + "name": "settings-flow", + "children": [] + }, + { + "id": 56, + "name": "task-service", + "children": [] + }, + { + "id": 57, + "name": "backup-component", + "children": [] + }, + { + "id": 58, + "name": "order-builder", + "children": [] + } + ] + } + ] + } + ] + }, + { + "id": 60, + "name": "cart-component", + "children": [ + { + "id": 75, + "name": "backup-processor", + "children": [] + }, + { + "id": 76, + "name": "import-filter", + "children": [] + }, + { + "id": 77, + "name": "database-proxy", + "children": [] + }, + { + "id": 78, + "name": "share-service", + "children": [] + }, + { + "id": 79, + "name": "dashboard-screen", + "children": [] + } + ] + }, + { + "id": 241, + "name": "dashboard-manager", + "children": [ + { + "id": 305, + "name": "database-client", + "children": [] + }, + { + "id": 306, + "name": "signup-proxy", + "children": [] + }, + { + "id": 371, + "name": "signup-sorter", + "children": [] + }, + { + "id": 372, + "name": "review-dispatcher", + "children": [] + }, + { + "id": 377, + "name": "api-adapter", + "children": [] + }, + { + "id": 378, + "name": "message-tracker", + "children": [] + }, + { + "id": 379, + "name": "upload-gateway", + "children": [] + }, + { + "id": 380, + "name": "login-validator", + "children": [] + }, + { + "id": 381, + "name": "sync-form", + "children": [] + } + ] + }, + { + "id": 242, + "name": "signup-builder", + "children": [ + { + "id": 326, + "name": "share-reporter", + "children": [] + }, + { + "id": 327, + "name": "filter-client", + "children": [ + { + "id": 331, + "name": "cache-proxy", + "children": [] + }, + { + "id": 332, + "name": "export-screen", + "children": [] + }, + { + "id": 333, + "name": "processor-widget", + "children": [] + } + ] + }, + { + "id": 328, + "name": "backup-formatter", + "children": [] + }, + { + "id": 329, + "name": "admin-builder", + "children": [] + }, + { + "id": 330, + "name": "payment-collector", + "children": [] + } + ] + }, + { + "id": 243, + "name": "calendar-manager", + "children": [ + { + "id": 478, + "name": "review-gateway", + "children": [] + }, + { + "id": 479, + "name": "import-tracker", + "children": [] + }, + { + "id": 480, + "name": "rating-builder", + "children": [] + }, + { + "id": 481, + "name": "sync-screen", + "children": [] + } + ] + } + ] + }, + { + "id": 3, + "name": "user-collector", + "children": [ + { + "id": 44, + "name": "cart-formatter", + "children": [] + }, + { + "id": 45, + "name": "user-manager", + "children": [] + }, + { + "id": 46, + "name": "database-reporter", + "children": [] + }, + { + "id": 90, + "name": "document-gateway", + "children": [] + }, + { + "id": 292, + "name": "auth-collector", + "children": [] + }, + { + "id": 293, + "name": "image-handler", + "children": [] + }, + { + "id": 294, + "name": "export-optimizer", + "children": [] + } + ] + }, + { + "id": 4, + "name": "filter-logger", + "children": [ + { + "id": 12, + "name": "notification-decoder", + "children": [ + { + "id": 63, + "name": "download-controller", + "children": [] + }, + { + "id": 64, + "name": "database-widget", + "children": [] + }, + { + "id": 205, + "name": "auth-transformer", + "children": [] + }, + { + "id": 206, + "name": "task-logger", + "children": [] + }, + { + "id": 261, + "name": "database-filter", + "children": [] + }, + { + "id": 262, + "name": "review-filter", + "children": [] + }, + { + "id": 263, + "name": "audio-server", + "children": [] + }, + { + "id": 264, + "name": "notification-factory", + "children": [] + } + ] + }, + { + "id": 13, + "name": "service-monitor", + "children": [ + { + "id": 37, + "name": "schedule-monitor", + "children": [] + }, + { + "id": 38, + "name": "download-monitor", + "children": [] + }, + { + "id": 39, + "name": "message-manager", + "children": [] + }, + { + "id": 40, + "name": "rating-filter", + "children": [] + }, + { + "id": 194, + "name": "search-analyzer", + "children": [] + }, + { + "id": 195, + "name": "message-filter", + "children": [] + }, + { + "id": 196, + "name": "order-monitor", + "children": [] + } + ] + }, + { + "id": 202, + "name": "video-client", + "children": [] + }, + { + "id": 203, + "name": "chat-transformer", + "children": [] + }, + { + "id": 204, + "name": "search-gateway", + "children": [] + } + ] + }, + { + "id": 5, + "name": "filter-monitor", + "children": [ + { + "id": 41, + "name": "api-optimizer", + "children": [] + }, + { + "id": 42, + "name": "settings-formatter", + "children": [] + }, + { + "id": 43, + "name": "import-logger", + "children": [] + }, + { + "id": 65, + "name": "team-logger", + "children": [] + }, + { + "id": 373, + "name": "stop", + "children": [] + }, + { + "id": 374, + "name": "worker-formatter", + "children": [ + { + "id": 382, + "name": "document-builder", + "children": [] + }, + { + "id": 383, + "name": "share-monitor", + "children": [] + } + ] + }, + { + "id": 375, + "name": "order-decoder", + "children": [] + }, + { + "id": 376, + "name": "download-transformer", + "children": [] + } + ] + }, + { + "id": 6, + "name": "transformer-dispatcher", + "children": [ + { + "id": 132, + "name": "export-dispatcher", + "children": [] + }, + { + "id": 133, + "name": "task-monitor", + "children": [] + }, + { + "id": 134, + "name": "profile-server", + "children": [] + }, + { + "id": 136, + "name": "cart-widget", + "children": [ + { + "id": 170, + "name": "upload-manager", + "children": [] + }, + { + "id": 171, + "name": "payment-validator", + "children": [] + }, + { + "id": 244, + "name": "filter-gateway", + "children": [] + }, + { + "id": 245, + "name": "task-component", + "children": [] + }, + { + "id": 246, + "name": "api-proxy", + "children": [] + } + ] + }, + { + "id": 137, + "name": "review-component", + "children": [ + { + "id": 230, + "name": "restore-collector", + "children": [] + }, + { + "id": 231, + "name": "cache-analyzer", + "children": [] + }, + { + "id": 232, + "name": "worker-parser", + "children": [] + }, + { + "id": 233, + "name": "import-monitor", + "children": [] + }, + { + "id": 438, + "name": "cart-service", + "children": [] + }, + { + "id": 439, + "name": "order-transformer", + "children": [] + } + ] + } + ] + }, + { + "id": 7, + "name": "dashboard-encoder", + "children": [ + { + "id": 8, + "name": "validator-validator", + "children": [ + { + "id": 138, + "name": "signup-optimizer", + "children": [ + { + "id": 142, + "name": "notification-manager", + "children": [] + }, + { + "id": 143, + "name": "profile-collector", + "children": [] + }, + { + "id": 144, + "name": "project-encoder", + "children": [] + }, + { + "id": 145, + "name": "admin-client", + "children": [] + }, + { + "id": 146, + "name": "validator-controller", + "children": [] + } + ] + }, + { + "id": 176, + "name": "admin-filter", + "children": [] + }, + { + "id": 177, + "name": "service-tracker", + "children": [] + }, + { + "id": 178, + "name": "order-parser", + "children": [] + }, + { + "id": 179, + "name": "cache-service", + "children": [] + }, + { + "id": 180, + "name": "auth-dispatcher", + "children": [] + } + ] + }, + { + "id": 9, + "name": "export-proxy", + "children": [ + { + "id": 135, + "name": "database-screen", + "children": [ + { + "id": 210, + "name": "migration-server", + "children": [] + }, + { + "id": 211, + "name": "video-handler", + "children": [] + }, + { + "id": 212, + "name": "data-manager", + "children": [] + }, + { + "id": 213, + "name": "analytics-processor", + "children": [] + }, + { + "id": 303, + "name": "search-formatter", + "children": [] + }, + { + "id": 304, + "name": "analytics-encoder", + "children": [] + } + ] + }, + { + "id": 188, + "name": "user-validator", + "children": [ + { + "id": 345, + "name": "service-manager", + "children": [] + }, + { + "id": 414, + "name": "sync-formatter", + "children": [ + { + "id": 484, + "name": "payment-proxy", + "children": [] + }, + { + "id": 485, + "name": "profile-adapter", + "children": [] + }, + { + "id": 486, + "name": "team-formatter", + "children": [] + }, + { + "id": 487, + "name": "upload-logger", + "children": [] + } + ] + }, + { + "id": 415, + "name": "calendar-builder", + "children": [] + }, + { + "id": 416, + "name": "api-handler", + "children": [ + { + "id": 489, + "name": "task-formatter", + "children": [] + }, + { + "id": 490, + "name": "signup-gateway", + "children": [] + }, + { + "id": 491, + "name": "validator-optimizer", + "children": [] + }, + { + "id": 492, + "name": "admin-dispatcher", + "children": [] + }, + { + "id": 493, + "name": "restore-filter", + "children": [] + } + ] + }, + { + "id": 417, + "name": "task-decoder", + "children": [ + { + "id": 424, + "name": "pause", + "children": [] + }, + { + "id": 425, + "name": "search-form", + "children": [ + { + "id": 427, + "name": "document-widget", + "children": [] + } + ] + }, + { + "id": 426, + "name": "signup-decoder", + "children": [] + }, + { + "id": 475, + "name": "worker-analyzer", + "children": [] + } + ] + } + ] + }, + { + "id": 189, + "name": "download-handler", + "children": [ + { + "id": 456, + "name": "data-dispatcher", + "children": [] + }, + { + "id": 457, + "name": "profile-encoder", + "children": [] + }, + { + "id": 458, + "name": "document-processor", + "children": [] + }, + { + "id": 459, + "name": "search-collector", + "children": [] + }, + { + "id": 460, + "name": "data-collector", + "children": [] + } + ] + }, + { + "id": 238, + "name": "team-widget", + "children": [ + { + "id": 278, + "name": "download-collector", + "children": [] + }, + { + "id": 279, + "name": "task-screen", + "children": [] + }, + { + "id": 280, + "name": "notification-builder", + "children": [ + { + "id": 287, + "name": "upload-flow", + "children": [] + }, + { + "id": 288, + "name": "common", + "children": [] + } + ] + }, + { + "id": 281, + "name": "database-encoder", + "children": [] + }, + { + "id": 282, + "name": "signup-analyzer", + "children": [] + } + ] + }, + { + "id": 299, + "name": "message-scheduler", + "children": [] + }, + { + "id": 300, + "name": "payment-optimizer", + "children": [] + }, + { + "id": 301, + "name": "calendar-aggregator", + "children": [] + }, + { + "id": 302, + "name": "export-encoder", + "children": [] + } + ] + }, + { + "id": 10, + "name": "database-dispatcher", + "children": [ + { + "id": 121, + "name": "export-manager", + "children": [] + }, + { + "id": 122, + "name": "database-manager", + "children": [] + }, + { + "id": 123, + "name": "report-logger", + "children": [] + }, + { + "id": 172, + "name": "report-decoder", + "children": [] + }, + { + "id": 173, + "name": "user-gateway", + "children": [] + } + ] + }, + { + "id": 59, + "name": "api-monitor", + "children": [ + { + "id": 100, + "name": "dashboard-builder", + "children": [] + }, + { + "id": 101, + "name": "chat-server", + "children": [] + }, + { + "id": 102, + "name": "settings-aggregator", + "children": [] + }, + { + "id": 103, + "name": "review-decoder", + "children": [] + }, + { + "id": 199, + "name": "cart-screen", + "children": [] + }, + { + "id": 200, + "name": "comment-handler", + "children": [] + }, + { + "id": 201, + "name": "project-widget", + "children": [] + } + ] + }, + { + "id": 92, + "name": "audio-aggregator", + "children": [] + }, + { + "id": 93, + "name": "backup-analyzer", + "children": [] + }, + { + "id": 94, + "name": "cache-client", + "children": [] + }, + { + "id": 95, + "name": "audio-service", + "children": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json b/workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json new file mode 100644 index 000000000..08ad530c6 --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json @@ -0,0 +1,105 @@ +{ + "id": 1, + "name": "root", + "children": [ + { + "id": 2, + "name": "auth-flow", + "children": [ + { + "id": 3, + "name": "login-screen", + "children": [ + { + "id": 4, + "name": "login-form", + "children": [] + }, + { + "id": 5, + "name": "social-login", + "children": [] + } + ] + } + ] + }, + { + "id": 6, + "name": "main-flow", + "children": [ + { + "id": 7, + "name": "dashboard", + "children": [ + { + "id": 8, + "name": "stats-widget", + "children": [] + }, + { + "id": 9, + "name": "recent-activity", + "children": [] + } + ] + } + ] + }, + { + "id": 10, + "name": "background-tasks", + "children": [ + { + "id": 11, + "name": "sync-service", + "children": [ + { + "id": 12, + "name": "profile-sync", + "children": [] + }, + { + "id": 13, + "name": "preferences-sync", + "children": [] + } + ] + }, + { + "id": 14, + "name": "notification-service", + "children": [ + { + "id": 15, + "name": "push-handler", + "children": [] + } + ] + } + ] + }, + { + "id": 16, + "name": "settings-flow", + "children": [ + { + "id": 17, + "name": "settings-screen", + "children": [ + { + "id": 18, + "name": "profile-settings", + "children": [] + }, + { + "id": 19, + "name": "notification-settings", + "children": [] + } + ] + } + ] + } + ] +} \ No newline at end of file From efdaa924ff4ed546fba4d12be8aaeed6fd88eff5 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Wed, 4 Jun 2025 11:47:05 -0400 Subject: [PATCH 03/19] Draw workflow nodes through the given classes The attributes of each node is tightly coupled with the content of the json, so any changes to the JSON will lead to an error unless the WorkflowNode class is also changed accordingly. --- .../squareup/workflow1/traceviewer/Main.kt | 2 +- .../workflow1/traceviewer/WorkflowTree.kt | 146 ++++++++++++++++++ 2 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt index 63ebd1cc3..6568632ac 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt @@ -4,6 +4,6 @@ import androidx.compose.ui.window.singleWindowApplication fun main() { singleWindowApplication(title = "Workflow Trace Viewer") { - App() + SandboxBackground { App() } } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt new file mode 100644 index 000000000..7cd19adea --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -0,0 +1,146 @@ +package com.squareup.workflow1.traceviewer + +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.padding +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.onGloballyPositioned +import androidx.compose.ui.layout.positionInRoot +import androidx.compose.ui.unit.dp +import com.squareup.workflow1.components.Arrow + +/** + * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or children workflows, + * a tree structure is most appropriate for representing the data rather than using flat data structures like an array. + * + * TBD what more metadata should be involved with each node, e.g. (props, states, # of render passes) + */ +public data class WorkflowNode ( + val id: String, + val name: String, + val children: List +) + +/** + * Main access point for drawing the workflow tree. This does 2 tasks: + * 1) places all the nodes + * 2) draws all the arrows accordingly. + * Since arrows cannot be drawn with Canvas without an [Offset], we would need to get place all the + * nodes first, then launch an event to draw the arrows once all nodes have been placed. + */ +@Composable +public fun DrawWorkflowTree(root: WorkflowNode) { + val nodePositions = remember { mutableMapOf() } + val nodeCount = remember { mutableStateOf(0) } + val nodeMapSize = remember { mutableStateOf(0)} + val readyToDraw = remember { mutableStateOf(false) } + + drawTree(root, nodePositions, nodeCount, nodeMapSize) + + LaunchedEffect(nodeMapSize.value) { + if (nodePositions.size == nodeCount.value) { + println("all nodes") + readyToDraw.value = true + } + } + + if (readyToDraw.value) { + print("arrow") + drawArrows(root, nodePositions) + } +} + +/** + * Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree + * + */ +@Composable +private fun drawTree( + node: WorkflowNode, + nodePositions: MutableMap, + nodeCount: MutableState, + nodeMapSize: MutableState +) { + Column( + modifier = Modifier.padding(20.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + drawNode(node, nodePositions, nodeMapSize) + nodeCount.value += 1 + println(nodeCount.value) + if (node.children.isEmpty()) return@Column + + Spacer(modifier = Modifier.padding(30.dp)) + Row ( + horizontalArrangement = Arrangement.Center, + verticalAlignment = Alignment.Top + ) { + node.children.forEach { childNode -> + drawTree (childNode, nodePositions, nodeCount, nodeMapSize) + } + } + } +} + +@Composable +private fun drawArrows( + node: WorkflowNode, + nodePositions: MutableMap +) { + if (node.children.isEmpty()) return + + node.children.forEach{ childNode -> + val parentPosition = nodePositions[node.id] ?: Offset.Zero + val childPosition = nodePositions[childNode.id] ?: Offset.Zero + println("from $parentPosition to $childPosition") + + // uses custom canvas composable + Arrow( + start = parentPosition, + end = childPosition, + onArrowClick = { /* Handle click if needed */ } + ) + + drawArrows(childNode, nodePositions) + } +} + +/** + * Basic data, for now. + * These can be designed to be clickable and be expanded to show more information. + */ +@Composable +private fun drawNode( + node: WorkflowNode, + nodePositions: MutableMap, + nodeMapSize: MutableState +) { + Box ( + modifier = Modifier + .border(1.dp, Color.Black) + .padding(10.dp) + .onGloballyPositioned { + val coords = it.positionInRoot() + nodePositions[node.id] = coords + nodeMapSize.value += 1 + } + ){ + Column (horizontalAlignment = Alignment.CenterHorizontally) { + Text(text = node.name) + Text(text = "ID: ${node.id}") + } + } +} From 56de1f6c8a11520e86b2b7f84e32976ee02c38fb Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Wed, 4 Jun 2025 14:51:40 -0400 Subject: [PATCH 04/19] WIP provide temporary solution for drawing arrows between each workflow node - arrows start with a weird offset in the beginning relative to where the nodes are --- ...reup.okio-okio-3.3.0-appleMain-DOjtzg.klib | Bin 0 -> 4756 bytes ...eup.okio-okio-3.3.0-commonMain-ijhi2Q.klib | Bin 0 -> 14037 bytes ....okio-okio-3.3.0-hashFunctions-ijhi2Q.klib | Bin 0 -> 2980 bytes ...eup.okio-okio-3.3.0-nativeMain-ijhi2Q.klib | Bin 0 -> 4970 bytes ...eup.okio-okio-3.3.0-nonJvmMain-ijhi2Q.klib | Bin 0 -> 5792 bytes ...areup.okio-okio-3.3.0-unixMain-ijhi2Q.klib | Bin 0 -> 3910 bytes ...otlin-stdlib-2.0.21-commonMain-WPEnbA.klib | Bin 0 -> 144473 bytes ...t-2.0.21-annotationsCommonMain-NjL0Sw.klib | Bin 0 -> 1543 bytes ...st-2.0.21-assertionsCommonMain-NjL0Sw.klib | Bin 0 -> 6026 bytes ...inx-atomicfu-0.21.0-commonMain-Uv6OuA.klib | Bin 0 -> 6111 bytes ...inx-atomicfu-0.21.0-nativeMain-Uv6OuA.klib | Bin 0 -> 6219 bytes ...inx-atomicfu-0.22.0-commonMain-dLtvoA.klib | Bin 0 -> 6110 bytes ...inx-atomicfu-0.22.0-nativeMain-dLtvoA.klib | Bin 0 -> 6272 bytes ...routines-core-1.7.3-commonMain-R50ueQ.klib | Bin 0 -> 65719 bytes ...ines-core-1.7.3-concurrentMain-R50ueQ.klib | Bin 0 -> 6613 bytes ...es-core-1.7.3-nativeDarwinMain-NVh8pQ.klib | Bin 0 -> 4387 bytes ...routines-core-1.7.3-nativeMain-R50ueQ.klib | Bin 0 -> 10852 bytes ...routines-test-1.7.3-commonMain-mzJGFQ.klib | Bin 0 -> 9447 bytes ...routines-test-1.7.3-nativeMain-mzJGFQ.klib | Bin 0 -> 4759 bytes ...otlin-compiler-15221632085774217643.salive | 0 .../squareup/workflow1/traceviewer/Arrow.kt | 88 +++++++++++++++ .../workflow1/traceviewer/WorkflowTree.kt | 100 +++++++++++++----- 22 files changed, 160 insertions(+), 28 deletions(-) create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-commonMain-ijhi2Q.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-nativeMain-ijhi2Q.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-nonJvmMain-ijhi2Q.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-unixMain-ijhi2Q.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.21.0-commonMain-Uv6OuA.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.21.0-nativeMain-Uv6OuA.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-commonMain-dLtvoA.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-nativeDarwinMain-NVh8pQ.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-nativeMain-R50ueQ.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib create mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-nativeMain-mzJGFQ.klib create mode 100644 .kotlin/sessions/kotlin-compiler-15221632085774217643.salive create mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib new file mode 100644 index 0000000000000000000000000000000000000000..13965e0dafc907be914cd58d4c19a00d26246b2b GIT binary patch literal 4756 zcmcJSc{r47AIC?-SZ0hRk#({i%1o9>3MpB}*i!Zkvoeh_ma(g-=%6}fD?-*ti8dmM z3Mcz^nkY+$tl5cUsduL9h$Ovl*Y*Bpov zN1{;i-mZkNGwZRqhpcb-OJOJ61a5>tG}biK*A{N#n+RuP)3{k09`EmC1+ju}lavE} zX(3^Tb3lR7!cNBV;}#^=yRkb4N5(i49I0dy_1F55|0!1K3wg3 z;g_|h!7c8}7K#Wf@my@#Y1~7uRGl(GyBqM~o=b_BY-M(N5Ss zi{r@ubW59Q7dH_2T_)bue)_2G-1Rg+ct3~DOJoc{)znL{mm~lKY9J@k0zg-pr2|*P z475O2`)YOF|G71z%58?he#rNWI1c5G;0m@6D@2CeJYXZ77lKz& zyP}D}@5w#(5eeGfGg8zxE+0(}k@gX*xF@2`8}5>P+c{T0;F6{@32d!)PYepGwy2L* zmQ2(<99VEYi_bJd?469ql?=&Dg#m%7qBqxgU|Rohp3eZr?j}oGibM!lkg+UfSSXK% z^A45E5o3@5OeeBgyG(GWc>GIT)RS)Qe);gjr@|uJUxODQ&r7<2Tm1GqRh6n!5@mJOR2eS{BH9BEQMTqP=!|zdq?;d>-|~l zK$x=h5ZHqRb{(tVFYji@OE7U_di znUbh^fI9%t7#n;p_eFJ)cT3%zDV%vGupD?Fh~ zOisK0uC6}~zM}_@7I&Vg+ao(4YJ4*Kl>sp34l12xuS(f_xpqr4BbsfPLX#rcJccy3*yf-@MaLdq*w1)^6 z6MSw3eIIEWD&wQ&um*UN7NvKyf!n`01mO;pRLi;mdHaK0L54a~r3y!_Es_ zK6e7r9A+|7fPA!Vo)hI)p^Se>${BPS|-BIQM; zd*|<0_~z1``5GKv=P#YIhoVD1{;|kDELMv=(YK%JAzLZKi#4nOfIH_#0{nBORQ_Hm zEiFt?KxN*Jj>?X?;^W71ViqouH)u|Q%86;13nHY zD%r=r(w#(i8WTIucGu||_PH46po&ak<+VDZPWta`;e+M9obJcNNRCmvw=dR=hRcM9 zl8Avi`rQ#1Wpv*y7%*?J4VRi)aao1Zm#k$o?Lgd(mnf}rW^tf*iy884N=pY(?&=Ny zInd|{CUqXrY z9V<|Nd#PSkiJ}~sp6FfKga*kHrma9H_{JPRNeNqRFhD13pH)+>{dW?mD2_CAX5ewdI; zMZNUkc9on5cFNZ|+g{kKziJc{3s*E-yk+tswdd@MBHhQbvURl+M)1Z>ukBrkDRga_ z#7j+=mzrJ8Bh?dh*+M9@QY1M^t#B_|@qEhY^D%IQ6smXcq`p=UbLDde`x3;>o1jBY8W! zs^q3%LELuuY^?A}o;j&~utt(~prF7Un7PDMrMeZ4F_xDqc%vn@`V*yLJe>(NuU}hK zBCEdjWe|z#<%sd5>{k6Xr1XYJk{iy|8&AOh8e4KhHknFe1d;y-*$qP@`4E1M%)e^R zo&+zdw?R))cRH>>qS*;?r8O$T#pu~POwg{~9H*5X&&-?#Ws(9h<) z&OT->o;lm~ABi0!l7II|zOlZq{9$43SHx;YtgHviYZ7dCBisap6_=K zx)#G6w%qo&m?sPkT*fSm(+?Y6jbWcLkQ_)uH y;fCb3`u5**dAK)v1Z&l8BQ8_TR*JNWyNq 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 Bl#BoX literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib new file mode 100644 index 0000000000000000000000000000000000000000..8ffa40b92ad8c41537f27c363d1c35e016cc1e6f GIT binary patch literal 2980 zcmWIWW@Zs#;Nak3U|?_rVg%q|;ABWiO-n4zDbWuNVP#;vaO%4dGedwkJ4h`96I5jY zP6Gsx49HE)%S=lxE`b}QefG4Dj&JXI?=!wz&z?VbrvJQ$&bb2Zv)+0q&z#qO=5_A8 z?uj#=x?TF-x>{^qH>6%gzK|?XRZCUsoWbl`6znY&EaWXTvBmcb&rYzD-gTAF^Z`04 z9*A)}Nf60NIhlFcDTyVCfL zNmmx_IU=LZroO=d?2RK+r_Iy{dchR0H{`HcUXYlaotT~)pP!wXPoAGN2pVeuHeD|} zFBjp-B!Q#}Nfif<{^;sfwYN5w2m3=}#^O~%KtBlJ^@lnk3-vPdN>YpR5_8D&kSX!z z8^pt`Lh)VgG~fK&ZUSvPpL8uc_ABCK*{Wl?Q&)8^R$H6dy>au~vt@xNR&}$KF+YiL zP112R)ASJGy5A-9OT6mE-u(;hmmC-SVCg=;=FPbx&HlRw+8^$j6Z`JWZ-HM8`(+<| ztPp87@0wH~_0@0TjhAQJ?w?;=XVj%!aJ;a{s_Veb-g5_Kd;AVXGPUmgta4|rU-k2V zg}cp4YL1M#klS&9~C7=<7G@%DD)jD})?mCNt1SpNO-&PjWUuf29I^suh_ z7~}iNxq`1U=BP3E?~gZ^h(FY_uh{upwm^pA2lth{dZ{Gm^fhvfF&2Ky7QbMbc5lwH zzaJAN=BhY9*qoTp9aEZ{|Nh0Ey;s?uA3tbz%$H)augL?SUK?O#d)H}{ToPPTQ&TVl6| z91XlB7?XKs-AUHT-B!kd*KP`%2FG8#DO9@o-^!KtCOelFUwo6Eboj}(b5~ve?!5WG z_uT1-{rRT+d*)}KS#|qv(+SUOk^38Jwkz&26Tgs@dwuiKpwkz3UMX6#);z|D@ta!s z#NdakPQ*Lz`^o;fuK2@-L-XF=ylYzMKljtbs#)D$-K$?8UpvR@;J${e?JDnt^0nt+V{(s>q}n+`mUK3u{@Uj3+g5OXYkA(B$BzU%ypC7>?R(6lz;fl^$946J zJ2qa774`qJ#^UK^vD2q!vbskn++xyuq`2y9`i)(4`aU+iINzBk^w;%x+zWTv^u)xu zZz}IRoH@6uE!OpNYqIv_@`_KL>hmFl(_YV#XXn-b)jR?c zf2{xhJX`wtRQC3`%7VwH>}T)4o#Onpe!b<6zq6Y8FLSPY$x?oilVfhf1t=kV<$T9I zwW{_PJqZpRY%L(7T!=@EB|Kkn%5|3Tbq;zQdcjSHS`Ak-8jyysf~1U3J!R+mh^_AJ<=Hshl6ByCN{O2%u| z8V~Px^}dNey7ZTqPKD@K<-pk3fBc~8Do4Wh=0Ro#hB9Eqg}ZLRTBsJ~=aEqT0Bn%9 zmYz-+aRYr2fTXQ?o{4f~R zGlFjE**C2nkfUPf#m+&YZTQwVEzd{~e)A0%NJ8dThbQ@Z8PXVvfnh@AKWFGwxmYE( zK7;uB@%tILcDu5hr8UaZ4r$?va&X<>K*E2-O8lfBMY%ZtH({h9-kZ^g%`ViE?W8$8 zkwTD-rQmJCy@Eqi_>d?qD_-WW`bOy@W*DtdcKKuWqs@eSQ+Xqp4?l4DFBLQ5Zc~!^ zV#|FLKt&DkqE}>ku28~r`SZ0~Q(VFAPx_*k z`T;i`>j?5}WDQjQ>7T;7Yp5qx+Dg5@J7#(x5zj=ly)wV<>X)tpWsN343OPffILd=M z?swef_BlD4QfE$oTT>zRd;P-MOa;sogO!3E+li|__Vc-L8lL|6bCcIx!$R%6!@vYfzGYy4AQSCRhll8Ca3plUp6m{ z77{=nz9vD53iD!UE?yw_itoQX>@Q9Vo_(xBad)cBpn-~%L(wDK{O~g1VcSG+THv%? z5f$`@$g5P0SQmQg)=>8;LNUc8Zvlb!%;PqtP@cY`z@7sNpX%S;L-bNylFB5d6{u>{a;C&93yls;eiWNk+d9G-kT!)Zzi)!|jO$W}xv!>CtP z^0C{#ldD79bWXNv5JVc@@3!Q#658XGWhYb1yRZv*E@-hf`7C zyiOKzh^*zZ-AQF^f~5Fq@wG>nr+}&B63bS|-{z#tU0{Wj>m)S(b3XE6?7%{bI6GrI zkkodzJ--Fd|L%U)(rBFE?9JQ*tLh>_CiSxkum^I|k7BKJ$O@SYr3z^Z`3omuxQOQ( zE`xzCARBkOX^R9gj8b8ZFNawguYTgsKSRi&VTR^&%1PG3%=mio3ui_LvK(_>%YHZ( zm(YaInM@HCRiohdszPq~&Pg*^ zizFy#TH?H(v>|a=_B#UUwxKJJafT&Hjl7GLFmApxY3LrIY%SBI@D*lQm+U|ClJ8p< zG;J1{J-$!D*G5dw4QBa7w6vZWw7b3-KqWV!s_LOJEF?bzRrN5f1TCXFBaJ=OtS~cF zXt6sLF~ERG=7Fpe6Nh~>U?bK3j4_FNU9{~Gmc;O~GkGzWUvM;oPzM-^}lJ#8=wJ920TbqL+-E|-D zfT2zbSp#aNE}|=Z_}S@(r8~OpST3ZrwrFnSIZ?BeJTCFK53KDggBnf0X|GUPQI#b^ z)~Jb_nE|#mM-K!5q)_j*5&T)PVZSQ2r~YeQ4kZTjcuQlB*n{uEFc=J*!c7aq9x-_N zLX?)-ic#B^@2bm_NgezpDIrLlQRCr3fqw+${NBK_kGwm6{Ij3|mtXl}`SQf0!&D3L zR~GBPo1lvOKg!t~cyr7Ro1lMOvd%XyC>ehp2(FxP1JjxwAwxKR4MHzB9!iG3%)^K$pUI<*Q?|z~-pr2k?Qi!K7t94Q)sw(pZ zLn-zpkiV`}PlDcnA~B9U0fy^r1*$;j=%Tz!e2Bk)u;%%dH<+UiWfmn zF3v{ok%*CFOn0OO&v2Yvq+?_!J2^|w&fft9>!v(8If-$TV3###rRg7|(IJ$KBPQmP zy1Xjy_klGAQ{v`(PD3l~$ZGwf#%U?;`Hj=KJ@b5nu=S5J0>yv-L)n?D(*dBImvD(ChPTz}z zYCqKKeA8;p${;>Gh5$|*n;2IBM@9qXbYhB1BqOsPJ~qG5F5ID_D$N4o=34+NDV!_9 zuwc`VhUwzVG~9yX>z6W&jiu#T1^?0>EGUFDq2NLb->0yoB=RMuK zNf%3ugBNn|CP_${0o$|aM#v;)(e3q1GS$)e{c>Uw-7I3v-B|u>F5Su5niGjRbh9FM zCfWb#>Q3lZsU|A_X0`qix?>;MiQXzzL_yjt*>wlG@d$rW{+$@& zvW>B~V`A3#mkrE@IQ@3etr()JZPv$KFuQ2nUVRZYZL`E_f9-1%_^ZP0MJ9^HW<~5t z-l=bUafy1iSwma6yQtek>{(~6`Qx1L@4L_1d#`mqDqwUBasUnv4gdg<`ntXa4geQmVrpjO z_{@P%Qv(wK?C(4vMF*&Wu`l-m(Ehtq4M!c1L+NpY%E7Af-72V2_FlVLoQ_a! znQ;C6orP7=*k*(5%^|&R>aG6q?OLp|xU;?3*-f<*^vGGyL*&r#E&3+4 z2jm{Z*=Dt??zEPAme~3xP3_s4ZsQ*+2_4iUI6N|_?mc^a$fJD@I8WX%6i6lhtL1E?3Ur1BxAwjes z!jfd2BjG|}yig#bsWc?bWsY5703Dq~tw}itCgk`$2#QjKkR9lvO2zds7dPxe0>f?9 zhzQ?Hvx&J>r}W^?Lv zU!_%B05?uILN0yYQ8EGO7;f6XIuoD$A z-NefDI3^q`CTVmvCr*A8)?`Msj_uYFm`AAxOaamcToo$9v|lu|rPtxdY@7U?Iv%V+ z&_3GCN~dhg(1&ef7Z|PbqFdj`ROj5a9v?G+8bPBnJaxOGOiK3PDJfA}4JEI%XL@g7uY|kn(bSIp&7#H}tWP7(YgfGsD{z&x5bCb; z+aX>?$R<5x*cC+td07%Ub0&GeMd}c@x;!%b5vic=9oi#@W&4L~6iWzpB(4kfb`4eK zb#azV(<2Ga6rzrm>ZKi$BM<3b!R8cJaV{hg_%vb}!I+Y`T{?dRVhZNtSm^S7h$v!T zf`%NbgHGd_&hC*c+nX9>1gyl^-D-{b+7o^bxc|^E;Y`r_1n2-{-5pHk0o-iN=H96WEjHY0!HA0qX(#6_ubBQ zC|8w72jRUX(2Uq%%*+H5{5v2^v+f!N%TdG_%g(AxJDnJo8CB&3>xDR)2g!5ZQ`B`^ z@3abw^3!xZfn=r|I|6pGFleP^S}yN;-`g-o3j}(TM`D=P(8Cuc0^@CxF}pXju2=^) zllk%6EXr#?#`Z~mJFb}@OUX3_Q4FQfbJC7{K?^K9;j$jdoqp*?1mM{V=Sas}m+H^g zC;?=&HY@^aXkxoY3cGxWAc6k-#O~z&>J<5wxcf49#S0La`*e?IbvrZ(1l%-$+XpOd zY7Jy({HLCVOyp5XzG5e=z*H|dT0YwLbA4sBGdB@;1?`oRyE$3WYuGX(9Wfbk;k(V- z2YxY(bRmqHYLBylE;VonVS);PKDRV*__p+`SmX=EyUp{`Xx*sxK27ZyT-_B$YC#8O ztsVIdIWbj(4$GJ1YFbf(;EvuKLwpa@6-~#aQ}nZ_QPI>3B|Da6yeBHs1`o+8$xz0Q z+L7Q8?&9S}$pVc~`En)*Z=P)&T=;ciI6Erdq(z8-VZublN0Kc&h3++h-IG>fA^`gZCSc@_6)X@(SazUpMjgUH4>J~!^BW-ss~Ey%w`2Hg#a5(`VvW;b-?z3yud^u#@trQ_QrFCvGZGilpvqX>**ueZ-}S(Tc%U| z!1`0$ptgI$h61l$q(}TDQA~P^l&8-QV_cXgF1>(bcG!yi)CQ3Y?mlb;RW17+F^gFnr)s_jPE zxN|A0P6`U3ZQ0w9aat(K_h`E*?KJzAhP1hp<3y&LORRD9z<1sylUwRZ8}>U;3LhH_ z(+q*BYthPd9+fabx?2aqAG?+B^Qi3#ePmai5~M~YC9xq-chKF9O6rz{VeV(QbrR}3 zhdhiUl44h%p}r_)>=i56L+8}ePx#6v`K^v>d#OKNEH%~kufsq3UC0I|yNBNIg~$!q z+TjN*D$!Pf3M3b{of1U5wT^;ZshbM8<1sm&O56diP(m}>5aTrZC+B( z5HsAwXx%F5T)u$y=oYX2&F0!Dtdtr3IBB1i82C_KPOE4;93MQQHdZ3qkOp^PjM)@g zRwUY=W>^*tvX}IuoVgq2G>DJwg3aSrz=1>X9#k&}khGO`I3_fIEy>#d>Y^RsE6`Qwqf~o-T9)}Ptd){=q>j9xyNR04O%}43^2%wl`qrlFJ=iy4 zSXF`6oUl#V>@9CR7*>eI$X$SA*-9} z=V-i+acx$wdBuwmnXLnenr2)* zs!oaW!T8;UI6to@K5UNj+mqN?TNqiSHrjPE>OnC{kxgC2p;Ew)rgzy!$l37MsVr@Q zFA!c@Tx`|X$uqZju|gF^CGnk9>MhRi2(xUlaZW3u z4v*fE*`57vK%7?rsgWhQB*KvT9tyUOqqF~&S;$#xeXp+uOxUdN!xE4?K4M9^;i-}fQ7NIt_ z6Wf^*HnowG$;(+G=2)Vve)DrxmJHU-++)46#M1RFJV<_FiVLKN@BqQ!)-IMRS+ zFfLoECic8XzCy1QrGc<9NXpY6=&XMCDa!6G4H(*=aXBnDz77jrQz;#2%Rcw+L{tm% z_gQf^-pRI$srXbi{ap-X7yh6qsL#4ujtka?Q;zEBRu1ixug;5sq|0!@EZgnvUb8Uu z5v|{_SWdo*+~24$;Atr>`ZT6AXgw?Uu{DZ(PVVDxQ8$^ZPmn%Q8O|4OD_()h*D8$4 z?B-56!=8S@;9Grh#->#i=PFeX@(QCs)gOwU8b)Q3>~pQ_6sDZ<2q#_fo4MA&L_^;K zuQH5&AXZ`IaU{$%BS_eOe$ETK1|xY%?=CA=6<#k}``Z>;hb+ZA3r~oV~Lln)cmH?!5(=hXFV_>rXBI7yNIp))d@F>-xa@H+zkEL@I zx-5~ThU@O(aAPnTb{4oE`|^<;e*=H3h!6nCVg9E__P@V|1^)UP21PU~HQgf)aIWYY zR1$dPZb_}2RB2AFELqN(K^>hnETf#km|9kx7_He9hCUDS;D|_)JjUR~Tr?7#y?b#Q zb;ZN@7Wi0olqTaKJ#n(sJ(*x|WuQ1w#v+46n`7iHaYH~JXAAzV6(Y4M&+e#4g;^yD zhS7Kl#wF`rwzwLxzhUU?Sk$>_3^7DOxP*iAI1PRFB6w~bY$9{sa}Pt4o30gmyv5^a zSgQ?9@W@8@fAW}hp#_vclYsj);Xr6-Tv>0a)|E0F7(PIFrSDUZxBq8lZ6IEUROR)L z8nWx)PF-5+tBm0lSxz5C#!i&K5a>^~5jpuBYRA0^MGLliOlV6`kHj>={(Q2H{bu;OqK-;tV?&%)#)#OyhsU87#lT89&JK8~%VY7LAFGUmCkKv>t|p{vSi~ z4JBUwS}1@k|A=Eqzx$A#sXffm?un`WKYIqEkpq5YY=6MBOUCwN{DruwfPXyxJ?Xk6 zY~SJ%-~Dm?FTCw%nag8;xVXe(-(u+N-#=vj3dw%f`JQ22La}c_`?U=IqVp3X`&sSs z^dGJ+x!1P{`jy(RDcH}V-%o(cKK~Z8|0?*ZcGRd|sc|*TWSk1_ppY zAOHYh!@jr$0;~rFpfM;yD1PTbgg8K?_35-c5a8juj&mwY~^xO!Pe+ViNjl_juacgU5`>I&OFLZ;D@UXA_5#Sc? zeb(R!MogG{Z-5cfk}BfEl2pH04%LtZtrxRxonuNA&pgO@=)}6I5I20XZb2^CWrvFj zQSBNvYZ~MD{d}HhYMf#gq)761lX>pc3pZKHi7aQ|`1vHaGl%SNYRz~J>HWbXW5LL0jbO zCWKBsvy3)%cm9)X{oriQR6^{fke=9cFWP9AAR~7Dl@XL*om6^$QY|;91zm?@v_Eei zvLLv3PCbrA&z)`bBv=mgF6{pE*BEjH$aPCko_aIwgCfDzu=ifXjt>dZ=f|8_k4wPm zy<`cUM?s!uN6G^&awanmBU964{0D1?l&)dzFqKNiD2Dbyl{bt>L4?=7{p&>ze6*>g zKetq9GAgQp+(*3fKN}3*yS3A2P_d*&ON;`?IY2U`tVuuW{)EsU6mnNlBePAasfC zxa@!fQrj5;o>5{PP&FN+dF>l2mVn6jr54U}EmNJnWwi$0P3v3^4Gs>@R5fA&M zG#qroeCoH{RL6hDvZ&PA69Y0jmo%$bHSJ2Q`x9;IG#dl43sI*n=c16UI{8K4Bg^kx z*{L>3j>`6yEw&ehHL+xsy-nw<;bFa&qE=f+WOi82JY}j^=s?JaM%^5mf#?ilqu)#Z zg4d=l#?0*TVdMez+$!_~14=OT(HPQ^HB(Tt-Z9f57zDzDEO zKmOC6P)ngL9=Q1)I(qMx?tr9P&fq_J|_Awry@{O!aO_~qxyAxv6|AbOD zYluz^6$h^$kJ3DHHqq_%c1mtg9(bSfJ9{;#xI#fpcn4`yq-Mrjmv_5tap|{iS2Z?h z*ncv`!&?}wiqW+u)AdY;;n~dg4+~SVqsKE4>IuXYXxsjruJ5{8)7O=UVGf;7C;V-(nuT*kNnS2*XE^AL0-BHYlvLt zqkVoG{nGtNb@Z8(RFN-dK|<=rep&W8AT9JP*vRvsFjP1egO0*~HRp4b`rrmb=`*9z zDdzFm%IBFjvU`h5>xq!PGHDdjxtCrpVP;at=cLLFQRZ4NR}^UW-!V$3UfYy?yvVEnRMfbUKDZfBsw48HXhvaTti2+zMF>i z>-deq+5^@tT--A;I6U8U3AKoHBdaDR$OkHQ(bG;e?1wiGUMckPuKPP}M&syr5*EdW z%*tN%j5x#2J1X~DkLbQ}Oh%B)BxdCcW8JCEF`QdN_9mPL{zKn|*K;~o~*7QiM z8|l}rXpUI)Q8Y?Ha@I#@V-i7$ZI)?5%~GCcek0LQI6|a9I%;ieg7;P7QIUaY{2Db0_3q_(Ti|M%1%wxVJV&kIDRGw&fM4d@U(J;t z%Inu0`{!2Ss!+befFI3kRU8-L)`oRly({dWAHx~8)HcW0xP@bXJ1wmQ0WK#Dv|LXO z4`|7nzByyOdN`iOEg<{PlAa}u0EZK%i{lO4@)Qc>_cvi&j-PR>R48|)y9pyNS1c_l cYzp|j&BIlky~qH74eZ}jcHqIVM*{%=0*x%P2LJ#7 literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib new file mode 100644 index 0000000000000000000000000000000000000000..caa93d96d27486d90322316db0db8d7c723725b3 GIT binary patch literal 144473 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 vc+@u#5GeAJKWF`0|t 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 literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib new file mode 100644 index 0000000000000000000000000000000000000000..d79b4164af4dd89b7df85bbc98ee143b2e88f36b GIT binary patch literal 1543 zcmWIWW@Zs#;Nak3U|?_rVg%q|;ABWiO-n4zDbWuNVP#;vaO%4dGedwkJ4h`96I5jY zP6Gsx49HE)%S=lxE`b~5+hfSbWXN;i+rCz}T-J`I!p8Y4n8X)$cr)czy?5tP2s>>S zw=?$&`|N8x>K+f%K0TTGi(lL$ASfoI`?&L|#%k%B@Gm!CYWL16SLLwOd-0?Ejx%5I zPt%o}TvywFo|2l|W*%bd{{Kn3u;E^X>@>YU8H?3Bck zMDqMEj?JXp{FKt1RCq8v4%&9|oc_s^XD;h{>gsj+pE-S6-&5!0ne*CZ=gyx!d;YWU znKPR=KWbZXk$EK}IP9CHH?P$L`oIXUFI2JFU67cZotT~)pPgR<^qF1>Fh0ohnLe?m z8^nVw(aX-uh5NX5;{L3|1_H-aqo+O9UnwZnbn?YoZ;$Qk{1%ujUE(~4-5`Wh@fch5 z1@{-yUk+N8zPV!Q2Oab@AvJ#f0vU_UgS^2tUmz_lCjbowp30Oam_R;*5Gb& zjyd1AZ5prXytJ!v(k+qmrsx0Ky4m!}h0DT^5_iWfTRq+MM^^llscqY9{LG{i7M5Sz zmff6^UUIeNm0+JrLX*dDXUC<&f~#G21y29ECVA5KNHy2hA&agTt~VE)xhsCb$F&vx zqN)=&E2y7(aOSSR#>15XKe&?q9ASO-$LGX`f39Ykx`d zu3L0p!Cs>D_)OF7mW`JCIR1fS@bS{3Y5#z+w}la3Iut?*1aJffBZfI>*$mw@kZzc(Kv@L=_F^*)Z^l748##JG83h5PfmUL;6r0&tvJJW| kAX8yJ03{U!sAoplf+gVuc(byB6te@NI?#kuK;;Y!0F0!hn*aa+ literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib new file mode 100644 index 0000000000000000000000000000000000000000..0677cf7237a515cb2fe002fb81fc65026303e2f1 GIT binary patch literal 6026 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 YIvOOK8#MrcX7go20sx>kF9!hr2Rm=-zyJUM literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib new file mode 100644 index 0000000000000000000000000000000000000000..eb1ced43b7cd382e24063e932cdd5497e8592c50 GIT binary patch literal 6272 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 literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib new file mode 100644 index 0000000000000000000000000000000000000000..0fdd973df77e122adfbc57f2c669dea6a0a292ca GIT binary patch literal 65719 zcmb@sQ;?`p)EqjtZQHhO+qP|6XKdTHZQHgzbA~y8>fR)`Dt{_T-LE!YcCFRj`=$3+ ztso5yf&u^m0RaF2Aoy?o_YVR962QdN%+S@wghOA9B&@pHUr&b6AP!i z52uffs4Zz0Com&DJu5gz)DAUBmYg1^YET>`0%YW9C#9zw5(f(lIatYAJ3zW}9Aek6 zX=5a5Td(*wC$9+K1D9XDN zKzq)!=?w2Wn>L=Glg|iN=hNxw3}*8@?c*^pQy2XXHJW5NsSIlM$)*;eiJHmOUfmTf z(yS_2jC7PFB|Eyi%=DZLN_DHnu-2IK4kktgI>1GnRyB$=lO%RaBK2HH(<7PI!&Iw? zBfM(K6Ig5s;{ug(TT&7o)=hmn^c@>Xv4DUEmjIu{ALIa6uQHVu+NaQM@0OdA`=s+DUzbulul6d}t$ zI&3MlC(*YWmiauq$}U$9rqeH3Ny;gYf!DQ#)TWf&H;>OA9W426j!#V4Q?qIZ5?&KL zu$QWi4*sniSCg$y24#jEN+rp(Qkn(II;!Qe6A-P@teBW!lk?aOk@PTj21k+e)aLU~HZcw^chf7qqH3S(M`tO)QLBwSP&tTbS^j zN%4{9@RP$01xBo$KHyBCTY8NYM;~wP+LRohR55R>R2svJn-U0PLf>gi`uTuQHjro% zYEsIeJ9e6wR>f)aRl=G$gh!oC4H$9?sf39`tz^ljLan?@2!N*7)R#_r8fmn;yy8%4*6HaksEWpEWx4p!PTw!j(ibuyuBsy~T7f*Ml-8 z%PnQns%_ikdZyx6t4yL|g1+Pm`PyYxBrD21ZJ9l`i$dEe)=}j^3m|Xo*geG4gYhy& zay$*2LJpE`^Ln&Bkyca=Fijpc>OxnLx7a+I&_XkD8Or^kAl5uK=eYw)Dg!Hp8tJ}< zatU+)lPb-TMdOmxVSI#Bns8IWYe(zRAh-!O?j+9QY>I8*6_h~Bq{eBfod9QzKuu#&}LIcu5bZA2d&S&vft=Zb55Ts3m)&@q;rb7^Ut|db(Nnl#Q zbvv7=nLxYLU;D9ToflRD%`7@cWCdtp=6;hAa|;DQp^+bGgx1VxpIY7IQf}lT&`j7} z(&PTil0N;tRQyY`EutaR_Vn>;IOHPhQY6RZks*0jTIx?{=3V+g&?5Yf_<1eq4QnVls;dXdFS6fjNal&uPV zjVEQWLq@wVR2}Qxx*7vW~FRr z^=4z+8l->}QE3B*AVTgCfe~|<4Y(9F<58eH{pT?i9%Z22LQu;ha)=Wrr3w!o5`J$o zMjVAdjNx{=YkZ$!r)!|RZ*Nv~UJ{|mAdqqr;3-58cKQ`wM2oNPQ1 zLw*ZI15YCZ9Gn}F(Qd0Lk;{0m zmjEkYqRhBBMsCqn9IC|E4$qhqskQ`q-d9xp2!SBT^O3OsFhh8JPe3IX*k9e*QGhK; z9A-U86*>`Gjy%Tnw)*M4oS|K{qY#)YS@Hq^m2|W6h!Lc9VgHsO){Z{i^^#5(wbE>} z{OU9?dcw#MYcP}tOx2-hU!&C2hio2l2F1MUk=_U#?yKrOcR8ojL4!g!N3nXrUig2f`_X3Y*Jqs1MZH zut>6=+|&P$RtAksNxgYxD%D*n=-aHCwSkRU)INR{OSgm2!j7&sxq74IW36c}+J<_2 z_;KS{ry-6Fd{`E8i%&y6^!FTGo1><-gZKLH!9wo? zZlfbkj4$9|Rzt?7gJhU%IzmsSy^o8>v(sNJL!wX{syPy`1|h&{hrcbQ4fio_We+(%QCZZ3VBP^R|Oj~KX)ol;j{WwdIM{?BVV z1&{;b>q#5P=BBG8OkXGc^KK7TOe)GpiVj-Iab0Z7nF?Er9|Jiq9xf zJ+vvWeTxRRlXOMPv`KJ=&lff^=WBN)u!Pi`XRoJg9U*5^ZO9<#Wq_U_HkW3(DnQ3_ zVSz|-VBe8>a!5e*a?VtsudlPJfx!Yc2-)u3nad5&->}*_&oP4(WNl1)lOKppQ+p}%h zpl`Z;9FQJ-`a{5m$=q#ludy+2v*I6Q1@2a(y88C<;@`APih@&ivC(tw>?#n0R~mTPV7_5y84^?T|CQh`B@!OOW`~QLoCX=M$?CM&33KH|FLn!*uEoh5 zlTQ?l_?-V%SC;QWiKo|cS8y{d@3hdR)YOo0D#YQ@iyp-Y^BzYRFo;4Zy%kODYqp>R z+xRg))#G^mrCr;Ej{dz%q!~P3j%rw)pzG6N{UiFS=hGZ)=tLt0E}`nby{Vm&FrzBv zrgi$qE^)^1w9py@_X(gheje2!|HU;cRVZbd6X9#)lc3D{v@!NAZ1s9}N(gCp3qsG- zm@N-~Le09fot&7iIAp(Eh}4TeNU(ZRl|toyDw0W!GR->E<>F(1)MjTD@-makOkW>w zrTh|_W@m?=xM`-8&MuCIRiIDQVe5Lg^b;cyTQKa2j70_gw-P6$I(1J1!6%y*O^iOMXpTQ9bnJR%oPJT9Q;9 z4IS-lD@c_6?w%H)s<|eed;zCZ$RmuNj$k(4M$IL~ zLd$Jh7|;C;K}`gmkx;O3&(KF(K&Viqr}jJo6I0mn+hpS@HU}n;AQ}~?yxn_$t>zq+ zJ%!qM(?(iXpmd3Kk+@|}1WN4vp}j$^)CSU$~tc!;Xib5T>)Vb0!dt0$a6SvFCzH?TLtpl`e@Jn>-Ko3 z^uwEVR(J5@`Q^tT?deYJL${F4(Lddv{Yh`@{Y@&&{%p_u;g0pIE85>#Bvb)GnG>BNt)R;@1?ZPA z&ENdu4agP3uV~&sA%7I~5`=9Kz%w-9XXG-)Y+tpLaJdR}u473+&l;<4DVFr|1jCY^m=RmLD@LfA-j4mZjgR=?{BgP8-LgcFXQ{qwF-Saay#!dswvRw+ii< zep|4Y;sFm-qvRD_ul#B~TP%01OM+V=af&Z4U--zp7jh#08 zGsKEd`~3$Zrr2M$*daFdxb#uQC69y|A6~;DxVC|l^8`cJV7m~Xh4vL0E=#f=DDoZ3 zWn8aewL8|PJ{tn~jp>3tjB$CHqp{Kl<)-_g(g*LQcVL!OHkaQ~r&SVR*g-f~%`?&d z>5Yo89}}ixqYH+w*fQe#Hb&fy?dn8qp-S2tlR{xz_=(dQ#+8J~3$v!npaxP)NMl$p z8_XC=o7SomhE^ilgS$zW;b}XyDu8&YG2ebG`)>rGZz*bSz{ z=FaL|if7z+^k9FapApk?>1UGs6^P%=;uK4QX%BhkXVht)v`@v2TL=r*fj+bMv*%_W z3R-f{;h>is(sest;;gPYM?O2yLGSQG5vd}Tf)omZ!W+;ntTm_LRD}LjYm8# zGq0qpOLU|`>;MC?mz4dvM?EBn68&I*L@IKRpU!nOI1mX+rMV;#=n268HZ8|vtT#_d zlGcDNv^4e!?rm&%*n60xbGnzs=Qe#}v$Zh{(X{V=!bOK4qdFH#-kHKViRmr)rrli2 zK`pdwmgCCcY#}((q+6K_bmAovXKgL3Xp};dl^mHdW$F)m^8shhh|nrh0|b+eF1ya#%+H{|FZVbI zYv7_?lm|AKUx5b1MLbVVGx4fc6a~e&@hq9Oa+5JV5C*<|fq+Q3>X@imKEu5j34(2( zO2T?6!3<|aCR~yN@qjB=mUJ$`xFG;&0zSl)#!Prr5KN#JQpYM$h z1_T2`?X{j-V>0#Hj#h*FLpo6CI-fX^8;#avWwDTIA<}3TaJkNlz5W|wkw?Dh6e8Lx zpI4X>gn;AEwAnB4{0QRWxHBv1ZrtMF74? zBpVVeq^Yg!{l-Kdq#3S|MY(-1N}?zBCKq^#%t~XRsk{dG={w zJ}-Y`yr39Fk%M$p!w??{6L~{!u%LYCvh9@1N6uvsJLPfmHrQDv1j2*E4~s%h$uQ6&Btu!V@sY1{`%H>FyCuSOIiCA7%?+^P z8A|~CAm<3CcFji?AdMjgGw-=eyNE^seis*)3wMmm2vx=;?!%6^0EOq+4SCUpM3kKb zl8wCMVp3Ix{$sn$SWCu$;nzP=w@AL%-hphZtI?ybFnoybD@WqNC3U|4`{9GmRVJap zCP=ef&PO1F@hn&nT-wr31PWvhu*zFIlt1N40-pU|Pp~w=IR6bKfRAXxB?QJo-U(E> zQ6djqV|i@tM*hJdF9tF{)emx2MCI~6v6LD_$h#KlqE;@K5%=Iqc_4jxq{59!PJ z2EG427Lul=@S8-`getQzvz&)~c5xkafy|qREoc~w2&6sXeh8W-@Ju=$5mrlW&<0Pu zv|pSDsbGv5?@zCU|IS?a>9@ssxPP7S(<1py?7^Sv1#rt!!7G~%kcZ6k=n2TFtK*Bv z?$s~$iKDKM)UUtvw=sZV)1?TXQ3oJQ;gatkI&ijzZBBF)}d zJZ*`M?K4+-={3;6N1HW7%A!Tt$Q4EV%!qd+^O*?fL8ibWT++ttcJW;!Ohy$fstK%$ zonKi5f?pK1PUgTFIe=66a}B?um^gD|D!U{Nm zYo+cX_g7WHFh2>I8)H4+ZwP3=zaLV%3uaF8OKrIeK69zskK95ya`6Y6_QtViDSNzs zfjk}55iY;glLp4wsvLL9i#{e_8vM4}DQ@fBAh*Ob@~t%(cdThn;yx|Sva2gN1DyOb ziLYAJZEe-f9S%Z~;VlD@DAS^MW1sT}O#Ks^hpN*adDd~Uv1;bq0LW8S3uNV55io<5 z8V#m^6bzviUl^=j=v#(tV9FzBYmNF#S;Li{@OI83+LpMhWS^+HIZ>u_T0jH?FVD(L;vwM zQPM9A4)VCNXi1~9Y94vAH6bum)h_}9iObw{s7TGc799qUBk`ser=E z-8tU8se_NZ*mX-z-(g-~WKZ0ayOi0|{I|TpEXK;u^UduuRj3%6FitO7KZl_xLyRi~ ziL6VG?!Q`t0NoxLPqpa!)!U6)@!8)WgxR%Nmk70&@w7RW)zuSetyg6u4UphK~ zRdD?V@qWn4H(CMkPQ?s*RT@E+-F$UtPug+*EJx3Dru{z?O5p0xDc3bY6bwL?6ayTk z1Rm>Nkp+BY!7^d64FOUH)TXenb;?Gh@nr4l8~H9)^{GT2J$wr){RO4-l9IXZ94W~D zI3m|TgMu#8H^?dIx?owYP^gvSU~?+Cam~Yy>8|9`D0Rwel2Y|!Xq~a9$%lR0Iy=5q za|;h0p6swn?avw&r!oiDX7JFD zJLn>Sc-PV`a2+zD=dZgz`F2%xYQ4(lR{^7TNlNbKaMOo6Yjr&Q7w-WMkss8oE!f)B zkghbm-pL87iJ{g!G*Acjvbs+5-_AQD+!LB^`pH;N ziJT)^Zl!*-(w4c!Wv)DQOL0qZa}TMO0b~wsaHMA+DB0*^qq)u_*PMEBeh4Uzb7YBT$7zX&`~)OF)Ud z4@${}vja5DZ+FQzk87`irL^brpcU6UgTtrzf|cL+q|6|qJ**;rqvRBJOx0%%z^ORG z5>qN6tVil9qKU{9=#x0Ch~_Q{sl^?5kafkd0@*S7Xev zAcNkvhj}g(_`&I3wS*UL#3L`49Jf3h0N(pFk{`G;sJ-iOoLci($h!q$Mr7)6B}hPH zR{J=Hq$`q!AYF@Oq~R}<4H5gZp;pMn=&^H!&f8HprU9kfL%;e z_4f2kzT35;-)5%Tz|;0d+p5xTg=07>rm00#Eux+Lunj}v1>NO}w)2z<(mz2<{Ods+mB zaO9JEF}F{&*C7?llzp>6VUEV`v@XPU%_Bd4z5>bg@}<86iU7kUtxs3JI0gzh1VJUf z2$R+^2p*tQ1p}sj8c%fDo_nnvUy{A_o8Ea-kKK|(xHB*AZon7JUrdV-SSx2M?;QN) zt^=w#i6~kjg2#iBtq?Cuy#n>eSM3`Yky&syPESl|NUkJFT~K{kckVIFcf}dlbxZNg zZZ$K#(~WSK60T0gUc9I7W+Txwu0r)7Lb2zA@DXt?ihmu8ook$nBxbq%n-iJkjGBP& z(;}zyXqGacwESPS{&>~&dDQqnY5m@|%zD)P-fQ{4X!!@vtb8#<3sn_`eWgYJR!Q9O z8@@++bia6XKcR8&W&m*h2u4QXojHpP%K|OYM8MrALEd1?5=rQb5ST6{!}1AtooD@f z0Pba;X=7htj(R8~%)Dvm)~#GHf2^XvkHYg@CFNKo43gz=jGdO z(sJe4NgLBv*d8DUKC~&_gNW^dEG8=;%SK)E6+kQ#;8=v?}8wFK`aG42z z)f7>;!!>d00o?j+@HcgN!Y(0h@b!GxK)1nz8+Gl6p)1?G&Eci7X%B&Bs6+M68!4mOGwtBKqaCrNUfDe!cy*Y)Kw+<*+WflI z%Y;k*-aJjY)HR=(50)ve%morJ1QF1T*{aPiah11z&!!rfFW-?YOWU*?-##p9rRS|K zepuSVqi+b|800KBB35S+|#Q;G9P>3y&<+F@Xd3Xmr_zdq;ZE&@a_

&v(G4!-UJ`#_ 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%0AXySs9KP|-Z9 zWzTVzJyPOoM#G5czwy2#?a{2aPo4O<&jsGv5=(NqnCYJRNf97JqR^^`q>~|+ zU0FouNyl`JDsr8w5#T#p2Y3&ZNL~C(e-~jFnLZtsIDgfkl$Vet>?l}5eH8P8ZAkS5 zhAv?mx38;BvyvP_iw1c-x~TlK{U#sT70|rE^~V7|A(yBx8ln&F&k$f1gaTrG7Epr* z7-Hdqnq`=cydie=;;6(3gUi+~JDQcv3O+_uIcju?rkadcLdy~65n6FR z@u9R4E+V|T{1BxWZ&uqZ^&OGdRWZz0`)Kj56EvZu6WPO-VJ%5=*{5r)&FAZpmOru@ z7eMRCi;5D^l<{DUrY6k^#0j25(cbPwI^@f{i4ADN%0RM;c2cu48NWphx9LAAKdFMX zVvc|o9XiR8O00m4Jmbq8T1f<1(iF^FrG@f>B4`hp!CZ~Qj+Uyvts?$t!BfuTNOZIN zk~)-l4IHou)3R`r;dL;fvW-ccDkf=F62sonOw{?11UMc3)chetg#+E7G89?zZ+|dn zqi{40HnLv|$COQ!qSVqDUn4nA9SJ;whH2n{vcxiN1mNrQIN~uYaen)9gAxkyt7snat*vqC&)J-dgA|rO% zRko_FF_s*ylH|Y6En~*-AH~ZQ?J1s%j-2{boNj{+*t7-=5jO3^#EAt4w2$#9)4-Ts z%Y(NZ3s2#KrHW2g&y~wfZ9TiSdovFWs#aR2czSHq%c<7)3hPv=6KL#ro8=sA@T;`$ z>yFj{ZED*fnE{w3b}c?3GTj584RSRnYf;p-rm3gdNIK*WYgP|{_-5h}778^2z%PN~ z(^iuQgPNms%{r?MSK@5`dqolLVF+WS}s`pDU^f~ zL6h;TGHw!Ngl(TB8Zu1nuh)>cyPg6 zt$-A0I9;P&o35!=_Y=2{3%e7Z8A_xX5f3cm53}Uz&lfT-Itz%~EmLDdPz)(O)qwJel(+&M2Q$0Pr&xnWI9oh#*(#imtrX^Nw0 zxiu;^a-~~u4%zC=G)?Aj!+_MvC-jd?71^;#Q>$SPt6il^0(o-1i8eZlV6}8lPVUrR zG7p=8V^Y75i>K*SEi=HY)>K=jRa>P9@DGnrR|Q~&reet=GtoNC&SSBg#jTW5tDzDV zAN7?y)|yj{HCDP}K#KS58fNv5f@Ojo{G@AIqDhGS15egI1Ry1tt4^drs}-r*3aw>` z({xI7fJ&QH8Qw#Xlsm%=KU7JpHY!njZlpLwklx6E;=)UXI}t@PVouhF(hkyg!X*r`@k zLDvQ`s3pmDz0L|Gwyjh{kGt7d9ZaO}VQ#u*Dm|(FU2$`O)yH#a6vonG(XDRfjh~re zlmXCTYdfo>f-?5}^>%Y4v#-ZQv)vJZj{x5ii}Rg7^w zNOdigYd=Da7ZN#}3Z<_(G>wSIqdXEF0dF8m057E2DQf|Ur?{sZ^|Rc0Xks(Ufl>iQ z4uCJLGN5`}!O6f{zXXbI@4oV>FL0I`o6&y@O7D6h!zjwR+)~ZvNn$6bNygGxI)`_w zFWOGE2B^f@3=<_q?>0zgMn?um)fo6W1fVVHbxvZz(S&}AhY6I~?GOFYcz#@8o@kuY5MU)Hl$|BW?OXm@f4E` zIouMvW;$S2YfXmfA02sMqEsu?%+ccyq&0td9kf#e=Wy|lZNGIgt5SA?$O7Fx8{oxC z_8$-{Gu*2Se_~2~Y=oucH_-CRT1$2dyQ?JNS(jm3fy1mYBZ#1KO?K(ElC~zgW1%@0 z-6@TTi8-Oa1)agC9@(i4a=0B?VdI@%#|WZlJEjngpfV_`9)YM5VCgN6Hd$^tpa0^U zmdYSRo%(~p5Wu9I^w(Nq5fS=JEjKLY%k?p4W#s5gPalRWBq8O|AMEoo!D9gFZf4EO z@;ThhnV~bTU{vP*MWhog$rtKxq*3m`9fs?mI5RIs@%-D5q-u@TNZ3&od2j?E(VCr@ zqnR@~OYdNI+3TMec#&d)y-ZKhCx}4&b zC$PXiIsj%8rar56!;Fw!QlyufvS0!tRx39|wPZbGtg6Qg+7pGiO#vsY>9YzfsybC#Pe9H&lu+n__yw~c?sV82zBNp z2C*w%uZJvZw6a?Jl3b9qisAL%J4IzHRb|u1 zPGL`L<#%hvb6a9!fxV7Q`Ezk17jRXLk(%Kts=K0(pMZ~_f{&lXJZ;spq3cAXmip2M zUNc{zTt&ZCXB}jx?$YuNqo@x~kD*4M35X3Uyp#a)Z889I8Shjl@6;d?M5K6k%_|e> z={Me88#oVTK+b_>+_y2_9c0`$Gu|CC-dz&jT@>D(C`cf|oixk}@_{-psqY|g4^@EU zy(>J&E#q%W*)%oYi9QeM3eS|EN1xvx?cZxdy;lZu){sAG;9aZ0c#BJjw~zkt9@?h> zYb@>EX?FFH!fveN3or<}2h5p5APWJkEg{zJs(6vW!dBVV6%eNogK?=+-a*z8=IM^M z*{-nQEn)uB_}7_dnYaks#vNy}VEe5A{hl|O&^%n5)E@wdqe)I!L>t|1Lw#NXLmMvYY<^}K)5U+TE>hBhWQXE%`;)haaLdwbD_qY zg9L_?7{S6pGU9Z1hybV!Q#$@prb?B3&;-Y_9_0VZL;pFGaMeVd*L3&o?PYN~yKnas=59=R8qr^FFW^C4iUCL#4CSux?;2EF~z z-slt_#<2-mZj#b3{j*?i=lZ9e{*OTKMgUz7%yrqqNw<_D!?JxYH-dW`jU&Nj+E)I) z@U@S;5w;Ui!aD`lFy6^nV&|7%Eko=Dc%#5F&@lEkVMZ_%jgq*&@}$D~CVbmDmmPht zLcw(Y#5WS5`|gD6z!m{#;Tkfpo+zKAcNlVT(4NtVb6R_%h&=H(No#tJWk^e>3Aj%j zY*C#Cx7Xuu8eV$2OI_&v-(*X7b@q?}iD>?Zv!VD7z@c||dz|6P|#8e#Oh|D-7FrYA?waHIlJ84+F zv&JK;j)NMJm!SzXcNjLd{&{u;BT5VMHbs@eIzCd11s*m-P!A)nJ?xAY-jaiBon}JJ zO{`#971oR=a2Vvs;qr1Wl2@*$?|6r@_uHY!_{>I)gh6FH**)q$y3e-d_R2om7hWi{ zUXxsZ$$BQDlMX37z*DN1BP?*d4t*rSX2SB{4e##b6vjO{9RhaY)A2#4;snzt5}o-? zRw2QDyfXHU1hS2c1@8f*FA$i@SR?a4%{hZ(2qg(*Zh}BW=(qhsw_j0$uCT1l3+5|; z_XunNxRxQBww^2PuJU2bb@>)cR^GoOAP$!egZ6IW>pZ47CJzi59%awV)~@Q_2#T&^0S?13nmX!K%-xdS7?e5Q zyn{)N>s%-DyJ;&)-qJ(M$IG|lh)$XFL&^Qa2~B4k)(P(&w?sn-MZ>SrjG`jt8(iRD zgf(Eo<(o|n&|U`+%@a;E!BoR6@>R^{^|&^mt6ve6X%p3MjVkXJFAz&NplfypRe}V$ z@srgNFbvj23yaUZeL#(|zJ}G3i6*=~Vs74#S1U?s(&|>fg|MipsNRu4hBO7;!RBv17EjvRxKf z%o7`ROXWY*9tbY4{s(eHP!v{xr~INdgIIb6!%|o4XGr$$?dt;;y7&dCa0=-4@BU2F zL~~iV$-UnxVdQa61s=43t@%)(gxMboYXk z#w$vF1}gd?hK3r3ck~ftmjj8nr&n{5sO}B0`Uu4FB}vw`+U@ zPwgAcqZ_2nUKwSj>ZH#v`^`{vT#4s%*CH3TMevhwY<+|3@&^*yunu}7=2uc4OZy(9 z3;8nUe?SwmL)*=d2QYylx(WWU*Kzb-oOR4QcuS&ojHZg^e|E+pKZ<{2jvEAsz3ut= zxHJ^~K2=wGr2mpA5cw(zV*yx4oTsPrz!qHNAWV+7FF*$NB@aCC^QkzvBrq3o{F*i$ z(KL4MX$WAY5nsoZ*Y(SFA0$BtkObf!RkwYU3#E3t?x}exV~m7Yc%I8e|K{KHi+!BfyvJmxIR^$){@DGFKponyuU5QP@XIP z?eG$|%jXSxKD2%@TUI$0Flv39b>sGd?Y#8tbniL2%-L>m?-@bTADYSUmv+u-2TchXSiL`5W2erBvkhW{*|3J>-9rhY@ zP{!hUXe$e5c<&D;&r2s~oo|cI*U=j8J|+S+j~%n9fhH?H2TmN14R872I5UhH2QKs^ zSo3`pI|%52o^!)=&~05CsGcPFmyE=(3=C8F?*pqF_0SHa>^AeQmp#3L!329NOpY%4 zwyR2yskp;I-@86`&!GDv#Iyq7FEl~?$~h>*LEfvlMIF2}2GFIb4BK;Skh?ViIBD1T zC-fj@%Q+>QhViOi^(*P3pZ4iw*;j&y4(M^dHyGxd0sW+BMiJb19atmyg{bo{F;?_m zoE7AU7tFMGK$A^DoQ1+1{>p~W7ozO2oX)Tl|1iRNGu%>y>`0Q!gWWBpS^1V%Tu6FHO*e?R=PD z?_=*e`@EZs?W9>`{F!I`Zy^BRdG2A4BOib;ge9&@--hS3HKg`zryL$k4*Y9BOh&a%EItIpuhpf|R zZcb~@bqjXsYwYZW^XG#*%!wO%B=~;^&N_WthobpJ-k=uKd&g-gV$A%L*S9aM*9fSF~4F<}8dNS;i-uKP*f zv>)#o&+r|$mEm|#QMQ+Kl#zz|JD*kD=zmvsRCaVcL;i5VR(N{--CPTJ3PE2>^@26< z=wXMTNqZ5j-}3*cwG*!7c9G-3KDo^O*J0*$2yQyjm#?>c^#7OA&N{B@Wn18z?(S}- zJC!bJknZm8knUExrBkH4q`SLAx)G$yx4rM4XWVnnJ^B{xKQpT6MHM3?-j|gCX zWF_^jXv?(KkrOe-Gym(_=K({`Yg`HKVyAV9h?GRy&zdl6q?1-wEu0YXpq4q7jV-Q_ z*XcL__G6s;)~)6oD^rV$C9~KI9j~WP_I&Mt=XMFm@OFK-8iw??3#%sQtemimO%B?N zcAiIC_+MgY6*c8cKkynNjMf&lm-F&_R{8|qa?XBX^Sd}vtVv66(Q|!`78KPybp#T) zS8KBCoJ1{YKwo+MVmHwCmFuy>@+Lmz)QP|Z3AyHSmRwjS3WIFnBGI+um*?`0UwGv5wAkmdjuZFGx2%&0Q0xR-L5@d2*j?+gdl6lusd)a|VB~ z9`lc4iAYZ@Z=w(w34u&JK+*!^X-pzdSh_49V_Al-bveT<2K1wq4jdwCu6QUVg;!>? znT2X_P)T|>nSg{^ccma_@*P4=wTGR5@`L0Ze9}9>|DZef@o4fbW43gX*OnXmG?Qy= z`aan6>yWGRb=70ne4XGb;YFdcJfFI(-M}De0`4B(AtKR_eUL@I?pp^ueMd+#mc?&4 z5=}BwBP`Tuy)6ewD4(?w7xH3YT%%{7D_}a$I`mM281r;Rn_(HspJe3pUa4K)z(%REID5om8^y+hicjlH?_I-b8a>9u z$FmAHBHT+{KQ*;V3J=35K}Rh*H)L8Hi=#nV!;qV?wRZDcD_#d0lqBWj#jxE)wD zP@Oz|^I|f`@(-XXe7VVX))c7vD`HpBvdRM{lJ z3-gpTmBx;j0mcIn)u>2aG$0ZJpZc{CrDD7dal!i`%7FsW+40E7Av+d3*SIw{Ex0MJzw`u!+B>u5Vf5-uf(Y5gH{M=n*7P=;B|VImX=r z$Hf?VXu>(uFx@C7C3MiCW&S4k+RrM2gu8<~Bb;%@dK3JztAmf<3#!6K@8$jMV*NvL z9n)jMmCjc;5f35sw_?EUQgp<>dxLZQqAN0R6Vu+z+QH1g;rBL8U;IArU)!ethX3gK ztT<>t$%tM<&|6`n9Y#Xolz~pEZ6u|lRg2&_fxu{W3sPDvFRR66FgSLce^QxWhWqOY&yKtd^)pJo;rhy?lBX{Ez{rgAZj3 z{?oW#DzpPyI@cjn#7KbwTcrThaVpN7&$JK7>E!6@{!t>V;$8XP?d|=r&gkjmo4D_u zisNeeROyt9DMHGPx+R?^+KG}O-kKt|_zciD1zj?wx^ZKehga${*2wQe992aH_v;?l zvvUn%I3i&e;GnIYLpN<;pLe>o(v^>cMXpZ5t5c=!OT67)WQ1d&l4$M$JVA3{gAGsf zyDHA8)KYDH)7>E|+>77dFEDV=F;B83($n@jUdxm~WG`t1J@alqOd%nssOV(;BB^6r zrv`DQf;A`SIwl*mUL@3B>@(>{SFjzk=(K@5{{`)oC#+qA31PtS_JAWpCg(`|s~kkg z@%BnK{c~1Erj&XXF$@<{4TXwQeaUWiQGf0>SPf;)%`8DoMa{TZh-#f$vG0oy4KOmO z&Ks_}&l`monZ>(j?P@&?H1Kd;blu^)lJnZjbZ>hwZ;U49kY!R)OC+lE<<_0Vpjb-F zY%HE%%ArA6V&t?o_8)>CABEpornaX#R;r(7o~M#ppF6 zs0UQ3o{ArAsdUA$nE*zFo~y;;3>a9`qAJ3d?6$}vb$94 zi#aD^00Iv{1s503r;_laOobHZBUXzMmx~ezVmFHl+iIqTR*j*db3x&zq^>YXc7DH^ zpm`5w|B0kdaVzOvT8sw$2nAQJ1eT6`{5y1qaVDNOTC|h{6e@c@ZU=ovd`W86j%C7z#nZ5DsTbp!rBjIdNV@wh z_}NOPzwuq$Fo+saTAIID_;X#cMw2?DRD2$5u~%($mZ+pWK|F;BmjpWcAF7XTtrp=M z0~~M#U5BliN4si==>?annsnb^SsPd$B}s25F3BvLE#zzFRIV~=cv$HRS~?UQtr!gO z7%_uJLfXt)uj*y7?LS-LO(M6>owT~b)v8$-S;ZfW$8{am6*!yVIaIagK4}}`x&&8kO8N=Eu z4pVVM{h}J7p*`(0CRijF(gtQ>>v2r3X~#R@ebuGI0d}dJt_8D3)~X_CfUdCF{pDv7 z>?JaTN99}#HBfqldFqjK{#^ z7+>}4S`v7p?oZ_rm(8J7K_}+c5~*Ea^sIh^j#Z)*-RzUG82Og2Vg;J2YKhzS3r>8- zNm$YG>`Be-btC7;>7k(T7x7z`R}SRV%@EaAuX;;0y{pNzzT_h5FJF3^30Bi(a~#E% zCNDR3uMy32OS~i4y4axdEVFj9(Y;;#(3{yx2E97J2w`PpllV0K_1l94GY-A?g(j899AiBln5HwTlU$>*D6i~pGjqe-DWom1arlYp@Q^uI7zaU?Y|T$ zI!MFE+H_T~W$3>&DypHp**3asO!F3c4g4-G-b%eFGEXngGrL(&x_D6OsWGCm<(gav z`H)_{O@RNl;KY6(S}V4A+OR1Zt8b-i9R7iSzp=Y0fQ(79E^j+wD&!`oRl+^(mU=ms znMg9Sb?u1z0bB!N5lYyZ_u?5;cFx#n^T^H|&K*NCyJMs_ov`G1Wwz|uxIT!)+M5K} zQ~9(=#QqEzcoTFU%?M9~ATR2igG82hrC6v@!?F5?QLZ03*D>V6Hm)Z@m?d~4_-e3& z;cJ0mqwcA$!_j30ZwpQLI6dJqnMr3e#Sxx8>KC@>xTQ?5_j~&=tIfv4!)$eKnTqC( zgR0@=pK`@Nfu;6R2o$5zR3g-y=_%B1)K((w%7SE7r{F+RJS2)ysDFTd%)Xwir+Vod zIyYe8)BlC)mQVvMKWBIQT-Y>EhQ+~>4Wd;IJXP@pVeHs!=C1fnQ7RKXOS&bBN=YsT&x=r1s(#$UU`{bqJ#w| zPt;W3ZpHeM1y>;1onu*8(n9kkPl&Z-X)pw*`Cz5*YWQLJh|P)jBP)%t|}LD zuBT>Y;$#!VZ$k_9HpKKYKEHV`(%Osf4LTkFE-O_hs}cW_LD{MGi!$5CtHJ5GU81OR z_PFQdU&!&>c2bN87wWe(82IUlJSWCAd53&@6-a%hrbAHa|L+jhY zeDhg+yFf1*A6Il}Pss0>CS7-vkMdQ>xNKtZm|Y%dyG=u;(Hxa)g|4k||1g86FanSm zfBRssg!UkG#z4x#YM*Ae3ZZ{&Y?c_DN_`Z@y9`3ChYh}pW~_&Ze}7#?Tq4GVc_of6 z!89ZTOBsC4<>2f`oT~sL_N9Y_;)W_6#bnR`Uo{Y{c;l+XkL07YgKIpXc@NMm3eaBm zzrtJJv4(cI;_5sU8WN0y+GWv2PXL8?bj2r|XxjVtPrtl8x^z=$0YC=6{gyQKDkQEza!9TYJoJ#@Dg#qVDP`BRDe5g2| z*0ii#X?aaPd9KYPgc0wKf_|WexP8%H=a;eG=)dMp!(1na=#`Rni>KtB$$ZTaSHKxZ zf@l;c1cT#jRG~Uzf7>l+P9b@6dY86buLApuYM7oe@;Fg(rhnp2>c=!&6$mwH2{RRBgPhRHXUcD?1VImV~^6yj?+bmJK~-{-rfx zT=M)q5p)@dKwoYCcCgihHDF~I?h?g}#_b$^Tto12dP#FeOZY^de?#S@U-@v6$Fgs~ z^hD1_#5wh8eQ<2w12Z-u$Hcl9S9hsa-Zd(pUS)T5oAj3hN=(U*QK%ztLYf{?)i!1y zBm}g?$BBk27?~u*mHW1$J_!M1HlDbPi;WQ(2-vQ1@rii*eI~+`=gcq&fG^p&x4|+D zWPf64jWoczNjjwwprkV_xS+r+B~5O5O1adIsvh&AC@|nTL?o1nrQFVP4qhEaVwr=A z?I+#Hc>buWDFR{>h!a^)QU#PNOPd^aZ|O4Aq4*d$Aul?YTvPn+eh=@n`fR%)6Z{hv z8GXHBnMTBfF!A@|FyV2t_hO;pOTe)`1D&bWk0QxszhtB6=`N&anIfWLk0{%*q$Z5* zGPEtu`5hSZ$%Y$s)t>Bodd>qC*IejIp5Svoog!qq-Re7Nb4L({T7jmzm6V@I-*U6PnA`F7z=m$S z-)Sep;I6YpQUP;U1zzCX=H%f7iIf&>NFn3hU7PtyKxW&lIhSr%JBZ|=i$D8`9Xm=A z9e!*PRYvS37n9Zp;wr z7wCj=lQzbfB=V=!x&_K~k`c&gcL}#qk17vj_WR>I_|JLHCz3zJV}gmBEOhR-T)DSi zRoJLheJTKd9^9#YvS*rkwV0w8;W&)#JUl-BDc6edN|yiGXV6|}0WS6W*tW~1yC~C! z#3&rq4^A>*`x%*laU&h4b=7dLqc`69v49vBQ8mA3ZyC}6@-IKY`GoGchqpQJ;mbSh z>vrKwfUTyE-EfmKNc!mqJU&zb;$nGEPz)El&q}v^3^mi=@IY1iC#>v8E-cTCjfo=k z;TR82i5|^}YaBS&bmC>M;yJRRflz=t9zoR`?aRIhnwehME}WjOnfW*&ti3*mkXhfO zxYr5;pC* zk+|F9$$F?{%3YMJ5TRMb%v>$-skdZ$;;alN=y8-vtI2-mv`XwsPUYCoFYn`IG+6K| zQLJ`fTUp2yL~*cNVn(gzmPhQF6x6>Bfh~HGz9Tmnc({Qv09w4z9dUcf{SJ-1_caF>Sj|xbc6oV+d)8$l3au0M+Bm5KKd6q}O9)EpW1B-msW$BBSmOUJOTqrOBjQAVUo zMjlx~%o8?W`Y?Q?W!>7jMVRQ)aL*Vge#TVChfvj9o=uL`&tvTwG{b(A=8&3pCrzPz z_grl-dcjxBdRjrcflN~9K z?ot^XLuJ*?6*5vim4l5m56OEu%JD9>#2bma@!e3QhFlr=p;GB1;sjflwm@X7;azdC zWk##P7vS&$1&#HLaOnyR08stg^BKQ-Kc$14wZZQ#GydvT82=&x7c_vtA67G*RMi|7 zXE2`dBLk4cPh+M8=R=44Dk3>6NNL1{3al&#B#EcPrQBXNb|bq|v_pd60%{y3v#Z4$ zxt*81qh#)&o;~0_LL|!&J@cGW$e#>OZvv1WZG+VBq#vb!e(Qi_4ET})*sx2w)-H!y z3wp^Z)$G%g*?s2=7ns@^aO_LZO1uhl*?zu`mvxtP*`^9Bl<^ECNz>}l4)hf^BMCOs zMNw*(oZ3bg#wt#aBgz^zf$)?QDl5aaWAH7%d_r(-ngRE&qYd5aEg*t7(!eCVBX}L~ zv3YvXquRN}5KqWj#BuF8{m~?GvW*r}PQv7Y+fdF%&Z~7-uO(dF_e>(w(zrD-BnlD;u);QORz?rBm^AR1@mq?2j? z4Bl`=W=(!|CvIr<=q5P1<|cx`rja07y-R0C-0t0*{MZ1`(PezWiq0bX@Gdqcda`GXdq2brZU6QXMtqXMS{JTk0_(XJG1P zj@Y!2!6h7kIK9TgpXl;4`D~j5;>Shk@xNfQMX%<(8f{Mt;oRG1Z6Kn!-$$)Kbfl8Qlx&NthhVaEr|++W;oByO?#~ofB#> zIVw`T(=G#^N0F6upa2!{>L_=}m-U@QjrM-tYv?i7S{{Af`FlGcQ{2d-^ zV@oKG9;e%EXnXEl7d;-t4PDrS5Ab>+4IyTt$=pXG48<6*;UN@=RoIsT97-`Z+raz( zN}@q0EZI`HNKT~ZC9=zBLns%>V?=ZrshH7d&VNY?k78Wp1+kwiXJ%ng0`Y_v66<*kkPkue5`xXB}P@>Qb7qO3T@aKd%*7iHD5 z62@1wRJEgX3%40HCS$DOPK-28%K;FkDhK)E`zdDXY>M29+x%LTYdQWiik$IKg~ies z8TWpncN4zve9cF^z_ypXKX3agt6JmzKb-yHlNd3QUQC4OgR732nWB z^~ZAz;H_f}KW7pr8Vz$`rcru}RoY%?BG;3WvMsJXE1Ajb0Wn~zy4h0$!pLFl^$|Tq zO6W)gET6kQZd^k;{f3&libdv4+!rEPn$~RA(R70=r?*%9GzY%0Hzc6vIn`hjekskF zBJJ;EGS-|C4|3q{3;JZEPotIAA*L7F=3iicfJU!W9~JN_Y({$5LN8RuZ?(f&LdpZH z1(Pw`Gp1`x8bv1lNcU#0kSkBkOSYxFKG(p$mzJ&RJ(`sgxHbi*$>ySxhEW9Migr8Y zg6w3|BJmFMw!lCdX&Ky;QLfdI#aKU2ujr5B%y1+0F*nY1JPzsumBg4m{)OwhVkKNr zM%i^Ii~F|bCEx_fE?eXjBG=z|&6 z^-3kWS6H<2D}yaiyPdfbSHJ5Q$|$Q$8AdQ8%$<)zhS1H)B;|urGRTQEvYCQWuL4m>pg8YnN}mG+7z zRyNKV=0z&?+I&x`-b1;s)`spZWwS-nCW`h4F!4JwN1`%IiQwAg@l?~)34g^Mxtlnr zd9KjggX?DBQ8#VNNUXa;5!dJCm=ziP!(PlQ(kM3a`90~V@A9fidXw!~W!zSCS+W@A zw;7ZajH-_AClp)wd6j4}5=YU~tRc=UAbJ;J&hk25B-g4Ew<^5{{UVBvJT)pEq!W2B zGjJM9tID!@RTMfV4bj^_9N`_xF(?AJkYCsjf74kXPgOEUj_h=hvdIxv!Xieq2}jX1 ziRXbTf$ZSXL-)yY)FDY^MM_zMpGuhRa{h1EImYGvXeP#rvGaIQ=1<3!H3~ zTZ31H>&w5wX1N`oa(@Eaiq$B8XFC4Y3=3#C{yf9-j1`w%3aRhz_nRPo{(Q{Z^>^#=cMliXS#gA&-J|b@rn{oy@vzi{z z!-9^n^Q}^$WK)d5cX+V#D*y$mT(KsgL+H1L1pkuRTH-G z50ePv)Njq!2sqxh?P9Zo&Dm8|Ym~++RW0UwjlmdG`8|vX0Rvwwo8P`S`Ybf)c;9B> z#Vl~@#A`il`HAc_ z5ZOo)9t7jy_!&iquID+_~*UVsUp7GaE(Uxih=H3stz6 zLc=>FpoHf$ag|hUL(qB>1Q)iF}6#EN%{1H_F+V8 z%#2K_gV#h**MDFYU?y(90h@Y`e5^<2e%<7~`au6B>wm2k36WiATi_-v0q{imUoVaj z{@K2$y^W2dj;)@7g`SDg@0lj#|5Yuc&JQ-ohCZ@>l)h_Q_jOn}$iJ*Dzi{L&pjQU~ z9{Bm|^rL1}ghe42_KSoGcx`6@r}PkB{ev zz1&j)K4S~~Aph|A*F~s59=Fo7HZwMIa8y!+0Dz1QT%rD~<}3A&RG|EzX7xKYmS)x# zhI)>Af1R91D|2^u;1f6?007nxdZ>VZ`6D_1r^m|1(8<#1AEk=q2W@A6rtRM?M#sX& z5lC?T>s0!~fy7_{QwfYE51{`+uN1Hl{v(w?>t+0d@IwpwyCS9i0n+miAoK<{_BKwA zX4c=grk@dzZ5G9_Q~DbLAx%j>8KJ0Mr8AmVZPR z(*7Ef>7OEn-;~dD0V7O?;QfqLk^0TXR@uqZ<2xS=%0|k=JAga?&}iSH|e$eHL|g#jmuw;E#KcF`*r&E zO_=O|gTwfr7gPLPo8MoH@guRv_cw@ta#!uo#P4Ii{zx>5{|(}wT)y!$@oOpmQF~uw z$$pdj>|ZDTNo3idf#1jf`Wofyo7m+1e}I1xmgZ;t_n~-x#7~y|fAD{CB;;rO*WCV5 z+&>ORy_LU)|G#)VfBBOC{t(QMgArTRZ?gVjA%E|@`y-jN?>EW6QNCZDgTKk`=r5E1 z!&Ug_+Wg)f@~dm`H!&akZQ5Tt3ja+1O8cWNeRa9~CQ*~WM*j~7%%4%;@5g@Kb^Rs} zzlr*D_sgHT-*3$P$h`(mpMPN}KtB_|Hy(c^vK;?L&i-Uci(+{`c0<4Q~f6D1OE5|4P4^0uiyR$9Z6Bw diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib deleted file mode 100644 index 1e812ec3fa1a154f2f1e56703a1cb407a751899d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6613 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 S00=HV%NG|sMi);50RIC-^;e+) diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib deleted file mode 100644 index 79d424f756ac0d5fcf9fabdc318ec492fdd3aa65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9447 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 NZfbVRLOkVsdt3dTM-j zehDxvD)f@`i}FiLGV@Z4^-5BUOY}1HN>YpR5_8B4APC`Uu9uyc3lGuUzP((B z3}lW>Hp@L+%Gv6)vU_rJK}ktLLE&dsFHWhbpv-?w{jYA^yr^!_bjh*(x5T>#>`s+N zB_{LudP}We>+^0+H&%Mh_G;~J#Nx^?Z7AJmFXUT z)2_rH5eFqi^Nwn>`M}6{h&MtE$p{_t;=!66n+)Q?DF8X>9~(V=#O0~0$LXc3cUJRZ z5+p4@PU1X!TIXR>`vtwu_sNEjY~rVx_1eN?9tALe6?pctu?Lc^7thqc zSOg5oHoT!pmLCl<{pcF7(eJQF7`a2Qbc!koBsm4J9n<Nl=HhzIFWxp9h$=i}Wbwb#UIzxOU zSMHiJ@d=CQ>Xi8D?wl%iE7syhHUhxaxnXx}4*bJ>p!Y z|K6#ua$dref=i4|0#6?aD|y~;Rk8Zdv@PMj#clbFqCMwT{ygLdC1`~kk4_3QGBA__ zG42vZhqPoyURt&x(Gr7rq%sX9F((NmO-QOZaP&u)w}$n86?NnFPWqPnHTG{&G1lKI z0WMj~&bWpt0F#{@-lV5Ugpgi zi}LeJ;-OUrc^*=fk5l`KhxX7SX^H`c<^AsWDCxRQRk~>J$dys=+95Kk{2(&RqXj*8>_ZnWU{pF zi(b_&$KPhw-$VMGYHtED6NRE zFf$>~ZOHiw)5yHUlFYJH@=R97>)6b^MSwLFS%{;Nif%o~I+%Y!?LGuJ1r#RLzlh|6ZVz%>3DhD&025|1 z?7`9oM7I&SX@F{@1Pd89Vrh|~+X(U#EG$7y4g{FZN|KGZgAuvj2Q@g502^sm;B0>2 z^A)HFL4e6bSc%&!$kjclIe`Fgi7^*@;{u=KK`jRaNN2|qUfA0a=!PO!^q_VF0_-Db zC|WB5-Du=$7E}WwfI4s#0hS#x+70N&fV9Cp<1-o6#S8J8 aj9xDXc(Vet2LppB5Vir6+i#$51_l5~2KsLR

&v(G4!-UJ`#_ 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%0AXySs9KP|-Z9 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 literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib new file mode 100644 index 0000000000000000000000000000000000000000..1e812ec3fa1a154f2f1e56703a1cb407a751899d GIT binary patch literal 6613 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 S00=HV%NG|sMi);50RIC-^;e+) literal 0 HcmV?d00001 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib new file mode 100644 index 0000000000000000000000000000000000000000..79d424f756ac0d5fcf9fabdc318ec492fdd3aa65 GIT binary patch literal 9447 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 NZfbVRLOkVsdt3dTM-j zehDxvD)f@`i}FiLGV@Z4^-5BUOY}1HN>YpR5_8B4APC`Uu9uyc3lGuUzP((B z3}lW>Hp@L+%Gv6)vU_rJK}ktLLE&dsFHWhbpv-?w{jYA^yr^!_bjh*(x5T>#>`s+N zB_{LudP}We>+^0+H&%Mh_G;~J#Nx^?Z7AJmFXUT z)2_rH5eFqi^Nwn>`M}6{h&MtE$p{_t;=!66n+)Q?DF8X>9~(V=#O0~0$LXc3cUJRZ z5+p4@PU1X!TIXR>`vtwu_sNEjY~rVx_1eN?9tALe6?pctu?Lc^7thqc zSOg5oHoT!pmLCl<{pcF7(eJQF7`a2Qbc!koBsm4J9n<Nl=HhzIFWxp9h$=i}Wbwb#UIzxOU zSMHiJ@d=CQ>Xi8D?wl%iE7syhHUhxaxnXx}4*bJ>p!Y z|K6#ua$dref=i4|0#6?aD|y~;Rk8Zdv@PMj#clbFqCMwT{ygLdC1`~kk4_3QGBA__ zG42vZhqPoyURt&x(Gr7rq%sX9F((NmO-QOZaP&u)w}$n86?NnFPWqPnHTG{&G1lKI z0WMj~&bWpt0F#{@-lV5Ugpgi zi}LeJ;-OUrc^*=fk5l`KhxX7SX^H`c<^AsWDCxRQRk~>J$dys=+95Kk{2(&RqXj*8>_ZnWU{pF zi(b_&$KPhw-$VMGYHtED6NRE zFf$>~ZOHiw)5yHUlFYJH@=R97>)6b^MSwLFS%{;Nif%o~I+%Y!?LGuJ1r#RLzlh|6ZVz%>3DhD&025|1 z?7`9oM7I&SX@F{@1Pd89Vrh|~+X(U#EG$7y4g{FZN|KGZgAuvj2Q@g502^sm;B0>2 z^A)HFL4e6bSc%&!$kjclIe`Fgi7^*@;{u=KK`jRaNN2|qUfA0a=!PO!^q_VF0_-Db zC|WB5-Du=$7E}WwfI4s#0hS#x+70N&fV9Cp<1-o6#S8J8 aj9xDXc(Vet2LppB5Vir6+i#$51_l5~2KsLR literal 0 HcmV?d00001 diff --git a/.kotlin/sessions/kotlin-compiler-15221632085774217643.salive b/.kotlin/sessions/kotlin-compiler-15221632085774217643.salive new file mode 100644 index 000000000..e69de29bb diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt new file mode 100644 index 000000000..99e117079 --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt @@ -0,0 +1,88 @@ +package com.squareup.workflow1.traceviewer + +import androidx.compose.foundation.Canvas +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.size +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.drawscope.DrawScope +import androidx.compose.ui.unit.dp +import kotlin.math.atan2 + +/** + * Since we eventually would want the ability to click into each arrow between nodes and see what + * state/props are being passed, having a custom composable for the arrow where an onArrowClick + * could be set will be helpful. + */ +@Composable +public fun Arrow( + start: Offset, + end: Offset, +) { + Box( + modifier = Modifier + .size(20.dp) + .clickable { print("clicked") } + ) { + Text("top left corner") + Canvas (modifier = Modifier.fillMaxSize()){ + drawArrow( + start = start, + end = end, + color = Color.Black, + strokeWidth = 2f + ) + } + } +} + +// iterative +// @Composable +// public fun drawAllArrows( +// arrowLocations: List>, +// ) { +// Canvas(modifier = Modifier.fillMaxSize()) { +// arrowLocations.forEach { (start, end) -> +// drawArrow( +// start = start.position, +// end = end.position, +// color = Color.Black, +// strokeWidth = 2f +// ) +// } +// } +// } + + +private fun DrawScope.drawArrow( + start: Offset, + end: Offset, + color: Color, + strokeWidth: Float +) { + drawLine( + color = color, + start = start, + end = end, + strokeWidth = strokeWidth + ) + + val arrowHeadSize = 20f + val angle = atan2((end.y - start.y).toDouble(), (end.x - start.x).toDouble()).toFloat() + val arrowPoint1 = Offset( + x = end.x - arrowHeadSize * Math.cos(angle + Math.PI / 6).toFloat(), + y = end.y - arrowHeadSize * Math.sin(angle + Math.PI / 6).toFloat() + ) + val arrowPoint2 = Offset( + x = end.x - arrowHeadSize * Math.cos(angle - Math.PI / 6).toFloat(), + y = end.y - arrowHeadSize * Math.sin(angle - Math.PI / 6).toFloat() + ) + + drawLine(color, end, arrowPoint1, strokeWidth) + drawLine(color, end, arrowPoint2, strokeWidth) +} diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 7cd19adea..cfa88c63e 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -1,6 +1,7 @@ package com.squareup.workflow1.traceviewer import androidx.compose.foundation.border +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -20,7 +21,6 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.layout.positionInRoot import androidx.compose.ui.unit.dp -import com.squareup.workflow1.components.Arrow /** * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or children workflows, @@ -47,18 +47,18 @@ public fun DrawWorkflowTree(root: WorkflowNode) { val nodeCount = remember { mutableStateOf(0) } val nodeMapSize = remember { mutableStateOf(0)} val readyToDraw = remember { mutableStateOf(false) } + // val allArrows = remember { mutableListOf>() } drawTree(root, nodePositions, nodeCount, nodeMapSize) LaunchedEffect(nodeMapSize.value) { if (nodePositions.size == nodeCount.value) { - println("all nodes") + // aggregateArrows(root, nodePositions, allArrows) readyToDraw.value = true } } if (readyToDraw.value) { - print("arrow") drawArrows(root, nodePositions) } } @@ -75,12 +75,11 @@ private fun drawTree( nodeMapSize: MutableState ) { Column( - modifier = Modifier.padding(20.dp), + modifier = Modifier.padding(20.dp).border(1.dp, Color.Black), horizontalAlignment = Alignment.CenterHorizontally, ) { drawNode(node, nodePositions, nodeMapSize) nodeCount.value += 1 - println(nodeCount.value) if (node.children.isEmpty()) return@Column Spacer(modifier = Modifier.padding(30.dp)) @@ -95,29 +94,6 @@ private fun drawTree( } } -@Composable -private fun drawArrows( - node: WorkflowNode, - nodePositions: MutableMap -) { - if (node.children.isEmpty()) return - - node.children.forEach{ childNode -> - val parentPosition = nodePositions[node.id] ?: Offset.Zero - val childPosition = nodePositions[childNode.id] ?: Offset.Zero - println("from $parentPosition to $childPosition") - - // uses custom canvas composable - Arrow( - start = parentPosition, - end = childPosition, - onArrowClick = { /* Handle click if needed */ } - ) - - drawArrows(childNode, nodePositions) - } -} - /** * Basic data, for now. * These can be designed to be clickable and be expanded to show more information. @@ -128,9 +104,12 @@ private fun drawNode( nodePositions: MutableMap, nodeMapSize: MutableState ) { + val open = remember { mutableStateOf(false) } + Box ( modifier = Modifier .border(1.dp, Color.Black) + .clickable { open.value = !open.value } .padding(10.dp) .onGloballyPositioned { val coords = it.positionInRoot() @@ -141,6 +120,71 @@ private fun drawNode( Column (horizontalAlignment = Alignment.CenterHorizontally) { Text(text = node.name) Text(text = "ID: ${node.id}") + if (open.value) { + Text("node is opened") + } } } } + +@Composable +private fun drawArrows( + node: WorkflowNode, + nodePositions: MutableMap +){ + if (node.children.isEmpty()) return + + node.children.forEach { childNode -> + val parentPosition = nodePositions[node.id] ?: Offset.Zero + val childPosition = nodePositions[childNode.id] ?: Offset.Zero + + Arrow( + start = parentPosition, + end = childPosition + ) + + drawArrows(childNode, nodePositions) + } +} + +// iterative +// @Composable +// private fun drawArrows( +// arrowLocations: List>, +// ) { +// drawAllArrows(arrowLocations) +// } + +// +// /** +// * Recurively adds all the arrows from each parent node to its children +// * +// */ +// private fun aggregateArrows( +// node: WorkflowNode, +// nodePositions: MutableMap, +// allArrows: MutableList> +// ){ +// for (childNode in node.children) { +// val parent = NodePosition( +// id = node.id, +// position = nodePositions[node.id] ?: Offset.Zero +// ) +// val child = NodePosition( +// id = childNode.id, +// position = nodePositions[childNode.id] ?: Offset.Zero +// ) +// allArrows.add(Pair(parent, child)) +// +// aggregateArrows(childNode, nodePositions, allArrows) +// } +// } +// +// /** +// * provides structure for each arrow to be drawn. Also allows more data to be stored if we planned +// * each arrow to be clickable and show more information about the data being passed +// */ +// public data class NodePosition( +// val id: String, +// val position: Offset +// ) From f2ec9537f2bb63de2ffc612f632d1382fbff23a0 Mon Sep 17 00:00:00 2001 From: wenli-cai Date: Thu, 5 Jun 2025 13:33:52 +0000 Subject: [PATCH 05/19] Apply changes from connectedCheckShardMatrixYamlUpdate checkVersionIsSnapshot Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .kotlin/sessions/kotlin-compiler-15221632085774217643.salive | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .kotlin/sessions/kotlin-compiler-15221632085774217643.salive diff --git a/.kotlin/sessions/kotlin-compiler-15221632085774217643.salive b/.kotlin/sessions/kotlin-compiler-15221632085774217643.salive deleted file mode 100644 index e69de29bb..000000000 From 6dbd1ffe0c301b2b964d3af6dc2d3e04c1c30589 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 10:22:14 -0400 Subject: [PATCH 06/19] Fixed arrow positioning - if modifier is set to unbounded, content also needs to be aligned. --- .../squareup/workflow1/traceviewer/Arrow.kt | 29 +++-------- .../traceviewer/SandboxBackground.kt | 3 +- .../workflow1/traceviewer/WorkflowTree.kt | 49 +------------------ 3 files changed, 10 insertions(+), 71 deletions(-) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt index 99e117079..d98c5e0f1 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.size -import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset @@ -26,11 +25,13 @@ public fun Arrow( ) { Box( modifier = Modifier - .size(20.dp) - .clickable { print("clicked") } + .clickable { println("arrow clicked") } ) { - Text("top left corner") - Canvas (modifier = Modifier.fillMaxSize()){ + Canvas( + modifier = Modifier + .fillMaxSize() + .size(100.dp,100.dp) + ) { drawArrow( start = start, end = end, @@ -41,24 +42,6 @@ public fun Arrow( } } -// iterative -// @Composable -// public fun drawAllArrows( -// arrowLocations: List>, -// ) { -// Canvas(modifier = Modifier.fillMaxSize()) { -// arrowLocations.forEach { (start, end) -> -// drawArrow( -// start = start.position, -// end = end.position, -// color = Color.Black, -// strokeWidth = 2f -// ) -// } -// } -// } - - private fun DrawScope.drawArrow( start: Offset, end: Offset, diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index 80bcf79c8..fca53ea99 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.graphicsLayer @@ -28,7 +29,7 @@ public fun SandboxBackground(content: @Composable () -> Unit) { Box( modifier = Modifier - .wrapContentSize(unbounded = true) // this allows the content to be larger than the initial screen of the app + .wrapContentSize(unbounded = true, align = Alignment.TopStart) // this allows the content to be larger than the initial screen of the app .pointerInput(Unit) { // this allows for user's panning to view different parts of content awaitEachGesture { val event = awaitPointerEvent() diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index cfa88c63e..c036346a7 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -1,5 +1,6 @@ package com.squareup.workflow1.traceviewer +import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -47,13 +48,11 @@ public fun DrawWorkflowTree(root: WorkflowNode) { val nodeCount = remember { mutableStateOf(0) } val nodeMapSize = remember { mutableStateOf(0)} val readyToDraw = remember { mutableStateOf(false) } - // val allArrows = remember { mutableListOf>() } drawTree(root, nodePositions, nodeCount, nodeMapSize) LaunchedEffect(nodeMapSize.value) { if (nodePositions.size == nodeCount.value) { - // aggregateArrows(root, nodePositions, allArrows) readyToDraw.value = true } } @@ -75,7 +74,7 @@ private fun drawTree( nodeMapSize: MutableState ) { Column( - modifier = Modifier.padding(20.dp).border(1.dp, Color.Black), + modifier = Modifier.padding(10.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { drawNode(node, nodePositions, nodeMapSize) @@ -105,12 +104,10 @@ private fun drawNode( nodeMapSize: MutableState ) { val open = remember { mutableStateOf(false) } - Box ( modifier = Modifier .border(1.dp, Color.Black) .clickable { open.value = !open.value } - .padding(10.dp) .onGloballyPositioned { val coords = it.positionInRoot() nodePositions[node.id] = coords @@ -146,45 +143,3 @@ private fun drawArrows( drawArrows(childNode, nodePositions) } } - -// iterative -// @Composable -// private fun drawArrows( -// arrowLocations: List>, -// ) { -// drawAllArrows(arrowLocations) -// } - -// -// /** -// * Recurively adds all the arrows from each parent node to its children -// * -// */ -// private fun aggregateArrows( -// node: WorkflowNode, -// nodePositions: MutableMap, -// allArrows: MutableList> -// ){ -// for (childNode in node.children) { -// val parent = NodePosition( -// id = node.id, -// position = nodePositions[node.id] ?: Offset.Zero -// ) -// val child = NodePosition( -// id = childNode.id, -// position = nodePositions[childNode.id] ?: Offset.Zero -// ) -// allArrows.add(Pair(parent, child)) -// -// aggregateArrows(childNode, nodePositions, allArrows) -// } -// } -// -// /** -// * provides structure for each arrow to be drawn. Also allows more data to be stored if we planned -// * each arrow to be clickable and show more information about the data being passed -// */ -// public data class NodePosition( -// val id: String, -// val position: Offset -// ) From d192babfaf4d09957a87c9822c526fd0dd8cb02f Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 13:19:29 -0400 Subject: [PATCH 07/19] WIP drawing arrows - Density of displays caused weird errors of how the arrows appear - Scaling and translating the arrow positions was also separate from the movement of the nodes --- .../squareup/workflow1/traceviewer/Arrow.kt | 44 ++-- .../traceviewer/SandboxBackground.kt | 20 +- .../workflow1/traceviewer/WorkflowTree.kt | 194 +++++++++++++++--- 3 files changed, 209 insertions(+), 49 deletions(-) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt index d98c5e0f1..feda6347f 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt @@ -10,6 +10,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.DrawScope +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.unit.Density +import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.dp import kotlin.math.atan2 @@ -23,6 +26,11 @@ public fun Arrow( start: Offset, end: Offset, ) { + println("start before: $start, end before: $end") + val scaledStart = (start as Offset).toDp(LocalDensity.current) + val scaledEnd = (end as Offset).toDp(LocalDensity.current) + println("start after: $scaledStart, end after: $scaledEnd") + Box( modifier = Modifier .clickable { println("arrow clicked") } @@ -42,30 +50,36 @@ public fun Arrow( } } -private fun DrawScope.drawArrow( +fun Offset.toDp(density: Density): Offset = with(density) { + Offset(x.toDp().value, y.toDp().value) +} + +fun DrawScope.drawArrow( start: Offset, end: Offset, color: Color, strokeWidth: Float ) { + drawLine( color = color, - start = start, - end = end, + start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), + end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), strokeWidth = strokeWidth ) - val arrowHeadSize = 20f - val angle = atan2((end.y - start.y).toDouble(), (end.x - start.x).toDouble()).toFloat() - val arrowPoint1 = Offset( - x = end.x - arrowHeadSize * Math.cos(angle + Math.PI / 6).toFloat(), - y = end.y - arrowHeadSize * Math.sin(angle + Math.PI / 6).toFloat() - ) - val arrowPoint2 = Offset( - x = end.x - arrowHeadSize * Math.cos(angle - Math.PI / 6).toFloat(), - y = end.y - arrowHeadSize * Math.sin(angle - Math.PI / 6).toFloat() - ) - drawLine(color, end, arrowPoint1, strokeWidth) - drawLine(color, end, arrowPoint2, strokeWidth) + // val arrowHeadSize = 20f + // val angle = atan2((end.y - start.y).toDouble(), (end.x - start.x).toDouble()).toFloat() + // val arrowPoint1 = Offset( + // x = end.x - arrowHeadSize * Math.cos(angle + Math.PI / 6).toFloat(), + // y = end.y - arrowHeadSize * Math.sin(angle + Math.PI / 6).toFloat() + // ) + // val arrowPoint2 = Offset( + // x = end.x - arrowHeadSize * Math.cos(angle - Math.PI / 6).toFloat(), + // y = end.y - arrowHeadSize * Math.sin(angle - Math.PI / 6).toFloat() + // ) + // + // drawLine(color, end, arrowPoint1, strokeWidth) + // drawLine(color, end, arrowPoint2, strokeWidth) } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index fca53ea99..22a4a82aa 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -23,13 +23,22 @@ import androidx.compose.ui.input.pointer.pointerInput * */ @Composable -public fun SandboxBackground(content: @Composable () -> Unit) { +public fun SandboxBackground( + content: @Composable ( + translationX: Float, + translationY: Float, + scale: Float, + ) -> Unit +) { var scale by remember { mutableStateOf(1f) } var offset by remember { mutableStateOf(Offset.Zero) } Box( modifier = Modifier - .wrapContentSize(unbounded = true, align = Alignment.TopStart) // this allows the content to be larger than the initial screen of the app + .wrapContentSize( + unbounded = true, + align = Alignment.TopStart + ) // this allows the content to be larger than the initial screen of the app .pointerInput(Unit) { // this allows for user's panning to view different parts of content awaitEachGesture { val event = awaitPointerEvent() @@ -66,8 +75,9 @@ public fun SandboxBackground(content: @Composable () -> Unit) { scaleY = scale } ) { - Box { - content() // this is main content - } + content( + offset.x, offset.y, + scale + ) // this is main content } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index c036346a7..7ccbc0e8a 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -1,5 +1,7 @@ package com.squareup.workflow1.traceviewer +import androidx.compose.desktop.ui.tooling.preview.Preview +import androidx.compose.foundation.Canvas import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable @@ -8,20 +10,31 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateMapOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.graphicsLayer +import androidx.compose.ui.layout.LayoutCoordinates import androidx.compose.ui.layout.onGloballyPositioned +import androidx.compose.ui.layout.positionInParent import androidx.compose.ui.layout.positionInRoot +import androidx.compose.ui.layout.positionOnScreen +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp +import androidx.compose.ui.util.fastAny +import javax.swing.tree.TreeNode /** * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or children workflows, @@ -33,7 +46,27 @@ public data class WorkflowNode ( val id: String, val name: String, val children: List -) +) { + // fun findParentById(id: String): WorkflowNode? { + // if (this.id == id) return this + // for (child in children) { + // val found = child.findParentById(id) + // if (found != null) return found + // } + // return null + // } + fun findParentForId(id: String): WorkflowNode? { + if (this.id == id) { + return null // This is the root node, so it has no parent + } + if (children.any { it.id == id }) { + return this + } + return children.firstNotNullOfOrNull { + it.findParentForId(id) + } + } +} /** * Main access point for drawing the workflow tree. This does 2 tasks: @@ -43,22 +76,53 @@ public data class WorkflowNode ( * nodes first, then launch an event to draw the arrows once all nodes have been placed. */ @Composable -public fun DrawWorkflowTree(root: WorkflowNode) { +public fun DrawWorkflowTree( + root: WorkflowNode, + translationXArg: Float, + translationYArg: Float, + scale: Float, +) { val nodePositions = remember { mutableMapOf() } - val nodeCount = remember { mutableStateOf(0) } - val nodeMapSize = remember { mutableStateOf(0)} - val readyToDraw = remember { mutableStateOf(false) } - - drawTree(root, nodePositions, nodeCount, nodeMapSize) + // val nodeCount = remember { mutableStateOf(0) } + // val nodeMapSize = remember { mutableStateOf(0)} + // val readyToDraw = remember { mutableStateOf(false) } + Box(modifier = Modifier.fillMaxSize()) { - LaunchedEffect(nodeMapSize.value) { - if (nodePositions.size == nodeCount.value) { - readyToDraw.value = true + drawTree(root, nodePositions + // , nodeCount, nodeMapSize + ) + Canvas(modifier = Modifier.fillMaxSize() + // .graphicsLayer { + // translationX = translationXArg + // translationY = translationYArg + // scaleX = scale + // scaleY = scale + // } + ) { + nodePositions.forEach { (id, position) -> + val start = position + val end = root.findParentForId(id)?.let { parent -> nodePositions[parent.id] } ?: return@forEach + drawLine( + color = Color.Black, + start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), + end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), + strokeWidth = 2.dp.toPx() + ) + } } - } + // LaunchedEffect(nodeMapSize.value) { + // if (nodePositions.size == nodeCount.value) { + // readyToDraw.value = true + // } + // } - if (readyToDraw.value) { - drawArrows(root, nodePositions) + // if (readyToDraw.value) { + // LaunchedEffect(nodePositions) { + // drawArrows(root, nodePositions) + // drawArrows(root, nodePositions) + // + // } + // } } } @@ -70,24 +134,31 @@ public fun DrawWorkflowTree(root: WorkflowNode) { private fun drawTree( node: WorkflowNode, nodePositions: MutableMap, - nodeCount: MutableState, - nodeMapSize: MutableState + + // nodeCount: MutableState, + // nodeMapSize: MutableState ) { + Column( - modifier = Modifier.padding(10.dp), + modifier = Modifier.padding(10.dp).border(1.dp,Color.Black), horizontalAlignment = Alignment.CenterHorizontally, ) { - drawNode(node, nodePositions, nodeMapSize) - nodeCount.value += 1 + drawNode(node, nodePositions + // , nodeMapSize + ) + // nodeCount.value += 1 if (node.children.isEmpty()) return@Column - Spacer(modifier = Modifier.padding(30.dp)) + // Spacer(modifier = Modifier.padding(30.dp)) Row ( horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.Top + verticalAlignment = Alignment.Top, + modifier = Modifier.border(1.dp, Color.Black) ) { node.children.forEach { childNode -> - drawTree (childNode, nodePositions, nodeCount, nodeMapSize) + drawTree (childNode, nodePositions + // , nodeCount, nodeMapSize + ) } } } @@ -101,17 +172,19 @@ private fun drawTree( private fun drawNode( node: WorkflowNode, nodePositions: MutableMap, - nodeMapSize: MutableState + // nodeMapSize: MutableState ) { + val density = LocalDensity.current + val open = remember { mutableStateOf(false) } Box ( modifier = Modifier - .border(1.dp, Color.Black) + // .border(1.dp, Color.Black) .clickable { open.value = !open.value } .onGloballyPositioned { val coords = it.positionInRoot() - nodePositions[node.id] = coords - nodeMapSize.value += 1 + nodePositions[node.id] = with(density) { coords.toDp(density) } + // nodeMapSize.value += 1 } ){ Column (horizontalAlignment = Alignment.CenterHorizontally) { @@ -129,11 +202,11 @@ private fun drawArrows( node: WorkflowNode, nodePositions: MutableMap ){ - if (node.children.isEmpty()) return - + // if (node.children.isEmpty()) return + println(nodePositions) node.children.forEach { childNode -> - val parentPosition = nodePositions[node.id] ?: Offset.Zero - val childPosition = nodePositions[childNode.id] ?: Offset.Zero + val parentPosition = nodePositions[node.id] ?: error("Child must have a position") + val childPosition = nodePositions[childNode.id] ?: error("Child must have a position") Arrow( start = parentPosition, @@ -143,3 +216,66 @@ private fun drawArrows( drawArrows(childNode, nodePositions) } } +@Composable +fun TreeNode( + id: String, + modifier: Modifier = Modifier, + onPositioned: ((LayoutCoordinates) -> Unit)? = null +) { + Box( + modifier = modifier + .padding(8.dp) + // .onGloballyPositioned { coords -> + // onPositioned?.invoke(coords) + // } + .background(Color(0xFFE0F7FA), shape = RoundedCornerShape(8.dp)) + .border(1.dp, Color.Black, shape = RoundedCornerShape(8.dp)) + .padding(horizontal = 12.dp, vertical = 6.dp) + ) { + Text(text = id) + } +} + +@Preview +@Composable +fun test() { + val nodePositions = remember { mutableStateMapOf() } + val density = LocalDensity.current + + Box(modifier = Modifier.fillMaxSize()) { + Column { + TreeNode( + id = "A", + modifier = Modifier + .padding(horizontal = 200.dp) + .onGloballyPositioned { coordinates -> + val localOffset = coordinates.positionInParent() + nodePositions["A"] = with(density) { localOffset.toDp(density) } + } + ) + + TreeNode( + id = "B", + modifier = Modifier + .onGloballyPositioned { coordinates -> + val localOffset = coordinates.positionInParent() + nodePositions["B"] = with(density) { localOffset.toDp(density) } + } + ) + } + + Canvas(modifier = Modifier.fillMaxSize()) { + val start = nodePositions["A"] + val end = nodePositions["B"] + if (start != null && end != null) { + // Convert dp to px inside the DrawScope + drawLine( + color = Color.Black, + start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), + end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), + strokeWidth = 2.dp.toPx() + ) + } + } + } +} From 46f2f206a177c7351537af8a0339ff6acf91a319 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 14:19:03 -0400 Subject: [PATCH 08/19] Removed use of arrows in project, cleaned up code - Figuring out how to lay out arrows was unnecessarily difficult, and ended up being too distracting, so utilizing the column space each node and its children are in was a much cleaner way to represent a subtree relationship - Figure will closely resemble a treemap --- gradle/libs.versions.toml | 2 + workflow-trace-viewer/build.gradle.kts | 1 + .../com/squareup/workflow1/traceviewer/App.kt | 30 ++- .../squareup/workflow1/traceviewer/Arrow.kt | 85 ------- .../squareup/workflow1/traceviewer/Main.kt | 1 + .../traceviewer/SandboxBackground.kt | 11 +- .../workflow1/traceviewer/WorkflowTree.kt | 217 ++---------------- 7 files changed, 48 insertions(+), 299 deletions(-) delete mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 79f1e5f60..a23d3cc44 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,7 @@ agpVersion = "8.8.0" compileSdk = "34" +filekitDialogsComposeVersion = "0.10.0-beta04" minSdk = "24" moshiKotlinVersion = "1.15.2" targetSdk = "33" @@ -186,6 +187,7 @@ dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", vers dropbox-dependencyGuard = { module = "com.dropbox.dependency-guard:dependency-guard", version.ref = "dependencyGuard" } +filekit-dialogs-compose = { module = "io.github.vinceglb:filekit-dialogs-compose", version.ref = "filekitDialogsComposeVersion" } google-android-material = { module = "com.google.android.material:material", version.ref = "material" } google-ksp = { module = "com.google.devtools.ksp:symbol-processing-gradle-plugin", version.ref = "google-ksp" } diff --git a/workflow-trace-viewer/build.gradle.kts b/workflow-trace-viewer/build.gradle.kts index 4678abb63..d5059c4ec 100644 --- a/workflow-trace-viewer/build.gradle.kts +++ b/workflow-trace-viewer/build.gradle.kts @@ -24,6 +24,7 @@ kotlin { implementation(libs.kotlinx.coroutines.swing) implementation(compose.materialIconsExtended) implementation(libs.moshi.kotlin) + implementation("io.github.vinceglb:filekit-dialogs-compose:0.10.0-beta03") } } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 2ba9d72b7..07d19fb1d 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -2,15 +2,41 @@ package com.squareup.workflow1.traceviewer import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import com.squareup.workflow1.traceviewer.FileReader.fetchFile +import io.github.vinceglb.filekit.PlatformFile @Composable fun App() { - val jsonString = object {}.javaClass.getResource("/workflow-simple.json")?.readText() + val jsonString = fetchFile() val root = jsonString?.let { FetchRoot(it) } - println(root) + + var selectedFile = remember { mutableStateOf(null)} + + // UploadFile { selectedFile.value = it } + if (root != null) { DrawWorkflowTree(root) } else { Text("Empty data or failed to parse data") // TODO: proper handling of error } } + + +object FileReader { + fun fetchFile() : String?{ + return javaClass.getResource("/workflow-simple.json")?.readText() + } +} + +// +// @Composable +// private fun UploadFile(onFileSelected: (PlatformFile?) -> Unit) { +// val launcher = rememberFilePickerLauncher( +// type = FileKitType.Custom(listOf("json","txt")), +// title = "Select Workflow Trace File" +// ) { +// onFileSelected(it) +// } +// } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt deleted file mode 100644 index feda6347f..000000000 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Arrow.kt +++ /dev/null @@ -1,85 +0,0 @@ -package com.squareup.workflow1.traceviewer - -import androidx.compose.foundation.Canvas -import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.size -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Offset -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.drawscope.DrawScope -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.unit.Density -import androidx.compose.ui.unit.IntOffset -import androidx.compose.ui.unit.dp -import kotlin.math.atan2 - -/** - * Since we eventually would want the ability to click into each arrow between nodes and see what - * state/props are being passed, having a custom composable for the arrow where an onArrowClick - * could be set will be helpful. - */ -@Composable -public fun Arrow( - start: Offset, - end: Offset, -) { - println("start before: $start, end before: $end") - val scaledStart = (start as Offset).toDp(LocalDensity.current) - val scaledEnd = (end as Offset).toDp(LocalDensity.current) - println("start after: $scaledStart, end after: $scaledEnd") - - Box( - modifier = Modifier - .clickable { println("arrow clicked") } - ) { - Canvas( - modifier = Modifier - .fillMaxSize() - .size(100.dp,100.dp) - ) { - drawArrow( - start = start, - end = end, - color = Color.Black, - strokeWidth = 2f - ) - } - } -} - -fun Offset.toDp(density: Density): Offset = with(density) { - Offset(x.toDp().value, y.toDp().value) -} - -fun DrawScope.drawArrow( - start: Offset, - end: Offset, - color: Color, - strokeWidth: Float -) { - - drawLine( - color = color, - start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), - end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), - strokeWidth = strokeWidth - ) - - - // val arrowHeadSize = 20f - // val angle = atan2((end.y - start.y).toDouble(), (end.x - start.x).toDouble()).toFloat() - // val arrowPoint1 = Offset( - // x = end.x - arrowHeadSize * Math.cos(angle + Math.PI / 6).toFloat(), - // y = end.y - arrowHeadSize * Math.sin(angle + Math.PI / 6).toFloat() - // ) - // val arrowPoint2 = Offset( - // x = end.x - arrowHeadSize * Math.cos(angle - Math.PI / 6).toFloat(), - // y = end.y - arrowHeadSize * Math.sin(angle - Math.PI / 6).toFloat() - // ) - // - // drawLine(color, end, arrowPoint1, strokeWidth) - // drawLine(color, end, arrowPoint2, strokeWidth) -} diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt index 6568632ac..ea3f1bf2a 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt @@ -3,6 +3,7 @@ package com.squareup.workflow1.traceviewer import androidx.compose.ui.window.singleWindowApplication fun main() { + // FileKit.init(appId = "com.squareup.workflow1.traceviewer") singleWindowApplication(title = "Workflow Trace Viewer") { SandboxBackground { App() } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index 22a4a82aa..f038ae19c 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -24,11 +24,7 @@ import androidx.compose.ui.input.pointer.pointerInput */ @Composable public fun SandboxBackground( - content: @Composable ( - translationX: Float, - translationY: Float, - scale: Float, - ) -> Unit + content: @Composable () -> Unit ) { var scale by remember { mutableStateOf(1f) } var offset by remember { mutableStateOf(Offset.Zero) } @@ -75,9 +71,6 @@ public fun SandboxBackground( scaleY = scale } ) { - content( - offset.x, offset.y, - scale - ) // this is main content + content() } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 7ccbc0e8a..008ded186 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -1,8 +1,5 @@ package com.squareup.workflow1.traceviewer -import androidx.compose.desktop.ui.tooling.preview.Preview -import androidx.compose.foundation.Canvas -import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -10,31 +7,15 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.mutableStateMapOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.graphicsLayer -import androidx.compose.ui.layout.LayoutCoordinates -import androidx.compose.ui.layout.onGloballyPositioned -import androidx.compose.ui.layout.positionInParent -import androidx.compose.ui.layout.positionInRoot -import androidx.compose.ui.layout.positionOnScreen -import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.dp -import androidx.compose.ui.util.fastAny -import javax.swing.tree.TreeNode /** * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or children workflows, @@ -47,83 +28,17 @@ public data class WorkflowNode ( val name: String, val children: List ) { - // fun findParentById(id: String): WorkflowNode? { - // if (this.id == id) return this - // for (child in children) { - // val found = child.findParentById(id) - // if (found != null) return found + // fun findParentForId(id: String): WorkflowNode? { + // if (this.id == id) { + // return null // This is the root node, so it has no parent + // } + // if (children.any { it.id == id }) { + // return this + // } + // return children.firstNotNullOfOrNull { + // it.findParentForId(id) // } - // return null // } - fun findParentForId(id: String): WorkflowNode? { - if (this.id == id) { - return null // This is the root node, so it has no parent - } - if (children.any { it.id == id }) { - return this - } - return children.firstNotNullOfOrNull { - it.findParentForId(id) - } - } -} - -/** - * Main access point for drawing the workflow tree. This does 2 tasks: - * 1) places all the nodes - * 2) draws all the arrows accordingly. - * Since arrows cannot be drawn with Canvas without an [Offset], we would need to get place all the - * nodes first, then launch an event to draw the arrows once all nodes have been placed. - */ -@Composable -public fun DrawWorkflowTree( - root: WorkflowNode, - translationXArg: Float, - translationYArg: Float, - scale: Float, -) { - val nodePositions = remember { mutableMapOf() } - // val nodeCount = remember { mutableStateOf(0) } - // val nodeMapSize = remember { mutableStateOf(0)} - // val readyToDraw = remember { mutableStateOf(false) } - Box(modifier = Modifier.fillMaxSize()) { - - drawTree(root, nodePositions - // , nodeCount, nodeMapSize - ) - Canvas(modifier = Modifier.fillMaxSize() - // .graphicsLayer { - // translationX = translationXArg - // translationY = translationYArg - // scaleX = scale - // scaleY = scale - // } - ) { - nodePositions.forEach { (id, position) -> - val start = position - val end = root.findParentForId(id)?.let { parent -> nodePositions[parent.id] } ?: return@forEach - drawLine( - color = Color.Black, - start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), - end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), - strokeWidth = 2.dp.toPx() - ) - } - } - // LaunchedEffect(nodeMapSize.value) { - // if (nodePositions.size == nodeCount.value) { - // readyToDraw.value = true - // } - // } - - // if (readyToDraw.value) { - // LaunchedEffect(nodePositions) { - // drawArrows(root, nodePositions) - // drawArrows(root, nodePositions) - // - // } - // } - } } /** @@ -131,34 +46,22 @@ public fun DrawWorkflowTree( * */ @Composable -private fun drawTree( +public fun DrawWorkflowTree( node: WorkflowNode, - nodePositions: MutableMap, - - // nodeCount: MutableState, - // nodeMapSize: MutableState ) { - Column( modifier = Modifier.padding(10.dp).border(1.dp,Color.Black), horizontalAlignment = Alignment.CenterHorizontally, ) { - drawNode(node, nodePositions - // , nodeMapSize - ) - // nodeCount.value += 1 + drawNode(node) if (node.children.isEmpty()) return@Column - // Spacer(modifier = Modifier.padding(30.dp)) Row ( horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.Top, - modifier = Modifier.border(1.dp, Color.Black) + verticalAlignment = Alignment.Top ) { node.children.forEach { childNode -> - drawTree (childNode, nodePositions - // , nodeCount, nodeMapSize - ) + DrawWorkflowTree (childNode) } } } @@ -171,21 +74,12 @@ private fun drawTree( @Composable private fun drawNode( node: WorkflowNode, - nodePositions: MutableMap, - // nodeMapSize: MutableState ) { - val density = LocalDensity.current - val open = remember { mutableStateOf(false) } Box ( modifier = Modifier - // .border(1.dp, Color.Black) .clickable { open.value = !open.value } - .onGloballyPositioned { - val coords = it.positionInRoot() - nodePositions[node.id] = with(density) { coords.toDp(density) } - // nodeMapSize.value += 1 - } + .padding(10.dp) ){ Column (horizontalAlignment = Alignment.CenterHorizontally) { Text(text = node.name) @@ -196,86 +90,3 @@ private fun drawNode( } } } - -@Composable -private fun drawArrows( - node: WorkflowNode, - nodePositions: MutableMap -){ - // if (node.children.isEmpty()) return - println(nodePositions) - node.children.forEach { childNode -> - val parentPosition = nodePositions[node.id] ?: error("Child must have a position") - val childPosition = nodePositions[childNode.id] ?: error("Child must have a position") - - Arrow( - start = parentPosition, - end = childPosition - ) - - drawArrows(childNode, nodePositions) - } -} -@Composable -fun TreeNode( - id: String, - modifier: Modifier = Modifier, - onPositioned: ((LayoutCoordinates) -> Unit)? = null -) { - Box( - modifier = modifier - .padding(8.dp) - // .onGloballyPositioned { coords -> - // onPositioned?.invoke(coords) - // } - .background(Color(0xFFE0F7FA), shape = RoundedCornerShape(8.dp)) - .border(1.dp, Color.Black, shape = RoundedCornerShape(8.dp)) - .padding(horizontal = 12.dp, vertical = 6.dp) - ) { - Text(text = id) - } -} - -@Preview -@Composable -fun test() { - val nodePositions = remember { mutableStateMapOf() } - val density = LocalDensity.current - - Box(modifier = Modifier.fillMaxSize()) { - Column { - TreeNode( - id = "A", - modifier = Modifier - .padding(horizontal = 200.dp) - .onGloballyPositioned { coordinates -> - val localOffset = coordinates.positionInParent() - nodePositions["A"] = with(density) { localOffset.toDp(density) } - } - ) - - TreeNode( - id = "B", - modifier = Modifier - .onGloballyPositioned { coordinates -> - val localOffset = coordinates.positionInParent() - nodePositions["B"] = with(density) { localOffset.toDp(density) } - } - ) - } - - Canvas(modifier = Modifier.fillMaxSize()) { - val start = nodePositions["A"] - val end = nodePositions["B"] - if (start != null && end != null) { - // Convert dp to px inside the DrawScope - drawLine( - color = Color.Black, - start = Offset(start.x.dp.toPx(), start.y.dp.toPx()), - end = Offset(end.x.dp.toPx(), end.y.dp.toPx()), - strokeWidth = 2.dp.toPx() - ) - } - } - } -} From e964c42941b1bb925ff8b47c3c1b108085d7ce25 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 15:10:20 -0400 Subject: [PATCH 09/19] fix bug that limited the area for .pointerInput --- .../traceviewer/SandboxBackground.kt | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index f038ae19c..a4b3c5228 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -2,6 +2,7 @@ package com.squareup.workflow1.traceviewer import androidx.compose.foundation.gestures.awaitEachGesture import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -29,12 +30,9 @@ public fun SandboxBackground( var scale by remember { mutableStateOf(1f) } var offset by remember { mutableStateOf(Offset.Zero) } - Box( + Box ( modifier = Modifier - .wrapContentSize( - unbounded = true, - align = Alignment.TopStart - ) // this allows the content to be larger than the initial screen of the app + .fillMaxSize() .pointerInput(Unit) { // this allows for user's panning to view different parts of content awaitEachGesture { val event = awaitPointerEvent() @@ -64,13 +62,18 @@ public fun SandboxBackground( } } } - .graphicsLayer { - translationX = offset.x - translationY = offset.y - scaleX = scale - scaleY = scale - } - ) { - content() + ){ + Box( + modifier = Modifier + .wrapContentSize(unbounded = true, align = Alignment.Center) + .graphicsLayer { + translationX = offset.x + translationY = offset.y + scaleX = scale + scaleY = scale + } + ) { + content() + } } } From 97f8e775bce829a4fbb81fb3cc9a04ad11575f48 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 16:11:24 -0400 Subject: [PATCH 10/19] create upload button for downloaded json/txt files --- gradle/libs.versions.toml | 2 + .../com/squareup/workflow1/traceviewer/App.kt | 58 +++++++++++-------- .../squareup/workflow1/traceviewer/Main.kt | 3 +- .../workflow1/traceviewer/UploadFile.kt | 52 +++++++++++++++++ 4 files changed, 89 insertions(+), 26 deletions(-) create mode 100644 workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a23d3cc44..35eb9e54d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -91,6 +91,7 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.0.0" vanniktech-publish = "0.32.0" +uiGraphicsAndroidVersion = "1.8.2" [plugins] @@ -268,5 +269,6 @@ truth = { module = "com.google.truth:truth", version.ref = "truth" } turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" } vanniktech-publish = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "vanniktech-publish" } +androidx-ui-graphics-android = { group = "androidx.compose.ui", name = "ui-graphics-android", version.ref = "uiGraphicsAndroidVersion" } [bundles] diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 07d19fb1d..d93f60da0 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -1,20 +1,48 @@ package com.squareup.workflow1.traceviewer +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material.Button +import androidx.compose.material.ButtonDefaults.buttonColors import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import com.squareup.workflow1.traceviewer.FileReader.fetchFile +import androidx.compose.ui.Alignment +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.sp import io.github.vinceglb.filekit.PlatformFile +import io.github.vinceglb.filekit.dialogs.FileKitType +import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher +import io.github.vinceglb.filekit.readString @Composable -fun App() { - val jsonString = fetchFile() - val root = jsonString?.let { FetchRoot(it) } +public fun App() { + Box { + val selectedFile = remember { mutableStateOf(null)} - var selectedFile = remember { mutableStateOf(null)} + if (selectedFile.value != null){ + SandboxBackground { WorkflowContent(selectedFile.value) } + } - // UploadFile { selectedFile.value = it } + UploadFile{ selectedFile.value = it} + } +} + +@Composable +private fun WorkflowContent(file: PlatformFile?) { + val jsonString = remember { mutableStateOf(null) } + LaunchedEffect(file){ + jsonString.value = file?.readString() + } + val root = jsonString.value?.let { FetchRoot(it) } if (root != null) { DrawWorkflowTree(root) @@ -22,21 +50,3 @@ fun App() { Text("Empty data or failed to parse data") // TODO: proper handling of error } } - - -object FileReader { - fun fetchFile() : String?{ - return javaClass.getResource("/workflow-simple.json")?.readText() - } -} - -// -// @Composable -// private fun UploadFile(onFileSelected: (PlatformFile?) -> Unit) { -// val launcher = rememberFilePickerLauncher( -// type = FileKitType.Custom(listOf("json","txt")), -// title = "Select Workflow Trace File" -// ) { -// onFileSelected(it) -// } -// } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt index ea3f1bf2a..63ebd1cc3 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt @@ -3,8 +3,7 @@ package com.squareup.workflow1.traceviewer import androidx.compose.ui.window.singleWindowApplication fun main() { - // FileKit.init(appId = "com.squareup.workflow1.traceviewer") singleWindowApplication(title = "Workflow Trace Viewer") { - SandboxBackground { App() } + App() } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt new file mode 100644 index 000000000..73af83d8d --- /dev/null +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt @@ -0,0 +1,52 @@ +package com.squareup.workflow1.traceviewer + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material.Button +import androidx.compose.material.ButtonDefaults.buttonColors +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.dp +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.sp +import io.github.vinceglb.filekit.PlatformFile +import io.github.vinceglb.filekit.dialogs.FileKitType +import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher + +@Composable +public fun UploadFile(onFileSelected: (PlatformFile?) -> Unit) { + Box (modifier = Modifier + .padding(16.dp) + .fillMaxSize() + ){ + val launcher = rememberFilePickerLauncher( + type = FileKitType.File(listOf("json","txt")), + title = "Select Workflow Trace File" + ) { + onFileSelected(it) + } + Button( + onClick = { launcher.launch() }, + modifier = Modifier + .align(Alignment.BottomEnd), + shape = CircleShape, + colors = buttonColors(Color.Black) + ) { + Text( + text = "+", + color = Color.White, + fontSize = 24.sp, + fontWeight = androidx.compose.ui.text.font.FontWeight.Bold + ) + } + } +} From e9474720f4656b73e471e48cbfa17ac8d3428d6c Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Thu, 5 Jun 2025 16:39:45 -0400 Subject: [PATCH 11/19] minor QOL changes in appearance --- .../kotlin/com/squareup/workflow1/traceviewer/App.kt | 1 + .../squareup/workflow1/traceviewer/WorkflowTree.kt | 11 ++++++++--- .../{workflow-simple.json => workflow-20.json} | 0 .../{workflow-large.json => workflow-300.json} | 0 4 files changed, 9 insertions(+), 3 deletions(-) rename workflow-trace-viewer/src/jvmMain/resources/{workflow-simple.json => workflow-20.json} (100%) rename workflow-trace-viewer/src/jvmMain/resources/{workflow-large.json => workflow-300.json} (100%) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index d93f60da0..934ac46c9 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -23,6 +23,7 @@ import io.github.vinceglb.filekit.dialogs.FileKitType import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher import io.github.vinceglb.filekit.readString + @Composable public fun App() { Box { diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 008ded186..1d397b7fc 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -7,6 +7,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material.Text import androidx.compose.runtime.Composable @@ -43,19 +44,23 @@ public data class WorkflowNode ( /** * Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree - * + * The Column holds a subtree of nodes, and the Row holds all the children of the current node */ @Composable public fun DrawWorkflowTree( node: WorkflowNode, ) { Column( - modifier = Modifier.padding(10.dp).border(1.dp,Color.Black), + modifier = Modifier + .padding(5.dp) + .border(1.dp,Color.Black) + .fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, ) { + // draws itself drawNode(node) - if (node.children.isEmpty()) return@Column + // draws children recursively Row ( horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.Top diff --git a/workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json b/workflow-trace-viewer/src/jvmMain/resources/workflow-20.json similarity index 100% rename from workflow-trace-viewer/src/jvmMain/resources/workflow-simple.json rename to workflow-trace-viewer/src/jvmMain/resources/workflow-20.json diff --git a/workflow-trace-viewer/src/jvmMain/resources/workflow-large.json b/workflow-trace-viewer/src/jvmMain/resources/workflow-300.json similarity index 100% rename from workflow-trace-viewer/src/jvmMain/resources/workflow-large.json rename to workflow-trace-viewer/src/jvmMain/resources/workflow-300.json From 35567b1aaad024303ade1de2bce37ebd9aa3a750 Mon Sep 17 00:00:00 2001 From: wenli-cai Date: Thu, 5 Jun 2025 20:46:25 +0000 Subject: [PATCH 12/19] Apply changes from apiDump Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../api/workflow-trace-viewer.api | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/workflow-trace-viewer/api/workflow-trace-viewer.api b/workflow-trace-viewer/api/workflow-trace-viewer.api index 783954eb6..d604c8e05 100644 --- a/workflow-trace-viewer/api/workflow-trace-viewer.api +++ b/workflow-trace-viewer/api/workflow-trace-viewer.api @@ -9,8 +9,47 @@ public final class com/squareup/workflow1/traceviewer/ComposableSingletons$MainK public final fun getLambda-1$wf1_workflow_trace_viewer ()Lkotlin/jvm/functions/Function3; } +public final class com/squareup/workflow1/traceviewer/ComposableSingletons$UploadFileKt { + public static final field INSTANCE Lcom/squareup/workflow1/traceviewer/ComposableSingletons$UploadFileKt; + public static field lambda-1 Lkotlin/jvm/functions/Function3; + public fun ()V + public final fun getLambda-1$wf1_workflow_trace_viewer ()Lkotlin/jvm/functions/Function3; +} + public final class com/squareup/workflow1/traceviewer/MainKt { public static final fun main ()V public static synthetic fun main ([Ljava/lang/String;)V } +public final class com/squareup/workflow1/traceviewer/SandboxBackgroundKt { + public static final fun SandboxBackground (Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V +} + +public final class com/squareup/workflow1/traceviewer/UploadFileKt { + public static final fun UploadFile (Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V +} + +public final class com/squareup/workflow1/traceviewer/WorkflowJsonParserKt { + public static final fun FetchRoot (Ljava/lang/String;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; +} + +public final class com/squareup/workflow1/traceviewer/WorkflowNode { + public static final field $stable I + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/util/List; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; + public static synthetic fun copy$default (Lcom/squareup/workflow1/traceviewer/WorkflowNode;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; + public fun equals (Ljava/lang/Object;)Z + public final fun getChildren ()Ljava/util/List; + public final fun getId ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class com/squareup/workflow1/traceviewer/WorkflowTreeKt { + public static final fun DrawWorkflowTree (Lcom/squareup/workflow1/traceviewer/WorkflowNode;Landroidx/compose/runtime/Composer;I)V +} + From 761c987757cbe74f04f884fbc482f076f261158f Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Fri, 6 Jun 2025 09:36:12 -0400 Subject: [PATCH 13/19] clean up imports and comments to ready PR --- .../com/squareup/workflow1/traceviewer/App.kt | 15 ------------ .../traceviewer/SandboxBackground.kt | 3 ++- .../workflow1/traceviewer/UploadFile.kt | 7 +----- .../traceviewer/WorkflowJsonParser.kt | 3 ++- .../workflow1/traceviewer/WorkflowTree.kt | 23 ++++--------------- 5 files changed, 10 insertions(+), 41 deletions(-) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 934ac46c9..42d98991f 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -1,29 +1,14 @@ package com.squareup.workflow1.traceviewer -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults.buttonColors import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.dp -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.sp import io.github.vinceglb.filekit.PlatformFile -import io.github.vinceglb.filekit.dialogs.FileKitType -import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher import io.github.vinceglb.filekit.readString - @Composable public fun App() { Box { diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index a4b3c5228..ebd9738d3 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -45,7 +45,8 @@ public fun SandboxBackground( event.changes.forEach { it.consume() } } - // panning: this tracks multiple events within one gesture to see what the user is doing, then calculates the offset and pans the screen accordingly + // panning: this tracks multiple events within one gesture to see what the user is doing, + // then calculates the offset and pans the screen accordingly val drag = event.changes.firstOrNull() if (drag != null && drag.pressed) { var prev = drag.position diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt index 73af83d8d..bd59469f8 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt @@ -1,22 +1,17 @@ package com.squareup.workflow1.traceviewer -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.Button import androidx.compose.material.ButtonDefaults.buttonColors import androidx.compose.material.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import androidx.compose.ui.Modifier import androidx.compose.ui.unit.sp import io.github.vinceglb.filekit.PlatformFile import io.github.vinceglb.filekit.dialogs.FileKitType diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt index ea143891e..4e7ae5375 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt @@ -7,8 +7,9 @@ import java.io.IOException /** * Parses a JSON string into [WorkflowNode] with Moshi adapters - * All the caught exceptions should be handled by the caller, and appropriate UI feedback should be provided to user * + * All the caught exceptions should be handled by the caller, and appropriate UI feedback should be + * provided to user */ public fun FetchRoot(json: String): WorkflowNode? { return try{ diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 1d397b7fc..d27fbf511 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -6,7 +6,6 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material.Text @@ -19,8 +18,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp /** - * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or children workflows, - * a tree structure is most appropriate for representing the data rather than using flat data structures like an array. + * Since the logic of Workflow is hierarchical (where each workflow may have parent workflows and/or + * children workflows, a tree structure is most appropriate for representing the data rather than + * using flat data structures like an array. * * TBD what more metadata should be involved with each node, e.g. (props, states, # of render passes) */ @@ -28,19 +28,7 @@ public data class WorkflowNode ( val id: String, val name: String, val children: List -) { - // fun findParentForId(id: String): WorkflowNode? { - // if (this.id == id) { - // return null // This is the root node, so it has no parent - // } - // if (children.any { it.id == id }) { - // return this - // } - // return children.firstNotNullOfOrNull { - // it.findParentForId(id) - // } - // } -} +) /** * Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree @@ -73,8 +61,7 @@ public fun DrawWorkflowTree( } /** - * Basic data, for now. - * These can be designed to be clickable and be expanded to show more information. + * A basic box that represents a workflow node */ @Composable private fun drawNode( From e2127362005191a8946f7cb25f329fa62506ae9a Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Fri, 6 Jun 2025 11:43:34 -0400 Subject: [PATCH 14/19] Fix ktlint issues --- .../com/squareup/workflow1/traceviewer/App.kt | 15 +++++++------ .../traceviewer/SandboxBackground.kt | 15 +++++++------ .../workflow1/traceviewer/UploadFile.kt | 18 +++++++++------- .../traceviewer/WorkflowJsonParser.kt | 9 ++++---- .../workflow1/traceviewer/WorkflowTree.kt | 21 ++++++++++--------- 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 42d98991f..96f3f522c 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -6,29 +6,32 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier import io.github.vinceglb.filekit.PlatformFile import io.github.vinceglb.filekit.readString @Composable -public fun App() { +public fun App( + modifier: Modifier = Modifier +) { Box { - val selectedFile = remember { mutableStateOf(null)} + val selectedFile = remember { mutableStateOf(null) } - if (selectedFile.value != null){ + if (selectedFile.value != null) { SandboxBackground { WorkflowContent(selectedFile.value) } } - UploadFile{ selectedFile.value = it} + UploadFile(onFileSelect = { selectedFile.value = it }) } } @Composable private fun WorkflowContent(file: PlatformFile?) { val jsonString = remember { mutableStateOf(null) } - LaunchedEffect(file){ + LaunchedEffect(file) { jsonString.value = file?.readString() } - val root = jsonString.value?.let { FetchRoot(it) } + val root = jsonString.value?.let { fetchRoot(it) } if (root != null) { DrawWorkflowTree(root) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index ebd9738d3..46b9dee11 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableFloatStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue @@ -25,15 +26,17 @@ import androidx.compose.ui.input.pointer.pointerInput */ @Composable public fun SandboxBackground( - content: @Composable () -> Unit + modifier: Modifier = Modifier, + content: @Composable () -> Unit, ) { - var scale by remember { mutableStateOf(1f) } + var scale by remember { mutableFloatStateOf(1f) } var offset by remember { mutableStateOf(Offset.Zero) } - Box ( - modifier = Modifier + Box( + modifier .fillMaxSize() - .pointerInput(Unit) { // this allows for user's panning to view different parts of content + .pointerInput(Unit) { + // this allows for user's panning to view different parts of content awaitEachGesture { val event = awaitPointerEvent() @@ -63,7 +66,7 @@ public fun SandboxBackground( } } } - ){ + ) { Box( modifier = Modifier .wrapContentSize(unbounded = true, align = Alignment.Center) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt index bd59469f8..ba55be61c 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt @@ -18,16 +18,20 @@ import io.github.vinceglb.filekit.dialogs.FileKitType import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher @Composable -public fun UploadFile(onFileSelected: (PlatformFile?) -> Unit) { - Box (modifier = Modifier - .padding(16.dp) - .fillMaxSize() - ){ +public fun UploadFile( + onFileSelect: (PlatformFile?) -> Unit, + modifier: Modifier = Modifier, +) { + Box( + modifier + .padding(16.dp) + .fillMaxSize() + ) { val launcher = rememberFilePickerLauncher( - type = FileKitType.File(listOf("json","txt")), + type = FileKitType.File(listOf("json", "txt")), title = "Select Workflow Trace File" ) { - onFileSelected(it) + onFileSelect(it) } Button( onClick = { launcher.launch() }, diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt index 4e7ae5375..df8863175 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt @@ -11,8 +11,10 @@ import java.io.IOException * All the caught exceptions should be handled by the caller, and appropriate UI feedback should be * provided to user */ -public fun FetchRoot(json: String): WorkflowNode? { - return try{ +public fun fetchRoot( + json: String +): WorkflowNode? { + return try { val moshi = Moshi.Builder() .add(KotlinJsonAdapterFactory()) .build() @@ -21,8 +23,7 @@ public fun FetchRoot(json: String): WorkflowNode? { root } catch (e: JsonDataException) { throw JsonDataException("Failed to parse JSON: ${e.message}", e) - } catch (e: IOException){ + } catch (e: IOException) { throw IOException("Malformed JSON: ${e.message}", e) } } - diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index d27fbf511..83d92a6fb 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.unit.dp * * TBD what more metadata should be involved with each node, e.g. (props, states, # of render passes) */ -public data class WorkflowNode ( +public data class WorkflowNode( val id: String, val name: String, val children: List @@ -37,24 +37,25 @@ public data class WorkflowNode ( @Composable public fun DrawWorkflowTree( node: WorkflowNode, + modifier: Modifier = Modifier, ) { Column( - modifier = Modifier + modifier .padding(5.dp) - .border(1.dp,Color.Black) + .border(1.dp, Color.Black) .fillMaxSize(), horizontalAlignment = Alignment.CenterHorizontally, ) { // draws itself - drawNode(node) + DrawNode(node) // draws children recursively - Row ( + Row( horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.Top ) { node.children.forEach { childNode -> - DrawWorkflowTree (childNode) + DrawWorkflowTree(childNode) } } } @@ -64,16 +65,16 @@ public fun DrawWorkflowTree( * A basic box that represents a workflow node */ @Composable -private fun drawNode( +private fun DrawNode( node: WorkflowNode, ) { val open = remember { mutableStateOf(false) } - Box ( + Box( modifier = Modifier .clickable { open.value = !open.value } .padding(10.dp) - ){ - Column (horizontalAlignment = Alignment.CenterHorizontally) { + ) { + Column(horizontalAlignment = Alignment.CenterHorizontally) { Text(text = node.name) Text(text = "ID: ${node.id}") if (open.value) { From 03d77844846dabb4b085e42fc4e6c7ba06abe650 Mon Sep 17 00:00:00 2001 From: wenli-cai Date: Fri, 6 Jun 2025 15:48:05 +0000 Subject: [PATCH 15/19] Apply changes from apiDump Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- workflow-trace-viewer/api/workflow-trace-viewer.api | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/workflow-trace-viewer/api/workflow-trace-viewer.api b/workflow-trace-viewer/api/workflow-trace-viewer.api index d604c8e05..c0e8f40eb 100644 --- a/workflow-trace-viewer/api/workflow-trace-viewer.api +++ b/workflow-trace-viewer/api/workflow-trace-viewer.api @@ -1,5 +1,5 @@ public final class com/squareup/workflow1/traceviewer/AppKt { - public static final fun App (Landroidx/compose/runtime/Composer;I)V + public static final fun App (Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V } public final class com/squareup/workflow1/traceviewer/ComposableSingletons$MainKt { @@ -22,15 +22,15 @@ public final class com/squareup/workflow1/traceviewer/MainKt { } public final class com/squareup/workflow1/traceviewer/SandboxBackgroundKt { - public static final fun SandboxBackground (Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V + public static final fun SandboxBackground (Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V } public final class com/squareup/workflow1/traceviewer/UploadFileKt { - public static final fun UploadFile (Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V + public static final fun UploadFile (Lkotlin/jvm/functions/Function1;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V } public final class com/squareup/workflow1/traceviewer/WorkflowJsonParserKt { - public static final fun FetchRoot (Ljava/lang/String;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; + public static final fun fetchRoot (Ljava/lang/String;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; } public final class com/squareup/workflow1/traceviewer/WorkflowNode { @@ -50,6 +50,6 @@ public final class com/squareup/workflow1/traceviewer/WorkflowNode { } public final class com/squareup/workflow1/traceviewer/WorkflowTreeKt { - public static final fun DrawWorkflowTree (Lcom/squareup/workflow1/traceviewer/WorkflowNode;Landroidx/compose/runtime/Composer;I)V + public static final fun DrawWorkflowTree (Lcom/squareup/workflow1/traceviewer/WorkflowNode;Landroidx/compose/ui/Modifier;Landroidx/compose/runtime/Composer;II)V } From 0f8e3346afe9f3f65391ab45ade7e60944f1dd24 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Tue, 10 Jun 2025 11:44:25 -0400 Subject: [PATCH 16/19] Edits made for PR comments --- gradle/libs.versions.toml | 3 +- workflow-trace-viewer/README.md | 6 ++++ workflow-trace-viewer/build.gradle.kts | 2 +- .../com/squareup/workflow1/traceviewer/App.kt | 5 +++- .../squareup/workflow1/traceviewer/Main.kt | 3 ++ .../traceviewer/SandboxBackground.kt | 29 ++++++------------- .../workflow1/traceviewer/UploadFile.kt | 4 +++ .../traceviewer/WorkflowJsonParser.kt | 6 ++-- .../workflow1/traceviewer/WorkflowTree.kt | 6 ++-- 9 files changed, 35 insertions(+), 29 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 35eb9e54d..67dc6b61e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,8 @@ agpVersion = "8.8.0" compileSdk = "34" -filekitDialogsComposeVersion = "0.10.0-beta04" +# Any version above 0.10.0-beta03 requires Compose 1.8.0 or higher. +filekitDialogsComposeVersion = "0.10.0-beta03" minSdk = "24" moshiKotlinVersion = "1.15.2" targetSdk = "33" diff --git a/workflow-trace-viewer/README.md b/workflow-trace-viewer/README.md index 98b5e424c..ee4d86332 100644 --- a/workflow-trace-viewer/README.md +++ b/workflow-trace-viewer/README.md @@ -9,3 +9,9 @@ It can be run via Gradle using: ```shell ./gradlew :workflow-trace-viewer:run ``` + +### External Libraries + +[FileKit](https://github.com/vinceglb/FileKit) is an external library made to apply file operations +on Kotlin and KMP projects. It's purpose in this app is to allow developers to upload their own +json trace files. The motivation for its use is to quickly implement a file picker. diff --git a/workflow-trace-viewer/build.gradle.kts b/workflow-trace-viewer/build.gradle.kts index d5059c4ec..3145fc15d 100644 --- a/workflow-trace-viewer/build.gradle.kts +++ b/workflow-trace-viewer/build.gradle.kts @@ -24,7 +24,7 @@ kotlin { implementation(libs.kotlinx.coroutines.swing) implementation(compose.materialIconsExtended) implementation(libs.moshi.kotlin) - implementation("io.github.vinceglb:filekit-dialogs-compose:0.10.0-beta03") + implementation(libs.filekit.dialogs.compose) } } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index 96f3f522c..c9feefa06 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -10,6 +10,9 @@ import androidx.compose.ui.Modifier import io.github.vinceglb.filekit.PlatformFile import io.github.vinceglb.filekit.readString +/** + * Main composable that provides the different layers of UI. + */ @Composable public fun App( modifier: Modifier = Modifier @@ -31,7 +34,7 @@ private fun WorkflowContent(file: PlatformFile?) { LaunchedEffect(file) { jsonString.value = file?.readString() } - val root = jsonString.value?.let { fetchRoot(it) } + val root = jsonString.value?.let { parseTrace(it) } if (root != null) { DrawWorkflowTree(root) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt index 63ebd1cc3..b455d0435 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/Main.kt @@ -2,6 +2,9 @@ package com.squareup.workflow1.traceviewer import androidx.compose.ui.window.singleWindowApplication +/** + * Main entry point for the desktop application, see [README.md] for more details. + */ fun main() { singleWindowApplication(title = "Workflow Trace Viewer") { App() diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt index 46b9dee11..cbbdb1255 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/SandboxBackground.kt @@ -1,6 +1,7 @@ package com.squareup.workflow1.traceviewer import androidx.compose.foundation.gestures.awaitEachGesture +import androidx.compose.foundation.gestures.detectDragGestures import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.wrapContentSize @@ -36,34 +37,22 @@ public fun SandboxBackground( modifier .fillMaxSize() .pointerInput(Unit) { - // this allows for user's panning to view different parts of content + // Panning capabilities: watches for drag gestures and applies the translation + detectDragGestures { _, translation-> + offset += translation + } + } + .pointerInput(Unit) { + // Zooming capabilities: watches for any scroll events and immediately consumes changes. + // - This is AI generated. awaitEachGesture { val event = awaitPointerEvent() - - // zooming if (event.type == PointerEventType.Scroll) { val scrollDelta = event.changes.first().scrollDelta.y scale *= if (scrollDelta < 0) 1.1f else 0.9f scale = scale.coerceIn(0.1f, 10f) event.changes.forEach { it.consume() } } - - // panning: this tracks multiple events within one gesture to see what the user is doing, - // then calculates the offset and pans the screen accordingly - val drag = event.changes.firstOrNull() - if (drag != null && drag.pressed) { - var prev = drag.position - while (true) { - val nextEvent = awaitPointerEvent() - val nextDrag = nextEvent.changes.firstOrNull() ?: break - if (!nextDrag.pressed) break - - val delta = nextDrag.position - prev - offset += delta - prev = nextDrag.position - nextDrag.consume() - } - } } } ) { diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt index ba55be61c..5cfd1d308 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/UploadFile.kt @@ -17,6 +17,10 @@ import io.github.vinceglb.filekit.PlatformFile import io.github.vinceglb.filekit.dialogs.FileKitType import io.github.vinceglb.filekit.dialogs.compose.rememberFilePickerLauncher +/** + * Provides functionality for user to upload a JSON or .txt file from their local devices, which + * contains information pulled from workflow traces + */ @Composable public fun UploadFile( onFileSelect: (PlatformFile?) -> Unit, diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt index df8863175..73dbe9073 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowJsonParser.kt @@ -6,12 +6,12 @@ import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory import java.io.IOException /** - * Parses a JSON string into [WorkflowNode] with Moshi adapters + * Parses a JSON string into [WorkflowNode] with Moshi adapters. * * All the caught exceptions should be handled by the caller, and appropriate UI feedback should be - * provided to user + * provided to user. */ -public fun fetchRoot( +public fun parseTrace( json: String ): WorkflowNode? { return try { diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 83d92a6fb..07c3fd581 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -31,8 +31,8 @@ public data class WorkflowNode( ) /** - * Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree - * The Column holds a subtree of nodes, and the Row holds all the children of the current node + * Since the workflow nodes present a tree structure, we utilize a recursive function to draw the tree. + * The Column holds a subtree of nodes, and the Row holds all the children of the current node. */ @Composable public fun DrawWorkflowTree( @@ -62,7 +62,7 @@ public fun DrawWorkflowTree( } /** - * A basic box that represents a workflow node + * A basic box that represents a workflow node. */ @Composable private fun DrawNode( From a1099dc6a8c7d64f9c63ee1675ad66f0dbdd060b Mon Sep 17 00:00:00 2001 From: wenli-cai Date: Tue, 10 Jun 2025 15:50:27 +0000 Subject: [PATCH 17/19] Apply changes from apiDump Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- workflow-trace-viewer/api/workflow-trace-viewer.api | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-trace-viewer/api/workflow-trace-viewer.api b/workflow-trace-viewer/api/workflow-trace-viewer.api index c0e8f40eb..dbddaaaa5 100644 --- a/workflow-trace-viewer/api/workflow-trace-viewer.api +++ b/workflow-trace-viewer/api/workflow-trace-viewer.api @@ -30,7 +30,7 @@ public final class com/squareup/workflow1/traceviewer/UploadFileKt { } public final class com/squareup/workflow1/traceviewer/WorkflowJsonParserKt { - public static final fun fetchRoot (Ljava/lang/String;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; + public static final fun parseTrace (Ljava/lang/String;)Lcom/squareup/workflow1/traceviewer/WorkflowNode; } public final class com/squareup/workflow1/traceviewer/WorkflowNode { From f9a64ff8973e36576767b09f1c15d39748afe643 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Tue, 10 Jun 2025 15:28:03 -0400 Subject: [PATCH 18/19] Fix more PR feedback --- .gitignore | 3 +++ gradle/libs.versions.toml | 12 +++++------- workflow-trace-viewer/README.md | 4 +--- workflow-trace-viewer/build.gradle.kts | 2 +- .../com/squareup/workflow1/traceviewer/App.kt | 18 ++++++++++-------- .../workflow1/traceviewer/WorkflowTree.kt | 8 +++++--- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index b9beab33b..5a92170db 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ local.properties *.iml .idea/ captures/ + +# Kotlin Metadata +.kotlin/ diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 67dc6b61e..530df49c7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,10 +3,7 @@ agpVersion = "8.8.0" compileSdk = "34" -# Any version above 0.10.0-beta03 requires Compose 1.8.0 or higher. -filekitDialogsComposeVersion = "0.10.0-beta03" minSdk = "24" -moshiKotlinVersion = "1.15.2" targetSdk = "33" jdk-target = "1.8" @@ -42,6 +39,8 @@ androidx-viewbinding = "8.1.2" detekt = "1.19.0" dokka = "2.0.0" dependencyGuard = "0.5.0" +# Any version above 0.10.0-beta03 requires Compose 1.8.0 or higher, beta03 is 1.7.3 or higher. +filekit-dialogs-compose = "0.10.0-beta03" google-accompanist = "0.18.0" google-dagger = "2.40.5" @@ -81,6 +80,7 @@ squareup-curtains = "1.2.5" squareup-cycler = "0.1.9" squareup-leakcanary = "3.0-alpha-8" squareup-moshi = "1.15.0" +squareup-moshi-kotlin = "1.15.2" squareup-okhttp = "4.9.1" squareup-okio = "3.3.0" squareup-radiography = "2.4.1" @@ -92,7 +92,6 @@ timber = "5.0.1" truth = "1.4.4" turbine = "1.0.0" vanniktech-publish = "0.32.0" -uiGraphicsAndroidVersion = "1.8.2" [plugins] @@ -189,7 +188,7 @@ dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", vers dropbox-dependencyGuard = { module = "com.dropbox.dependency-guard:dependency-guard", version.ref = "dependencyGuard" } -filekit-dialogs-compose = { module = "io.github.vinceglb:filekit-dialogs-compose", version.ref = "filekitDialogsComposeVersion" } +filekit-dialogs-compose = { module = "io.github.vinceglb:filekit-dialogs-compose", version.ref = "filekit-dialogs-compose" } google-android-material = { module = "com.google.android.material:material", version.ref = "material" } google-ksp = { module = "com.google.devtools.ksp:symbol-processing-gradle-plugin", version.ref = "google-ksp" } @@ -236,7 +235,6 @@ mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = " mockk = { module = "io.mockk:mockk", version.ref = "mockk" } -moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshiKotlinVersion" } reactivestreams = "org.reactivestreams:reactive-streams:1.0.4" robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } @@ -256,6 +254,7 @@ squareup-leakcanary-objectwatcher-android = { module = "com.squareup.leakcanary: squareup-moshi = { module = "com.squareup.moshi:moshi", version.ref = "squareup-moshi" } squareup-moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "squareup-moshi" } squareup-moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "squareup-moshi" } +squareup-moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "squareup-moshi-kotlin" } squareup-okio = { module = "com.squareup.okio:okio", version.ref = "squareup-okio" } @@ -270,6 +269,5 @@ truth = { module = "com.google.truth:truth", version.ref = "truth" } turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" } vanniktech-publish = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "vanniktech-publish" } -androidx-ui-graphics-android = { group = "androidx.compose.ui", name = "ui-graphics-android", version.ref = "uiGraphicsAndroidVersion" } [bundles] diff --git a/workflow-trace-viewer/README.md b/workflow-trace-viewer/README.md index ee4d86332..9f989983a 100644 --- a/workflow-trace-viewer/README.md +++ b/workflow-trace-viewer/README.md @@ -12,6 +12,4 @@ It can be run via Gradle using: ### External Libraries -[FileKit](https://github.com/vinceglb/FileKit) is an external library made to apply file operations -on Kotlin and KMP projects. It's purpose in this app is to allow developers to upload their own -json trace files. The motivation for its use is to quickly implement a file picker. +[FileKit](https://github.com/vinceglb/FileKit) is an external library made to apply file operations on Kotlin and KMP projects. It's purpose in this app is to allow developers to upload their own json trace files. The motivation for its use is to quickly implement a file picker. diff --git a/workflow-trace-viewer/build.gradle.kts b/workflow-trace-viewer/build.gradle.kts index 3145fc15d..c0a63cc87 100644 --- a/workflow-trace-viewer/build.gradle.kts +++ b/workflow-trace-viewer/build.gradle.kts @@ -23,7 +23,7 @@ kotlin { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutines.swing) implementation(compose.materialIconsExtended) - implementation(libs.moshi.kotlin) + implementation(libs.squareup.moshi.kotlin) implementation(libs.filekit.dialogs.compose) } } diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt index c9feefa06..667e0bdd3 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/App.kt @@ -4,8 +4,10 @@ import androidx.compose.foundation.layout.Box import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import io.github.vinceglb.filekit.PlatformFile import io.github.vinceglb.filekit.readString @@ -18,23 +20,23 @@ public fun App( modifier: Modifier = Modifier ) { Box { - val selectedFile = remember { mutableStateOf(null) } + var selectedFile by remember { mutableStateOf(null) } - if (selectedFile.value != null) { - SandboxBackground { WorkflowContent(selectedFile.value) } + if (selectedFile != null) { + SandboxBackground { WorkflowContent(selectedFile!!) } } - UploadFile(onFileSelect = { selectedFile.value = it }) + UploadFile(onFileSelect = { selectedFile = it }) } } @Composable -private fun WorkflowContent(file: PlatformFile?) { - val jsonString = remember { mutableStateOf(null) } +private fun WorkflowContent(file: PlatformFile) { + var jsonString by remember { mutableStateOf(null) } LaunchedEffect(file) { - jsonString.value = file?.readString() + jsonString = file.readString() } - val root = jsonString.value?.let { parseTrace(it) } + val root = jsonString?.let { parseTrace(it) } if (root != null) { DrawWorkflowTree(root) diff --git a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt index 07c3fd581..536d72f9a 100644 --- a/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt +++ b/workflow-trace-viewer/src/jvmMain/kotlin/com/squareup/workflow1/traceviewer/WorkflowTree.kt @@ -10,8 +10,10 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -68,16 +70,16 @@ public fun DrawWorkflowTree( private fun DrawNode( node: WorkflowNode, ) { - val open = remember { mutableStateOf(false) } + var open by remember { mutableStateOf(false) } Box( modifier = Modifier - .clickable { open.value = !open.value } + .clickable { open = !open } .padding(10.dp) ) { Column(horizontalAlignment = Alignment.CenterHorizontally) { Text(text = node.name) Text(text = "ID: ${node.id}") - if (open.value) { + if (open) { Text("node is opened") } } From e36ca7707fe882e7a4be38815c96c76a7a7b4bb0 Mon Sep 17 00:00:00 2001 From: Wenli Cai Date: Tue, 10 Jun 2025 16:46:40 -0400 Subject: [PATCH 19/19] Removed .kotlin/ metadata --- ...areup.okio-okio-3.3.0-appleMain-DOjtzg.klib | Bin 4756 -> 0 bytes ...reup.okio-okio-3.3.0-commonMain-ijhi2Q.klib | Bin 14037 -> 0 bytes ...p.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib | Bin 2980 -> 0 bytes ...reup.okio-okio-3.3.0-nativeMain-ijhi2Q.klib | Bin 4970 -> 0 bytes ...reup.okio-okio-3.3.0-nonJvmMain-ijhi2Q.klib | Bin 5792 -> 0 bytes ...uareup.okio-okio-3.3.0-unixMain-ijhi2Q.klib | Bin 3910 -> 0 bytes ...kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib | Bin 144473 -> 0 bytes ...st-2.0.21-annotationsCommonMain-NjL0Sw.klib | Bin 1543 -> 0 bytes ...est-2.0.21-assertionsCommonMain-NjL0Sw.klib | Bin 6026 -> 0 bytes ...linx-atomicfu-0.21.0-commonMain-Uv6OuA.klib | Bin 6111 -> 0 bytes ...linx-atomicfu-0.21.0-nativeMain-Uv6OuA.klib | Bin 6219 -> 0 bytes ...linx-atomicfu-0.22.0-commonMain-dLtvoA.klib | Bin 6110 -> 0 bytes ...linx-atomicfu-0.22.0-nativeMain-dLtvoA.klib | Bin 6272 -> 0 bytes ...oroutines-core-1.7.3-commonMain-R50ueQ.klib | Bin 65719 -> 0 bytes ...tines-core-1.7.3-concurrentMain-R50ueQ.klib | Bin 6613 -> 0 bytes ...nes-core-1.7.3-nativeDarwinMain-NVh8pQ.klib | Bin 4387 -> 0 bytes ...oroutines-core-1.7.3-nativeMain-R50ueQ.klib | Bin 10852 -> 0 bytes ...oroutines-test-1.7.3-commonMain-mzJGFQ.klib | Bin 9447 -> 0 bytes ...oroutines-test-1.7.3-nativeMain-mzJGFQ.klib | Bin 4759 -> 0 bytes 19 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-commonMain-ijhi2Q.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-nativeMain-ijhi2Q.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-nonJvmMain-ijhi2Q.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-unixMain-ijhi2Q.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.21.0-commonMain-Uv6OuA.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.21.0-nativeMain-Uv6OuA.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-commonMain-dLtvoA.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-concurrentMain-R50ueQ.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-nativeDarwinMain-NVh8pQ.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-nativeMain-R50ueQ.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-commonMain-mzJGFQ.klib delete mode 100644 .kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-test-1.7.3-nativeMain-mzJGFQ.klib diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-appleMain-DOjtzg.klib deleted file mode 100644 index 13965e0dafc907be914cd58d4c19a00d26246b2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4756 zcmcJSc{r47AIC?-SZ0hRk#({i%1o9>3MpB}*i!Zkvoeh_ma(g-=%6}fD?-*ti8dmM z3Mcz^nkY+$tl5cUsduL9h$Ovl*Y*Bpov zN1{;i-mZkNGwZRqhpcb-OJOJ61a5>tG}biK*A{N#n+RuP)3{k09`EmC1+ju}lavE} zX(3^Tb3lR7!cNBV;}#^=yRkb4N5(i49I0dy_1F55|0!1K3wg3 z;g_|h!7c8}7K#Wf@my@#Y1~7uRGl(GyBqM~o=b_BY-M(N5Ss zi{r@ubW59Q7dH_2T_)bue)_2G-1Rg+ct3~DOJoc{)znL{mm~lKY9J@k0zg-pr2|*P z475O2`)YOF|G71z%58?he#rNWI1c5G;0m@6D@2CeJYXZ77lKz& zyP}D}@5w#(5eeGfGg8zxE+0(}k@gX*xF@2`8}5>P+c{T0;F6{@32d!)PYepGwy2L* zmQ2(<99VEYi_bJd?469ql?=&Dg#m%7qBqxgU|Rohp3eZr?j}oGibM!lkg+UfSSXK% z^A45E5o3@5OeeBgyG(GWc>GIT)RS)Qe);gjr@|uJUxODQ&r7<2Tm1GqRh6n!5@mJOR2eS{BH9BEQMTqP=!|zdq?;d>-|~l zK$x=h5ZHqRb{(tVFYji@OE7U_di znUbh^fI9%t7#n;p_eFJ)cT3%zDV%vGupD?Fh~ zOisK0uC6}~zM}_@7I&Vg+ao(4YJ4*Kl>sp34l12xuS(f_xpqr4BbsfPLX#rcJccy3*yf-@MaLdq*w1)^6 z6MSw3eIIEWD&wQ&um*UN7NvKyf!n`01mO;pRLi;mdHaK0L54a~r3y!_Es_ zK6e7r9A+|7fPA!Vo)hI)p^Se>${BPS|-BIQM; zd*|<0_~z1``5GKv=P#YIhoVD1{;|kDELMv=(YK%JAzLZKi#4nOfIH_#0{nBORQ_Hm zEiFt?KxN*Jj>?X?;^W71ViqouH)u|Q%86;13nHY zD%r=r(w#(i8WTIucGu||_PH46po&ak<+VDZPWta`;e+M9obJcNNRCmvw=dR=hRcM9 zl8Avi`rQ#1Wpv*y7%*?J4VRi)aao1Zm#k$o?Lgd(mnf}rW^tf*iy884N=pY(?&=Ny zInd|{CUqXrY z9V<|Nd#PSkiJ}~sp6FfKga*kHrma9H_{JPRNeNqRFhD13pH)+>{dW?mD2_CAX5ewdI; zMZNUkc9on5cFNZ|+g{kKziJc{3s*E-yk+tswdd@MBHhQbvURl+M)1Z>ukBrkDRga_ z#7j+=mzrJ8Bh?dh*+M9@QY1M^t#B_|@qEhY^D%IQ6smXcq`p=UbLDde`x3;>o1jBY8W! zs^q3%LELuuY^?A}o;j&~utt(~prF7Un7PDMrMeZ4F_xDqc%vn@`V*yLJe>(NuU}hK zBCEdjWe|z#<%sd5>{k6Xr1XYJk{iy|8&AOh8e4KhHknFe1d;y-*$qP@`4E1M%)e^R zo&+zdw?R))cRH>>qS*;?r8O$T#pu~POwg{~9H*5X&&-?#Ws(9h<) z&OT->o;lm~ABi0!l7II|zOlZq{9$43SHx;YtgHviYZ7dCBisap6_=K zx)#G6w%qo&m?sPkT*fSm(+?Y6jbWcLkQ_)uH y;fCb3`u5**dAK)v1Z&l8BQ8_TR*JNWyNq zu9})!>+7#~?ds{>y*@=CI0Oa=3=9ki2#CmU*Y5@c0t;elW^UwW>&m323JC%_JARJ_ z4x$Kz{8Y zMs9L)AB+{A)kQgGZ$ddHn(gMs7V(b$7NHd_g*8chGU!8FIYksr6h#!EpVB*A_aA(; z8mGjif8(S3+x0*5LHz?CTPu4TQzKWS|663(e}`n}VCrUT_OAf<(VE8o99Ltbah)+} zl-5-+plh--d7-Ftkbny69|25QK3viKMxOrP20-+8ZXJzGY>X_-3><8%9R6?7Q2$3* z=6|3w+SuFuE4*AjE5mG!ByWY~QmQfUbi!q;tc5Z;+BHgU>#r4{^DFTxt8vJt5ubbQ zAL#w!!zlbDlT%td>L`Vk$F<@WD_8SAXp9)2&^FOvI$= z5|^xJR;bmX#HhA9e5ciqS*g#Jph?d@SC&>GrRn?}s8_zSc-63)*%rp_0z8)t=0sjZkTfJj!lDeK=4bnv zWw^_;{QSHYYkJn^**YlUawvF$I-^%k9z#qja+AqEr@7hGEXwj$W5Z$A7z(BInNmOWKCAh-U732fZEc=9xXp8$-z) zv)#4YouFMVb=q8|eWs5DnYD}OcrjBxEa5NFOo}6SqHZ*J`P7_>`3zGmpY%BnPuSc; z9wU0kA-uP9Xl=kXiZa%U8d<%@!)rq6m;3xmS%+GCe`sE4^p3q%EVfI3rwf?EJA{D9b;oLSvHi(9nxL+ z=vv2;3)xZf*>;>)xgr{15w6A{Lw(GQv?5`%!59RV6b%0KTmet7$c|5WGeCePav$Ag zxa*G(wiSv|PL~gPiin;Xr8ROmX{`k5h(K^0^|`{0fZG}iDt`|~quK-=Cnl)fY^ouY ztAHi2#Nuh(Z1^T!%Rc)4=XYD-pOJ39!#TBF^e|7!qo-C_A8S@ItsGm8fFzL}nih7^ z7In6;WJQMHgZ4c*2$O}9b6Hvf#)yI*TlC9Xs??KPZa;!9h`Boe;-b zt-h8;=R)jlk)UpE3K=jm)ycusVAC1XAf!ct8IBB97^hmn?1LELl8HP<@?r=`i%WNe zZ!kw%%?BwjCP$UAuor-Qn4qWvDVTOStZoOB;ixiJUj+-VW2mqsJjn-3meZkji7>ij zw#oEYlp%bN?8;|3Wh+Cw5jwOC3yVllmz;tNl~MDZjseMMJzY}M5G}`;32A1PWR__v zForxIMu7Mj1c|_J)|j|qh?SzyoRW!phc6R{J4@I^M`%F`wD+td-x{I;BVQZ?slxr03$Vm^(ELvs|s>3Re}D3{$tZqr8@^7Sw2TyaV|8%TO>n ztoYrDmb>-}nlHi`eiGy1<|?J03qK$JI9I0@DiLZ?>6r)#Ej3K#V7d@)3zAEPXZ}gm zkOhY6(!S@qV36btr?CPidL>eNH(r*1dC)wJ(!%;@J@0ePn?#E)_D-#m(;AW=fBAb~q~SBYqf+1C%e3rt>WRQ-wpwUr zp9=eZX^3ye$QTcg&h-}KC*@k0&t+;Gpe#0o%>}8JEX?PD1)J2l5QqHTC<13K8~l8(uPB1Lp%sWO<-N){X)FYi59>2s(Z8f=E|I>{3ag~V(61f^ zXVrVGgQndwwRi?)TB3%*chq+ulSlqz$E(WP7H>%v6_4GFKPIAxg8!^2&G9hi)^TX! zCfEcNw|Qs{oDHiCDQsMckvsuni80y_T_@Y7vo6xdQBC->UdE84>!5Y!-fVQniP!0< z?`jn(E?Pr3@`*~J(K421XSZU|4+nKSX~T`s7a)eP+-zGdi!yBn&}}Koiq9Au__ZW$ zp<5I*OAMI^oVK2tSX>r?@?-!rz-Yq(TDIFY?^*FeGUl|>hG+qV_tzny}YaK@{R3iyP%TM6+n} zi>$Qx+=2NByY*|-1m5&PbsD0@@z6lb&dFF<$c7dx{6-)R2pMMAsvVy4wQ(jM&V-2? z3f6Kaf|OIcR&#f-?CtA~8tAzxK2(C3{xaxNlk^7is)5zp4V8UPCIJBtLcqSsWA{s3 z#698xG&JSNHCMy*tNVGT)&Rn-ZF&$AZ!n{PL$%XJEyM<`p~3JjH3YEEBTF4Gl8s5Q z6dD3AWh2q|<^YO3j7*h6Vnhax5p}B1s{$wnf~>Lhoiu79cDMv*D>NEvB5v3al$QZU z#0e>qjC3htBwfogax?CLl;%8I7GsrnOa&rd%}X5;Buo%O-h5G~Qc{HA&Cz!}D?KNR zDJ>?Y_aqeBM2$P&l{lPvzs6T01Cb7NI;xe%U^LZo z$Z)YwSu7}Mb$^l<#$lU_C_~dkf$HGLao(HiXzgr&prS(!bvX^L=(>7d#@^tSGoo!z9uxx%Cn zGRHn5?_rXd3W?!eqW;*VZm|f+wkfgUyT0r&$kqeVvX6~B01jI(zAL~Sjk2CiEIi8^ zIO?+XXU2>E$+`NuzHc5OvChQsxPtQSejqA=H1{6QgKR4dBmE~<)VwO5+1@R5-VyzL zi!LGF_Nx0jn0Z(;Fx!Pk8s&!^)-Pjl#40ne67M!)#1R%am)K~KodB@Z9-JT&5H9py zuB(jEAi0+~G{7ZW*0sIBBay)4Yu2?0qAviPc!{5Qu6Km}Qo8F~spA;?dlLcRX2x>I z1@9pk>mC!)R}O6bQGxwZMc~#2@kNyB^1ihf^M#oGEg|w^uV*nfV76BXxC8eFR-tJi z4!S*MAe%PN^tE?_B5~3G>PkZivQr=2AyGJg;>KJWcNSxOy9ly7uA+InCdlKc(8GEs z7NULgIDb~`UYcaT<_@xYSc3w^Bf`Hd!k-pY3?cUdc!xvflRUUA_art3f?Pa?W)%DL zNvk0H7Ajqf`c5|FgIL`*7r|~4{g_*>nG%QzBhHL6to=@uY~W23v0%z^;GX7(ToP7@ z0HX)C9VV~<+m8||0hHE$NPC}11atV>0MiXO;p>lIMMe>=0yqn#mHeqsJw_ZtuPk~$ zfM(pvk_dnTvgq=6^j2rL6ypha@1lE+F<|$Dh4uQsLiAmr<&nUEW+Y;V7Ep>mnlidt zDkTuvX7z}-1UcpQ2cTYkgy&e<2_P^lAeZC~!n zl_Rl1*tktXE_n{mO|MQXMVv$;6(u3U(US|O-54ryDbFbn4acRW5A_a%M4(ygiHJmR zeX`kuqZ}FVI)x6cp7OIgkGnOii5RfVp)grZi3n=NO?a5`s(TW?iA5!e^9Cfc z>m|CD8WgjZ;iE~KDMD{UOdghk``nAp=c;No;X9MV1+XYFx-K!RiLdQ2fd=RvV8t8d zx%C==u$?0N?VeInh7KedF3>_UuYKxiM}#S^8o0I@p9 z<;Cka?!AnDqT>N6-$^tLWM`lTFSgp-S|rCMk^7x5`ENfO+jB@uiVdE^NT7kDVSvuF zi$O&K(LhC!a{EBMmS9E6^nm2m@o|ySA$4m9?#<7Hv>yyd^3&Ssirx9)o}X+P?wRS$ z;Dn%V)rrIH6v-cQg3*U@S2p-T@*ywkFw`KbH6m%@;7hZ-7)a!}ZfNIawy1@`D3*7# zQ2X{ZfIQ*43%@O;zyui8HqU_0)1MiwaL6PL+6s`JO;gA0Mr!245%41^FN#D>sy{9?oTrf&QL=g%PgN>!s_~5D>zi&(xG%&IOi1dP_Qh^lEGKP5e3Fln9vC*kOm~-5=Y)5i>q_N4ow#|6aLk23 zd|PKY?wHdPdn5?A5P6f~GbjHB=lVt`y$0Rq{1jTOKWtFqb~kWT4WUha)@UH7%6B@_ zGKzYIhjFECIL{!7zPK#zm#dAGqRiyM!mcCYj~8k|)}}($OK3L?DQ&(Xnk+H^=+U?F z#|I_ECKQt=^I>I)bX*21UD-V!d-Nn1@9M|}k$Z~-6->KB*b6<_KV6WwJ7FJnMA~~o zJ}F=Pa6s*n(8%J62u093c=U};5Cd6AKD6 zEa#;QpT#!REnb5$hAY!=*KqH9sJbLUSs;_pdG1;PhKXwB(|m>RBy-;@2kDUFVGPlX zuK*a1LryF<8Vm=QEaq}c4@-|M92ds9D5OdH(fuRlDUO_XzOC}}Mn{ER4qC=y%(EX5 zqIu;BW!=;k90>NIQcymbWgnd!ms9hCV%5jU%$^?=a4$VyvN{81mF=X(YUZ0q&K1H6 z=;nWxC<Von*bf(rr(*g5N%=NIB>`Z?h9cJH3jsg2OyDFS*QWOx8H=%ab_6OTy6kL5?YuXVP`*UkD5yVXkg=v>IB(~ZWJ>56%?J5!%G@nDYpM2ooNws{C zF!wWVh|4#pB2kc=Vh*Suj5YYH6UhhqwY zo7Myl&O%SQe{k2h(Y|I@2}HCn1`_ZVR`!7_f~j&m@TS9Z7+!W(p&+yTKs&1 zl~$gWvXkUj_ zTU9b<+)@dbg7%YySyNdoR@z)qLt*0?3s~IE1ptm${>>+ubVcD60m_8bsW1#;L zhxagJCuyh*BtXnr1Tqg3QZ+E4b*ENu%fM=OC!1jJQ~z8-kl20YfD%yy?$y{Ofb*qG zg9S>;MVMg5Q}x2M&p!ECz{vlFc}J0I6Us5F^2P*WTKy60=Lwd@DW{vo3iwnn9gS`G z5hfAU50+dl^MsUzdxZU1l=MZvHslYNA_%1ca{_m0EnN)LZzE%uNN=^QBIVY@q=nj7 zrH?(kXaVGVFV;hCgrY`aJIh}Tx5wTIA(?D8-^B;{j#U^+Uq-Z5w6mY{1CrYK9`l>q zYNTd34tgBN18Otp$A7ZF6OWX?rBjwZeo&(nOR_AHq!QY7tjHirFv))rJ#kx=rp>zf zYRx^Rpi~{{gd}0_&P{e0nVF%8nVMKt&FyicQ^w`{UVIwlXmr}v@!+B?qD7e+N)kXL zH_|w_QJ%e=zXUHe7L7TR#O!HKZL_A$`eQc=6OV@z@{!Im>x;Tw)C%o(y{|-1p<7H@(Q(O_h)&em-8J~m>wG2vk1)$dv;jO4kp^xvI$|5NWIymf1AT=G8XoF2> zix2|CSvC84h`9gkzN(taw2sb&h6?w!hDPdL+ZT?-l)J|kA7_Cwwyrd^%A3wKN3Mww zUL&33Gr9h|$7DI06$(py0a%=cdUtuyKFyP=<#%ZeK7%gRT1!7pyAomfjTIr@FO z2zEB(!*|$i^C>YRgw3?bI&FR}Udj`I)sxT4O_15#-^rBUUm#IZc38HJZx?UVEx&f; z=p3W1!YAdv!aGYI0)_QTc+-uN7B@$L!DfjlGm_Gl%9b((H&(+p{M>2i zQe3&S__pWNHs6wyFE%dAL~XXYs8);~YTbI-9m(lhA?`ymSvEfc*92$Z-Iq6lnkT#T zKAtuhe9|8+e)>39vOfIgsr(WPQglJWbEBJ?v^x_KVyG5s^T)qU{&3!t+* zAJ4Tlzek5i_M*_LD(Ir*q@X=J8h?vWwM#h<3?m;>#Gg3Kri0jl#>2R+4c^<=H0~Cv z&^2t4?~uPaZJdTTeqfqQE;CgmEeF(de#?GQ9NH%$T}1Z; zLt0t1qr+`t0x=7N_i6WvaTe#NNY@3TxnJ8?QK44)O_3{#97T}ME}G|C-OE|4s9{5* zZfBLX5`Kq`8gTAX_RBjYP)>S-m=H=H%#cqg3i%mC&-7R>?HcFr0N|e|r`^l-k*5n*(+}tZZ zuJL_{NfZ{6xYJP<{`&G&^>k0Cl#2j0C;QQ&$-l-#SL6q?oxqunji%~&pgLMhZJEIr zxP+ekljTaVS7ElNKJ!~F-_?^M;-ZJ(DG?!AQW@P_vZ*5}E5>gkLXs{<$WKmLY#VXg zWSkp*aoLJgD#DvIZoQ{2aOKcB8eO>`WCejFv?M#jgGsj%qv}`oO6+`+CN{oN-}Sm3z5V-AFye%Xy2(u0mCWCfBDY ziLxcnfOo*)#C47;Edq!siau*i{3SVLDr~)Q}!}FQ0hmJzn zdxGADRm1>#J#f7621rf-R+GzkggGLJ^YkK}_|I!27HNZ=<(IO2Y6cV_TH|X7DC{)P z&X+N)W&+vck{DR|`tqaUZ3i zJ5qe+Lsx!lt5ERN!Fc{lb0%H$nNg)b>;sJ4rm5_wc)~pnp)tLNme@wuhk3R0v!_m3 z_QrJ-d;N7Q^$ep?uP+?1`mbS)RtetD&<{i<G4Q!c~4%7FJ;xLIz7_cMr`IoET% zm>se?E#cR~>P`LHi;r=PVYvB~`g9kIbZzHg#b4mo+t&1(^$)8sXX?)e+HL%RB3lw* zekI?v^yGWEWtxsRy{Fu#IH&FjGk6N>$YORmp3gbmNZwR!Yg#*0sx+(*oUN!d7#3o} zHq;9dw5M$FbKKo)n_PGaI+7}NYisScDzIpST-@fh?g^C{3C<3#!|=mit#ic+E;V{L z$n%)KkGJ_^YNhe3gMZJ5OK*X@3z`4nj~O`z)aE=F(|-8u;I22ziF>O26>1D(ioSWB z@lMz}a0%wj5?o=TQ4q_zVvZwQig2=4^Cv2`s0{@@LO{vOofC4C%}AGDqm)Q}TYS8` zaK&oj6j?sI#TQ@65_6q038qv5bK>Cf7nA+;j?)JIMu7-7(lt{C?_Th=h_rv!Y!=-Mm%2}U z`Ebv$W+&p>;lSk;R}dRj^a)FEUw=#5a&JZeKc)2F{XzdE6EF;RlPq`p%eNMzAVWIozCY zMw_bd&m_r=d!36LaY03=oFTNlWi#^$$k&noRuWoCi2%w5Jn$@Dk1>f zgkX>wkZzgcC@E3VI0+I?h$-A_v>(wjB|nF(_||<6xr^0QYaqDn3f{u-;)v`fs&atP z(g1(o>UT9SzL=38`YNI<*&5m*Fj4ZJSiE=z;CcuYu;E7&QJ?HdDvgK59y ziV%zRmSk_QFAW_w^p!M1TYi)@D5u00i>MZkv(%W6Bz@(zlrvji?w)z9uc@pFS{@}+ z3BX-$h-K7F6v|XgFq1qRkc+K>qnuBn6Nx!U_9bj1CMhVdNRTX!?0ij)saDTvG zHGl5Q8V$XqV4uu{nEDSuioD|%#-l1bx#fYEvy0Y1eNPwV6a!tmxIO9B;YUalPCf(Q zvYT#wN`pxCYrIQ09bM#y$%wm>Qt0;&Ok*F)ndpL5NDa*9hkZG|_8Lf$ znYwdGNWtkmZi4z@(?nz?0nbA0Qny8}E_HV}t}l9z2O|an@kqwLE(mM``?8wyNw|4h ze)Rr9PyuBjI3mm}ux~WI%FH%b?Fk?+wB!jCpR zHy%tFX@+0K-@J+*clIDkkl!d?Lwj;6bw5z^%3we$8dE!^;$j3R3riOjE1D~P7nTOL zq9^Y*g%(v$!|QykJLpBKWh^Kr)$OEkXDD*hF`fK0X&gR&zR1=C?mt~P@@CNT{*Ph# zMe6~579vcp0`ogTeOAS7loF$JqZLW&anEBty6xExz5#_qI~`C$nD&0 z7gDgGT;e^@h+Em*VTsVrz&plulC9JHU8b?4*|k*X0tB72a;3#Ra<+fol9_~aQ*KWU zKh14N%?LgrLkEVScw_8m_0yAcrC&DFkt^M)UU3WkrO@fAzFqCooM~ydb7S|KT}_Rx z8~*8?{HM)|LQV8(l>3dL_EjqAa}l7+MtmVp2cQI1*eL?mMW9k)iGI^HJ9W9aOvg4F z1Ny+%ZV@kN%5(+~iJ?(I*xJB_BlQ%0+%hpFtNT+2;FvTGPuNO_%>(fI1HeYW-eRf+ zH7CpdJu#Ow?m{y{0Yz$w9(w2tDIAhaW1#>JH^i;1<*^uZ-s+Ovl;9c4)Q|Hb@|-z% zgO@z>SP}{Fbv*C9gtm09k6JtUN&eh}VR>da#fLTMfHv@BE~KP(qkcx3hz&y2M(8|K zKHs%tt!G6N@J*6ju@MTf(DV?m4X5TUA{m#Ib~9cWmSt;K0p)wEP8V=RoqN6rG3s^! z=#rldBh6=m^`!4X948yG*ay*#yGY}Dbkt>`27{_%<+us$#XR2*G8FaGIc-Cp#Di$X zwzlf*6kC0+@qgckB5s7?-rxHQ=#UUvxyq-A74@UWZqoyW5?Y`^K}NQ?50|>tv+3=>>jj&4YWF}Oh4?G8& z`VKbe8ifjW^q0^eiPU`~ry61-llMqz#q-f;yVbj-$h%at1Bg=|ZSX}ZCWCLUs!b4C zLy1q#e9ao}w$JI193>hj>=@cOcRPNRZ+xaDGOeM~CN4*+Zm|tiMF20ag0P^NJ=<<^ z%kV@-9FP45O@)1_*-q8pkdZLPJX(988rUy4zgu<&{tX_}b*SL6nOhBC0*}vu`cDSh@x#K0iHzEkp zGtgKe58g&e;Trmey+t1V4xn-pek;OwXVJ^)AHr7i{ah>@&{CYfD0z$8FA+Nf%50!K zo;0kK{K4x5f#eWq66_3V0I{P?1NrJgf%!x?DHAm%1lE!qH%gYukT;+K`am6mtr-w! z-xOK)6t)M}jWi1^p}%FyaGnjQz=(MJT0(xCPeUuYeiPH*hfot*OraU^F%_~LYTgq-%WM?}M3=S3f`7nVxs#*;LxR%*ivh>7&_qyg z9%mVQn_~T0Qu#o6sj*74R!7^FX-7>=l0%QhI>v;RJT^&Z&Fc1wATUj_0ji!6Rx-8s zrSJO}5^<~TkkUp<+|#f<{w;_zd0004*kcpY9(~9&;AAaRW2@k5Ey9}&PkrY7r^iL- z!Hk+chPq1*b1A;XX?HJ~Xg48p)G=#N8ScEdeW)}P#Yqgk<0 zWoDPlB5032q4%9|5NBhhw1(iCVv+u`6|^c96<{raPS|@wWL{QmvXJy;DpD2f3UK@` zB5>A|h%B3m9PNc}WXF_~`#yE2uk#2U{w(gV#>(f@tgmUxgJ1J!Hw^DudTY+CI3+L? z))3gC0|^D)zwG1HQ-&CX&=G&T!}rGsK@U(FcZLd}BlpuuHox-7bEGVc%9-U)NWggC z>uprc^OLdC9Y)5`7jaQ2G`sS^1SC7s#q>ZcRFnG~fI^E~nOz~LI_u8ADbiq5TuI41 z#u8UgJd8xYgLu+VKPE^xn&qLhr;U)s2NVJLogPd&M^ijYZRtAs>~xamzP4a?O24RB z?_0=7C;b?I1i6dbFy_IGEt=_l$&Gy_t{kEv`l5YAc{S7aqso*m7VZbc8-+wbN$T*# zes7%T>Ra=NE<9ZfV8a6!+y+!(E=W>G0RV_YwIZ1ptV$Sduk7 zhChKuQ|?P0;|PzXD4vjq%8Ob(z?Ru|GZxSb^8^-whJxZb400y46Za?RVOr4GASpOf zgU=51ygpxC2xot)0L!y2lf{h4-*guIlPqhDle=V;vz1~>m)WFNThK|R&ILc3n^n-fi+FW+0`K2&rZ5JmN25c33>96UKqQu9*#x zx)3W?dZ65{^R)m)gp7ksItnfz^UjHahvRLbo~E376a)gzx!b%kgfW+S3T1qJY|q?i z=(#LJrmLqU_ue`{zY+LYLKmDfBS>OQ)q_35Zdw$aYxjXT)8iPrej4NW;UI!aoKQ|I z{6=Yl)T~SGDi78^Hv9u(=qI%$G-G&_``P+T*+z=j&Xan+eY`-vSE9%9R{{3nQ@`*0 zg^8y~wx!UJ8D3%&yAZ8W^`>dU$+++fz6tYWqxL40yr=hmc*4@SND&K&zSQm?_h;=5 z*_KDZR$7yWq~Q{FLdu2Z!};;U=&tV%#3A_`q?8br@gBitCDmP->NlBAx0 zvS75{AkH+(7c9hn>95pDj~OO3u&)(Ew)0p&pEF@DTZgxZVU=40sv4K@K+6%Vb_*2S z#;z-(v(B-!_&@-stRia-(oa{zx0}xif2MltO_ZuU^jVT$MfdOfsi!1PE~{o*HYLv& zb7=QYm=hQ^(JZu1)0SZs-85I4`E3AKD?fHYvgibT z)D8QJOdf-D+t0U+LEnOoDGcP^ths%`hy+3T76b;(=Y8KGith_&?^l>R+1gDI`2^_V zeG#v_Cu#YNJy-plraT6K+DOfQ$g5cTG-c0oa`G)};p^+BNI$3#O&Y*8FBQTwXXd&O z2=^wyJ#1||(S-`cW+jW}vRMXow6=*o&&rWQi9E_ZH8|&z5^5Ekp5N@kf`~%z$%*R( zPyy(KW`;@ShuZRY7wo10JXbOa)@F?9M(!CD#6#bOq0A2?ZYn3@@iE4e$!zo8lvg+0 z*4*8pSeq!++-&!fowu_~j|3}j6&+G#k;?8=sw=eC0YW0u;;6;ZO~>FPrWbHtHIYf9rOD52EK{(%?EXF4`uKVl0cF_WcpkTiLT)4jHBF z2aS?zMMXoFRAyt9iO59*qZI?KL4=rmd)m65HA7>YfZHwF$4fj1`)(S+Ydf>$iPB3{ zG@(4lM`<4xC-2kDJ~?tGij$706^1GY-u@G~>=kL-T4^8e@3Bm96Lz+MJaxU#Tmg5u zZM-cx*y%H&+uZg<9w~4MdL``yi)Q{6^?sacX5|&C7M+_|_s2b*_ z(meO~=SMVi7WD=N^Qkps8K^w@BK=sDx^aNlKc;p!vj;j7R(`1JhEaGKO!pB@MqL@o z$9D0o2pU7HIANxL6Uga1`G#t25QWXwy(KL)|JGxZ?9?rJmQ5oB2fXfw)u0(tI#HXkmR}R0lxA>OFF#>^VgjM<|pvEyH$=_6R(W^4eNH@L1+J?^%qCukPN-nqEY!q4wc~ViK(d8&<#qUqcfTFA~;6HqFi4-!!Moc93KkDHmZHa z(LfyNti%mlYE!v%+WmSoC-d6@*d&7eN_Wy*G+M2~my|a)L~Vx6{%!PX`sncfLmmu5 ziUi{V3`JpP9&L!Ota39Qcw_pVOsh1-acYQ?U}elRi5!N)91*Q>naURe*-zoH@0yDU zpRUkFhos8{;nfPFjnoybsVk`;m*7lWo<0nsrK0de6cy&!RU4Oaq}~JwzhWo{^ntx^ zKUF-P-~OW?%^g1T>U2lVSxNuV)9Sz z$S;Y>pY6X1P85NE-u_3a$1j1&@AgZ*^3U!6O>Xj6m|xre$>NtT`Xn!yL_$%li=On+TA-~)4e+2y- z;m2R$|JaTDGyE{#-`s&easHdp%U|JtvHj;Q`PI_<-Fis=1N`4K`2LFi$C~t4<@vi2 zlm4&K|A+S8Uw!>CKm6I3JMI74*Z)xS{?*s7IR1Ip{`?@Rv;2*(KP8HPNqqha`o{$E zE8qNX)&CLnFWKj>(0}CnE5rP5SggPE{hNHF2!#AC<${19{`S#_00A-jZ8-?Y{{!kp Bl#BoX diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/com.squareup.okio-okio-3.3.0-hashFunctions-ijhi2Q.klib deleted file mode 100644 index 8ffa40b92ad8c41537f27c363d1c35e016cc1e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2980 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 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-stdlib-2.0.21-commonMain-WPEnbA.klib deleted file mode 100644 index caa93d96d27486d90322316db0db8d7c723725b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144473 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 vc+@u#5GeAJKWF`0|t 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 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-annotationsCommonMain-NjL0Sw.klib deleted file mode 100644 index d79b4164af4dd89b7df85bbc98ee143b2e88f36b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1543 zcmWIWW@Zs#;Nak3U|?_rVg%q|;ABWiO-n4zDbWuNVP#;vaO%4dGedwkJ4h`96I5jY zP6Gsx49HE)%S=lxE`b~5+hfSbWXN;i+rCz}T-J`I!p8Y4n8X)$cr)czy?5tP2s>>S zw=?$&`|N8x>K+f%K0TTGi(lL$ASfoI`?&L|#%k%B@Gm!CYWL16SLLwOd-0?Ejx%5I zPt%o}TvywFo|2l|W*%bd{{Kn3u;E^X>@>YU8H?3Bck zMDqMEj?JXp{FKt1RCq8v4%&9|oc_s^XD;h{>gsj+pE-S6-&5!0ne*CZ=gyx!d;YWU znKPR=KWbZXk$EK}IP9CHH?P$L`oIXUFI2JFU67cZotT~)pPgR<^qF1>Fh0ohnLe?m z8^nVw(aX-uh5NX5;{L3|1_H-aqo+O9UnwZnbn?YoZ;$Qk{1%ujUE(~4-5`Wh@fch5 z1@{-yUk+N8zPV!Q2Oab@AvJ#f0vU_UgS^2tUmz_lCjbowp30Oam_R;*5Gb& zjyd1AZ5prXytJ!v(k+qmrsx0Ky4m!}h0DT^5_iWfTRq+MM^^llscqY9{LG{i7M5Sz zmff6^UUIeNm0+JrLX*dDXUC<&f~#G21y29ECVA5KNHy2hA&agTt~VE)xhsCb$F&vx zqN)=&E2y7(aOSSR#>15XKe&?q9ASO-$LGX`f39Ykx`d zu3L0p!Cs>D_)OF7mW`JCIR1fS@bS{3Y5#z+w}la3Iut?*1aJffBZfI>*$mw@kZzc(Kv@L=_F^*)Z^l748##JG83h5PfmUL;6r0&tvJJW| kAX8yJ03{U!sAoplf+gVuc(byB6te@NI?#kuK;;Y!0F0!hn*aa+ diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlin-kotlin-test-2.0.21-assertionsCommonMain-NjL0Sw.klib deleted file mode 100644 index 0677cf7237a515cb2fe002fb81fc65026303e2f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6026 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 YIvOOK8#MrcX7go20sx>kF9!hr2Rm=-zyJUM diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-atomicfu-0.22.0-nativeMain-dLtvoA.klib deleted file mode 100644 index eb1ced43b7cd382e24063e932cdd5497e8592c50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6272 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 diff --git a/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib b/.kotlin/metadata/kotlinTransformedMetadataLibraries/org.jetbrains.kotlinx-kotlinx-coroutines-core-1.7.3-commonMain-R50ueQ.klib deleted file mode 100644 index 0fdd973df77e122adfbc57f2c669dea6a0a292ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65719 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