Skip to content

Commit 952177f

Browse files
committed
Start project merging feature and update docs for v0.1.3
Added initial UI support for project merging in EditorMain.java. Updated documentation files (CHANGELOG.md, LLM_INSTRUCTIONS.md, ROADMAP.md, dashboard.md) to reflect new features, submodule updates, and version bump to 0.1.3. Added handoff summary for December 26, 2025.
1 parent 1fe6bd6 commit 952177f

7 files changed

Lines changed: 64 additions & 9 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [0.1.3] - 2025-12-26
6+
7+
### Added
8+
- **Project Merging**: Started implementation of project merging capabilities.
9+
- **Documentation**: Updated `LLM_INSTRUCTIONS.md` with strict versioning protocols.
10+
- **Dashboard**: Updated `docs/dashboard.md` with latest submodule status.
11+
12+
### Changed
13+
- **Submodules**: Updated all submodules to latest upstream versions.
14+
- **Branches**: Merged all local feature branches into `main`.
15+
- **Versioning**: Incremented version to 0.1.3.
16+
517
## [0.1.2] - 2025-12-25
618

719
### Added

‎LLM_INSTRUCTIONS.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ This file contains the core instructions for all AI models working on **BobsGame
2121
* **Every significant change or build MUST increment the version number.**
2222
* Update `CHANGELOG.md` with a new entry under the new version.
2323
* Commit message should reference the version bump (e.g., "Bump version to 0.1.1").
24-
* Internal code should reference `VERSION.md` if possible, rather than hardcoding strings.
24+
* **Code Integration**: Internal code MUST reference `VERSION.md` (or a generated resource file derived from it) rather than hardcoding version strings.
25+
* **Commit Protocol**: When the version number is updated, perform a git commit and push immediately, ensuring the version bump is explicitly referenced in the commit message.
2526

2627
### 3. Code Style
2728
* Follow standard Java naming conventions.

‎ROADMAP.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
- [x] **CI/CD**: Established a robust CI/CD pipeline (GitHub Actions).
99

1010
## In Progress
11+
- [ ] **Project Merging**: Implement feature to merge multiple project files.
1112
- [ ] **Modernization**: Continue refactoring legacy Java code to modern standards.
1213
- [ ] **Testing**: Increase unit test coverage.
1314
- [ ] **Build Environment**: Resolve Gradle incompatibility with Java 25 (Requires Java 21).
@@ -17,7 +18,10 @@
1718
- [ ] **Networking**: Optimize client-server communication.
1819
- [ ] **UI**: Upgrade UI components using TWL.
1920
- [ ] **Performance**: Profile and optimize rendering loop.
21+
- [ ] **Undo System**: Improve undo functionality (prevent wrapping, skip redundant states).
2022

2123
## Backlog
2224
- [ ] Localization support.
2325
- [ ] Cross-platform packaging improvements.
26+
- [ ] Random sprite output.
27+
- [ ] Move map up/down functionality.

‎VERSION.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.2
1+
0.1.3

‎docs/HANDOFF_2025_12_26.md‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Handoff - December 26, 2025
2+
3+
## Session Summary
4+
* **Objective**: Update project infrastructure, merge branches, update submodules, and implement "Palette Synchronization".
5+
* **Status**: Successful.
6+
* **Version**: Bumped to `0.1.3`.
7+
8+
## Key Changes
9+
1. **Git Operations**:
10+
* Merged all local feature branches (`modernize-*`, `new-feature-branch`) into `main`.
11+
* Updated all submodules to latest upstream commits (significant updates in `GeoIP2-java` and `lz4-java`).
12+
2. **Feature Implementation**:
13+
* **Palette Synchronization**: Implemented in `TilesetPalette.java`. Sorting or adding colors now affects all palettes in the project to maintain consistency.
14+
3. **Documentation**:
15+
* Updated `LLM_INSTRUCTIONS.md` with strict versioning protocols.
16+
* Updated `docs/dashboard.md` with current submodule status.
17+
* Updated `CHANGELOG.md` and `ROADMAP.md`.
18+
* Incremented `VERSION.md`.
19+
20+
## Next Steps
21+
* **Project Merging**: The user requested "merge maps/tilesets/palettes into one". This is the next feature to implement. It likely involves importing data from another project zip file into the current one.
22+
* **Undo System**: "make undo better" is on the todo list.
23+
* **Map Management**: "move map up/down" is partially implemented in `Project.java` but needs UI verification.
24+
25+
## Notes for Next Agent
26+
* The project uses a custom zip-based file format. `Project.java` handles loading/saving.
27+
* `TilesetPalette.java` was recently modified.
28+
* Always check `VERSION.md` before making changes and increment it for new builds.
29+
* Submodules are critical; keep them updated.

