kitgit

tirbofish/dropbear · commit

dffd0220897f8f2ba1607ca050bbe34f1c6a254f

created new licensing (DEL), creating new package for generating bindings for rust types for gleam LSP (gleek). about to publish first version onto crates.io

Unverified

tk <4tkbytes@pm.me> · 2025-08-30 08:16

view full diff

diff --git a/Cargo.toml b/Cargo.toml
index cde9eb4..c00c557 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,12 +1,12 @@
 [workspace]
 package.version = "0.1.2"
 package.edition = "2024"
-package.license = "GPL-3.0-or-later"
+package.license-file = "LICENSE.md"
 package.repository = "https://github.com/4tkbytes/dropbear-engine"
 package.readme = "README.md"
 
 resolver = "3"
-members = ["dropbear-engine", "eucalyptus", "redback-runtime"]
+members = ["dropbear-engine", "eucalyptus", "gleek", "redback-runtime"]
 
 [workspace.dependencies]
 anyhow = { version = "1.0", features = ["backtrace"] }
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..cf0c029
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,35 @@
+dropbear Engine License (DEL) – Version 1.2
+
+Copyright (c) 2025 4tkbytes
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software (the "engine") and associated components (including Eucalyptus Editor, 
+and redback-runtime), to use, copy, modify, and integrate
+them into their own projects, subject to the following conditions:
+
+1. Attribution
+    - Any project that uses the engine must give visible credit to "dropbear engine", 
+      and "Eucalyptus Editor" in documentation, credits,
+      or about sections.
+    - For redback-runtime, credit must also be given, even if it is renamed per project.
+
+2. No Rebranding
+    - You may not distribute the dropbear engine or the Eucalyptus Editor
+      itself under a different name, or claim ownership of them.
+    - **Exception:** redback-runtime may be renamed to match the project name if necessary for execution,
+      provided credit to "redback-runtime" is included.
+
+3. Derivative Works
+    - You may create your own projects, libraries, or engines based on the engine.
+    - These projects may be licensed under any license you choose, as long as they
+      respect sections 1 and 2 above.
+
+4. Distribution
+    - You may distribute modified or unmodified projects built on top of the engine
+      as long as attribution and no-rebranding rules are followed.
+
+5. Disclaimer
+    - THE ENGINE AND ALL COMPONENTS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
+    - THE AUTHOR SHALL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY.
+
+By using the engine or its components, you agree to abide by this license.
diff --git a/README.md b/README.md
index 79677ac..abd85fb 100644
--- a/README.md
+++ b/README.md
@@ -47,21 +47,33 @@ If you do not want to build it locally, you are able to download the latest acti
 
 ~~Depsite it looking like a dependency for `eucalyptus`, it can serve as a framework too. Looking through the `docs.rs` will you find related documentation onhow to use it and for rendering your own projects.~~
 
-dropbear cannot be used as a framework (yet), but is best compatible with the eucalyptus editor when making games. For scripting, eucalyptus uses `rhai`, a new language that works with rust. 
+dropbear cannot be used as a framework (yet), but is best compatible with the eucalyptus editor when making games. For 
+scripting, eucalyptus uses `rhai`, a new language that works with rust. 
 
