Skip to main content

Module project

Module project 

Source
Expand description

The project file, shuyi.ron, at a game’s root: who the game is (its app part), which paths each check scans, the game’s tool program (for the commands that run the game), the font atlas’s rules, the web build’s package, the game’s own license texts and the private repository’s settings, and the targets the game ships on. A command whose part is missing says so.

Every path is relative to the project’s root (the folder holding shuyi.ron) and written with /.

Structs§

AppPart
Who the game is, the same on every target (crate::app_info, ADR-0059).
Beside
A file or folder of the game that ships in its package.
CheckKeys
What check-keys scans and lets through.
CheckText
What check-text scans and lets through.
Config
What shuyi.ron says.
CopyOut
A folder copied out of the private checkout.
Credited
The files of the private checkout that need a credit before --pin writes the pin.
Disclosure
What the game’s packages may hold, the same for every target: a path is matched whole, with no pattern, from the package’s root or the pack’s. What the exporter itself writes (the program, NOTICES.txt, the web shell, the pack’s file) needs no line here.
ExportPart
What export builds and ships for the desktop and web targets, on top of the program and its notes. The Playdate’s package, a .pdx, takes none of it.
FontAtlas
font-atlas’s rules.
GameProgram
The game’s tool program: a program of the game that runs crate::main_with with the game’s crate::GameTools. shuyi runs it with cargo run for the commands that need the game.
GlyphTile
One tile of a GlyphTiles.
GlyphTiles
glyph-tiles: a tileset of glyphs on colored squares (crate::glyph_tiles).
Notices
The game’s own license texts (its fonts’, say): each file goes whole into the NOTICES.txt of every package shuyi makes (crate::notices).
PrivateAssets
The private repository of files the game may not hand out (bought art): checked out into a git-ignored folder at a pinned commit.
Project
A project: its root and what its shuyi.ron says. Build it with Project::new or Project::load (ADR-0039).
TargetSetting
How a game shows its frame on one target.
Web
The web build.

Enums§

Scale
How a frame is scaled to a display.

Constants§

FILE
The project file’s name.