tapestry

package module
v0.24.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2024 License: BSD-3-Clause Imports: 15 Imported by: 0

README

Tapestry

Tapestry provides a way to build and test game stories independent from a graphics engine.

You can find the full documentation at https://tapestry.ionous.net/, and the Go language api on pkg.go.dev.

The project and its source code are hosted at sourcehut: https://sr.ht/~ionous/Tapestry/

License

Tapestry is open source, and all original source code is provided under a BSD-3 license.

Go and its libraries use their own BSD-style license. All existing third party Go language dependencies use their own MIT licenses. Tapestry uses SQLite for data storage, and SQLite is public domain. Tapestry's "Mosaic" editor and web console use Blockly and Vue.js which are licensed under the Apache 2.0 and MIT licenses respectively. Development of the editor and web console require Node.js and a variety of modules each of which use their own (open source) licenses. Godot is used for demonstrating 3D party engine integration. It uses an MIT license.

Code of Conduct

Black lives matter, and queer and trans lives matter. In that spirit, if you are interested in using Tapestry or contributing to the project, please refer to the code of conduct.

Contributor Covenant

Documentation

Overview

package tapestry is a reimplmentation of the sashimi interactive fiction engine with some lessons learned.

Index

Constants

This section is empty.

Variables

View Source
var AllSignatures = []map[uint64]typeinfo.Instance{
	call.Z_Types.Signatures,
	debug.Z_Types.Signatures,

	grammar.Z_Types.Signatures,

	list.Z_Types.Signatures,
	literal.Z_Types.Signatures,
	logic.Z_Types.Signatures,
	math.Z_Types.Signatures,
	object.Z_Types.Signatures,

	prim.Z_Types.Signatures,
	format.Z_Types.Signatures,
	rel.Z_Types.Signatures,
	render.Z_Types.Signatures,
	game.Z_Types.Signatures,

	text.Z_Types.Signatures,
}

