From 30033ae20d569c51b4481855f0407cbf1f03c65f Mon Sep 17 00:00:00 2001 From: Gene Pasquet Date: Mon, 20 Apr 2026 13:47:18 +0100 Subject: Documentation improvements --- docs/animation.org | 2 +- docs/guide.org | 22 +++++++++++----------- docs/input.org | 6 +++--- docs/physics.org | 8 ++++---- docs/tweens.org | 10 +++++----- 5 files changed, 24 insertions(+), 24 deletions(-) (limited to 'docs') diff --git a/docs/animation.org b/docs/animation.org index 6704034..19458f9 100644 --- a/docs/animation.org +++ b/docs/animation.org @@ -407,4 +407,4 @@ names. pipeline and the =#:skip-pipelines= mechanism. - [[file:tweens.org][tweens.org]] — when you want interpolation rather than discrete frame-swapping. -- [[file:../demo/animation.scm][Animation]] (=bin/demo-animation=) — prefab data in [[file:../demo/assets/animation-prefabs.scm][demo/assets/animation-prefabs.scm]]. +- [[https://git.etenil.net/downstroke/tree/demo/animation.scm][Animation]] (=bin/demo-animation=) — prefab data in [[https://git.etenil.net/downstroke/tree/demo/assets/animation-prefabs.scm][demo/assets/animation-prefabs.scm]]. diff --git a/docs/guide.org b/docs/guide.org index 21a70bc..c1cf35b 100644 --- a/docs/guide.org +++ b/docs/guide.org @@ -266,16 +266,16 @@ Once =getting-started= runs, the rest of Downstroke is a menu of subsystems you And the full set of demos that ship with the repository, each built by ~make demos~: -- [[file:../demo/getting-started.scm][Getting started]] (=bin/demo-getting-started=) — arrow keys move a blue square; the starting point for this guide. -- [[file:../demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — gravity, jumping, tile collisions, frame animation. -- [[file:../demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — top-down shooter-style movement and firing. -- [[file:../demo/topdown.scm][Topdown]] (=bin/demo-topdown=) — four-direction movement without gravity. -- [[file:../demo/audio.scm][Audio]] (=bin/demo-audio=) — background music and sound effects. -- [[file:../demo/sandbox.scm][Sandbox]] (=bin/demo-sandbox=) — group prefabs composed from mixins. -- [[file:../demo/spritefont.scm][Sprite font]] (=bin/demo-spritefont=) — bitmap font rendering. -- [[file:../demo/menu.scm][Menu]] (=bin/demo-menu=) — a simple UI menu. -- [[file:../demo/tweens.scm][Tweens]] (=bin/demo-tweens=) — side-by-side comparison of easing functions. -- [[file:../demo/scaling.scm][Scaling]] (=bin/demo-scaling=) — logical-resolution scaling via ~scale:~. -- [[file:../demo/animation.scm][Animation]] (=bin/demo-animation=) — frame-based sprite animation. +- [[https://git.etenil.net/downstroke/tree/demo/getting-started.scm][Getting started]] (=bin/demo-getting-started=) — arrow keys move a blue square; the starting point for this guide. +- [[https://git.etenil.net/downstroke/tree/demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — gravity, jumping, tile collisions, frame animation. +- [[https://git.etenil.net/downstroke/tree/demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — top-down shooter-style movement and firing. +- [[https://git.etenil.net/downstroke/tree/demo/topdown.scm][Topdown]] (=bin/demo-topdown=) — four-direction movement without gravity. +- [[https://git.etenil.net/downstroke/tree/demo/audio.scm][Audio]] (=bin/demo-audio=) — background music and sound effects. +- [[https://git.etenil.net/downstroke/tree/demo/sandbox.scm][Sandbox]] (=bin/demo-sandbox=) — group prefabs composed from mixins. +- [[https://git.etenil.net/downstroke/tree/demo/spritefont.scm][Sprite font]] (=bin/demo-spritefont=) — bitmap font rendering. +- [[https://git.etenil.net/downstroke/tree/demo/menu.scm][Menu]] (=bin/demo-menu=) — a simple UI menu. +- [[https://git.etenil.net/downstroke/tree/demo/tweens.scm][Tweens]] (=bin/demo-tweens=) — side-by-side comparison of easing functions. +- [[https://git.etenil.net/downstroke/tree/demo/scaling.scm][Scaling]] (=bin/demo-scaling=) — logical-resolution scaling via ~scale:~. +- [[https://git.etenil.net/downstroke/tree/demo/animation.scm][Animation]] (=bin/demo-animation=) — frame-based sprite animation. Pick the demo closest to the game you want to build, open its source next to the matching topic doc, and you will have a concrete example of every API call in context. diff --git a/docs/input.org b/docs/input.org index a7f7fc5..809994f 100644 --- a/docs/input.org +++ b/docs/input.org @@ -329,9 +329,9 @@ instead of replacing it. * Demos -- [[file:../demo/getting-started.scm][Getting started]] (=bin/demo-getting-started=) — arrow-key movement with =input-held?=. -- [[file:../demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — mixes =input-held?= for running with =input-pressed?= for jumping. -- [[file:../demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — uses =input-pressed?= on =a= to fire bullets exactly once per button press. +- [[https://git.etenil.net/downstroke/tree/demo/getting-started.scm][Getting started]] (=bin/demo-getting-started=) — arrow-key movement with =input-held?=. +- [[https://git.etenil.net/downstroke/tree/demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — mixes =input-held?= for running with =input-pressed?= for jumping. +- [[https://git.etenil.net/downstroke/tree/demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — uses =input-pressed?= on =a= to fire bullets exactly once per button press. * See also diff --git a/docs/physics.org b/docs/physics.org index 9c57cc1..56b2b1f 100644 --- a/docs/physics.org +++ b/docs/physics.org @@ -652,7 +652,7 @@ The jump check in the *Platformer demo*: the pipeline. - [[file:rendering.org][Rendering]] — how =#:tile-id= (written by =apply-animation=) is drawn, and where the camera transform is applied. -- [[file:../demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — canonical gravity + jump + tile-collide example. -- [[file:../demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — canonical =engine-update: 'none= example with manual collision checks via =aabb-overlap?=. -- [[file:../demo/sandbox.scm][Sandbox]] (=bin/demo-sandbox=) — multiple movers, entity–entity push-apart, the default pipeline in a busier scene. -- [[file:../demo/tweens.scm][Tweens]] (=bin/demo-tweens=) — =step-tweens= in action; useful when combined with =#:skip-pipelines '(velocity-x velocity-y)=. +- [[https://git.etenil.net/downstroke/tree/demo/platformer.scm][Platformer]] (=bin/demo-platformer=) — canonical gravity + jump + tile-collide example. +- [[https://git.etenil.net/downstroke/tree/demo/shmup.scm][Shmup]] (=bin/demo-shmup=) — canonical =engine-update: 'none= example with manual collision checks via =aabb-overlap?=. +- [[https://git.etenil.net/downstroke/tree/demo/sandbox.scm][Sandbox]] (=bin/demo-sandbox=) — multiple movers, entity–entity push-apart, the default pipeline in a busier scene. +- [[https://git.etenil.net/downstroke/tree/demo/tweens.scm][Tweens]] (=bin/demo-tweens=) — =step-tweens= in action; useful when combined with =#:skip-pipelines '(velocity-x velocity-y)=. diff --git a/docs/tweens.org b/docs/tweens.org index 063a485..f63a9e1 100644 --- a/docs/tweens.org +++ b/docs/tweens.org @@ -36,7 +36,7 @@ key that isn't on the entity yet starts from zero. ** Creating a tween -=make-tween= signature (from [[file:../tween.scm][tween.scm]]): +=make-tween= signature (from [[https://git.etenil.net/downstroke/tree/tween.scm][tween.scm]]): #+BEGIN_SRC scheme (make-tween entity #!key @@ -86,7 +86,7 @@ error immediately from =make-tween=. Attach a tween by storing it under =#:tween= on an entity. The engine's default update pipeline runs =step-tweens= as its first per-entity -step (see [[file:../engine.scm][engine.scm]], =default-engine-update=): +step (see [[https://git.etenil.net/downstroke/tree/engine.scm][engine.scm]], =default-engine-update=): #+BEGIN_SRC scheme (chain scene @@ -115,7 +115,7 @@ step (see [[file:../engine.scm][engine.scm]], =default-engine-update=): backward. The "clear to =#f=" behaviour is hard-coded in =step-tweens= (see -[[file:../tween.scm][tween.scm]]): +[[https://git.etenil.net/downstroke/tree/tween.scm][tween.scm]]): #+BEGIN_SRC scheme (if (tween-finished? tw2) @@ -134,7 +134,7 @@ tween (=repeat: -1=), =on-complete= never fires. The ease symbol you pass to =make-tween= is looked up in =*ease-table*= and resolved to a procedure. The full table, copied from -[[file:../tween.scm][tween.scm]]: +[[https://git.etenil.net/downstroke/tree/tween.scm][tween.scm]]: | symbol | shape | |---------------+---------------------------------------------| @@ -244,7 +244,7 @@ entity. The callback is invoked with the entity in its /final/ interpolated state. The signature is just =(lambda (entity) ...)= and — importantly — its return value is /discarded/. Look at =tween-complete= in -[[file:../tween.scm][tween.scm]]: the callback runs for side-effects +[[https://git.etenil.net/downstroke/tree/tween.scm][tween.scm]]: the callback runs for side-effects only, and the entity returned to the pipeline is the unmodified =final=. So =on-complete= is for triggering world-level actions (playing a sound, logging, enqueueing a command, mutating a global -- cgit v1.2.3