-The rhai reference for the eucalyptus editor is under the /docs folder of this repository, so take a look there. [Here is the entrance](https://github.com/4tkbytes/dropbear/blob/main/docs/README.md)
+The rhai reference for the eucalyptus editor is under the /docs folder of this repository, so take a look there. 
+[Here is the entrance](https://github.com/4tkbytes/dropbear/blob/main/docs/README.md)
 
 ## Compability
 
 |            | Windows | macOS | Linux | Web | Android | iOS |
 |------------|---------|-------|-------|-----|---------|-----|
-| eucalyptus |    ✅    |   ✅   |   ✅   |  ❌+  |    ❌+    |  ❌+  |
-| redback    |    ✅    |   ✅   |   ✅   |  ❌*  |    ❌*    |  ❌  |
-* made some progress on implementing
-+ will never be implemented as its never supposed to be for that platform
+| eucalyptus |    ✅    |   ✅   |   ✅   |  ❌<sup>1</sup>  |    ❌<sup>1</sup>    |  ❌<sup>1</sup>  |
+| redback    |    ✅    |   ✅   |   ✅   |  ❌<sup>2</sup>  |    ❌<sup>2</sup>    |  ❌  |
+
+<sup>1</sup> Will never be implemented; not intended for that platform.
+
+<sup>2</sup>  Made some progress on implementing.
+
 
 To be fair, I do not plan on supporting web, android or iOS yet (as it isnt even completed with the basic idea). Maybe I will...?
 
 ## Contributions
 
 Yeah yeah, go ahead and contribute. Make sure it works, and its not spam, and any tests pass.
+
+# Licensing
+In the case someone actually makes something with my engine and distributes it, it (meaning **dropbear-engine**, 
+**eucalyptus** and **redback-runtime**) must abide by the license in [LICENSE.md](LICENSE.md). 
+
+The gleek package is licensed under the [MIT License](https://mit-license.org/), which allows for anyone to use my 
+library without _much_ restrictions. 
\ No newline at end of file
diff --git a/dropbear-engine/Cargo.toml b/dropbear-engine/Cargo.toml
index 05012b1..77b3464 100644
--- a/dropbear-engine/Cargo.toml
+++ b/dropbear-engine/Cargo.toml
@@ -4,7 +4,7 @@ description = "A game engine made by 4tkbytes. Thats really it..."
 
 version.workspace = true
 edition.workspace = true
-license.workspace = true
+license-file.workspace = true
 repository.workspace = true
 readme.workspace = true
 
diff --git a/eucalyptus/Cargo.toml b/eucalyptus/Cargo.toml
index 4f7aa15..0f77716 100644
--- a/eucalyptus/Cargo.toml
+++ b/eucalyptus/Cargo.toml
@@ -6,7 +6,7 @@ exclude = ["resources"]
 
 version.workspace = true
 edition.workspace = true
-license.workspace = true
+license-file.workspace = true
 repository.workspace = true
 readme.workspace = true
 
@@ -94,7 +94,6 @@ data-only = [
     "winit",
     "hecs",
     "ron",
-#    "git2",
     "log-once",
     "once_cell",
     "egui",
diff --git a/gleek/Cargo.toml b/gleek/Cargo.toml
new file mode 100644
index 0000000..69fc3db
--- /dev/null
+++ b/gleek/Cargo.toml
@@ -0,0 +1,10 @@
+[package]
+name = "gleek"
+edition.workspace = true
+description = "A way to generate Gleam stubs for your rust code (assuming its compiled to JavaScript)"
+version = "0.0.1"
+license = "MIT"
+repository.workspace = true
+readme = "README.md"
+
+[dependencies]
diff --git a/gleek/README.md b/gleek/README.md
new file mode 100644
index 0000000..cadb3fd
--- /dev/null
+++ b/gleek/README.md
@@ -0,0 +1,6 @@
+# gleek
+This crate contains proc-macros that convert types and functions into modules for the Gleam language to 
+reference as **stubs** into your own Gleam projects and allow type safety + better debugging with the LSP. 
+
+## Requirements
+Gleam can only be compiled to JavaScript to be used with rust, so it is not compatible with a normal Erlang compilation. 
\ No newline at end of file
diff --git a/gleek/src/lib.rs b/gleek/src/lib.rs
new file mode 100644
index 0000000..b93cf3f
--- /dev/null
+++ b/gleek/src/lib.rs
@@ -0,0 +1,14 @@
+pub fn add(left: u64, right: u64) -> u64 {
+    left + right
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn it_works() {
+        let result = add(2, 2);
+        assert_eq!(result, 4);
+    }
+}
diff --git a/redback-runtime b/redback-runtime
index 3192b06..922f1bd 160000
--- a/redback-runtime
+++ b/redback-runtime
@@ -1 +1 @@
-Subproject commit 3192b06e844778d16757ea44940598039c695901
+Subproject commit 922f1bd096aefbce8bac8c6a7c699c144c3a4307