all important runtime signatures

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Package affine - names for all of Tapestry's built-in data types: primitives, structured types, and arrays thereof.
Package affine - names for all of Tapestry's built-in data types: primitives, structured types, and arrays thereof.
blockly
bconst
common configuration and constants for tapestry's use of blockly
common configuration and constants for tapestry's use of blockly
block
package block transforms story files into blockly workspace files ( languageVersion: 0 ) see: https://developers.google.com/blockly/guides/configure/web/serialization
package block transforms story files into blockly workspace files ( languageVersion: 0 ) see: https://developers.google.com/blockly/guides/configure/web/serialization
box
Package box generates blockly toolbox(s) in JSON format.
Package box generates blockly toolbox(s) in JSON format.
shape
Package shape generates blockly custom blocks in its JSON format.
Package shape generates blockly custom blocks in its JSON format.
unblock
Package unblock decodes blockly style story files into tapestry commands.
Package unblock decodes blockly style story files into tapestry commands.
cmd
atlas/internal
Package main for atlas.
Package main for atlas.
chart
Package main for 'chart'.
Package main for 'chart'.
doc
serve
Runs external applications, and pipes http input to stdin; stdout to http output.
Runs external applications, and pipes http input to stdin; stdout to http output.
tap Module
Package content - this go package exists so that tools can embed the standard lib.
Package content - this go package exists so that tools can embed the standard lib.
dl
Package dl groups together the various data language packages.
Package dl groups together the various data language packages.
call
Pattern calls, argument handling, and related helpers.
Pattern calls, argument handling, and related helpers.
cmd
debug
Scripting commands to debug and test stories.
Scripting commands to debug and test stories.
format
Text printing and output control.
Text printing and output control.
frame
Low level communication with a game server.
Low level communication with a game server.
game
System commands to manage a running game ( save, load, etc ).
System commands to manage a running game ( save, load, etc ).
grammar
Player input parsing.
Player input parsing.
jess
Game world modeling using English-like sentences.
Game world modeling using English-like sentences.
list
List queries, transformations, etc.
List queries, transformations, etc.
literal
Supply constant values to runtime evaluations.
Supply constant values to runtime evaluations.
logic
Boolean operations and loop handling.
Boolean operations and loop handling.
math
Common mathematical operations.
Common mathematical operations.
object
Operations on objects, variables, and kinds.
Operations on objects, variables, and kinds.
play
Low level communication between a game console and a running game.
Low level communication between a game console and a running game.
prim
Common type definitions.
Common type definitions.
rel
Interrogate and manipulate object relationships at runtime.
Interrogate and manipulate object relationships at runtime.
render
Text template rendering.
Text template rendering.
rtti
Slots used to produce and consume values.
Slots used to produce and consume values.
story
Game world modeling using Tapestry commands.
Game world modeling using Tapestry commands.
testdl
testdl
testdl
text
Text manipulation and transformation.
Text manipulation and transformation.
Package express converts a postfix template expression into tapestry commands.
Package express converts a postfix template expression into tapestry commands.
lang
doc
Package doc builds web friendly documentation of the idl.
Package doc builds web friendly documentation of the idl.
inspect
Package inspect provides depth first iteration a tapestry command or slice of commands.
Package inspect provides depth first iteration a tapestry command or slice of commands.
shortcut
Package shortcut transforms strings into dotted paths.
Package shortcut transforms strings into dotted paths.
typeinfo
Package typeinfo describes tapestry autogenerated structures.
Package typeinfo describes tapestry autogenerated structures.
Package parser
Package parser
qna
Package qna provides an implementation of rt.Runtime.
Package qna provides an implementation of rt.Runtime.
decode
Package decode unpacks stored programs and values from byte slices
Package decode unpacks stored programs and values from byte slices
qdb
Package qdb asks specific questions of the play.db for the package qna runtime.
Package qdb asks specific questions of the play.db for the package qna runtime.
rt
Package rt defines the runtime interfaces used to interact with the game world.
Package rt defines the runtime interfaces used to interact with the game world.
dot
kindsOf
package kindsOf defines a handful of built-in base types for tapestry kinds.
package kindsOf defines a handful of built-in base types for tapestry kinds.
meta
Package meta provides string constants for rt.Runtime Get/SetField.
Package meta provides string constants for rt.Runtime Get/SetField.
pattern
Package pattern provides tools for creating and executing functions with guards.
Package pattern provides tools for creating and executing functions with guards.
print
Package print provides low level routines for styling output.
Package print provides low level routines for styling output.
support
files
Package files: a grab bag of functions for reading and writing files.
Package files: a grab bag of functions for reading and writing files.
flex
Package flex reads tell files that are sectioned into alternating blocks of structured and plain text sections.
Package flex reads tell files that are sectioned into alternating blocks of structured and plain text sections.
inflect
Package inflect provides (some) english language string transformation utilities.
Package inflect provides (some) english language string transformation utilities.
jessdb
Package jessdb provides an implementation of jess.Query for use with the tapestry db.
Package jessdb provides an implementation of jess.Query for use with the tapestry db.
jesstest
Package jesstest exercises implementations of jess.Query to ensure they produce good results.
Package jesstest exercises implementations of jess.Query to ensure they produce good results.
shuttle
Package shuttle turns json based requests into game play.
Package shuttle turns json based requests into game play.
tag
Package tables - utilities for working with the Tapestry sqlite tables.
Package tables - utilities for working with the Tapestry sqlite tables.
idl
Package template converts strings to postfix expressions.
Package template converts strings to postfix expressions.
postfix
Package postfix translates streams of infix functions into postfix expressions.
Package postfix translates streams of infix functions into postfix expressions.
eph
pacakge eph provides helpers for testing
pacakge eph provides helpers for testing
mdl
Package mdl provides an api for building the database used by the tapestry runtime.
Package mdl provides an api for building the database used by the tapestry runtime.
web
Package web provides utilities for working with go's net/http package.
Package web provides utilities for working with go's net/http package.
js
Package js provides some simple json utilities: MapSlice, for preserving map key order when unmarshaling, and Builder for writing json-like data without marshaling.
Package js provides some simple json utilities: MapSlice, for preserving map key order when unmarshaling, and Builder for writing json-like data without marshaling.
markup
Package markup converts a custom html-like markup into markdown-like text.
Package markup converts a custom html-like markup into markdown-like text.
useraction
Package useraction: handle long running actions initiated from the browser.
Package useraction: handle long running actions initiated from the browser.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL