Skip to content

Comprehensive Documentation Update for SpriteAI Sprite Generation Functions #442

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions docs/advanced-sprite-techniques.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Advanced Sprite Techniques in SpriteAI

## Overview

This guide explores advanced sprite creation, manipulation, and transformation techniques available in SpriteAI. These techniques go beyond basic sprite generation and provide powerful tools for game developers, designers, and artists.

## Sprite Transformation Functions

### Sprite Rotation and Flipping
SpriteAI offers multiple ways to manipulate sprite orientation:

```javascript
// Rotate a sprite
const rotatedSprite = sprite.rotateSpritesheet(originalSprite, 90);

// Flip a sprite horizontally or vertically
const horizontalFlip = sprite.flipSprite(originalSprite, 'horizontal');
const verticalFlip = sprite.flipSprite(originalSprite, 'vertical');
```

### Color Manipulation
Enhance your sprites with color-based transformations:

```javascript
// Tint a sprite with a specific color
const tintedSprite = sprite.tintSprite(originalSprite, '#FF0000');

// Extract color palette from a sprite
const spritePalette = sprite.extractPalette(originalSprite);

// Optimize sprite color palette
const optimizedSprite = sprite.optimizePalette(originalSprite);
```

## Advanced Visual Effects

### Particle and Weather Effects
Create dynamic sprite animations with built-in effects:

```javascript
// Generate particle effects
const particleSprite = sprite.createParticleEffect(baseSprite, {
type: 'sparkle',
intensity: 0.7
});

// Add weather effects to sprites
const rainEffect = sprite.addWeatherEffect(characterSprite, 'rain');
const snowEffect = sprite.addWeatherEffect(backgroundSprite, 'snow');
```

### Distortion and Glitch Effects
Add unique visual styles to your sprites:

```javascript
// Create various distortion effects
const waveSprite = sprite.createWaveDistortion(originalSprite);
const pixelationSprite = sprite.createPixelationEffect(originalSprite);
const glitchSprite = sprite.createGlitchWaveEffect(characterSprite);
```

## Sprite Composition and Variation

### Sprite Combination and Variation
Combine and generate sprite variations:

```javascript
// Combine multiple sprites
const combinedSprite = sprite.combineSprites([sprite1, sprite2]);

// Generate sprite variations
const spriteVariations = sprite.generateSpriteVariations(originalSprite, {
count: 3,
style: 'elemental'
});
```

### Sprite Animation Techniques
Create complex sprite animations:

```javascript
// Create sprite animation
const animation = sprite.createSpriteAnimation(spritesheet, {
frames: 6,
speed: sprite.calculateOptimalAnimationSpeed(spritesheet)
});

// Add color cycling animation
const cyclingSprite = sprite.createColorCyclingAnimation(originalSprite);
```

## Performance and Optimization

### Sprite Scaling and Metadata
Optimize sprite rendering and track sprite information:

```javascript
// Pixel-perfect scaling
const scaledSprite = sprite.pixelPerfectScale(originalSprite, 2);

// Generate sprite metadata
const spriteMetadata = sprite.generateSpriteMetadata(sprite);
```

## Best Practices

1. Use appropriate effect intensity
2. Consider performance impact of complex transformations
3. Preview sprite variations before final implementation
4. Maintain consistent sprite style across transformations

## Compatibility

These advanced techniques are compatible with:
- Game development frameworks
- 2D and pixel art games
- Interactive web applications
- Animation tools

## Conclusion

SpriteAI's advanced sprite techniques provide developers with powerful tools to create unique, dynamic, and engaging visual experiences. Experiment with these methods to unlock creative possibilities in your projects.
131 changes: 131 additions & 0 deletions docs/api-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
{
"newDocument": "# SpriteAI API Reference

## Overview

The SpriteAI API provides a comprehensive set of functions for generating, manipulating, and transforming sprites across various styles and use cases.

## Core Sprite Generation Functions

### generateSprite()
Generates a basic sprite based on a text description.

```javascript
const result = await spriteAI.generateSprite(description, options);
```

#### Parameters
- `description` (string, required): Textual description of the sprite
- `options` (object, optional):
- `iterations` (number): Number of sprite variations to generate
- `size` (string): Sprite image size (default: "1024x1024")
- `save` (boolean): Whether to save the generated image

#### Returns
- `messages`: Sprite metadata (frame dimensions)
- `image`: Base64-encoded sprite sheet

### generatePixelArt()
Generates pixel art sprites with specialized processing.

```javascript
const pixelArtSprite = await spriteAI.generatePixelArt(description, options);
```

#### Parameters
- `description` (string, required): Pixel art sprite description
- `options` (object, optional):
- `save` (boolean): Save generated image

#### Returns
- `image`: Base64-encoded pixel art sprite
- `url`: Direct image URL

### generateIsometric()
Creates isometric sprite images for game graphics.

```javascript
const isometricSprite = await spriteAI.generateIsometric(description, options);
```

#### Parameters
- `description` (string, required): Isometric sprite description
- `options` (object, optional):
- `save` (boolean): Save generated image

#### Returns
- `image`: Base64-encoded isometric sprite
- `url`: Direct image URL

## Advanced Sprite Generation Functions

### New Functions Added (as of April 2025)

#### Character and Environment Sprite Generation
- `generateCharacterSpritesheet()`: Create character sprite collections
- `generateEnvironmentSprites()`: Generate environment and landscape sprite tilesets
- `generateItemSprites()`: Create game item sprite collections
- `generateLandscapeSprite()`: Generate landscape scene sprites

#### Utility Functions
- `rotateSpritesheet()`
- `tintSprite()`
- `calculateOptimalAnimationSpeed()`
- `generateSpriteMetadata()`
- `createParticleEffect()`
- `flipSprite()`

## Sprite Object Methods

### Transformation Methods
- `addOutline()`
- `createColorCycle()`
- `combineSprites()`
- `createGlitchArt()`
- `generateSpriteVariations()`
- `optimizePalette()`
- `createPixelPerfect()`
- `addShadow()`

### Advanced Effects
- `createMirrorSprite()`
- `createSpriteAnimation()`
- `addReflectionEffect()`
- `addWaveEffect()`
- `addPixelationEffect()`
- `addMosaicEffect()`
- `addDissolveEffect()`
- `addSplashEffect()`
- `addShatterEffect()`
- `addKaleidoscopeEffect()`
- `addGlitchWaveEffect()`
- `addDisplacementEffect()`

## Specialized Variations
- `createMechaSpriteVariation()`
- `createElementalVariation()`
- `createLightingVariation()`

## Usage Example

```javascript
const spriteAI = require('spriteai');

// Generate a complex sprite with multiple transformations
const sprite = await spriteAI.generateSprite('Futuristic robot character')
.addOutline()
.createSpriteAnimation()
.addGlitchWaveEffect();
```

## Notes
- Requires valid API credentials for OpenAI services
- Generation time varies based on complexity of sprite
- Outputs may differ between generations due to AI model variations

## Best Practices
1. Provide clear, detailed descriptions
2. Experiment with different options
3. Save and version your generated sprites
4. Use specialized generation functions for specific sprite types"
}
Loading