frogjs 1.0.0-alpha.4 → 1.0.0-alpha.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"frog.d.ts","sourceRoot":"","sources":["../frog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frog.d.ts","sourceRoot":"","sources":["../frog.ts"],"names":[],"mappings":"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"}
package/dist/frog.js CHANGED
@@ -3,7 +3,15 @@
3
3
  */
4
4
  export class Sprite {
5
5
  constructor(config) {
6
- this.symbol = config.symbol ?? '';
6
+ // Validate symbol is a single character
7
+ const symbol = config.symbol ?? '';
8
+ if (symbol.length > 1) {
9
+ console.warn(`FrogJS Warning: Sprite symbol should be a single character. Got: "${symbol}" (length: ${symbol.length}). Using first character only.`);
10
+ this.symbol = symbol.charAt(0);
11
+ }
12
+ else {
13
+ this.symbol = symbol;
14
+ }
7
15
  this._x = Math.round(config.x ?? 0);
8
16
  this._y = Math.round(config.y ?? 0);
9
17
  this.alpha = config.alpha ?? 1;
package/dist/frog.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"frog.js","sourceRoot":"","sources":["../frog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frog.js","sourceRoot":"","sources":["../frog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frogjs",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-alpha.5",
4
4
  "description": "FrogJS - A simple framework for making games with symbols/emojis on a grid",
5
5
  "type": "module",
6
6
  "main": "./dist/frog.js",
@@ -13,11 +13,10 @@
13
13
  }
14
14
  },
15
15
  "files": [
16
- "dist",
17
- "AI_GUIDELINES.md"
16
+ "dist"
18
17
  ],
19
18
  "scripts": {
20
- "build": "tsc && node scripts/update-guidelines.js",
19
+ "build": "tsc",
21
20
  "watch": "tsc --watch",
22
21
  "prepublishOnly": "npm run build"
23
22
  },
package/AI_GUIDELINES.md DELETED
@@ -1,417 +0,0 @@
1
- # FrogJS - AI Agent Guidelines
2
-
3
- > **For AI Agents:** This document contains comprehensive guidelines for generating code using the FrogJS game framework.
4
-
5
- **Version:** 1.0.0-alpha.4
6
-
7
- ## Library URLs
8
-
9
- - **Main Library:** `https://cdn.jsdelivr.net/npm/frogjs@1.0.0-alpha.4/dist/frog.js`
10
- - **AI Guidelines:** `https://cdn.jsdelivr.net/npm/frogjs@1.0.0-alpha.4/AI_GUIDELINES.md`
11
-
12
- ## Overview
13
-
14
- FrogJS is a minimal framework for creating web games using emojis and characters on a grid-based canvas.
15
-
16
- ## ⚠️ CRITICAL CONSTRAINT: INTEGER COORDINATES ONLY
17
-
18
- **THE MOST IMPORTANT RULE:**
19
-
20
- FrogJS uses **ONLY integer grid coordinates**. There is **NO support** for fractional positions.
21
-
22
- ### What This Means
23
-
24
- ```javascript
25
- // ✅ CORRECT
26
- sprite.x = 5;
27
- sprite.y = 10;
28
- player.x += 1; // Move one cell right
29
-
30
- // ❌ WRONG - DO NOT DO THIS
31
- sprite.x = 5.5; // NO! Fractional coordinates don't work
32
- sprite.y = 10.7; // NO! Will cause visual glitches
33
- player.x += 0.1; // NO! Not smooth movement
34
- ```
35
-
36
- ### Why?
37
-
38
- FrogJS is **grid-based**, not **pixel-based**:
39
- - Think like a chess board, not a canvas
40
- - Sprites jump from cell to cell
41
- - No sub-cell positioning
42
- - Movement is discrete, not continuous
43
-
44
- ### Grid System
45
-
46
- - Games run on a grid of cells (default: 20×15)
47
- - Each cell can contain one emoji/character
48
- - Coordinates are `(x, y)` where `(0,0)` is top-left
49
- - **x and y MUST be integers:** 0, 1, 2, 3, etc.
50
- - **NEVER use decimals:** NOT 1.5, NOT 2.7, NOT 3.14
51
-
52
- ## TypeScript API Definitions
53
-
54
- Below are the complete TypeScript definitions showing the full API:
55
-
56
- ```typescript
57
- /**
58
- * FrogJS - A simple framework for making games with symbols/emojis on a grid
59
- */
60
- export interface ISprite {
61
- /** The character/emoji to display */
62
- symbol: string;
63
- /** Grid x position */
64
- x: number;
65
- /** Grid y position */
66
- y: number;
67
- /** Transparency (0.0 = invisible, 1.0 = opaque). Default: 1 */
68
- alpha: number;
69
- /** Render order (lower rendered first). Default: 0 */
70
- z: number;
71
- /** Rotation angle in degrees. Default: 0 */
72
- angle: number;
73
- /** If true, sprite ignores scrollX/scrollY (UI element). Default: false */
74
- fixed: boolean;
75
- /** Fill color for the symbol (CSS color). Default: '#ffffff' */
76
- color: string;
77
- }
78
- export declare class Sprite implements ISprite {
79
- symbol: string;
80
- private _x;
81
- private _y;
82
- alpha: number;
83
- z: number;
84
- angle: number;
85
- fixed: boolean;
86
- color: string;
87
- constructor(config: Partial<ISprite>);
88
- /** Grid x position (always an integer) */
89
- get x(): number;
90
- set x(value: number);
91
- /** Grid y position (always an integer) */
92
- get y(): number;
93
- set y(value: number);
94
- }
95
- export interface IGameConfig {
96
- /** HTML element to contain the canvas. If not provided, creates a fullscreen container. Default: auto-created */
97
- container?: HTMLElement;
98
- /** Number of grid cells horizontally. Default: 20 */
99
- gridWidth?: number;
100
- /** Number of grid cells vertically. Default: 15 */
101
- gridHeight?: number;
102
- /** Background color (CSS color). Default: '#000000' */
103
- background?: string;
104
- /** Whether to render grid lines. Default: true */
105
- showGrid?: boolean;
106
- }
107
- export interface ITimer {
108
- /** Unique timer identifier */
109
- id: number;
110
- /** Number of times to execute (-1 for infinite) */
111
- times: number;
112
- }
113
- export declare class Game {
114
- /** Whether to render grid lines. Default: true */
115
- showGrid: boolean;
116
- /** Camera horizontal offset in grid units (always an integer). Default: 0 */
117
- get scrollX(): number;
118
- set scrollX(value: number);
119
- /** Camera vertical offset in grid units (always an integer). Default: 0 */
120
- get scrollY(): number;
121
- set scrollY(value: number);
122
- /** Callback executed every frame. Default: null */
123
- onUpdate: (() => void) | null;
124
- /** Callback executed when pointer/mouse is pressed. Receives world grid coordinates (x, y). Default: null */
125
- onPointerDown: ((x: number, y: number) => void) | null;
126
- /** Callback executed when pointer/mouse is released. Receives world grid coordinates (x, y). Default: null */
127
- onPointerUp: ((x: number, y: number) => void) | null;
128
- constructor(config?: IGameConfig);
129
- /**
130
- * Add a sprite to the game
131
- * @param sprite - The sprite object to add
132
- * @returns The added sprite
133
- */
134
- addSprite(sprite: ISprite): ISprite;
135
- /**
136
- * Check if left arrow key is currently pressed
137
- * @returns True if left arrow is pressed
138
- */
139
- isLeftKeyDown(): boolean;
140
- /**
141
- * Check if right arrow key is currently pressed
142
- * @returns True if right arrow is pressed
143
- */
144
- isRightKeyDown(): boolean;
145
- /**
146
- * Check if up arrow key is currently pressed
147
- * @returns True if up arrow is pressed
148
- */
149
- isUpKeyDown(): boolean;
150
- /**
151
- * Check if down arrow key is currently pressed
152
- * @returns True if down arrow is pressed
153
- */
154
- isDownKeyDown(): boolean;
155
- /**
156
- * Check if space key is currently pressed
157
- * @returns True if space is pressed
158
- */
159
- isSpaceKeyDown(): boolean;
160
- /**
161
- * Get the first sprite at a specific grid cell
162
- * @param x - Grid x coordinate
163
- * @param y - Grid y coordinate
164
- * @returns The first sprite found at the position, or null if none exists
165
- */
166
- getSprite(x: number, y: number): ISprite | null;
167
- /**
168
- * Get all sprites at a specific grid cell
169
- * @param x - Grid x coordinate
170
- * @param y - Grid y coordinate
171
- * @returns Array of all sprites at the position
172
- */
173
- getAllSprites(x: number, y: number): ISprite[];
174
- /**
175
- * Remove a sprite from the game
176
- * @param sprite - The sprite to remove
177
- */
178
- removeSprite(sprite: ISprite): void;
179
- /**
180
- * Clear all sprites from the game
181
- */
182
- clearSprites(): void;
183
- /**
184
- * Enable or disable grid rendering
185
- * @param show - True to show grid, false to hide
186
- */
187
- setShowGrid(show: boolean): void;
188
- /**
189
- * Fade a sprite from startAlpha to endAlpha
190
- * @param sprite - The sprite to animate
191
- * @param startAlpha - Starting alpha value (0.0 - 1.0)
192
- * @param endAlpha - Ending alpha value (0.0 - 1.0)
193
- * @param duration - Duration in milliseconds. Default: 1000
194
- * @param callback - Optional callback when animation completes
195
- */
196
- fadeSprite(sprite: ISprite, startAlpha: number, endAlpha: number, duration?: number, callback?: () => void): void;
197
- /**
198
- * Rotate a sprite from startAngle to endAngle
199
- * @param sprite - The sprite to animate
200
- * @param startAngle - Starting angle in degrees
201
- * @param endAngle - Ending angle in degrees
202
- * @param duration - Duration in milliseconds. Default: 1000
203
- * @param callback - Optional callback when animation completes
204
- */
205
- rotateSprite(sprite: ISprite, startAngle: number, endAngle: number, duration?: number, callback?: () => void): void;
206
- /**
207
- * Execute a callback after a delay
208
- * @param delay - Delay in milliseconds
209
- * @param callback - Function to execute after delay
210
- */
211
- timeout(delay: number, callback: () => void): void;
212
- /**
213
- * Execute a callback repeatedly at specified intervals
214
- * @param delay - Time in milliseconds between executions
215
- * @param callback - Function to execute
216
- * @param times - Number of times to execute (-1 or undefined for infinite)
217
- * @returns Timer object that can be passed to stopTimer()
218
- */
219
- timer(delay: number, callback: () => void, times?: number): ITimer;
220
- /**
221
- * Stop a running timer
222
- */
223
- stopTimer(timer: ITimer): void;
224
- /**
225
- * Stop the game loop, remove canvas, and clean up resources
226
- */
227
- destroy(): void;
228
- }
229
- //# sourceMappingURL=frog.d.ts.map
230
- ```
231
-
232
- ## CRITICAL RULES FOR AI AGENTS
233
-
234
- ### Rule 1: INTEGER COORDINATES ONLY
235
-
236
- ```javascript
237
- // ✅ CORRECT - Move in whole cell increments
238
- if (game.isLeftKeyDown()) player.x -= 1;
239
- if (game.isRightKeyDown()) player.x += 1;
240
- if (game.isUpKeyDown()) player.y -= 1;
241
- if (game.isDownKeyDown()) player.y += 1;
242
-
243
- // ❌ WRONG - Don't use fractional movement
244
- if (game.isLeftKeyDown()) player.x -= 0.1; // NO!
245
- ```
246
-
247
- ### Rule 2: Use FrogJS Methods Only
248
-
249
- - **NEVER** bypass the library to draw directly on canvas
250
- - **NEVER** use canvas 2D context methods
251
- - All rendering MUST go through FrogJS sprite system
252
-
253
- ### Rule 3: Emojis and Characters Only
254
-
255
- - NO image assets
256
- - NO `<img>` tags
257
- - NO canvas drawing APIs
258
- - Everything is emojis and text characters
259
-
260
- ### Rule 4: Think in Grid Coordinates
261
-
262
- - Position is which cell (0-19 horizontally, 0-14 vertically by default)
263
- - Not measured in pixels
264
- - Each sprite occupies exactly one cell
265
-
266
- ### Rule 5: Embrace the Grid
267
-
268
- - Design games that work well with discrete cell movement
269
- - Snake, Pac-Man, roguelikes, puzzle games are perfect
270
- - Smooth platformers are NOT suitable for FrogJS
271
-
272
- ## Complete Game Template
273
-
274
- ```html
275
- <!DOCTYPE html>
276
- <html>
277
- <head>
278
- <meta charset="UTF-8">
279
- <title>FrogJS Game</title>
280
- <style>
281
- body { margin: 0; padding: 0; overflow: hidden; }
282
- </style>
283
- </head>
284
- <body>
285
- <script type="module">
286
- import { Game, Sprite } from 'https://cdn.jsdelivr.net/npm/frogjs@1.0.0-alpha.4/dist/frog.js';
287
-
288
- const game = new Game({
289
- gridWidth: 20,
290
- gridHeight: 15,
291
- background: '#1a1a2e',
292
- showGrid: false
293
- });
294
-
295
- // Create player
296
- const player = new Sprite({ symbol: '🐸', x: 10, y: 7 });
297
- game.addSprite(player);
298
-
299
- // Game loop
300
- game.onUpdate = () => {
301
- // Movement (INTEGER coordinates!)
302
- if (game.isLeftKeyDown() && player.x > 0) player.x--;
303
- if (game.isRightKeyDown() && player.x < 19) player.x++;
304
- if (game.isUpKeyDown() && player.y > 0) player.y--;
305
- if (game.isDownKeyDown() && player.y < 14) player.y++;
306
- };
307
- </script>
308
- </body>
309
- </html>
310
- ```
311
-
312
- ## Best Practices for AI Agents
313
-
314
- ### Movement Patterns
315
-
316
- ```javascript
317
- // Discrete player movement
318
- game.onUpdate = () => {
319
- if (game.isLeftKeyDown() && player.x > 0) player.x--;
320
- if (game.isRightKeyDown() && player.x < 19) player.x++;
321
- if (game.isUpKeyDown() && player.y > 0) player.y--;
322
- if (game.isDownKeyDown() && player.y < 14) player.y++;
323
- };
324
-
325
- // Enemy movement with timer
326
- game.timer(200, () => {
327
- enemy.x += 1; // Move one cell every 200ms
328
- if (enemy.x > 20) enemy.x = 0;
329
- }, -1);
330
-
331
- // Projectile movement (fast)
332
- game.timer(50, () => {
333
- bullet.x += 1; // Move one cell every 50ms
334
- if (bullet.x > 20) game.removeSprite(bullet);
335
- }, -1);
336
- ```
337
-
338
- ### Collision Detection
339
-
340
- ```javascript
341
- // Check if player touched collectible
342
- const item = game.getSprite(player.x, player.y);
343
- if (item && item.symbol === '⭐') {
344
- game.removeSprite(item);
345
- score++;
346
- }
347
- ```
348
-
349
- ### UI Elements
350
-
351
- ```javascript
352
- // Score display (fixed to screen)
353
- const scoreSprite = new Sprite({
354
- symbol: '0',
355
- x: 1,
356
- y: 0,
357
- fixed: true, // Ignores camera scroll
358
- z: 100, // Render on top
359
- color: '#ffff00'
360
- });
361
- ```
362
-
363
- ## Suitable Game Types
364
-
365
- **Perfect for FrogJS:**
366
- - ✅ Snake, Pac-Man
367
- - ✅ Puzzle games (Sokoban, match-3)
368
- - ✅ Roguelikes
369
- - ✅ Tower defense
370
- - ✅ Grid-based RPGs
371
-
372
- **NOT suitable:**
373
- - ❌ Smooth platformers
374
- - ❌ Physics simulations
375
- - ❌ Games requiring sub-pixel precision
376
-
377
- ## AI Agent Checklist
378
-
379
- When generating FrogJS games, ensure:
380
-
381
- - [ ] Using integer coordinates ONLY (no 0.5, 1.7, etc.)
382
- - [ ] Importing from versioned CDN URL
383
- - [ ] Complete HTML file with no external dependencies except FrogJS
384
- - [ ] Using emojis/characters only (no images)
385
- - [ ] Movement increments by whole numbers (1, 2, 3, not 0.1)
386
- - [ ] Collision detection uses `getSprite(x, y)` with integer coords
387
- - [ ] Grid boundaries checked
388
- - [ ] Not bypassing FrogJS to draw on canvas directly
389
-
390
- ## Common Mistakes to Avoid
391
-
392
- ### ❌ Fractional Coordinates
393
- ```javascript
394
- // WRONG
395
- player.x += 0.5;
396
- sprite.x = 5.7;
397
- ```
398
-
399
- ### ❌ Direct Canvas Drawing
400
- ```javascript
401
- // WRONG
402
- ctx.fillRect(x, y, width, height);
403
- ```
404
-
405
- ### ✅ Correct Approach
406
- ```javascript
407
- // CORRECT
408
- player.x += 1;
409
- game.addSprite(new Sprite({ symbol: '🎯', x: 5, y: 3 }));
410
- ```
411
-
412
- ---
413
-
414
- **Generated:** This file is automatically updated when FrogJS is built.
415
- **Last Updated:** $(date)
416
-
417
- **For AI Agents:** This is your complete reference. Everything you need to generate FrogJS games is in this file.