From 81a62402ef6f8900ff092366121a9b7a4263ba52 Mon Sep 17 00:00:00 2001
From: Natsuu <natsukawa247@outlook.com>
Date: Fri, 27 Feb 2026 17:18:25 +0800
Subject: Restructure docs into manual/development and add implementation docs
 (#94)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

## Summary by Sourcery

Restructure documentation into separate manual and development sections,
introduce detailed internal implementation docs for auth/Java/mod
loaders, and update site navigation, landing page links, and MDX tooling
(Mermaid, card styling) to match the new structure and tech stack.

Enhancements:
- Enable Mermaid rendering support in the docs app and add a reusable
Mermaid React component.
- Refine Docs page rendering by customizing Card styling and removing
redundant in-page titles/descriptions rendered by the layout.
- Align docs source configuration and routing comments with the new
manual-based default paths.

Documentation:
- Split user-facing docs under a new manual section and move contributor
content into a dedicated development section for both English and
Chinese.
- Add comprehensive internal implementation documentation covering
authentication, Java management, mod loader/version merging, event bus,
and architecture patterns in both English and Chinese.
- Update existing feature docs (mod loaders, Java, authentication) and
getting-started/troubleshooting pages to be more conceptual, pointing to
implementation docs for technical details.
- Refresh architecture docs to reflect the React/Zustand frontend stack
and add Mermaid-based architecture diagrams.
- Adjust navigation labels, home-page CTAs, and doc links to target the
new manual/development structure and routes.

---------

Co-authored-by: 简律纯 <i@jyunko.cn>
---
 packages/docs/content/en/features/mod-loaders.mdx | 409 ----------------------
 1 file changed, 409 deletions(-)
 delete mode 100644 packages/docs/content/en/features/mod-loaders.mdx

(limited to 'packages/docs/content/en/features/mod-loaders.mdx')

diff --git a/packages/docs/content/en/features/mod-loaders.mdx b/packages/docs/content/en/features/mod-loaders.mdx
deleted file mode 100644
index d6fdf4f..0000000
--- a/packages/docs/content/en/features/mod-loaders.mdx
+++ /dev/null
@@ -1,409 +0,0 @@
----
-title: Mod Loaders
-description: Fabric and Forge installation and management
----
-
-# Mod Loaders
-
-DropOut supports the two most popular Minecraft mod loaders: Fabric and Forge. Both can be easily installed and managed directly from the launcher.
-
-## Fabric Support
-
-### Overview
-
-Fabric is a lightweight, modular modding toolchain focused on:
-- Fast updates to new Minecraft versions
-- Clean, minimal API
-- Strong developer community
-- Excellent performance
-
-### Installation
-
-1. Navigate to **Versions** tab
-2. Click **"Install Fabric"**
-3. Select Minecraft version
-4. Choose Fabric loader version
-5. Click **"Install"**
-6. Wait for installation to complete
-
-### How It Works
-
-**Meta API Integration:**
-```rust
-// Fetch available Fabric versions
-let url = format!(
-    "https://meta.fabricmc.net/v2/versions/loader/{}",
-    minecraft_version
-);
-```
-
-**Profile Generation:**
-1. Fetch Fabric loader metadata
-2. Download Fabric libraries
-3. Generate version JSON with `inheritsFrom`
-4. Merge with parent Minecraft version
-5. Add to versions list
-
-**Version Format:**
-```json
-{
-  "id": "fabric-loader-0.15.0-1.20.4",
-  "inheritsFrom": "1.20.4",
-  "mainClass": "net.fabricmc.loader.impl.launch.knot.KnotClient",
-  "libraries": [...]
-}
-```
-
-### Fabric Versions
-
-**Loader Versions:**
-- Latest stable (recommended)
-- Specific versions for compatibility
-- Beta/snapshot versions
-
-**Game Versions:**
-- All Minecraft versions from 1.14+
-- Snapshots supported
-- Combat Test versions
-
-### Library Management
-
-Fabric libraries are resolved from Maven:
-
-**Main Library:**
-```
-net.fabricmc:fabric-loader:0.15.0
-```
-
-**Dependencies:**
-- `net.fabricmc:tiny-mappings-parser`
-- `net.fabricmc:sponge-mixin`
-- `net.fabricmc:access-widener`
-
-**Download:**
-```rust
-// Maven resolution
-let url = format!(
-    "https://maven.fabricmc.net/{}/{}",
-    artifact_path, filename
-);
-```
-
-### Fabric API
-
-Fabric Loader ≠ Fabric API:
-- **Fabric Loader**: Mod loader (installed by DropOut)
-- **Fabric API**: Library mod (download separately)
-
-Many mods require Fabric API:
-1. Download from [Modrinth](https://modrinth.com/mod/fabric-api) or [CurseForge](https://www.curseforge.com/minecraft/mc-mods/fabric-api)
-2. Place in instance's `mods/` folder
-
-## Forge Support
-
-### Overview
-
-Forge is the original and most popular Minecraft mod loader:
-- Extensive mod ecosystem
-- Mature API
-- Wide version support
-- Large community
-
-### Installation
-
-1. Navigate to **Versions** tab
-2. Click **"Install Forge"**
-3. Select Minecraft version
-4. Choose Forge version
-5. Click **"Install"**
-6. Wait for installer to run
-7. Installation complete
-
-### How It Works
-
-**Forge Installer:**
-```rust
-// Download Forge installer
-let installer_url = format!(
-    "https://maven.minecraftforge.net/net/minecraftforge/forge/{}/forge-{}-installer.jar",
-    full_version, full_version
-);
-
-// Run installer
-java -jar forge-installer.jar --installClient
-```
-
-**Profile Parsing:**
-1. Forge installer creates version JSON
-2. DropOut parses install profile
-3. Extracts library dependencies
-4. Processes processors (if any)
-5. Generates launcher profile
-
-**Version Format:**
-```json
-{
-  "id": "1.20.4-forge-49.0.26",
-  "inheritsFrom": "1.20.4",
-  "mainClass": "cpw.mods.bootstraplauncher.BootstrapLauncher",
-  "libraries": [...]
-}
-```
-
-### Forge Versions
-
-**Release Types:**
-- **Latest**: Most recent stable
-- **Recommended**: Most stable for production
-- **Specific**: Version-locked for compatibility
-
-**Minecraft Version Support:**
-- Legacy versions (1.6.4+)
-- Modern versions (1.13+)
-- Latest versions (1.20+)
-
-### Library Management
-
-Forge has many libraries:
-
-**Core Libraries:**
-- `net.minecraftforge:forge:<version>`
-- `net.minecraftforge:fmlloader:<version>`
-- `org.ow2.asm:asm:<version>`
-
-**Resolution:**
-```rust
-// Forge Maven
-"https://maven.minecraftforge.net/"
-
-// Dependencies may use:
-// - Maven Central
-// - Minecraft Libraries
-```
-
-### Forge Processors
-
-Some Forge versions run "processors" during installation:
-- Bytecode manipulation
-- Library patching
-- Mapping generation
-
-DropOut handles these automatically.
-
-## Version Inheritance
-
-Both Fabric and Forge use Minecraft's inheritance system:
-
-### Parent Version
-
-```json
-{
-  "id": "fabric-loader-0.15.0-1.20.4",
-  "inheritsFrom": "1.20.4"  // Parent vanilla version
-}
-```
-
-### Merging Process
-
-**Libraries:**
-```rust
-// Merged from both
-parent_libraries + modded_libraries
-// Duplicates removed
-```
-
-**Arguments:**
-```rust
-// Combined
-parent_jvm_args + modded_jvm_args
-parent_game_args + modded_game_args
-```
-
-**Assets:**
-```rust
-// Inherited from parent
-assets = parent.assets
-```
-
-**Main Class:**
-```rust
-// Overridden by modded
-main_class = modded.mainClass
-```
-
-## Comparison
-
-| Feature | Fabric | Forge |
-|---------|--------|-------|
-| **Performance** | Excellent | Good |
-| **Update Speed** | Very Fast | Moderate |
-| **Mod Selection** | Growing | Extensive |
-| **API Simplicity** | Simple | Complex |
-| **Version Support** | 1.14+ | 1.6.4+ |
-| **Developer Friendly** | Very | Moderate |
-| **Stability** | Excellent | Excellent |
-
-## Installing Mods
-
-### Fabric Mods
-
-1. Create/select instance
-2. Ensure Fabric is installed
-3. Download mods from:
-   - [Modrinth](https://modrinth.com/)
-   - [CurseForge](https://www.curseforge.com/)
-   - [GitHub Releases](https://github.com/)
-4. Place `.jar` files in `instances/<name>/mods/`
-5. Launch game
-
-**Compatibility:**
-- Check Minecraft version
-- Check Fabric Loader version
-- Check for Fabric API requirement
-- Read mod dependencies
-
-### Forge Mods
-
-1. Create/select instance
-2. Ensure Forge is installed
-3. Download mods from:
-   - [CurseForge](https://www.curseforge.com/)
-   - [Modrinth](https://modrinth.com/)
-4. Place `.jar` files in `instances/<name>/mods/`
-5. Launch game
-
-**Compatibility:**
-- Check Minecraft version exactly
-- Check Forge version range
-- Read mod dependencies
-- Check for conflicts
-
-## Troubleshooting
-
-### Fabric Issues
-
-**"Fabric Loader not found"**
-- Reinstall Fabric
-- Check version JSON exists
-- Verify libraries downloaded
-
-**"Mixin apply failed"**
-- Mod incompatibility
-- Remove conflicting mods
-- Update Fabric Loader
-
-**"Fabric API required"**
-- Download Fabric API
-- Match Minecraft version
-- Place in mods folder
-
-### Forge Issues
-
-**"Forge installer failed"**
-- Verify Java installation
-- Check disk space
-- Try older Forge version
-- Check logs for details
-
-**"Missing dependencies"**
-- Install required mods
-- Check mod version compatibility
-- Read error message carefully
-
-**"Class not found"**
-- Forge version mismatch
-- Reinstall Forge
-- Verify libraries downloaded
-
-### General Mod Issues
-
-**Crash on Launch:**
-1. Check crash report
-2. Identify problematic mod
-3. Remove or update mod
-4. Test with minimal mods
-5. Add mods back incrementally
-
-**Performance Problems:**
-1. Too many mods installed
-2. Increase memory allocation
-3. Install performance mods:
-   - Fabric: Sodium, Lithium
-   - Forge: OptiFine, Magnesium
-4. Remove resource-heavy mods
-
-## API Reference
-
-### Tauri Commands
-
-**Install Fabric:**
-```typescript
-await invoke('install_fabric', {
-  minecraftVersion: '1.20.4',
-  loaderVersion: '0.15.0'
-});
-```
-
-**Install Forge:**
-```typescript
-await invoke('install_forge', {
-  minecraftVersion: '1.20.4',
-  forgeVersion: '49.0.26'
-});
-```
-
-**List Fabric Versions:**
-```typescript
-const versions = await invoke('get_fabric_versions', {
-  minecraftVersion: '1.20.4'
-});
-```
-
-**List Forge Versions:**
-```typescript
-const versions = await invoke('get_forge_versions', {
-  minecraftVersion: '1.20.4'
-});
-```
-
-### Events
-
-**Installation Progress:**
-```typescript
-listen('mod-loader-progress', (event) => {
-  const { stage, percent } = event.payload;
-  // Stages: "downloading", "installing", "processing", "complete"
-});
-```
-
-## Best Practices
-
-### For Players
-
-1. **Choose one mod loader** per instance
-2. **Match versions exactly** - Minecraft and loader
-3. **Read mod requirements** before installing
-4. **Start small** - Add mods incrementally
-5. **Backup worlds** before adding mods
-6. **Check compatibility** lists
-7. **Update cautiously** - Test in separate instance
-
-### For Modpack Creators
-
-1. **Document versions** - MC, loader, all mods
-2. **Test thoroughly** - All features
-3. **List dependencies** - Including API
-4. **Provide changelog** - For updates
-5. **Version lock** - For stability
-6. **Include configs** - Pre-configured
-7. **Test updates** - Before release
-
-## Future Features
-
-- **Mod browser** - Install mods from launcher
-- **Automatic updates** - Keep mods current
-- **Dependency resolution** - Auto-install requirements
-- **Conflict detection** - Warn about incompatibilities
-- **Profile export** - Share modpack configurations
-- **CurseForge integration** - Direct modpack import
-- **Modrinth integration** - Mod search and install
-- 
cgit v1.2.3-70-g09d2

