Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ members = [
"crates/egui_graphs",
"crates/demo-core",
"crates/demo-web",
"crates/code-analyzer-web",
"crates/music-visualizer",
]
resolver = "2"

Expand Down Expand Up @@ -46,3 +48,10 @@ bevy = "0.17"
bevy_egui = "0.38"
ureq = { version = "3", default-features = true }
criterion = { version = "0.7", features = ["html_reports"] }

[profile.release]
opt-level = "z" # Size optimization
lto = true # Link-time optimization
codegen-units = 1 # Better optimization
panic = "abort" # Smaller binary
strip = true # Remove debug symbols
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
MIT License

Copyright (c) 2023 <Dmitrii Samsonov blitzarx1@gmail.com>

Copyright (c) 2025 <smrcoder183> and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
Expand Down
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,35 @@ The project implements a Widget for the egui framework, enabling easy visualizat

Check the [web-demo](https://blitzar-tech.github.io/egui_graphs/#g=bipartite.json) for the comprehensive overview of the widget possibilities.

## 🚀 Enhanced Demo Application

This repository includes a comprehensive **code-analyzer-web** demo application showcasing advanced graph visualization features:

### Features

- **📊 Graph Visualization**: Interactive 2D/3D graph visualization with customizable nodes and edges
- **🚨 DDoS Stress Test Simulator**: Real-time network attack simulation with 5 attack patterns
- Monitor metrics: requests, read/write operations, throughput, response times
- Live throughput graphs with gradient visualization
- Comprehensive logging system with 4 severity levels
- **🧠 Neural Network Simulator**: Interactive neural network visualization with live signal propagation
- Configurable architecture (input/hidden/output layers)
- Real-time neuron firing animation
- Weighted synapse visualization
- Customizable colors for all neuron types and synapses
- Adjustable fire rate and propagation speed
- **📋 System Logs**: Timestamped log viewer with color-coded severity levels
- **💾 Import/Export**: JSON, CSV, and Graphviz DOT format support
- **🎨 Full Customization**: Colors, rendering modes, interaction settings

### Run the Enhanced Demo

```bash
cd crates/code-analyzer-web
trunk serve --release
# Opens http://127.0.0.1:8080
```

- [x] Build wasm or native;
- [x] Layouts and custom layout mechanism;
- [x] Zooming and panning;
Expand Down
49 changes: 49 additions & 0 deletions WINDOWS_SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Running egui_graphs Natively on Windows

## Option 1: Use Web Version (Easiest - Already Working!)

The web version is running at **http://127.0.0.1:8080/**
- Full functionality including your new color picker feature
- No additional setup needed
- Works perfectly from WSL

## Option 2: Install Rust on Windows (For Native Windows App)

1. **Download Rust for Windows:**
- Visit: https://rustup.rs/
- Download and run `rustup-init.exe`
- Follow the installation prompts (default options are fine)

2. **Restart your terminal** (close and reopen PowerShell)

3. **Run the demo:**
```powershell
cd "C:\Users\smateorodriguez\OneDrive - Deloitte (O365D)\Documents\personal-projects\egui_graphs"
cargo run -p egui_graphs --example demo
```

## Option 3: WSLg (Windows 11 Only)

If you have Windows 11, WSLg should work automatically. Try:
```bash
wsl
cd '/mnt/c/Users/smateorodriguez/OneDrive - Deloitte (O365D)/Documents/personal-projects/egui_graphs'
cargo run -p egui_graphs --example demo
```

## Your New Color Picker Feature

In the app (web or native):
1. Press **Tab** or click **◀** (bottom-right) to open sidebar
2. Go to **Style** section
3. Scroll to **Custom Colors**
4. Enable and pick colors for nodes and edges!

## Current Status

✅ Code compiled successfully
✅ Web version running at http://127.0.0.1:8080/
✅ Color picker feature implemented and working
❌ Native execution blocked by missing display server in WSL

**Recommendation:** Use the web version - it's fast, fully functional, and requires no additional setup!
5 changes: 5 additions & 0 deletions crates/code-analyzer-web/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[build]
target = "wasm32-unknown-unknown"

[target.wasm32-unknown-unknown]
runner = 'wasm-bindgen-test-runner'
27 changes: 27 additions & 0 deletions crates/code-analyzer-web/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
[package]
name = "code-analyzer-web"
version = "0.1.0"
edition = "2021"
publish = false

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
console_error_panic_hook = "0.1"
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
web-sys = { version = "0.3", features = ["Window", "Document", "HtmlCanvasElement", "HtmlInputElement", "HtmlAnchorElement", "File", "FileList", "FileReader", "Blob", "Url", "Element"] }
egui = "0.33"
eframe = { version = "0.33", features = ["wgpu", "persistence"] }
egui_graphs = { path = "../egui_graphs", features = ["events"] }
egui_commonmark = "0.22"
petgraph = "0.8"
serde = { version = "1.0", features = ["derive"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.3", features = ["wasm_js"] }

[package.metadata.wasm-pack.profile.dev]
wasm-opt = false
Loading