Skip to content

uz0/EdgeCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏗️ Edge Craft

WebGL-based RTS game engine supporting classic map formats (Warcraft 3, StarCraft 2) with clean-room implementation.

Built with: TypeScript • React • Babylon.js

🚀 Quick Start

# Install
npm install

# Development
npm run dev              # Start dev server (http://localhost:5173)

# Validation
npm run typecheck        # TypeScript strict mode
npm run lint             # ESLint (0 errors policy)
npm run test:unit        # Jest unit tests
npm run validate         # License & asset validation

# Production
npm run build            # Production build

Requirements: Node.js 20+ • npm 10+

📁 Project Structure

src/
├── engine/              # Babylon.js game engine
│   ├── rendering/       # Advanced lighting, shadows, post-processing
│   ├── terrain/         # Terrain rendering & LOD
│   ├── camera/          # RTS camera system
│   ├── core/            # Scene & engine core
│   └── assets/          # Asset loading & management
├── formats/             # File format parsers
│   ├── mpq/             # MPQ archive parser
│   ├── maps/            # W3X, W3M, W3N, SC2Map loaders
│   └── compression/     # ZLIB, BZip2, LZMA decompression
├── ui/                  # React components
├── pages/               # Page components (Index, MapViewer)
├── hooks/               # React hooks
├── config/              # Configuration
├── types/               # TypeScript types
└── utils/               # Utilities

public/
├── maps/                # Sample maps (W3X, SC2Map)
└── assets/              # Static assets & manifest

PRPs/                    # Phase Requirement Proposals
CLAUDE.md                # AI development guidelines

📚 Documentation

🛡️ Legal Compliance

Zero Tolerance Policy:

  • ❌ No copyrighted assets
  • ✅ Only CC0/MIT licensed content
  • ✅ Clean-room implementation
  • ✅ Automated validation: npm run validate

🧪 Testing & Quality

  • Unit Tests: Jest (>80% coverage required)
  • E2E Tests: Playwright
  • Linting: ESLint strict mode (0 errors, 0 warnings)
  • Type Safety: TypeScript strict mode
  • File Size: 500 lines max per file
npm run test:unit              # Unit tests
npm run test:unit:coverage     # With coverage report
npm run test:e2e               # E2E tests (Playwright)
npm run lint:fix               # Auto-fix linting issues

🤖 Automation & Workflows

  • CI/CD Pipeline: .github/workflows/ci.yml for lint, typecheck, unit, e2e, build, and report comments.
  • Asset Validation: .github/workflows/asset-validation.yml verifies licenses, attribution, and manifest integrity.
  • Stale Issue Locking: .github/workflows/lock-closed-issues.yml locks closed issues after 14 days to focus triage on new reports.
  • Claude Code Integrations: .github/workflows/claude.yml and .github/workflows/claude-code-review.yml enable AI assistance on PRs and reviews.
  • E2E Snapshot Refresh: .github/workflows/update-e2e-snapshots.yml regenerates Playwright artifacts on demand.

🤝 Contributing

  1. Read CLAUDE.md for workflow
  2. Review CONTRIBUTING.md for human workflow details
  3. Find current PRP in PRPs/ directory
  4. File issues using the templates in .github/ISSUE_TEMPLATE/
  5. Follow Definition of Done (DoD) checklist and complete the PR template
  6. Ensure all tests pass (npm test)
  7. Run validation (npm run validate)

📜 License

GNU Affero General Public License v3.0 (AGPL-3.0)

Copyright (C) 2024 Vasilisa Versus

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.

Key Requirements:

  • ✅ Must preserve copyright and author attribution
  • ✅ Must provide source code to network users
  • ✅ Must release modifications under AGPL-3.0
  • ✅ Cannot use in proprietary software

See LICENSE for full text.

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors