clone

fifteen puzzle games for the terminal, with daily puzzles, weekly ladders and xp, built on bubble tea

chore/regenerate-vhs-gifs
puzzletea / pdfexport / types.go
types.go 2.6K
1package pdfexport23import "time"45type SheetLayout int67const (8 SheetLayoutHalfLetter SheetLayout = iota9 SheetLayoutDuplexBooklet10)1112type PackMetadata struct {13 GeneratedRaw string14 GeneratedAt time.Time15 Version string16 Category string17 ModeSelection string18 Count int19 Seed string20 Format string21 SourceFileName string22}2324type PackDocument struct {25 SourcePath string26 Metadata PackMetadata27 Puzzles []Puzzle28}2930type DifficultyConfidence string3132const (33 DifficultyConfidenceHigh DifficultyConfidence = "high"34 DifficultyConfidenceMedium DifficultyConfidence = "medium"35)3637type Puzzle struct {38 SourcePath string39 SourceFileName string40 Category string41 ModeSelection string42 Name string43 Index int44 Body string45 SaveData []byte46 PrintPayload any47 DifficultyScore float6448 DifficultyConfidence DifficultyConfidence49 DifficultySource string50}5152type NonogramData struct {53 Width int54 Height int55 RowHints [][]int56 ColHints [][]int57 Grid [][]string58}5960type NurikabeData struct {61 Width int62 Height int63 Clues [][]int64}6566type ShikakuData struct {67 Width int68 Height int69 Clues [][]int70}7172type HashiIsland struct {73 X int74 Y int75 Required int76}7778type HashiData struct {79 Width int80 Height int81 Islands []HashiIsland82}8384type HitoriData struct {85 Size int86 Numbers [][]string87}8889type TakuzuData struct {90 Size int91 Givens [][]string92 HorizontalRelations [][]string93 VerticalRelations [][]string94 GroupEveryTwo bool95}9697type SudokuData struct {98 Givens [9][9]int `json:"givens"`99}100101type FillominoData struct {102 Width int103 Height int104 Givens [][]int105}106107type NetwalkData struct {108 Size int109 Masks [][]uint8110 Rotations [][]uint8111 RootX int112 RootY int113}114115type RippleEffectCell struct {116 X int `json:"x"`117 Y int `json:"y"`118}119120type RippleEffectCage struct {121 Size int `json:"size"`122 Cells []RippleEffectCell `json:"cells"`123}124125type RippleEffectData struct {126 Width int127 Height int128 Givens [][]int129 Cages []RippleEffectCage130}131132type WordSearchData struct {133 Width int `json:"width"`134 Height int `json:"height"`135 Grid [][]string `json:"grid"`136 Words []string `json:"words"`137}138139type GridTable struct {140 Rows [][]string141 HasHeaderRow bool142 HasHeaderCol bool143}144145type RenderConfig struct {146 Title string147 CoverSubtitle string148 HeaderText string149 VolumeNumber int150 AdvertText string151 GeneratedAt time.Time152 ShuffleSeed string153 SheetLayout SheetLayout154}