Fix sector drag and drop

This commit is contained in:
Johan Sandoval
2026-07-15 20:40:43 -05:00
parent 69f2028ce3
commit c221ec6c2a
12 changed files with 564 additions and 345 deletions
+73 -36
View File
@@ -1,7 +1,7 @@
# Sources
Every binary artifact in this repo was exported from a source file in Nextcloud. This maps
one to the other.
Every binary artifact in this repo was exported from a source file in Nextcloud. This maps one
to the other.
**Nextcloud share:** `DartGame/sources/`
@@ -12,46 +12,80 @@ one to the other.
## Models
| Repo artifact | Nextcloud source | Last export |
|---|---|---|
| `game/core/board/dartboard.glb` | `sources/dartboard/dartboard.blend` | 2026-07-11 |
| `game/core/dart/dart.glb` | `sources/dart/dart.blend` | 2026-07-11 |
## Skins — bullseye
| Repo artifact | Nextcloud source | Last export |
|---|---|---|
| `game/content/official/skins/bullseye/neon_bulls.png` | `sources/dartboard/textures/neon_bulls.kra` | 2026-07-11 |
## Skins — sectors
| Repo artifact | Nextcloud source | Last export |
|---|---|---|
| `game/content/official/skins/sectors/neon_hiero_sector.png` | `sources/dartboard/textures/neon_hiero_sector.kra` | 2026-07-11 |
## Skins — flat tire
| Repo artifact | Nextcloud source | Last export |
|---|---|---|
| `game/content/official/skins/flat_tire/fire.png` | `sources/dartboard/textures/flat_tire.kra` | 2026-07-11 |
## Skins — flights
| Repo artifact | Nextcloud source | Last export |
|---|---|---|
| `game/content/official/skins/flights/default.png` | `sources/dart/textures/wings_default.kra` | 2026-07-11 |
| Repo artifact | Nextcloud source |
|---|---|
| `game/core/board/dartboard.glb` | `sources/dartboard/dartboard.blend` |
| `game/core/dart/dart.glb` | `sources/dart/dart.blend` |
---
## Fallback textures
Single default textures that ship with the mesh so the editor isn't pink. Not skins — these
live in `core/`, not `content/`.
These live in `core/`, **not** `content/`. They're the defaults that ship with the mesh so the
board renders correctly with zero mods loaded. They are not skins.
The board has 21 material slots (`sector_1``sector_20`, `bulls`); the 20 sector materials share
the two `sector_*` images by default.
| Repo artifact | Nextcloud source |
|---|---|
| `game/core/board/dartboard_default.png` | `sources/dartboard/textures/cork.kra` |
| `game/core/dart/dart_default.png` | `sources/dart/textures/dart_default.kra` |
| `game/core/board/dartboard_bulls.png` | `sources/dartboard/textures/default/bulls.kra` |
| `game/core/board/dartboard_sector_black.png` | `sources/dartboard/textures/default/sector_black.kra` |
| `game/core/board/dartboard_sector_white.png` | `sources/dartboard/textures/default/sector_white.kra` |
| `game/core/board/dartboard_flat_tire.png` | `sources/dartboard/textures/default/flat_tire.kra` |
| `game/core/board/dartboard_spider.png` | `sources/dartboard/textures/default/spider.kra` |
| `game/core/dart/dart_body.png` | `sources/dart/textures/default/body.kra` |
| `game/core/dart/dart_wings.png` | `sources/dart/textures/default/wings.kra` |
> The `dartboard_*` / `dart_*` prefixes are Godot's — it extracts the textures embedded in the
> `.glb` on import and names them after the model. Don't rename them; the materials reference
> them by that name.
---
## Skins — bulls
| Repo artifact | Nextcloud source |
|---|---|
| `game/content/official/skins/bulls/neon_hiero.png` | `sources/dartboard/textures/bulls_skins/neon_hiero.kra` |
## Skins — sectors
| Repo artifact | Nextcloud source |
|---|---|
| `game/content/official/skins/sectors/neon_hiero_black.png` | `sources/dartboard/textures/sector_skins/neon_hiero_black.kra` |
| `game/content/official/skins/sectors/neon_hiero_white.png` | `sources/dartboard/textures/sector_skins/neon_hiero_white.kra` |
## Skins — flat tire
| Repo artifact | Nextcloud source |
|---|---|
| `game/content/official/skins/flat_tire/ocean_fire.png` | `sources/dartboard/textures/flat_tire_skins/ocean_fire.kra` |
| `game/content/official/skins/flat_tire/toon_purple.png` | `sources/dartboard/textures/flat_tire_skins/toon_purple.kra` |
---
## Generated, not exported
These are produced **by Godot**, not by Blender or Krita. They have no Nextcloud source.
| Artifact | What it is |
|---|---|
| `game/core/board/dartboard_collision.res` | Trimesh (`ConcavePolygonShape3D`), 1358 faces. Generated from the `dartboard` mesh via Mesh → Create Collision Shape → Trimesh, then extracted from the `.tscn` with Shape → Save As. **~9 MB.** |
| `game/core/board/spider_collision.res` | Same, for the spider wire. |
> Regenerate these if the board geometry changes. They are **not** rebuilt automatically on
> re-export.
---
## Not yet exported
Sources that exist in Nextcloud but have no artifact in the repo yet.
| Nextcloud source | Destined for |
|---|---|
| `sources/dart/textures/wings/red_blue.kra` | `content/official/skins/flights/red_blue.png` |
---
@@ -59,7 +93,10 @@ live in `core/`, not `content/`.
1. Export from the Nextcloud source
2. Drop the artifact into the repo path above
3. **Update the "Last export" date in this file**
4. Commit the artifact + this file together
3. Commit the artifact **and its `.import` file** together
4. Update this file if anything new appeared
**Names must match.** `neon_hiero_black.kra``neon_hiero_black.png`. We drifted once already
(`purple_toon.kra` vs `toon_purple.png`) — that's exactly what this file exists to catch.
If a row is missing, the artifact has no traceable source. Add it, or find out why it exists.