rename pncdsl to inkwell
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Zsolt Tasnadi
2026-07-30 12:26:10 +02:00
parent 26e8f2329c
commit 09aa0d5438
22 changed files with 41 additions and 41 deletions
+1 -1
View File
@@ -16,7 +16,7 @@
{
"label": "Build & Run",
"type": "shell",
"command": "make clean && make build && ./bin/pncdsl-demo",
"command": "make clean && make build && ./bin/inkwell-demo",
"problemMatcher": []
},
{
+2 -2
View File
@@ -9,9 +9,9 @@ steps:
image: golang:1.26.3-alpine
commands:
- apk add --no-cache zip make curl git
# The go.mod may point at a local ../pncdsl checkout (see README);
# The go.mod may point at a local ../inkwell checkout (see README);
# in CI clone the framework next to the workspace so it resolves.
- if grep -q '=> \.\./pncdsl' go.mod; then git clone https://git.teletypegames.org/games/pncdsl ../pncdsl; fi
- if grep -q '=> \.\./inkwell' go.mod; then git clone https://git.teletypegames.org/games/inkwell ../inkwell; fi
- make ci-export
- name: artifact
+1 -1
View File
@@ -2,7 +2,7 @@
# Makefile Ebitengine project builder
# -----------------------------------------
PROJECT = pncdsl-demo
PROJECT = inkwell-demo
BIN_DIR = bin
DIST_DIR = dist
+10 -10
View File
@@ -1,7 +1,7 @@
# pncdsl-demo — Morning Coffee
# inkwell-demo — Morning Coffee
A short point-and-click adventure built on the
[`pncdsl`](https://git.teletypegames.org/games/pncdsl) framework. Two scenes,
[`inkwell`](https://git.teletypegames.org/games/inkwell) framework. Two scenes,
three items, one NPC dialog and an ending cutscene — small on purpose,
designed as an end-to-end reference for someone learning the library.
@@ -9,12 +9,12 @@ designed as an end-to-end reference for someone learning the library.
The library is fetched as a regular Go module. Prerequisites: Go 1.24+
and SSH access to `git.teletypegames.org` (the private host that serves the
`pncdsl` repo).
`inkwell` repo).
```bash
git clone ssh://git@git.teletypegames.org:2222/games/pncdsl-demo
cd pncdsl-demo
go mod tidy # fetches git.teletypegames.org/games/pncdsl
git clone ssh://git@git.teletypegames.org:2222/games/inkwell-demo
cd inkwell-demo
go mod tidy # fetches git.teletypegames.org/games/inkwell
go run .
```
@@ -37,10 +37,10 @@ permanent.)
### Local-development override
While iterating on the framework and the demo in parallel, point Go at a
local checkout of `pncdsl` with a temporary `replace` directive:
local checkout of `inkwell` with a temporary `replace` directive:
```bash
go mod edit -replace=git.teletypegames.org/games/pncdsl=../pncdsl
go mod edit -replace=git.teletypegames.org/games/inkwell=../inkwell
go mod tidy
```
@@ -55,7 +55,7 @@ per file, no constructor functions. `main.go` only calls `lib.Run()`.
main.go embeds assets/ (go:embed) and calls lib.Run()
lib/
setup.go Run() and Build(); the only wiring code
assets.go var Assets []pncdsl.Asset
assets.go var Assets []inkwell.Asset
flags.go flag-name constants
character.player.go var Player
character.cat.go var Cat
@@ -75,7 +75,7 @@ one `Register(...)` line in `lib/setup.go`. No registrar functions, no
indirection.
The `assets/` tree is compiled into the binary via `go:embed` and
handed to the framework through `pncdsl.AssetFS`, so the js/wasm build
handed to the framework through `inkwell.AssetFS`, so the js/wasm build
(`make wasm`) ships with working art. Native builds read from the same
embedded copy — changing a PNG requires a rebuild. Files listed in
`lib/assets.go` but missing from `assets/` still fall back to the
+3 -3
View File
@@ -1,9 +1,9 @@
module git.teletypegames.org/games/pncdsl-demo
module git.teletypegames.org/games/inkwell-demo
go 1.26.3
require (
git.teletypegames.org/games/pncdsl v0.0.0-00010101000000-000000000000
git.teletypegames.org/games/inkwell v0.0.0-00010101000000-000000000000
github.com/hajimehoshi/ebiten/v2 v2.9.9
)
@@ -20,4 +20,4 @@ require (
golang.org/x/sys v0.36.0 // indirect
)
replace git.teletypegames.org/games/pncdsl => ../pncdsl
replace git.teletypegames.org/games/inkwell => ../inkwell
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/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/pncdsl"
p "git.teletypegames.org/games/inkwell"
)
var Cat = p.Character{
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"image/color"
p "git.teletypegames.org/games/pncdsl"
p "git.teletypegames.org/games/inkwell"
)
var Player = p.Character{
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var CatMorning = p.Dialogue{
Name: "cat_morning",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var Beans = p.Item{
Name: "beans",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var Key = p.Item{
Name: "key",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var Mug = p.Item{
Name: "mug",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var Bedroom = p.Scene{
Name: "bedroom",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var Kitchen = p.Scene{
Name: "kitchen",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var IntroScript = p.Script{
Name: "intro",
+1 -1
View File
@@ -1,6 +1,6 @@
package lib
import p "git.teletypegames.org/games/pncdsl"
import p "git.teletypegames.org/games/inkwell"
var VictoryScript = p.Script{
Name: "victory",
+3 -3
View File
@@ -3,10 +3,10 @@ package lib
import (
"log"
p "git.teletypegames.org/games/pncdsl"
p "git.teletypegames.org/games/inkwell"
)
// Run builds the game and hands it to the pncdsl engine. It is the
// Run builds the game and hands it to the inkwell engine. It is the
// single entry point referenced from main.go.
func Run() {
if err := p.Run(Build()); err != nil {
@@ -50,7 +50,7 @@ func Build() *p.Game {
p.RegisterRichUI(g, "", "cat")
// Replace the framework's in-game ChatLog with the demo's own
// click-and-type GameChat panel — game-independent chatter that
// does not belong in the pncdsl library.
// does not belong in the inkwell library.
g.UIManager.Remove("chat")
g.UIManager.Register(Chat)
// Swap the rich UI's always-visible verb wheel for a right-click,
+1 -1
View File
@@ -3,7 +3,7 @@ package lib
import (
"image/color"
p "git.teletypegames.org/games/pncdsl"
p "git.teletypegames.org/games/inkwell"
)
// MorningCoffeeTheme is the game-specific palette: warm coffee browns
+3 -3
View File
@@ -9,7 +9,7 @@ import (
"github.com/hajimehoshi/ebiten/v2/inpututil"
"github.com/hajimehoshi/ebiten/v2/vector"
p "git.teletypegames.org/games/pncdsl"
p "git.teletypegames.org/games/inkwell"
)
// GameChat is a stand-alone chat panel: click to focus, type a message,
@@ -190,11 +190,11 @@ func (c *GameChat) Draw(dst *ebiten.Image, ctx *p.UICtx) {
vector.DrawFilledRect(dst, float32(b.X), float32(inY), float32(b.W), 1, border, false)
}
// BlocksClickAt implements the pncdsl clickBlocker contract so the
// BlocksClickAt implements the inkwell clickBlocker contract so the
// verb-coin doesn't pop up over the chat panel.
func (c *GameChat) BlocksClickAt(pt p.Point) bool { return c.Bounds.Contains(pt) }
// chatTextWidth mirrors the pncdsl text width estimate for the bundled
// chatTextWidth mirrors the inkwell text width estimate for the bundled
// debug font (~6 px / glyph). Kept private to the demo.
func chatTextWidth(s string) int { return len(s) * 6 }
+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/pncdsl"
p "git.teletypegames.org/games/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/pncdsl"
"git.teletypegames.org/games/pncdsl-demo/lib"
p "git.teletypegames.org/games/inkwell"
"git.teletypegames.org/games/inkwell-demo/lib"
)
// The asset tree is compiled into the binary so the js/wasm build can
+3 -3
View File
@@ -1,9 +1,9 @@
{
"name": "pncdsl-demo",
"name": "inkwell-demo",
"title": "Morning Coffee",
"author": "Teletype Games",
"desc": "A short point-and-click adventure built on the pncdsl framework",
"site": "https://git.teletypegames.org/games/pncdsl-demo",
"desc": "A short point-and-click adventure built on the inkwell framework",
"site": "https://git.teletypegames.org/games/inkwell-demo",
"license": "MIT License",
"version": "1.0.0"
}