This is an automated email from the ASF dual-hosted git repository.

piotr pushed a commit to branch simulator_ui
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/simulator_ui by this push:
     new 15cec2519 Update readme
15cec2519 is described below

commit 15cec2519470e508a80468f5f93d565b4258a0de
Author: spetz <[email protected]>
AuthorDate: Thu Apr 2 20:37:47 2026 +0200

    Update readme
---
 core/simulator_ui/Cargo.toml |  8 ++---
 core/simulator_ui/README.md  | 81 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+), 4 deletions(-)

diff --git a/core/simulator_ui/Cargo.toml b/core/simulator_ui/Cargo.toml
index 9b8ee1906..1a2a3a6c0 100644
--- a/core/simulator_ui/Cargo.toml
+++ b/core/simulator_ui/Cargo.toml
@@ -21,6 +21,10 @@ version = "0.1.0"
 edition = "2024"
 publish = false
 
+[[bin]]
+name = "simulator-ui"
+path = "src/main.rs"
+
 [dependencies]
 bevy = { version = "0.18" }
 bevy_prototype_lyon = "0.16"
@@ -31,7 +35,3 @@ iggy_common = { path = "../common" }
 simulator = { path = "../simulator" }
 tracing = { workspace = true }
 tracing-subscriber = { workspace = true }
-
-[[bin]]
-name = "simulator-ui"
-path = "src/main.rs"
diff --git a/core/simulator_ui/README.md b/core/simulator_ui/README.md
new file mode 100644
index 000000000..74949e055
--- /dev/null
+++ b/core/simulator_ui/README.md
@@ -0,0 +1,81 @@
+# Simulator UI
+
+The `simulator_ui` is a graphical interface for the Viewstamped Replication 
(VSR) Simulator. It is built using the Bevy game engine and provides tools to 
visualize and interact with distributed systems simulations. The `simulator_ui` 
integrates with the `simulator` core to display events, replica states, and 
network conditions in real-time.
+
+The `simulator_ui` is part of the VSR (Viewstamped Replication) Simulator, 
built using the Bevy game engine. It provides a graphical interface for 
simulating and visualizing scenarios related to distributed systems and 
replication protocols within the [simulator](../simulator) core.
+
+## Installation Instructions
+
+### Running on macOS
+
+The application runs out of the box on Apple M-series chips without additional 
dependencies.
+
+### Running on Linux
+
+### Step 1: Install ALSA Dependencies
+
+Before building the project, ensure that ALSA development libraries are 
installed. Use the following commands based on your Linux distribution:
+
+- **Ubuntu/Debian**:
+  ```sh
+  sudo apt-get update
+  sudo apt-get install libasound2-dev pkg-config
+  ```
+
+- **Fedora**:
+  ```sh
+  sudo dnf install alsa-lib-devel pkgconf-pkg-config
+  ```
+
+- **Arch Linux**:
+  ```sh
+  sudo pacman -S alsa-lib pkgconf
+  ```
+
+- **OpenSUSE**:
+  ```sh
+  sudo zypper install alsa-devel pkg-config
+  ```
+
+If you encounter issues, ensure the `PKG_CONFIG_PATH` environment variable is 
set correctly. For example:
+```sh
+export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
+```
+
+### Vulkan Warnings (Optional)
+
+You may encounter Vulkan-related warnings such as:
+- `Unable to find extension: VK_EXT_physical_device_drm`
+- `InstanceFlags::VALIDATION requested, but unable to find layer: 
VK_LAYER_KHRONOS_validation`
+
+These warnings are non-critical and do not affect the application's 
functionality. However, for debugging Vulkan, you can install the Vulkan SDK:
+```sh
+# Example for Linux
+# Download from https://vulkan.lunarg.com/sdk/home and follow the instructions
+export VULKAN_SDK=/path/to/vulkan-sdk
+export PATH=$VULKAN_SDK/bin:$PATH
+export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
+export VK_ICD_FILENAMES=$VULKAN_SDK/etc/vulkan/icd.d
+export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d
+```
+
+To install and run the `simulator_ui` on a Linux system, follow the steps 
below:
+
+### Running the Application
+
+After building, you can run the application from the root repository with:
+```sh
+cargo r --bin simulator_ui
+```
+
+### Observability and Events
+
+The `simulator_ui` leverages the `observability` module from the `simulator` 
core to track and display key simulation events. These events include:
+
+- **ClientRequestReceived**: Logs when a client request is received by a 
replica.
+- **OperationCommitted**: Tracks when an operation is successfully committed.
+- **ViewChangeStarted**: Indicates the start of a view change process.
+- **PrimaryElected**: Logs the election of a new primary replica.
+- **NamespaceProgressUpdated**: Monitors progress within a namespace.
+
+These events are emitted by the `simulator` core and visualized in the UI, 
providing insights into the behavior of the replication protocol.

Reply via email to