Consume the published inkwell module instead of a sibling checkout
ci/woodpecker/push/ebitengine Pipeline was successful
ci/woodpecker/manual/ebitengine Pipeline was successful

inkwell is now released as engines/inkwell v0.1.0, so the `replace
=> ../inkwell` directive can go. That directive is why this pipeline
was failing: it requires a sibling working copy that only exists on a
developer's machine, never in a CI checkout.

Module paths follow the org move as well — this repo is demos/, inkwell
is engines/ — since Gitea's redirect does not apply to Go module paths.

GOPRIVATE is exported from the Makefile: our own modules are not on
proxy.golang.org and not in the public checksum database.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-16 10:35:01 +02:00
co-authored by Claude Opus 5
parent ef0fcd63c5
commit d2daa3f02a
19 changed files with 25 additions and 21 deletions
+4
View File
@@ -4,6 +4,10 @@
PROJECT = inkwell-demo
# Our own modules live on the forge, not on proxy.golang.org: fetch them
# directly and skip the public checksum database.
export GOPRIVATE = git.teletypegames.org
BIN_DIR = bin
DIST_DIR = dist
WASM_NAME = game.wasm
+2 -4
View File
@@ -1,9 +1,9 @@
module git.teletypegames.org/games/inkwell-demo
module git.teletypegames.org/demos/inkwell-demo
go 1.26.3
require (
git.teletypegames.org/games/inkwell v0.0.0-00010101000000-000000000000
git.teletypegames.org/engines/inkwell v0.1.0
github.com/hajimehoshi/ebiten/v2 v2.9.9
)
@@ -19,5 +19,3 @@ require (
golang.org/x/sync v0.17.0 // indirect
golang.org/x/sys v0.36.0 // indirect
)
replace git.teletypegames.org/games/inkwell => ../inkwell
+2
View File
@@ -1,3 +1,5 @@
git.teletypegames.org/engines/inkwell v0.1.0 h1:NJgT924aR3e0uLVRiTEhzLrXJY+Vnj+FArkKqMJJlVI=
git.teletypegames.org/engines/inkwell v0.1.0/go.mod h1:/v6QtismTE8+e7kobbVR5B/CpTSrd4j2DYwJ8DvINhs=
github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1 h1:+kz5iTT3L7uU+VhlMfTb8hHcxLO3TlaELlX8wa4XjA0=
github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1/go.mod h1:lKJoeixeJwnFmYsBny4vvCJGVFc3aYDalhuDsfZzWHI=
github.com/ebitengine/hideconsole v1.0.0 h1:5J4U0kXF+pv/DhiXt5/lTz0eO5ogJ1iXb8Yj1yReDqE=
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
// Assets lists every asset the game references. Files don't need to
// exist on disk — the library substitutes deterministic colored
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"image/color"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
var Cat = p.Character{
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"image/color"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
var Player = p.Character{
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var CatMorning = p.Dialogue{
Name: "cat_morning",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var Beans = p.Item{
Name: "beans",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var Key = p.Item{
Name: "key",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var Mug = p.Item{
Name: "mug",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var Bedroom = p.Scene{
Name: "bedroom",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var Kitchen = p.Scene{
Name: "kitchen",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var IntroScript = p.Script{
Name: "intro",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/inkwell"
import p "git.teletypegames.org/engines/inkwell"
var VictoryScript = p.Script{
Name: "victory",
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"log"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
// Run builds the game and hands it to the inkwell engine. It is the
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"image/color"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
// MorningCoffeeTheme is the game-specific palette: warm coffee browns
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"github.com/hajimehoshi/ebiten/v2/inpututil"
"github.com/hajimehoshi/ebiten/v2/vector"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
// GameChat is a stand-alone chat panel: click to focus, type a message,
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"github.com/hajimehoshi/ebiten/v2"
"github.com/hajimehoshi/ebiten/v2/inpututil"
p "git.teletypegames.org/games/inkwell"
p "git.teletypegames.org/engines/inkwell"
)
// SaveKeys is a no-draw widget that binds F5 → Save(slot 0) and
+2 -2
View File
@@ -3,8 +3,8 @@ package main
import (
"embed"
p "git.teletypegames.org/games/inkwell"
"git.teletypegames.org/games/inkwell-demo/lib"
p "git.teletypegames.org/engines/inkwell"
"git.teletypegames.org/demos/inkwell-demo/lib"
)
// The asset tree is compiled into the binary so the js/wasm build can