--- /dev/null
+# Cross-Compilation Guide
+
+This document outlines how to cross-compile Feather Wallet for **Windows** and **macOS** from a Linux host.
+
+## 1. Official Release Builds (Guix)
+
+Feather uses **[Guix](https://guix.gnu.org/)** for reproducible release builds. This is the **recommended** method for producing binaries that match official releases.
+
+### Requirements
+* A Linux distribution (Debian/Ubuntu recommended)
+* ~50GB free disk space
+* [Guix installed](https://guix.gnu.org/manual/en/html_node/Binary-Installation.html)
+
+### Windows Build
+From the repository root:
+```bash
+HOSTS="x86_64-w64-mingw32" make build
+```
+* **Result**: `feather.exe` (and installer if specified) will be in `contrib/guix/guix-build-<hash>/output/`.
+
+### macOS Build
+From the repository root:
+```bash
+HOSTS="x86_64-apple-darwin arm64-apple-darwin" make build
+```
+* **Result**: `.dmg` or `.app` bundles for Intel and Apple Silicon.
+
+### Notes
+* The first run will take a significant amount of time to download and bootstrap the toolchain.
+* See `contrib/guix/README.md` for advanced configuration (`JOBS`, `SUBSTITUTE_URLS`, etc.).
+
+---
+
+## 2. Development Builds (Depends)
+
+For faster, non-reproducible development builds, you can use the `contrib/depends` system.
+
+### Prerequisites
+* `build-essential`, `cmake`, `git`
+* **Windows**: `g++-mingw-w64-x86-64` (Debian/Ubuntu) or equivalent.
+* **macOS**: `clang`, `libtapi-dev` (or a mac SDK).
+
+### Windows (MinGW)
+1. **Build Dependencies**:
+ ```bash
+ make -C contrib/depends HOST=x86_64-w64-mingw32
+ ```
+2. **Configure and Build**:
+ ```bash
+ mkdir build-win
+ cd build-win
+ cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/depends/x86_64-w64-mingw32/share/toolchain.cmake ..
+ make
+ ```
+
+### macOS
+1. **Get SDK**: You may need to provide a macOS SDK tarball in `contrib/depends/SDKs`.
+2. **Build Dependencies**:
+ ```bash
+ make -C contrib/depends HOST=x86_64-apple-darwin
+ ```
+3. **Configure and Build**:
+ ```bash
+ mkdir build-mac
+ cd build-mac
+ cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/depends/x86_64-apple-darwin/share/toolchain.cmake ..
+ make
+ ```
- Clears `m_rangeSyncActive`.
- Triggers rescan.
+### `set_refresh_from_block_height(uint64_t height)`
+**Class:** `tools::wallet2` (via `m_walletImpl` in `Wallet.cpp`)
+**Role:** Sets the starting block height for the wallet refresh synchronization.
+**Details:**
+- Crucial for "Skip Sync" or restoring from a specific date.
+- Instructs the lower-level wallet library to ignore blocks before `height`.
+
+### `daemonBlockChainHeight()`
+**Class:** `Wallet` (`src/libwalletqt/Wallet.cpp`)
+**Role:** Returns the current block height of the connected daemon (node).
+**Usage:**
+- Used to calculate "blocks behind" (Daemon Height - Wallet Height).
+- Fetched during the refresh loop or immediately after `initAsync`.
+
+### `daemonBlockChainTargetHeight()`
+**Class:** `Wallet` (`src/libwalletqt/Wallet.cpp`)
+**Role:** Returns the target height the daemon is syncing towards.
+**Usage:**
+- If the daemon itself is still syncing, this will be > `daemonBlockChainHeight()`.
+- Used to show the true "Network Tip" in tooltips.
+
+### Debug Log: Refresh Loop
+**Location:** `src/libwalletqt/Wallet.cpp` (inside `startRefreshThread`)
+**Code:**
+```cpp
+qInfo() << "Calling m_walletImpl->refresh(). Wallet height:" << walletHeight << "Daemon height:" << daemonHeight << "Target:" << targetHeight;
+```
+**Purpose:**
+- Provides visibility into the background refresh cycle.
+- Logs the exact state *before* triggering the potentially blocking `refresh()` call.
+- **Info Level:** Escalated from Debug to Info to allow users to verify sync progress without a debug build.
+
## UI Tweaks & Event Handling
These functions handle user interaction, window management, and visual feedback based on backend state.
+++ /dev/null
-#!/bin/bash
-
-# Configure CMake with custom flags
-# - FEATHER_VERSION_DEBUG_BUILD=ON : Use git describe for version string
-# - CHECK_UPDATES=OFF : Disable built-in update checker
-# - USE_DEVICE_TREZOR=OFF : Disable Trezor hardware wallet support
-# - WITH_SCANNER=OFF : Disable webcam QR scanner support
-
-cmake \
- -DCMAKE_BUILD_TYPE=Debug \
- -DFEATHER_VERSION_DEBUG_BUILD=ON \
- -DCHECK_UPDATES=OFF \
- -DUSE_DEVICE_TREZOR=OFF \
- -DWITH_SCANNER=OFF \
- ..