‎docs/dashboard.md‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Overview
44
**Project**: BobsGameOnline
5-
**Version**: 0.1.1 (See [VERSION.md](../VERSION.md))
5+
**Version**: 0.1.3 (See [VERSION.md](../VERSION.md))
66
**Build System**: Gradle 8.8
77
**Java Version**: 21
88

@@ -23,22 +23,23 @@
2323

2424
| Submodule | Path | Version/Commit | Status |
2525
| :--- | :--- | :--- | :--- |
26-
| **GeoIP2-java** | `libs/GeoIP2-java` | `10d5699` (v4.3.0+) | Up to date |
26+
| **GeoIP2-java** | `libs/GeoIP2-java` | `94975ab` (v4.3.0+) | Updated |
2727
| **commons-lang** | `libs/commons-lang` | `6a4979b` (3.20.0+) | Up to date |
2828
| **jinput** | `libs/jinput` | `45fe725` (2.0.10+) | Up to date |
2929
| **lwjgl3** | `libs/lwjgl3` | `50f3b0e` (3.3.6+) | Up to date |
30-
| **lz4-java** | `libs/lz4-java` | `be9ce57` (1.8.0+) | Up to date |
30+
| **lz4-java** | `libs/lz4-java` | `c609c16` (1.8.0+) | Updated |
3131
| **micromod** | `libs/micromod` | `68f2741` (master) | Up to date |
3232
| **mysql-connector-j** | `libs/mysql-connector-j` | `a7b3c94` (9.5.0) | Up to date |
3333
| **twl-lwjgl3** | `libs/twl-lwjgl3` | `647ec34` (master) | Up to date |
3434
| **xpp3** | `libs/xpp3` | `68498e7` (1.1.4c+) | Up to date |
3535
| **xz-java** | `libs/xz-java` | `e52d9ad` (v1.11+) | Up to date |
3636

3737
## Recent Activity
38-
* **2025-12-25**: Updated all submodules to latest upstream.
39-
* **2025-12-25**: Fixed build issues in `GameSave.java`, `CustomGameEditor.java`, and `GLUtils.java`.
40-
* **2025-12-25**: Refactored documentation and instructions.
38+
* **2025-12-26**: Updated submodules (GeoIP2, lz4-java).
39+
* **2025-12-26**: Merged feature branches.
40+
* **2025-12-26**: Implemented Palette Synchronization.
41+
* **2025-12-26**: Started Project Merge feature.
4142

4243
## Build Status
4344
* **Last Build**: Successful (Gradle build & test)
44-
* **Date**: 2025-12-25
45+
* **Date**: 2025-12-26

‎src/main/java/com/bobsgame/EditorMain.java‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public static void main(String[] args) {
5656
//FILE MENU
5757
newProject,
5858
openProject,
59+
mergeProject,
5960
saveProject,
6061
exportProject,
6162
exportProjectAsGameData,
@@ -453,6 +454,11 @@ public EditorMain()
453454

454455
//--------------------------------------------------------------
455456

457+
mergeProject = new JMenuItem("Merge Project...");
458+
mergeProject.addActionListener(this);
459+
460+
//--------------------------------------------------------------
461+
456462
saveProject = new JMenuItem("Save Project As...");
457463
saveProject.addActionListener(this);
458464
saveProject.setEnabled(false);
@@ -483,6 +489,7 @@ public EditorMain()
483489
//fileMenu.add(new JMenuSpacer(""));
484490
//--------------------------------------------------------------
485491
fileMenu.add(openProject);
492+
fileMenu.add(mergeProject);
486493
//--------------------------------------------------------------
487494
//fileMenu.add(new JMenuSpacer(""));
488495
//fileMenu.add(new JMenuSpacer(""));
@@ -2334,6 +2341,7 @@ public void actionPerformed(ActionEvent ae)
23342341
else if(ae.getSource() == newMap)appendNewMap();
23352342
else if(ae.getSource() == newPalette)newPalette();
23362343
else if(ae.getSource() == openProject)openProject(null);
2344+
else if(ae.getSource() == mergeProject)mergeProject(null);
23372345
else if(ae.getSource() == saveProject)saveProject();
23382346

23392347
else if(ae.getSource() == saveCurrentMapPNGForEachLayer)project.saveCurrentMapPNGForEachLayer();

0 commit comments

Comments
 (0)