implement stripe and idenfy webhooks support
This commit is contained in:
144
research/launcher/examples/README.md
Normal file
144
research/launcher/examples/README.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# Launcher Examples
|
||||
|
||||
This directory contains examples demonstrating how to use the circles launcher.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before running the examples, make sure you have:
|
||||
|
||||
1. Built the worker binary:
|
||||
```bash
|
||||
cd ../worker && cargo build --release
|
||||
```
|
||||
|
||||
2. Built the WebSocket server binary:
|
||||
```bash
|
||||
cd ../server && cargo build --release
|
||||
```
|
||||
|
||||
3. Redis server running on `redis://127.0.0.1:6379`
|
||||
|
||||
## Examples
|
||||
|
||||
### 1. Circle Launcher Example (`circle_launcher_example.rs`)
|
||||
|
||||
Demonstrates the builder pattern API for launching circles programmatically:
|
||||
|
||||
```bash
|
||||
cd src/launcher
|
||||
cargo run --example circle_launcher_example
|
||||
```
|
||||
|
||||
This example shows:
|
||||
- Creating circles with generated public keys
|
||||
- Using the builder pattern API
|
||||
- Launching single and multiple circles
|
||||
- Adding initialization scripts
|
||||
- Proper cleanup between examples
|
||||
|
||||
### 2. Cleanup Example (`cleanup_example.rs`)
|
||||
|
||||
Shows how to clean up all launcher services:
|
||||
|
||||
```bash
|
||||
cd src/launcher
|
||||
cargo run --example cleanup_example
|
||||
```
|
||||
|
||||
### 3. End-to-End Confirmation (`confirm_launch.rs`)
|
||||
|
||||
Tests the complete launcher workflow including service communication:
|
||||
|
||||
```bash
|
||||
cd src/launcher
|
||||
cargo run --example confirm_launch
|
||||
```
|
||||
|
||||
This example:
|
||||
- Launches the launcher binary with command line arguments
|
||||
- Tests worker communication via Redis
|
||||
- Verifies environment variables are set correctly
|
||||
- Performs end-to-end validation
|
||||
|
||||
### 4. OurWorld Example (`ourworld/main.rs`)
|
||||
|
||||
Real-world example using actual circle configurations:
|
||||
|
||||
```bash
|
||||
cd src/launcher
|
||||
cargo run --example ourworld
|
||||
```
|
||||
|
||||
## Command Line Usage
|
||||
|
||||
You can also use the launcher binary directly:
|
||||
|
||||
```bash
|
||||
# Single circle
|
||||
cargo run --bin launcher -- \
|
||||
--circle 02a1b2c3d4e5f6789abcdef... \
|
||||
--worker-binary ../target/release/worker \
|
||||
--port 8080
|
||||
|
||||
# Multiple circles with initialization scripts
|
||||
cargo run --bin launcher -- \
|
||||
--circle 02a1b2c3d4e5f6789abcdef...:test_script.rhai \
|
||||
--circle 03b2c3d4e5f6789abcdef012... \
|
||||
--worker-binary ../target/release/worker \
|
||||
--port 8080
|
||||
|
||||
# With custom Redis URL
|
||||
cargo run --bin launcher -- \
|
||||
--circle 02a1b2c3d4e5f6789abcdef... \
|
||||
--worker-binary ../target/release/worker \
|
||||
--redis-url redis://localhost:6379 \
|
||||
--port 8080
|
||||
```
|
||||
|
||||
## Circle Configuration Format
|
||||
|
||||
Circles can be specified in two formats:
|
||||
|
||||
1. **Public key only**: `02a1b2c3d4e5f6789abcdef...`
|
||||
2. **Public key with init script**: `02a1b2c3d4e5f6789abcdef...:init_script.rhai`
|
||||
|
||||
The public key must be a valid secp256k1 public key in hex format.
|
||||
|
||||
## Service Management
|
||||
|
||||
The launcher uses the system service manager (launchctl on macOS) to manage:
|
||||
|
||||
- **WebSocket server**: `circle-ws-server`
|
||||
- **Worker processes**: `circle-worker-<PUBLIC_KEY>`
|
||||
|
||||
Services are automatically started and can be managed independently after launch.
|
||||
|
||||
## Cleanup
|
||||
|
||||
To clean up all launcher services:
|
||||
|
||||
```bash
|
||||
cargo run --example cleanup_example
|
||||
```
|
||||
|
||||
Or use the library function:
|
||||
|
||||
```rust
|
||||
use circles_launcher::cleanup_launcher;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
cleanup_launcher().await?;
|
||||
Ok(())
|
||||
}
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
1. **Port already in use**: The launcher checks if services are already running and reuses them when possible.
|
||||
|
||||
2. **Worker binary not found**: Make sure to build the worker binary first and specify the correct path.
|
||||
|
||||
3. **Redis connection failed**: Ensure Redis is running and accessible at the specified URL.
|
||||
|
||||
4. **Service manager errors**: Check system logs for service-specific errors. On macOS, use `launchctl list | grep circle` to see service status.
|
146
research/launcher/examples/circle_launcher_example.rs
Normal file
146
research/launcher/examples/circle_launcher_example.rs
Normal file
@@ -0,0 +1,146 @@
|
||||
use circles_launcher::{Circle, Launcher};
|
||||
use rand::rngs::OsRng;
|
||||
use sal_service_manager::create_service_manager;
|
||||
use secp256k1::{PublicKey, Secp256k1, SecretKey};
|
||||
|
||||
const WORKER_BINARY: &str = "../target/release/worker";
|
||||
const SERVER_BINARY: &str = "../target/release/server";
|
||||
const REDIS_URL: &str = "redis://127.0.0.1/";
|
||||
const PORT: u16 = 8080;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
run_examples().await
|
||||
}
|
||||
|
||||
async fn run_examples() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Generate valid secp256k1 keypairs for testing
|
||||
let secp = Secp256k1::new();
|
||||
let mut rng = OsRng;
|
||||
|
||||
let secret_key1 = SecretKey::new(&mut rng);
|
||||
let public_key1 = PublicKey::from_secret_key(&secp, &secret_key1);
|
||||
let pk1_hex = hex::encode(public_key1.serialize());
|
||||
|
||||
let secret_key2 = SecretKey::new(&mut rng);
|
||||
let public_key2 = PublicKey::from_secret_key(&secp, &secret_key2);
|
||||
let pk2_hex = hex::encode(public_key2.serialize());
|
||||
|
||||
let secret_key3 = SecretKey::new(&mut rng);
|
||||
let public_key3 = PublicKey::from_secret_key(&secp, &secret_key3);
|
||||
let pk3_hex = hex::encode(public_key3.serialize());
|
||||
|
||||
println!("Generated test public keys:");
|
||||
println!(" PK1: {}", pk1_hex);
|
||||
println!(" PK2: {}", pk2_hex);
|
||||
println!(" PK3: {}", pk3_hex);
|
||||
|
||||
// Example 1: Simple launcher with single circle
|
||||
println!("\n=== Example 1: Simple Launcher ===");
|
||||
let launcher1 = Launcher {
|
||||
service_manager: tokio::task::spawn_blocking(|| create_service_manager(None))
|
||||
.await??,
|
||||
circles: vec![Circle {
|
||||
public_key: pk1_hex.clone(),
|
||||
init_script: None,
|
||||
}],
|
||||
worker_binary: WORKER_BINARY.to_string(),
|
||||
server_binary: SERVER_BINARY.to_string(),
|
||||
redis_url: REDIS_URL.to_string(),
|
||||
port: PORT,
|
||||
};
|
||||
match launcher1.launch().await {
|
||||
Ok(_) => println!("Circle launched successfully!"),
|
||||
Err(e) => println!("Failed to launch: {}", e),
|
||||
}
|
||||
launcher1.clean().await?;
|
||||
|
||||
// Example 2: Launcher with multiple circles
|
||||
println!("\n=== Example 2: Multiple Circles ===");
|
||||
let launcher2 = Launcher {
|
||||
service_manager: tokio::task::spawn_blocking(|| create_service_manager(None))
|
||||
.await??,
|
||||
circles: vec![
|
||||
Circle {
|
||||
public_key: pk1_hex.clone(),
|
||||
init_script: None,
|
||||
},
|
||||
Circle {
|
||||
public_key: pk2_hex.clone(),
|
||||
init_script: None,
|
||||
},
|
||||
],
|
||||
worker_binary: WORKER_BINARY.to_string(),
|
||||
server_binary: SERVER_BINARY.to_string(),
|
||||
redis_url: REDIS_URL.to_string(),
|
||||
port: PORT,
|
||||
};
|
||||
match launcher2.launch().await {
|
||||
Ok(_) => println!("Multiple circles launched successfully!"),
|
||||
Err(e) => println!("Failed to launch multiple circles: {}", e),
|
||||
}
|
||||
launcher2.clean().await?;
|
||||
|
||||
// Example 3: Multiple circles with initialization scripts
|
||||
println!("\n=== Example 3: Multiple Circles with Init Scripts ===");
|
||||
let launcher3 = Launcher {
|
||||
service_manager: tokio::task::spawn_blocking(|| create_service_manager(None))
|
||||
.await??,
|
||||
circles: vec![
|
||||
Circle {
|
||||
public_key: pk1_hex.clone(),
|
||||
init_script: Some("test_script.rhai".to_string()),
|
||||
},
|
||||
Circle {
|
||||
public_key: pk2_hex.clone(),
|
||||
init_script: Some("test_script.rhai".to_string()),
|
||||
},
|
||||
Circle {
|
||||
public_key: pk3_hex.clone(),
|
||||
init_script: Some("test_script.rhai".to_string()),
|
||||
},
|
||||
],
|
||||
worker_binary: WORKER_BINARY.to_string(),
|
||||
server_binary: SERVER_BINARY.to_string(),
|
||||
redis_url: REDIS_URL.to_string(),
|
||||
port: PORT,
|
||||
};
|
||||
match launcher3.launch().await {
|
||||
Ok(_) => println!("Multiple circles with init scripts launched successfully!"),
|
||||
Err(e) => println!("Failed to launch multiple circles with init scripts: {}", e),
|
||||
}
|
||||
launcher3.clean().await?;
|
||||
|
||||
// Example 4: Mixed configuration (some with scripts, some without)
|
||||
println!("\n=== Example 4: Mixed Configuration ===");
|
||||
let launcher4 = Launcher {
|
||||
service_manager: tokio::task::spawn_blocking(|| create_service_manager(None))
|
||||
.await??,
|
||||
circles: vec![
|
||||
Circle {
|
||||
public_key: pk1_hex.clone(),
|
||||
init_script: Some("test_script.rhai".to_string()),
|
||||
},
|
||||
Circle {
|
||||
public_key: pk2_hex.clone(),
|
||||
init_script: None,
|
||||
},
|
||||
Circle {
|
||||
public_key: pk3_hex.clone(),
|
||||
init_script: Some("test_script.rhai".to_string()),
|
||||
},
|
||||
],
|
||||
worker_binary: WORKER_BINARY.to_string(),
|
||||
server_binary: SERVER_BINARY.to_string(),
|
||||
redis_url: REDIS_URL.to_string(),
|
||||
port: PORT,
|
||||
};
|
||||
match launcher4.launch().await {
|
||||
Ok(_) => println!("Mixed configuration launched successfully!"),
|
||||
Err(e) => println!("Failed to launch mixed configuration: {}", e),
|
||||
}
|
||||
launcher4.clean().await?;
|
||||
|
||||
println!("\nAll examples completed.");
|
||||
Ok(())
|
||||
}
|
13
research/launcher/examples/cleanup_example.rs
Normal file
13
research/launcher/examples/cleanup_example.rs
Normal file
@@ -0,0 +1,13 @@
|
||||
use circles_launcher::cleanup_launcher;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
println!("Cleaning up all launcher services...");
|
||||
|
||||
match cleanup_launcher().await {
|
||||
Ok(_) => println!("Cleanup completed successfully!"),
|
||||
Err(e) => println!("Cleanup failed: {}", e),
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
111
research/launcher/examples/confirm_launch.rs
Normal file
111
research/launcher/examples/confirm_launch.rs
Normal file
@@ -0,0 +1,111 @@
|
||||
use secp256k1::{Secp256k1, SecretKey, PublicKey};
|
||||
use rand::rngs::OsRng;
|
||||
use std::process::{Child, Command, Stdio};
|
||||
use std::time::Duration;
|
||||
|
||||
const REDIS_URL: &str = "redis://127.0.0.1:6379";
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
println!("--- Starting End-to-End Circle Launch Confirmation ---");
|
||||
|
||||
// Generate a test public key
|
||||
let secp = Secp256k1::new();
|
||||
let mut rng = OsRng;
|
||||
let secret_key = SecretKey::new(&mut rng);
|
||||
let public_key = PublicKey::from_secret_key(&secp, &secret_key);
|
||||
let test_public_key = hex::encode(public_key.serialize());
|
||||
|
||||
println!("Using test public key: {}", test_public_key);
|
||||
|
||||
// Start the launcher with the test public key
|
||||
let mut launcher_process: Child = Command::new("cargo")
|
||||
.arg("run")
|
||||
.arg("--bin")
|
||||
.arg("launcher")
|
||||
.arg("--")
|
||||
.arg("--circle")
|
||||
.arg(format!("{}:test_script.rhai", test_public_key))
|
||||
.arg("--worker-binary")
|
||||
.arg("../target/release/worker")
|
||||
.arg("--port")
|
||||
.arg("8080")
|
||||
.stdout(Stdio::piped())
|
||||
.stderr(Stdio::piped())
|
||||
.spawn()?;
|
||||
|
||||
println!(
|
||||
"Launcher process started with PID: {}",
|
||||
launcher_process.id()
|
||||
);
|
||||
|
||||
// Wait a moment for the launcher to start services
|
||||
tokio::time::sleep(Duration::from_secs(5)).await;
|
||||
|
||||
let client = rhai_client::RhaiClientBuilder::new()
|
||||
.redis_url(REDIS_URL)
|
||||
.caller_id("test_launcher")
|
||||
.build()?;
|
||||
|
||||
// Test 1: Verify that CIRCLE_PUBLIC_KEY is set correctly.
|
||||
println!("--- Test 1: Verifying CIRCLE_PUBLIC_KEY ---");
|
||||
let script_circle_pk = r#"CIRCLE_PUBLIC_KEY"#;
|
||||
println!("Submitting script to verify CIRCLE_PUBLIC_KEY...");
|
||||
let task_details_circle_pk = client
|
||||
.new_play_request()
|
||||
.recipient_id(&format!("rhai_tasks:{}", test_public_key))
|
||||
.script(script_circle_pk)
|
||||
.request_id("task_id_circle_pk")
|
||||
.timeout(Duration::from_secs(10))
|
||||
.await_response()
|
||||
.await?;
|
||||
println!("Received task details: {:?}", task_details_circle_pk);
|
||||
assert_eq!(task_details_circle_pk.status, "completed");
|
||||
assert_eq!(task_details_circle_pk.output, Some(test_public_key.to_string()));
|
||||
println!("✅ SUCCESS: Worker correctly reported its CIRCLE_PUBLIC_KEY.");
|
||||
|
||||
// Test 2: Verify that CALLER_PUBLIC_KEY is set correctly when the launcher calls.
|
||||
println!("\n--- Test 2: Verifying CALLER_PUBLIC_KEY for init scripts ---");
|
||||
let script_caller_pk = r#"CALLER_PUBLIC_KEY"#;
|
||||
println!("Submitting script to verify CALLER_PUBLIC_KEY...");
|
||||
let task_details_caller_pk = client
|
||||
.new_play_request()
|
||||
.recipient_id(&format!("rhai_tasks:{}", test_public_key))
|
||||
.script(script_caller_pk)
|
||||
.request_id("task_id_caller_pk")
|
||||
.timeout(Duration::from_secs(10))
|
||||
.await_response()
|
||||
.await?;
|
||||
println!("Received task details: {:?}", task_details_caller_pk);
|
||||
assert_eq!(task_details_caller_pk.status, "completed");
|
||||
// The caller should be "launcher" as set in the RhaiClient
|
||||
println!("✅ SUCCESS: Worker correctly reported CALLER_PUBLIC_KEY for init script.");
|
||||
|
||||
// Test 3: Simple script execution
|
||||
println!("\n--- Test 3: Simple Script Execution ---");
|
||||
let simple_script = r#"print("Hello from worker!"); "test_result""#;
|
||||
println!("Submitting simple script...");
|
||||
let task_details_simple = client
|
||||
.new_play_request()
|
||||
.recipient_id(&format!("rhai_tasks:{}", test_public_key))
|
||||
.script(simple_script)
|
||||
.request_id("task_id_simple")
|
||||
.timeout(Duration::from_secs(10))
|
||||
.await_response()
|
||||
.await?;
|
||||
println!("Received task details: {:?}", task_details_simple);
|
||||
assert_eq!(task_details_simple.status, "completed");
|
||||
assert_eq!(task_details_simple.output, Some("test_result".to_string()));
|
||||
println!("✅ SUCCESS: Worker executed simple script correctly.");
|
||||
|
||||
// Gracefully shut down the launcher
|
||||
println!("Shutting down launcher process...");
|
||||
launcher_process.kill()?;
|
||||
tokio::task::spawn_blocking(move || {
|
||||
let _ = launcher_process.wait();
|
||||
})
|
||||
.await?;
|
||||
println!("--- End-to-End Test Finished Successfully ---");
|
||||
|
||||
Ok(())
|
||||
}
|
37
research/launcher/examples/ourworld/circles.json
Normal file
37
research/launcher/examples/ourworld/circles.json
Normal file
@@ -0,0 +1,37 @@
|
||||
[
|
||||
{
|
||||
"name": "OurWorld",
|
||||
"port": 8090,
|
||||
"script_path": "scripts/ourworld.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Dunia Cybercity",
|
||||
"port": 8091,
|
||||
"script_path": "scripts/dunia_cybercity.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Sikana",
|
||||
"port": 8092,
|
||||
"script_path": "scripts/sikana.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Threefold",
|
||||
"port": 8093,
|
||||
"script_path": "scripts/threefold.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Mbweni",
|
||||
"port": 8094,
|
||||
"script_path": "scripts/mbweni.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Geomind",
|
||||
"port": 8095,
|
||||
"script_path": "scripts/geomind.rhai"
|
||||
},
|
||||
{
|
||||
"name": "Freezone",
|
||||
"port": 8096,
|
||||
"script_path": "scripts/freezone.rhai"
|
||||
}
|
||||
]
|
101
research/launcher/examples/ourworld/main.rs
Normal file
101
research/launcher/examples/ourworld/main.rs
Normal file
@@ -0,0 +1,101 @@
|
||||
//! Example of launching multiple circles and outputting their details to a file.
|
||||
//!
|
||||
//! This example demonstrates how to use the launcher library to start circles
|
||||
//! programmatically, similar to how the `launcher` binary works.
|
||||
//!
|
||||
//! # Usage
|
||||
//!
|
||||
//! ```sh
|
||||
//! cd src/launcher
|
||||
//! cargo run --example ourworld
|
||||
//! ```
|
||||
//!
|
||||
//! This will:
|
||||
//! 1. Read the `circles.json` file in the `examples/ourworld` directory.
|
||||
//! 2. Launch all 7 circles defined in the config.
|
||||
//! 3. Create a `ourworld_output.json` file in the same directory with the details.
|
||||
//! 4. The launcher will run until you stop it with Ctrl+C.
|
||||
|
||||
use circles_launcher::{run_launcher, Args};
|
||||
use log::{error, info};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::error::Error as StdError;
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug)]
|
||||
struct OurWorldCircleConfig {
|
||||
pub public_key: String,
|
||||
pub init_script: Option<String>,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn StdError>> {
|
||||
println!("--- Launching OurWorld Example Programmatically ---");
|
||||
|
||||
let example_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("examples/ourworld");
|
||||
let config_path = example_dir.join("circles.json");
|
||||
let output_path = example_dir.join("ourworld_output.json");
|
||||
|
||||
println!("Using config file: {:?}", config_path);
|
||||
println!("Output will be written to: {:?}", output_path);
|
||||
|
||||
if !config_path.exists() {
|
||||
let msg = format!("Configuration file not found at {:?}", config_path);
|
||||
error!("{}", msg);
|
||||
return Err(msg.into());
|
||||
}
|
||||
|
||||
let config_content = fs::read_to_string(&config_path)?;
|
||||
|
||||
let ourworld_configs: Vec<OurWorldCircleConfig> = match serde_json::from_str(&config_content) {
|
||||
Ok(configs) => configs,
|
||||
Err(e) => {
|
||||
error!(
|
||||
"Failed to parse {}: {}. Ensure it's a valid JSON array of circle configs.",
|
||||
config_path.display(),
|
||||
e
|
||||
);
|
||||
return Err(e.into());
|
||||
}
|
||||
};
|
||||
|
||||
if ourworld_configs.is_empty() {
|
||||
info!(
|
||||
"No circle configurations found in {}. Exiting.",
|
||||
config_path.display()
|
||||
);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
// Convert OurWorld configs to circle strings for the new API
|
||||
let mut circle_strings = Vec::new();
|
||||
for config in &ourworld_configs {
|
||||
let circle_str = if let Some(script) = &config.init_script {
|
||||
format!("{}:{}", config.public_key, script)
|
||||
} else {
|
||||
config.public_key.clone()
|
||||
};
|
||||
circle_strings.push(circle_str);
|
||||
}
|
||||
|
||||
// Manually construct the arguments for the new API
|
||||
let args = Args {
|
||||
port: 443, // Default port
|
||||
circles: circle_strings,
|
||||
redis_url: "redis://127.0.0.1:6379".to_string(),
|
||||
enable_auth: false,
|
||||
worker_binary: Some("../target/release/worker".to_string()),
|
||||
debug: true, // Enable debug logging for the example
|
||||
verbose: 2, // Set verbosity to max
|
||||
};
|
||||
|
||||
println!("Starting launcher with {} circles... Press Ctrl+C to exit.", ourworld_configs.len());
|
||||
|
||||
// The run_launcher function will setup logging, spawn circles, print the table,
|
||||
// and wait for a shutdown signal (Ctrl+C).
|
||||
run_launcher(args).await?;
|
||||
|
||||
println!("--- OurWorld Example Finished ---");
|
||||
Ok(())
|
||||
}
|
249
research/launcher/examples/ourworld/scripts/dunia_cybercity.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/dunia_cybercity.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Dunia Cybercity")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8091/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
249
research/launcher/examples/ourworld/scripts/freezone.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/freezone.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Zanzibar Digital Freezone")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8096/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
249
research/launcher/examples/ourworld/scripts/geomind.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/geomind.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Geomind")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8095/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
249
research/launcher/examples/ourworld/scripts/mbweni.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/mbweni.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Mbweni Ruins & Gardens")
|
||||
.description("Mbweni ruins and Gardens")
|
||||
.ws_url("ws://localhost:8094/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
255
research/launcher/examples/ourworld/scripts/ourworld.rhai
Normal file
255
research/launcher/examples/ourworld/scripts/ourworld.rhai
Normal file
@@ -0,0 +1,255 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Ourworld")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8090/ws")
|
||||
.add_circle("ws://localhost:8091/ws")
|
||||
.add_circle("ws://localhost:8092/ws")
|
||||
.add_circle("ws://localhost:8093/ws")
|
||||
.add_circle("ws://localhost:8094/ws")
|
||||
.add_circle("ws://localhost:8095/ws")
|
||||
.add_circle("ws://localhost:8096/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
249
research/launcher/examples/ourworld/scripts/sikana.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/sikana.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Sikana")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8092/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
249
research/launcher/examples/ourworld/scripts/threefold.rhai
Normal file
249
research/launcher/examples/ourworld/scripts/threefold.rhai
Normal file
@@ -0,0 +1,249 @@
|
||||
// OurWorld Circle and Library Data
|
||||
|
||||
new_circle()
|
||||
.title("Threefold DMCC")
|
||||
.description("Creating a better world.")
|
||||
.ws_url("ws://localhost:8093/ws")
|
||||
.logo("🌍")
|
||||
.save_circle();
|
||||
|
||||
let circle = get_circle();
|
||||
|
||||
print("--- Creating OurWorld Library ---");
|
||||
|
||||
// === IMAGES ===
|
||||
print("Creating images...");
|
||||
|
||||
let nature1 = save_image(new_image()
|
||||
.title("Mountain Sunrise")
|
||||
.description("Breathtaking sunrise over mountain peaks")
|
||||
.url("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature2 = save_image(new_image()
|
||||
.title("Ocean Waves")
|
||||
.description("Powerful ocean waves crashing on rocks")
|
||||
.url("https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let nature3 = save_image(new_image()
|
||||
.title("Forest Path")
|
||||
.description("Peaceful path through ancient forest")
|
||||
.url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech1 = save_image(new_image()
|
||||
.title("Solar Panels")
|
||||
.description("Modern solar panel installation")
|
||||
.url("https://images.unsplash.com/photo-1509391366360-2e959784a276?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let tech2 = save_image(new_image()
|
||||
.title("Wind Turbines")
|
||||
.description("Wind turbines generating clean energy")
|
||||
.url("https://images.unsplash.com/photo-1466611653911-95081537e5b7?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space1 = save_image(new_image()
|
||||
.title("Earth from Space")
|
||||
.description("Our beautiful planet from orbit")
|
||||
.url("https://images.unsplash.com/photo-1446776877081-d282a0f896e2?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let space2 = save_image(new_image()
|
||||
.title("Galaxy Spiral")
|
||||
.description("Stunning spiral galaxy in deep space")
|
||||
.url("https://images.unsplash.com/photo-1502134249126-9f3755a50d78?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
let city1 = save_image(new_image()
|
||||
.title("Smart City")
|
||||
.description("Futuristic smart city at night")
|
||||
.url("https://images.unsplash.com/photo-1480714378408-67cf0d13bc1f?w=800")
|
||||
.width(800).height(600));
|
||||
|
||||
// === PDFs ===
|
||||
print("Creating PDFs...");
|
||||
|
||||
let pdf1 = save_pdf(new_pdf()
|
||||
.title("Climate Action Report 2024")
|
||||
.description("Comprehensive analysis of global climate initiatives")
|
||||
.url("https://www.ipcc.ch/site/assets/uploads/2018/02/ipcc_wg3_ar5_summary-for-policymakers.pdf")
|
||||
.page_count(42));
|
||||
|
||||
let pdf2 = save_pdf(new_pdf()
|
||||
.title("Sustainable Development Goals")
|
||||
.description("UN SDG implementation guide")
|
||||
.url("https://sdgs.un.org/sites/default/files/publications/21252030%20Agenda%20for%20Sustainable%20Development%20web.pdf")
|
||||
.page_count(35));
|
||||
|
||||
let pdf3 = save_pdf(new_pdf()
|
||||
.title("Renewable Energy Handbook")
|
||||
.description("Technical guide to renewable energy systems")
|
||||
.url("https://www.irena.org/-/media/Files/IRENA/Agency/Publication/2019/Oct/IRENA_Renewable-Energy-Statistics-2019.pdf")
|
||||
.page_count(280));
|
||||
|
||||
let pdf4 = save_pdf(new_pdf()
|
||||
.title("Blockchain for Good")
|
||||
.description("How blockchain technology can solve global challenges")
|
||||
.url("https://www.weforum.org/whitepapers/blockchain-beyond-the-hype")
|
||||
.page_count(24));
|
||||
|
||||
let pdf5 = save_pdf(new_pdf()
|
||||
.title("Future of Work Report")
|
||||
.description("Analysis of changing work patterns and remote collaboration")
|
||||
.url("https://www.mckinsey.com/featured-insights/future-of-work")
|
||||
.page_count(156));
|
||||
|
||||
// === MARKDOWN DOCUMENTS ===
|
||||
print("Creating markdown documents...");
|
||||
|
||||
let md1 = save_markdown(new_markdown()
|
||||
.title("OurWorld Mission Statement")
|
||||
.description("Our vision for a better world")
|
||||
.content("# OurWorld Mission\n\n## Vision\nTo create a more sustainable, equitable, and connected world through technology and collaboration.\n\n## Values\n- **Sustainability**: Every decision considers environmental impact\n- **Inclusivity**: Technology that serves everyone\n- **Transparency**: Open source and open governance\n- **Innovation**: Pushing boundaries for positive change\n\n## Goals\n1. Reduce global carbon footprint by 50% by 2030\n2. Provide internet access to 1 billion underserved people\n3. Create 10 million green jobs worldwide\n4. Establish 1000 sustainable communities"));
|
||||
|
||||
let md2 = save_markdown(new_markdown()
|
||||
.title("Getting Started Guide")
|
||||
.description("How to join the OurWorld movement")
|
||||
.content("# Getting Started with OurWorld\n\n## Welcome!\nThank you for joining our mission to create a better world.\n\n## First Steps\n1. **Explore**: Browse our projects and initiatives\n2. **Connect**: Join our community forums\n3. **Contribute**: Find ways to get involved\n4. **Learn**: Access our educational resources\n\n## Ways to Contribute\n- **Developers**: Contribute to open source projects\n- **Activists**: Organize local initiatives\n- **Educators**: Share knowledge and skills\n- **Investors**: Support sustainable ventures\n\n## Resources\n- [Community Forum](https://forum.ourworld.tf)\n- [Developer Portal](https://dev.ourworld.tf)\n- [Learning Hub](https://learn.ourworld.tf)"));
|
||||
|
||||
let md3 = save_markdown(new_markdown()
|
||||
.title("Technology Roadmap 2024")
|
||||
.description("Our technical development plans")
|
||||
.content("# Technology Roadmap 2024\n\n## Q1 Objectives\n- Launch decentralized identity system\n- Deploy carbon tracking blockchain\n- Release mobile app v2.0\n\n## Q2 Objectives\n- Implement AI-powered resource optimization\n- Launch peer-to-peer energy trading platform\n- Deploy IoT sensor network\n\n## Q3 Objectives\n- Release virtual collaboration spaces\n- Launch digital twin cities pilot\n- Implement quantum-safe encryption\n\n## Q4 Objectives\n- Deploy autonomous governance systems\n- Launch global impact measurement platform\n- Release AR/VR sustainability training"));
|
||||
|
||||
let md4 = save_markdown(new_markdown()
|
||||
.title("Community Guidelines")
|
||||
.description("How we work together")
|
||||
.content("# Community Guidelines\n\n## Our Principles\n- **Respect**: Treat everyone with dignity\n- **Collaboration**: Work together towards common goals\n- **Constructive**: Focus on solutions, not problems\n- **Inclusive**: Welcome diverse perspectives\n\n## Communication Standards\n- Use clear, respectful language\n- Listen actively to others\n- Provide constructive feedback\n- Share knowledge freely\n\n## Conflict Resolution\n1. Address issues directly and respectfully\n2. Seek to understand different viewpoints\n3. Involve mediators when needed\n4. Focus on solutions that benefit everyone"));
|
||||
|
||||
|
||||
let investor = new_contact()
|
||||
.name("Example Investor")
|
||||
.save_contact();
|
||||
|
||||
let investors = new_group()
|
||||
.name("Investors")
|
||||
.description("A group for example inverstors of ourworld");
|
||||
|
||||
investors.add_contact(investor.id)
|
||||
.save_group();
|
||||
|
||||
// === BOOKS ===
|
||||
print("Creating books...");
|
||||
|
||||
let sustainability_book = save_book(new_book()
|
||||
.title("Sustainability Handbook")
|
||||
.description("Complete guide to sustainable living and practices")
|
||||
.add_page("# Introduction to Sustainability\n\nSustainability is about meeting our present needs without compromising the ability of future generations to meet their own needs.\n\n## Key Principles\n- Environmental stewardship\n- Social equity\n- Economic viability\n\n## Why It Matters\nOur planet faces unprecedented challenges from climate change, resource depletion, and environmental degradation.")
|
||||
.add_page("# Energy Efficiency\n\n## Home Energy Savings\n- LED lighting reduces energy consumption by 75%\n- Smart thermostats can save 10-15% on heating/cooling\n- Energy-efficient appliances make a significant difference\n\n## Renewable Energy\n- Solar panels: Clean electricity from sunlight\n- Wind power: Harnessing natural wind currents\n- Hydroelectric: Using water flow for energy\n\n## Transportation\n- Electric vehicles reduce emissions\n- Public transit decreases individual carbon footprint\n- Cycling and walking for short distances")
|
||||
.add_page("# Waste Reduction\n\n## The 5 R's\n1. **Refuse**: Say no to unnecessary items\n2. **Reduce**: Use less of what you need\n3. **Reuse**: Find new purposes for items\n4. **Recycle**: Process materials into new products\n5. **Rot**: Compost organic waste\n\n## Practical Tips\n- Use reusable bags and containers\n- Buy products with minimal packaging\n- Repair instead of replacing\n- Donate items you no longer need")
|
||||
.add_page("# Sustainable Food\n\n## Local and Seasonal\n- Support local farmers and reduce transport emissions\n- Eat seasonal produce for better nutrition and taste\n- Visit farmers markets and join CSAs\n\n## Plant-Based Options\n- Reduce meat consumption for environmental benefits\n- Explore diverse plant proteins\n- Grow your own herbs and vegetables\n\n## Food Waste Prevention\n- Plan meals and make shopping lists\n- Store food properly to extend freshness\n- Use leftovers creatively")
|
||||
.add_toc_entry(new_toc_entry().title("Introduction to Sustainability").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Energy Efficiency").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Waste Reduction").page(2))
|
||||
.add_toc_entry(new_toc_entry().title("Sustainable Food").page(3)));
|
||||
|
||||
let tech_guide_book = save_book(new_book()
|
||||
.title("Green Technology Guide")
|
||||
.description("Understanding and implementing green technologies")
|
||||
.add_page("# Green Technology Overview\n\nGreen technology, also known as clean technology, refers to the use of science and technology to create products and services that are environmentally friendly.\n\n## Categories\n- Renewable energy systems\n- Energy efficiency technologies\n- Pollution prevention and cleanup\n- Sustainable materials and manufacturing\n\n## Benefits\n- Reduced environmental impact\n- Lower operating costs\n- Improved public health\n- Economic opportunities")
|
||||
.add_page("# Solar Technology\n\n## How Solar Works\nSolar panels convert sunlight directly into electricity using photovoltaic cells.\n\n## Types of Solar Systems\n- **Grid-tied**: Connected to the electrical grid\n- **Off-grid**: Standalone systems with battery storage\n- **Hybrid**: Combination of grid-tied and battery backup\n\n## Installation Considerations\n- Roof orientation and shading\n- Local climate and sun exposure\n- Energy consumption patterns\n- Available incentives and rebates")
|
||||
.add_page("# Smart Home Technology\n\n## Automation Benefits\n- Optimized energy usage\n- Enhanced comfort and convenience\n- Remote monitoring and control\n- Predictive maintenance\n\n## Key Technologies\n- Smart thermostats\n- Automated lighting systems\n- Energy monitoring devices\n- Smart appliances\n- Home energy management systems")
|
||||
.add_toc_entry(new_toc_entry().title("Green Technology Overview").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Solar Technology").page(1))
|
||||
.add_toc_entry(new_toc_entry().title("Smart Home Technology").page(2)));
|
||||
|
||||
let community_book = save_book(new_book()
|
||||
.title("Building Communities")
|
||||
.description("Guide to creating sustainable and inclusive communities")
|
||||
.add_page("# Community Building Fundamentals\n\n## What Makes a Strong Community?\n- Shared values and vision\n- Open communication channels\n- Mutual support and cooperation\n- Inclusive decision-making processes\n\n## Benefits of Strong Communities\n- Enhanced quality of life\n- Economic resilience\n- Social cohesion\n- Environmental stewardship")
|
||||
.add_page("# Governance and Leadership\n\n## Collaborative Leadership\n- Distributed decision-making\n- Transparent processes\n- Accountability mechanisms\n- Conflict resolution systems\n\n## Community Engagement\n- Regular town halls and meetings\n- Digital participation platforms\n- Volunteer coordination\n- Feedback and improvement cycles")
|
||||
.add_toc_entry(new_toc_entry().title("Community Building Fundamentals").page(0))
|
||||
.add_toc_entry(new_toc_entry().title("Governance and Leadership").page(1)));
|
||||
|
||||
// === SLIDES ===
|
||||
print("Creating slides...");
|
||||
|
||||
let climate_slides = save_slides(new_slides()
|
||||
.title("Climate Change Awareness")
|
||||
.description("Visual presentation on climate change impacts and solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1569163139394-de4e4f43e4e3?w=1200", "Global Temperature Rise")
|
||||
.add_slide("https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200", "Melting Ice Caps")
|
||||
.add_slide("https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200", "Extreme Weather Events")
|
||||
.add_slide("https://images.unsplash.com/photo-1473341304170-971dccb5ac1e?w=1200", "Renewable Energy Solutions")
|
||||
.add_slide("https://images.unsplash.com/photo-1497436072909-f5e4be1dffea?w=1200", "Sustainable Transportation"));
|
||||
|
||||
let innovation_slides = save_slides(new_slides()
|
||||
.title("Innovation Showcase")
|
||||
.description("Cutting-edge technologies for a sustainable future")
|
||||
.add_slide("https://images.unsplash.com/photo-1518709268805-4e9042af2176?w=1200", "AI and Machine Learning")
|
||||
.add_slide("https://images.unsplash.com/photo-1639322537228-f710d846310a?w=1200", "Blockchain Technology")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092160562-40aa08e78837?w=1200", "IoT and Smart Cities")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?w=1200", "Quantum Computing")
|
||||
.add_slide("https://images.unsplash.com/photo-1581092162384-8987c1d64718?w=1200", "Biotechnology Advances"));
|
||||
|
||||
let nature_slides = save_slides(new_slides()
|
||||
.title("Biodiversity Gallery")
|
||||
.description("Celebrating Earth's incredible biodiversity")
|
||||
.add_slide("https://images.unsplash.com/photo-1564349683136-77e08dba1ef7?w=1200", "Tropical Rainforest")
|
||||
.add_slide("https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=1200", "Coral Reef Ecosystem")
|
||||
.add_slide("https://images.unsplash.com/photo-1551698618-1dfe5d97d256?w=1200", "Arctic Wildlife")
|
||||
.add_slide("https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1200", "Mountain Ecosystems"));
|
||||
|
||||
// === COLLECTIONS ===
|
||||
print("Creating collections...");
|
||||
|
||||
let nature_collection = save_collection(new_collection()
|
||||
.title("Nature & Environment")
|
||||
.description("Beautiful images and resources about our natural world")
|
||||
.add_image(nature1.id)
|
||||
.add_image(nature2.id)
|
||||
.add_image(nature3.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id)
|
||||
.add_book(sustainability_book.id)
|
||||
.add_slides(nature_slides.id));
|
||||
|
||||
let technology_collection = save_collection(new_collection()
|
||||
.title("Sustainable Technology")
|
||||
.description("Innovations driving positive change")
|
||||
.add_image(tech1.id)
|
||||
.add_image(tech2.id)
|
||||
.add_pdf(pdf3.id)
|
||||
.add_pdf(pdf4.id)
|
||||
.add_markdown(md3.id)
|
||||
.add_book(tech_guide_book.id)
|
||||
.add_slides(innovation_slides.id));
|
||||
|
||||
let space_collection = save_collection(new_collection()
|
||||
.title("Space & Cosmos")
|
||||
.description("Exploring the universe and our place in it")
|
||||
.add_image(space1.id)
|
||||
.add_image(space2.id)
|
||||
.add_pdf(pdf2.id)
|
||||
.add_markdown(md2.id));
|
||||
|
||||
let community_collection = save_collection(new_collection()
|
||||
.title("Community & Collaboration")
|
||||
.description("Building better communities together")
|
||||
.add_image(city1.id)
|
||||
.add_pdf(pdf5.id)
|
||||
.add_markdown(md4.id)
|
||||
.add_book(community_book.id));
|
||||
|
||||
let climate_collection = save_collection(new_collection()
|
||||
.title("Climate Action")
|
||||
.description("Understanding and addressing climate change")
|
||||
.add_slides(climate_slides.id)
|
||||
.add_pdf(pdf1.id)
|
||||
.add_markdown(md1.id));
|
||||
|
||||
print("✅ OurWorld library created successfully!");
|
||||
print("📚 Collections: 5");
|
||||
print("🖼️ Images: 8");
|
||||
print("📄 PDFs: 5");
|
||||
print("📝 Markdown docs: 4");
|
||||
print("📖 Books: 3");
|
||||
print("🎞️ Slide shows: 3");
|
5
research/launcher/examples/test_circles.json
Normal file
5
research/launcher/examples/test_circles.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"note": "This file is no longer used by the launcher binary.",
|
||||
"new_usage": "Use command line arguments instead:",
|
||||
"example": "cargo run --bin launcher -- --circle 02a1b2c3d4e5f6...:test_script.rhai --worker-binary ../target/release/worker --port 8080"
|
||||
}
|
13
research/launcher/examples/test_script.rhai
Normal file
13
research/launcher/examples/test_script.rhai
Normal file
@@ -0,0 +1,13 @@
|
||||
// Simple test script for circle initialization
|
||||
print("Initialization script running for circle: " + CIRCLE_PUBLIC_KEY);
|
||||
print("Called by: " + CALLER_PUBLIC_KEY);
|
||||
|
||||
// Set some test variables
|
||||
let test_value = 42;
|
||||
let test_message = "Hello from " + CIRCLE_PUBLIC_KEY;
|
||||
|
||||
print("Test value: " + test_value);
|
||||
print("Test message: " + test_message);
|
||||
|
||||
// Return a success message
|
||||
"Initialization completed successfully"
|
Reference in New Issue
Block a user