diff --git a/.gitignore b/.gitignore index 2e7d6529..c251e36b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,10 @@ -.gradle -build -out -bin +.gradle/ +build/ *.class +*.log +*.tmp + +references/grafx2/doc/quickstart.rtf +out/ +bin/ *.bak -build/ -.gradle/8.8/executionHistory/executionHistory.bin -.gradle/8.8/executionHistory/executionHistory.lock -.gradle/8.8/fileHashes/fileHashes.bin -.gradle/8.8/fileHashes/fileHashes.lock -.gradle/8.8/fileHashes/resourceHashesCache.bin -.gradle/buildOutputCleanup/buildOutputCleanup.lock -.gradle/8.8/checksums/checksums.lock -.gradle/8.8/checksums/md5-checksums.bin -.gradle/8.8/checksums/sha1-checksums.bin -.gradle/8.8/executionHistory/executionHistory.bin -.gradle/8.8/executionHistory/executionHistory.lock -.gradle/8.8/fileHashes/fileHashes.bin -.gradle/8.8/fileHashes/fileHashes.lock -.gradle/8.8/fileHashes/resourceHashesCache.bin -.gradle/buildOutputCleanup/buildOutputCleanup.lock -.gradle -.gradle -.gradle diff --git a/.gitmodules b/.gitmodules index 20c4e73a..15f092b3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -124,3 +124,18 @@ [submodule "bobcoin"] path = bobcoin url = https://github.com/robertpelloni/bobcoin +[submodule "references/defold"] + path = references/defold + url = https://github.com/defold/defold +[submodule "references/love2d"] + path = references/love2d + url = https://github.com/love2d/love +[submodule "references/phaser"] + path = references/phaser + url = https://github.com/phaserjs/phaser +[submodule "libs/bobui"] + path = libs/bobui + url = https://github.com/robertpelloni/bobui +[submodule "references/voidsprite"] + path = references/voidsprite + url = https://github.com/counter185/voidsprite diff --git a/AGENTS.md b/AGENTS.md index 9b33141f..c31577bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,2 +1,3 @@ # Agents Instructions -Please refer to [LLM_INSTRUCTIONS.md](LLM_INSTRUCTIONS.md) for core instructions. +Please refer to [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md) for core instructions. +Always remember to bump the version in `VERSION.md`, update `CHANGELOG.md`, and include the version number in the git commit message. diff --git a/CHANGELOG.md b/CHANGELOG.md index 28e33602..bdfb7252 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,21 @@ All notable changes to this project will be documented in this file. +## [2.0.31] - 2026-04-27 + +### Fixed +- Stabilized documentation and submodule sync loop. + +## [2.0.31] - 2026-04-26 + +### Added +- Created `VISION.md`, `MEMORY.md`, `DEPLOY.md`, and `TODO.md` to comprehensively document project goals, observations, deployment steps, and upcoming tasks. +- Added new references for Defold, Love2D, Phaser, and `bobui` to the git submodules for feature analysis and integration. +- Updated `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `GPT.md`, `copilot-instructions.md`, and `LLM_INSTRUCTIONS.md` to point to the universal LLM instructions. + +### Changed +- Bumped `VERSION.md` to `2.0.31`. + ## [2.0.30] - 2026-04-06 ### Added diff --git a/CLAUDE.md b/CLAUDE.md index bf47b9ff..c31577bf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,2 +1,3 @@ -# Claude Instructions -Please refer to [LLM_INSTRUCTIONS.md](LLM_INSTRUCTIONS.md) for core instructions. +# Agents Instructions +Please refer to [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md) for core instructions. +Always remember to bump the version in `VERSION.md`, update `CHANGELOG.md`, and include the version number in the git commit message. diff --git a/DEPLOY.md b/DEPLOY.md new file mode 100644 index 00000000..1f4068dd --- /dev/null +++ b/DEPLOY.md @@ -0,0 +1,17 @@ +# DEPLOY: Deployment Instructions + +The project consists of multiple deployable artifacts: + +## Server Deployment (Docker) +1. Ensure Docker and docker-compose are installed. +2. Configure `server.properties` or environment variables for database credentials. +3. Run `docker-compose up --build -d` to launch the Game Server, STUN Server, and MySQL database. + +## Client Deployment +1. Build the client using Gradle: `./gradlew :client:build` +2. Run the client: `./gradlew :client:run` + +## Web Deployment (Hetzner / bobsgameweb) +*(To be expanded as the web port is finalized)* +- Target: 30-player cross-platform multiplayer, leaderboards, and live editing. +- Ensure all WebSocket proxy layers are configured to bridge web traffic to the Netty TCP backend. diff --git a/GEMINI.md b/GEMINI.md index f63bcd10..c31577bf 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -1,2 +1,3 @@ -# Gemini Instructions -Please refer to [LLM_INSTRUCTIONS.md](LLM_INSTRUCTIONS.md) for core instructions. +# Agents Instructions +Please refer to [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md) for core instructions. +Always remember to bump the version in `VERSION.md`, update `CHANGELOG.md`, and include the version number in the git commit message. diff --git a/GPT.md b/GPT.md index f60ce54a..c31577bf 100644 --- a/GPT.md +++ b/GPT.md @@ -1,2 +1,3 @@ -# GPT Instructions -Please refer to [LLM_INSTRUCTIONS.md](LLM_INSTRUCTIONS.md) for core instructions. +# Agents Instructions +Please refer to [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md) for core instructions. +Always remember to bump the version in `VERSION.md`, update `CHANGELOG.md`, and include the version number in the git commit message. diff --git a/HANDOFF.md b/HANDOFF.md index 37526399..f784cbd5 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -181,3 +181,20 @@ This session focused on modernizing the internal Swing-based Editor tools (`Spri * **Undo System:** The undo system works (`CompoundEdit`) but could be more robust (limit stack size, memory usage). * **Animation Features:** Timeline view, Tags (Idle, Walk). * **Visual Dialogue Graph:** The current editor is text-based with preview. A node-based editor would be a massive improvement. + +--- + +## Handoff - Google Jules (Version 2.0.31) + +### Action Taken +1. **Documentation Updates:** Created `VISION.md`, `MEMORY.md`, `DEPLOY.md`, `TODO.md` in the root. +2. **LLM Instructions:** Appended universal instructions link to agent files. +3. **Submodules:** Added git submodules for `defold`, `love2d`, `phaser`, and `bobui`. +4. **Version Bump:** Bumped the version to `2.0.31` in `VERSION.md` and updated `CHANGELOG.md`. + +### Next Steps +- Port the legacy Swing `bgeditor` to JavaFX and/or C++ (Qt6) using `bobui`. +- Port bgeditor to Web. +- Implement advanced selection tools (Polygon Lasso) in the Sprite Editor. +- Build the UI for Generative AI tools (Text-to-Sprite, Image-to-Sprite). +- Integrate submodules related to generative AI. diff --git a/LLM_INSTRUCTIONS.md b/LLM_INSTRUCTIONS.md index f58fff7d..e571197c 100644 --- a/LLM_INSTRUCTIONS.md +++ b/LLM_INSTRUCTIONS.md @@ -14,3 +14,6 @@ This is the Java (LibGDX) implementation of the unified puzzle engine. - Refer to [AGENTS.md](AGENTS.md) for agent roles. - Refer to [VERSION.md](VERSION.md) for the current version. - Refer to [CHANGELOG.md](CHANGELOG.md) for historical changes. + +## 4. Universal Omni-Workspace Instructions +For workspace-wide context, rules on merging, and cross-repo interactions, refer to the root [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md). diff --git a/MEMORY.md b/MEMORY.md new file mode 100644 index 00000000..9038f364 --- /dev/null +++ b/MEMORY.md @@ -0,0 +1,9 @@ +# MEMORY: Observations & Design Preferences + +- **Architecture:** The project is deeply modular, with distinct `client`, `server`, and `shared` modules. +- **Language:** Migrating towards modern Java 21 features. Strong preference for clean, well-structured, straightforward code. +- **UI/UX:** Every feature must be comprehensively represented in the UI. No hidden functionality. Must have exhaustive tooltips, labels, and documentation. +- **Submodules:** The project aggressively incorporates external open-source projects as git submodules in `libs/` and `references/` to study their features, algorithms, and workflows. +- **Versioning:** A single `VERSION.md` file serves as the universal source of truth for the project version. Every build/session requires a version increment and a corresponding `CHANGELOG.md` entry. +- **AI Collaboration:** Continuous, iterative development through agent handoffs (Gemini -> Claude -> GPT), with strict requirements for updating `HANDOFF.md` and following `UNIVERSAL_LLM_INSTRUCTIONS.md`. +- **Refactoring:** Legacy code (e.g., Swing-based editors) is being actively modernized, ported to JavaFX/Web/C++ (Qt6), and refined for extreme robustness. diff --git a/TODO.md b/TODO.md new file mode 100644 index 00000000..0530ea3d --- /dev/null +++ b/TODO.md @@ -0,0 +1,18 @@ +# TODO: Short-Term Tasks & Fixes + +## Documentation & Organization +- [ ] Complete the exhaustive feature analysis of all referenced submodules (Construct, Phaser, GameMaker, etc.). +- [ ] Finalize the comprehensive submodule dashboard with URLs, descriptions, versions, and build numbers. +- [ ] Submodule all generative AI tools. + +## Editor Enhancements +- [ ] Implement advanced selection tools (Polygon Lasso) in the Sprite Editor. +- [ ] Build the UI for Generative AI tools (Text-to-Sprite, Image-to-Sprite). +- [ ] Finalize the Undo/Redo robust Command pattern across all editor tabs. +- [ ] Port the legacy Swing `bgeditor` to JavaFX and/or C++ (Qt6). +- [ ] Port bgeditor to Web. + +## Engine & Multiplayer +- [ ] Ensure `bobsgameweb` has 100% stable deployment to Hetzner. +- [ ] Optimize the Netty 4 pipeline for massive concurrency (30+ players). +- [ ] Clean up and refactor the C++ project using Ultimate++. diff --git a/VERSION.md b/VERSION.md index 07a21997..e2355582 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -2.0.30 +2.0.31 diff --git a/VISION.md b/VISION.md new file mode 100644 index 00000000..3ac10a2b --- /dev/null +++ b/VISION.md @@ -0,0 +1,11 @@ +# VISION: The Ultimate Omni-Engine + +The ultimate goal of this project is to create the absolute most complete, robust, useful, and functional game engine and editor in existence—an "omni-engine" capable of matching and exceeding the 1:1 functionality of every other major 2D game engine (Defold, LÖVE, Phaser, Construct, GameMaker, RPG Maker). + +The project aims to synthesize the best features from dozens of specialized sprite editors, tilemap editors, and voxel tools, integrating them into a cohesive, cross-platform, multi-language suite. It encompasses: +1. **A high-performance C++ core** (integrated with Ultimate++). +2. **A modernized Java backend and client** (Java 21, LWJGL 3, Netty 4). +3. **A versatile Web port** capable of 30-player cross-platform multiplayer. +4. **Advanced Generative AI tools** for sprite generation, animation interpolation, and 3D voxel creation. + +This omni-engine will support seamless game editing, live multiplayer server deployments (e.g., to Hetzner), and global leaderboards. diff --git a/copilot-instructions.md b/copilot-instructions.md index b90f8c1d..c31577bf 100644 --- a/copilot-instructions.md +++ b/copilot-instructions.md @@ -1 +1,3 @@ -See `AGENTS.md`. +# Agents Instructions +Please refer to [docs/UNIVERSAL_LLM_INSTRUCTIONS.md](docs/UNIVERSAL_LLM_INSTRUCTIONS.md) for core instructions. +Always remember to bump the version in `VERSION.md`, update `CHANGELOG.md`, and include the version number in the git commit message. diff --git a/libs/bobui b/libs/bobui new file mode 160000 index 00000000..d46d3172 --- /dev/null +++ b/libs/bobui @@ -0,0 +1 @@ +Subproject commit d46d317205109ecb05a667e4225b2592c9a590ef diff --git a/references/defold b/references/defold new file mode 160000 index 00000000..22711b68 --- /dev/null +++ b/references/defold @@ -0,0 +1 @@ +Subproject commit 22711b688972ddd353b26254363f2bcc49588589 diff --git a/references/love2d b/references/love2d new file mode 160000 index 00000000..347006f6 --- /dev/null +++ b/references/love2d @@ -0,0 +1 @@ +Subproject commit 347006f67d4aed608223346a97c695ce9f339db9 diff --git a/references/phaser b/references/phaser new file mode 160000 index 00000000..8dc8b145 --- /dev/null +++ b/references/phaser @@ -0,0 +1 @@ +Subproject commit 8dc8b145d8e8a7bc05e748c8ee223333f4d46320 diff --git a/references/voidsprite b/references/voidsprite new file mode 160000 index 00000000..b0834396 --- /dev/null +++ b/references/voidsprite @@ -0,0 +1 @@ +Subproject commit b0834396af59e0b10401246eb116e2e6a6bc1bcd