gamemindpilot 3.2.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 🛸 GameMindPilot CLI v3.2.1 - The Interactive Architect Suite
1
+ # 🛸 GameMindPilot CLI v3.4.0 - The 3D Forge Update
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/gamemindpilot.svg)](https://www.npmjs.com/package/gamemindpilot)
4
4
  [![downloads](https://img.shields.io/npm/dm/gamemindpilot.svg)](https://www.npmjs.com/package/gamemindpilot)
@@ -53,24 +53,24 @@ While we have a massive toolkit, these 5 features are the absolute best in the i
53
53
  ### 5. AI Security Scan (`security-scan`) - "Mission Critical"
54
54
  * **The Proof**:
55
55
  > **Output Snippet**: "Vulnerability: RPC Spoofing in 'NetController.cs'. Exploit: Cheaters could trigger 'WinGame' events from the client. Remediation: Implement Tick-based HMAC Verification."
56
- # 🛸 GameMindPilot v3.1.0 - The Architect Suite
56
+ # 🛸 GameMindPilot v3.4.0 - The 3D Forge Update
57
57
 
58
58
  **Elevate your Game Development with the Ultimate AI Mission Control.**
59
59
 
60
- GameMindPilot is an industry-grade CLI assistant designed for Senior Game Architects. From narrative-first concepts to technical audits and procedural assets, gmpilot automates the friction so you can focus on the fun.
60
+ GameMindPilot is an industry-grade CLI assistant designed for Senior Game Architects. From narrative-first concepts to technical audits and autonomous 3D generation, gmpilot automates the friction so you can focus on the fun.
61
61
 
62
62
  ---
63
63
 
64
- ## 🚀 New in v3.1.0: The Architect Suite
64
+ ## 🚀 New in v3.4.0: The 3D Forge Update
65
65
 
66
66
  This major release transforms GameMindPilot into a complete game development ecosystem:
67
67
 
68
- 1. **🏗️ Project Architect (`architect`)**: THE KILLER FEATURE. Give a high-level prompt, and GameMindPilot will autonomously scan, read, and modify your entire project structure.
69
- 2. **📄 GDD Architect (`export`)**: Instantly turn your project's AI history into a professional, multi-page Game Design Document.
70
- 3. **📦 Asset Generation v2 (`assets all`)**: Generate full asset suites (items, enemies, VFX) and save them directly to your project as persistent files.
71
- 4. **🖥️ Project Dashboard (`dashboard`)**: Launch a premium, browser-based command center to visualize your project's technical and narrative evolution.
72
- 5. **🏗️ Code Scaffolder (`scaffold`)**: Generate architecture-aware boilerplate for Unity (C#), Pygame (Python), and Web (JS) in seconds.
73
- 6. **🎮 AI Playtester (`playtest`)**: Engage an "AI QA Lead" to perform mental playtests of your mechanics and provide critical balancing feedback.
68
+ 1. **🎮 3D Forge (`assets forge3d`)**: THE GOD-TIER FEATURE. GameMindPilot now speaks Blender! Give a prompt, and the CLI will autonomously script and execute Blender in headless mode to generate a real 3D asset (`.glb`). *Requires Blender installed.*
69
+ 2. **🏗️ Project Architect (`architect`)**: THE KILLER FEATURE. Give a high-level prompt, and GameMindPilot will autonomously scan, read, and modify your entire project structure.
70
+ 3. **🗣️ Interactive Architect Chat (`chat`)**: Real-time project-aware coding directly in the chat with one-click implementation.
71
+ 4. **📄 GDD Architect (`export`)**: Instantly turn your project's AI history into a professional, multi-page Game Design Document.
72
+ 5. **📦 Asset Persistence**: Every generated asset (Scripts, VFX, Materials, 3D Forge) is now saved as a persistent file.
73
+ 6. **🖥️ Project Dashboard (`dashboard`)**: Launch a premium command center to visualize your project's evolution.
74
74
 
75
75
  ---
76
76
 
@@ -7,4 +7,5 @@ export declare const assetCommands: {
7
7
  material: (prompt: string) => Promise<void>;
8
8
  vfx: () => Promise<void>;
9
9
  scaffold: (engine?: string) => Promise<void>;
10
+ forge3d: (prompt: string) => Promise<void>;
10
11
  };
@@ -10,6 +10,7 @@ const logger_1 = require("../utils/logger");
10
10
  const fs_1 = __importDefault(require("fs"));
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const project_1 = require("../utils/project");
13
+ const blender_1 = require("../utils/blender");
13
14
  exports.assetCommands = {
14
15
  script: async (engine = 'unity') => {
15
16
  const spinner = (0, ora_1.default)(`Generating code for ${engine}...`).start();
@@ -94,6 +95,12 @@ exports.assetCommands = {
94
95
  spinner.stop();
95
96
  logger_1.logger.bold('\n--- Sprite Animation Metadata ---');
96
97
  console.log(response);
98
+ if (!fs_1.default.existsSync('.gmpilot/assets')) {
99
+ fs_1.default.mkdirSync('.gmpilot/assets', { recursive: true });
100
+ }
101
+ const filename = `.gmpilot/assets/sprite_${desc.replace(/\s+/g, '_')}_${Date.now()}.md`;
102
+ fs_1.default.writeFileSync(filename, response);
103
+ logger_1.logger.success(`Sprite metadata saved to: ${filename}`);
97
104
  }
98
105
  catch (err) {
99
106
  spinner.stop();
@@ -107,6 +114,12 @@ exports.assetCommands = {
107
114
  spinner.stop();
108
115
  logger_1.logger.bold('\n--- PBR Material Maps ---');
109
116
  console.log(response);
117
+ if (!fs_1.default.existsSync('.gmpilot/assets')) {
118
+ fs_1.default.mkdirSync('.gmpilot/assets', { recursive: true });
119
+ }
120
+ const filename = `.gmpilot/assets/material_${prompt.replace(/\s+/g, '_')}_${Date.now()}.md`;
121
+ fs_1.default.writeFileSync(filename, response);
122
+ logger_1.logger.success(`Material maps saved to: ${filename}`);
110
123
  }
111
124
  catch (err) {
112
125
  spinner.stop();
@@ -120,6 +133,12 @@ exports.assetCommands = {
120
133
  spinner.stop();
121
134
  logger_1.logger.bold('\n--- VFX Particle Parameters ---');
122
135
  console.log(response);
136
+ if (!fs_1.default.existsSync('.gmpilot/assets')) {
137
+ fs_1.default.mkdirSync('.gmpilot/assets', { recursive: true });
138
+ }
139
+ const filename = `.gmpilot/assets/vfx_${Date.now()}.md`;
140
+ fs_1.default.writeFileSync(filename, response);
141
+ logger_1.logger.success(`VFX parameters saved to: ${filename}`);
123
142
  }
124
143
  catch (err) {
125
144
  spinner.stop();
@@ -149,5 +168,37 @@ exports.assetCommands = {
149
168
  logger_1.logger.error(err.message);
150
169
  }
151
170
  },
171
+ forge3d: async (prompt) => {
172
+ const spinner = (0, ora_1.default)(`Forging 3D Asset: ${prompt}...`).start();
173
+ try {
174
+ const aiPrompt = `As a Senior Blender Technical Artist, write a Blender Python (bpy) script to create a 3D model: "${prompt}".
175
+ Requirements:
176
+ 1. Create the mesh procedurally.
177
+ 2. Export the result as '.glb' to a file named 'output.glb' in the current directory.
178
+ 3. ONLY return the raw Python code. No explanations, no markdown code blocks.`;
179
+ const pythonScript = await ai_service_1.AIService.chat(aiPrompt);
180
+ spinner.text = 'AI script received. Launching Blender Processor...';
181
+ if (!fs_1.default.existsSync('.gmpilot/assets')) {
182
+ fs_1.default.mkdirSync('.gmpilot/assets', { recursive: true });
183
+ }
184
+ const timestamp = Date.now();
185
+ const outputFile = path_1.default.join(process.cwd(), '.gmpilot', 'assets', `forge_${timestamp}.glb`);
186
+ // We need to modify the script slightly to ensure it exports to the correct absolute path
187
+ const modifiedScript = pythonScript + `\nimport bpy\nimport os\nbpy.ops.export_scene.gltf(filepath=r"${outputFile}")`;
188
+ const success = await blender_1.blenderManager.render3D(modifiedScript, outputFile);
189
+ spinner.stop();
190
+ if (success) {
191
+ logger_1.logger.success(`3D Forge Complete: ${outputFile}`);
192
+ project_1.projectManager.addEntry('3D Forge', `Generated 3D Asset for: ${prompt}. Saved to: ${outputFile}`);
193
+ }
194
+ else {
195
+ logger_1.logger.error('3D Forge failed. Ensure Blender is installed and accessible.');
196
+ }
197
+ }
198
+ catch (err) {
199
+ spinner.stop();
200
+ logger_1.logger.error(`Forge Error: ${err.message}`);
201
+ }
202
+ },
152
203
  };
153
204
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/commands/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/commands/assets.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
8
8
  const logger_1 = require("../utils/logger");
9
9
  const config_1 = require("../utils/config");
10
10
  const project_1 = require("../utils/project");
11
+ const blender_1 = require("../utils/blender");
11
12
  const initCommand = async () => {
12
13
  logger_1.logger.bold('--- Initializing GameMindPilot Project ---');
13
14
  const answers = await inquirer_1.default.prompt([
@@ -28,6 +29,10 @@ const initCommand = async () => {
28
29
  // Initialize local project projectManager
29
30
  project_1.projectManager.init(answers.projectName, answers.author);
30
31
  logger_1.logger.success(`Project "${answers.projectName}" initialized for ${answers.author}!`);
32
+ const blenderPath = await blender_1.blenderManager.detect();
33
+ if (!blenderPath) {
34
+ logger_1.logger.info('💡 TIP: For 3D Asset Forge capabilities, we recommend installing Blender (https://www.blender.org/)');
35
+ }
31
36
  logger_1.logger.info('Run "gmpilot --help" to see available features.');
32
37
  };
33
38
  exports.initCommand = initCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,4CAAyC;AACzC,4CAAgD;AAChD,8CAAkD;AAE3C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,eAAe;SACzB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,SAAS;SAC/C;KACF,CAAC,CAAC;IAEH,sBAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C,0CAA0C;IAC1C,wBAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,eAAM,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,WAAW,qBAAqB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACtF,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AACjE,CAAC,CAAC;AAzBW,QAAA,WAAW,eAyBtB"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,4CAAyC;AACzC,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAE3C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,eAAe;SACzB;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,SAAS;SAC/C;KACF,CAAC,CAAC;IAEH,sBAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C,0CAA0C;IAC1C,wBAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD,eAAM,CAAC,OAAO,CAAC,YAAY,OAAO,CAAC,WAAW,qBAAqB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtF,MAAM,WAAW,GAAG,MAAM,wBAAc,CAAC,MAAM,EAAE,CAAC;IAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,eAAM,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IACrH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AACjE,CAAC,CAAC;AA/BW,QAAA,WAAW,eA+BtB"}
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ const program = new commander_1.Command();
44
44
  program
45
45
  .name('gmpilot')
46
46
  .description('GameMindPilot CLI - Your AI Game Development Assistant')
47
- .version('3.2.1');
47
+ .version('3.4.0');
48
48
  const login_1 = require("./commands/login");
49
49
  const chat_1 = require("./commands/chat");
50
50
  const init_1 = require("./commands/init");
@@ -145,6 +145,10 @@ assets
145
145
  .command('all')
146
146
  .description('Generate a complete asset suite (Mastery Level)')
147
147
  .action(assets_1.assetCommands.all);
148
+ assets
149
+ .command('forge3d <prompt>')
150
+ .description('Autonomous 3D Asset Forge (Requires Blender)')
151
+ .action((prompt) => assets_1.assetCommands.forge3d(prompt));
148
152
  program
149
153
  .command('script')
150
154
  .description('Generate code for Unity, Unreal, Godot')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const blenderManager: {
2
+ detect: () => Promise<string | null>;
3
+ render3D: (pythonScript: string, outputFile: string) => Promise<boolean>;
4
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.blenderManager = void 0;
7
+ const child_process_1 = require("child_process");
8
+ const util_1 = require("util");
9
+ const fs_1 = __importDefault(require("fs"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const logger_1 = require("./logger");
12
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
13
+ exports.blenderManager = {
14
+ detect: async () => {
15
+ const commonPaths = [
16
+ 'blender', // If in PATH
17
+ 'C:\\Program Files\\Blender Foundation\\Blender\\blender.exe',
18
+ 'C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe',
19
+ 'C:\\Program Files\\Blender Foundation\\Blender 4.0\\blender.exe',
20
+ '/Applications/Blender.app/Contents/MacOS/Blender',
21
+ '/usr/bin/blender'
22
+ ];
23
+ for (const p of commonPaths) {
24
+ try {
25
+ await execAsync(`${p.includes(' ') ? `"${p}"` : p} --version`);
26
+ return p;
27
+ }
28
+ catch (e) {
29
+ continue;
30
+ }
31
+ }
32
+ return null;
33
+ },
34
+ render3D: async (pythonScript, outputFile) => {
35
+ const blenderPath = await exports.blenderManager.detect();
36
+ if (!blenderPath) {
37
+ logger_1.logger.warn('Blender not detected on this system.');
38
+ logger_1.logger.info('💡 TIP: For 3D Asset Forge, install Blender: https://www.blender.org/download/');
39
+ return false;
40
+ }
41
+ const scriptPath = path_1.default.join(process.cwd(), '.gmpilot', 'temp_blender_script.py');
42
+ fs_1.default.writeFileSync(scriptPath, pythonScript);
43
+ try {
44
+ logger_1.logger.info('🚀 Launching Headless Blender Forge...');
45
+ const command = `"${blenderPath}" --background --python "${scriptPath}"`;
46
+ await execAsync(command);
47
+ logger_1.logger.success(`3D Asset generated successfully: ${outputFile}`);
48
+ return true;
49
+ }
50
+ catch (err) {
51
+ logger_1.logger.error(`Blender Forge Error: ${err.message}`);
52
+ return false;
53
+ }
54
+ finally {
55
+ if (fs_1.default.existsSync(scriptPath))
56
+ fs_1.default.unlinkSync(scriptPath);
57
+ }
58
+ }
59
+ };
60
+ //# sourceMappingURL=blender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blender.js","sourceRoot":"","sources":["../../src/utils/blender.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAqC;AACrC,+BAAiC;AACjC,4CAAoB;AACpB,gDAAwB;AACxB,qCAAkC;AAElC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAErB,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,KAAK,IAA4B,EAAE;QACzC,MAAM,WAAW,GAAG;YAClB,SAAS,EAAE,aAAa;YACxB,6DAA6D;YAC7D,iEAAiE;YACjE,iEAAiE;YACjE,kDAAkD;YAClD,kBAAkB;SACnB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/D,OAAO,CAAC,CAAC;YACX,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,EAAE,KAAK,EAAE,YAAoB,EAAE,UAAkB,EAAoB,EAAE;QAC7E,MAAM,WAAW,GAAG,MAAM,sBAAc,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACpD,eAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;QAClF,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,WAAW,4BAA4B,UAAU,GAAG,CAAC;YACzE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YACzB,eAAM,CAAC,OAAO,CAAC,oCAAoC,UAAU,EAAE,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,eAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gamemindpilot",
3
- "version": "3.2.1",
3
+ "version": "3.4.0",
4
4
  "description": "AI-powered CLI for game developers - Design, Asset Gen, Analysis & Optimization",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -4,6 +4,7 @@ import { logger } from '../utils/logger';
4
4
  import fs from 'fs';
5
5
  import path from 'path';
6
6
  import { projectManager } from '../utils/project';
7
+ import { blenderManager } from '../utils/blender';
7
8
 
8
9
  export const assetCommands = {
9
10
  script: async (engine: string = 'unity') => {
@@ -94,6 +95,13 @@ export const assetCommands = {
94
95
  spinner.stop();
95
96
  logger.bold('\n--- Sprite Animation Metadata ---');
96
97
  console.log(response);
98
+
99
+ if (!fs.existsSync('.gmpilot/assets')) {
100
+ fs.mkdirSync('.gmpilot/assets', { recursive: true });
101
+ }
102
+ const filename = `.gmpilot/assets/sprite_${desc.replace(/\s+/g, '_')}_${Date.now()}.md`;
103
+ fs.writeFileSync(filename, response);
104
+ logger.success(`Sprite metadata saved to: ${filename}`);
97
105
  } catch (err: any) {
98
106
  spinner.stop();
99
107
  logger.error(err.message);
@@ -107,6 +115,13 @@ export const assetCommands = {
107
115
  spinner.stop();
108
116
  logger.bold('\n--- PBR Material Maps ---');
109
117
  console.log(response);
118
+
119
+ if (!fs.existsSync('.gmpilot/assets')) {
120
+ fs.mkdirSync('.gmpilot/assets', { recursive: true });
121
+ }
122
+ const filename = `.gmpilot/assets/material_${prompt.replace(/\s+/g, '_')}_${Date.now()}.md`;
123
+ fs.writeFileSync(filename, response);
124
+ logger.success(`Material maps saved to: ${filename}`);
110
125
  } catch (err: any) {
111
126
  spinner.stop();
112
127
  logger.error(err.message);
@@ -120,6 +135,13 @@ export const assetCommands = {
120
135
  spinner.stop();
121
136
  logger.bold('\n--- VFX Particle Parameters ---');
122
137
  console.log(response);
138
+
139
+ if (!fs.existsSync('.gmpilot/assets')) {
140
+ fs.mkdirSync('.gmpilot/assets', { recursive: true });
141
+ }
142
+ const filename = `.gmpilot/assets/vfx_${Date.now()}.md`;
143
+ fs.writeFileSync(filename, response);
144
+ logger.success(`VFX parameters saved to: ${filename}`);
123
145
  } catch (err: any) {
124
146
  spinner.stop();
125
147
  logger.error(err.message);
@@ -151,4 +173,41 @@ export const assetCommands = {
151
173
  logger.error(err.message);
152
174
  }
153
175
  },
176
+
177
+ forge3d: async (prompt: string) => {
178
+ const spinner = ora(`Forging 3D Asset: ${prompt}...`).start();
179
+ try {
180
+ const aiPrompt = `As a Senior Blender Technical Artist, write a Blender Python (bpy) script to create a 3D model: "${prompt}".
181
+ Requirements:
182
+ 1. Create the mesh procedurally.
183
+ 2. Export the result as '.glb' to a file named 'output.glb' in the current directory.
184
+ 3. ONLY return the raw Python code. No explanations, no markdown code blocks.`;
185
+
186
+ const pythonScript = await AIService.chat(aiPrompt);
187
+ spinner.text = 'AI script received. Launching Blender Processor...';
188
+
189
+ if (!fs.existsSync('.gmpilot/assets')) {
190
+ fs.mkdirSync('.gmpilot/assets', { recursive: true });
191
+ }
192
+
193
+ const timestamp = Date.now();
194
+ const outputFile = path.join(process.cwd(), '.gmpilot', 'assets', `forge_${timestamp}.glb`);
195
+
196
+ // We need to modify the script slightly to ensure it exports to the correct absolute path
197
+ const modifiedScript = pythonScript + `\nimport bpy\nimport os\nbpy.ops.export_scene.gltf(filepath=r"${outputFile}")`;
198
+
199
+ const success = await blenderManager.render3D(modifiedScript, outputFile);
200
+ spinner.stop();
201
+
202
+ if (success) {
203
+ logger.success(`3D Forge Complete: ${outputFile}`);
204
+ projectManager.addEntry('3D Forge', `Generated 3D Asset for: ${prompt}. Saved to: ${outputFile}`);
205
+ } else {
206
+ logger.error('3D Forge failed. Ensure Blender is installed and accessible.');
207
+ }
208
+ } catch (err: any) {
209
+ spinner.stop();
210
+ logger.error(`Forge Error: ${err.message}`);
211
+ }
212
+ },
154
213
  };
@@ -2,6 +2,7 @@ import inquirer from 'inquirer';
2
2
  import { logger } from '../utils/logger';
3
3
  import { configManager } from '../utils/config';
4
4
  import { projectManager } from '../utils/project';
5
+ import { blenderManager } from '../utils/blender';
5
6
 
6
7
  export const initCommand = async () => {
7
8
  logger.bold('--- Initializing GameMindPilot Project ---');
@@ -27,5 +28,11 @@ export const initCommand = async () => {
27
28
  projectManager.init(answers.projectName, answers.author);
28
29
 
29
30
  logger.success(`Project "${answers.projectName}" initialized for ${answers.author}!`);
31
+
32
+ const blenderPath = await blenderManager.detect();
33
+ if (!blenderPath) {
34
+ logger.info('💡 TIP: For 3D Asset Forge capabilities, we recommend installing Blender (https://www.blender.org/)');
35
+ }
36
+
30
37
  logger.info('Run "gmpilot --help" to see available features.');
31
38
  };
package/src/index.ts CHANGED
@@ -12,7 +12,7 @@ const program = new Command();
12
12
  program
13
13
  .name('gmpilot')
14
14
  .description('GameMindPilot CLI - Your AI Game Development Assistant')
15
- .version('3.2.1');
15
+ .version('3.4.0');
16
16
 
17
17
  import { loginCommand, logoutCommand } from './commands/login';
18
18
  import { chatCommand } from './commands/chat';
@@ -138,6 +138,11 @@ assets
138
138
  .description('Generate a complete asset suite (Mastery Level)')
139
139
  .action(assetCommands.all);
140
140
 
141
+ assets
142
+ .command('forge3d <prompt>')
143
+ .description('Autonomous 3D Asset Forge (Requires Blender)')
144
+ .action((prompt) => assetCommands.forge3d(prompt));
145
+
141
146
  program
142
147
  .command('script')
143
148
  .description('Generate code for Unity, Unreal, Godot')
@@ -0,0 +1,55 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import fs from 'fs';
4
+ import path from 'path';
5
+ import { logger } from './logger';
6
+
7
+ const execAsync = promisify(exec);
8
+
9
+ export const blenderManager = {
10
+ detect: async (): Promise<string | null> => {
11
+ const commonPaths = [
12
+ 'blender', // If in PATH
13
+ 'C:\\Program Files\\Blender Foundation\\Blender\\blender.exe',
14
+ 'C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe',
15
+ 'C:\\Program Files\\Blender Foundation\\Blender 4.0\\blender.exe',
16
+ '/Applications/Blender.app/Contents/MacOS/Blender',
17
+ '/usr/bin/blender'
18
+ ];
19
+
20
+ for (const p of commonPaths) {
21
+ try {
22
+ await execAsync(`${p.includes(' ') ? `"${p}"` : p} --version`);
23
+ return p;
24
+ } catch (e) {
25
+ continue;
26
+ }
27
+ }
28
+ return null;
29
+ },
30
+
31
+ render3D: async (pythonScript: string, outputFile: string): Promise<boolean> => {
32
+ const blenderPath = await blenderManager.detect();
33
+ if (!blenderPath) {
34
+ logger.warn('Blender not detected on this system.');
35
+ logger.info('💡 TIP: For 3D Asset Forge, install Blender: https://www.blender.org/download/');
36
+ return false;
37
+ }
38
+
39
+ const scriptPath = path.join(process.cwd(), '.gmpilot', 'temp_blender_script.py');
40
+ fs.writeFileSync(scriptPath, pythonScript);
41
+
42
+ try {
43
+ logger.info('🚀 Launching Headless Blender Forge...');
44
+ const command = `"${blenderPath}" --background --python "${scriptPath}"`;
45
+ await execAsync(command);
46
+ logger.success(`3D Asset generated successfully: ${outputFile}`);
47
+ return true;
48
+ } catch (err: any) {
49
+ logger.error(`Blender Forge Error: ${err.message}`);
50
+ return false;
51
+ } finally {
52
+ if (fs.existsSync(scriptPath)) fs.unlinkSync(scriptPath);
53
+ }
54
+ }
55
+ };