Skip to content

uz0/EdgeCraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🏗️ 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

Watchers

Forks

Releases

No releases published

Packages

No packages published