reight 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CLAUDE.md +31 -0
- data/ChangeLog.md +11 -0
- data/README.md +5 -0
- data/VERSION +1 -1
- data/lib/reight/button.rb +0 -1
- data/lib/reight/chip.rb +2 -6
- data/lib/reight/map.rb +0 -2
- data/reight.gemspec +7 -7
- data/test/helper.rb +4 -0
- metadata +17 -58
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d9c736de8c5eab2ea40163ff5f96b29ab8f5dddbb7cf4651d228148dacde843
|
|
4
|
+
data.tar.gz: e08c9136a0e6de1e1d1886f8eea4f136f2615cccfe6dfaae5611ed96e57cfe68
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6eddbfaf5124b4248b89508a09f4dc903d49d11aefc35ad3dc5582b8b799b939ee06507456fec70d15f476d877d0ba2e699385fb2c00d210f088e8f34edd3622
|
|
7
|
+
data.tar.gz: caea8368bcc17ad33d8d33fc84169d7633e46c957802f6771d4d99ee5d94ef6a18b0ce9185f19984e7f40284e7cd4a489ba707da137989d2d0560f5df3d7671c
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Reight
|
|
2
|
+
|
|
3
|
+
Retro game engine with a built-in IDE for editing sprites, maps, and sounds.
|
|
4
|
+
|
|
5
|
+
## CLI
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
r8 --edit . # Launch the editor
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Built-in Editors
|
|
12
|
+
|
|
13
|
+
- **SpriteEditor** (`app/sprite/`) — Pixel art editor with brush, fill, select, and shape tools
|
|
14
|
+
- **MapEditor** (`app/map/`) — Chunk-based tile map editor
|
|
15
|
+
- **SoundEditor** (`app/sound/`) — Waveform-based sound editor
|
|
16
|
+
|
|
17
|
+
Each editor inherits from the `App` base class and uses the Tool pattern to switch drawing tools.
|
|
18
|
+
|
|
19
|
+
## Project Data
|
|
20
|
+
|
|
21
|
+
Managed as JSON files:
|
|
22
|
+
- `project.json` — Project settings
|
|
23
|
+
- `chips.json` — Tileset
|
|
24
|
+
- `maps.json` — Map data
|
|
25
|
+
- `sounds.json` — Sound data
|
|
26
|
+
|
|
27
|
+
## Constants
|
|
28
|
+
|
|
29
|
+
- Screen resolution: 400x224
|
|
30
|
+
- Palette: 32 colors (`PALETTE_COLORS`)
|
|
31
|
+
- Sprite size: 8x8 pixel units
|
data/ChangeLog.md
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
# reight ChangeLog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [v0.1.14] - 2026-04-09
|
|
5
|
+
|
|
6
|
+
- Increase button text size
|
|
7
|
+
- Update dependencies
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## [v0.1.13] - 2025-07-06
|
|
11
|
+
|
|
12
|
+
- Add deepwiki badge
|
|
13
|
+
|
|
14
|
+
|
|
4
15
|
## [v0.1.12] - 2025-05-22
|
|
5
16
|
|
|
6
17
|
- Add note_pressed, note_released, and control_change event handlers
|
data/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Reight - A Retro Game Engine for Ruby
|
|
2
2
|
|
|
3
|
+
[](https://deepwiki.com/xord/reight)
|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
3
8
|
Reight is an open-source Ruby library inspired by the powerful [Processing](https://processing.org/) API, designed to make creative coding accessible and enjoyable for everyone. With support for both Mac and Windows, this library brings the joy of visual programming to Ruby developers.
|
|
4
9
|
|
|
5
10
|
## Features
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.14
|
data/lib/reight/button.rb
CHANGED
data/lib/reight/chip.rb
CHANGED
|
@@ -3,8 +3,6 @@ using Reight
|
|
|
3
3
|
|
|
4
4
|
class Reight::Chip
|
|
5
5
|
|
|
6
|
-
include Comparable
|
|
7
|
-
|
|
8
6
|
def initialize(id, image, x, y, w, h, pos: nil, shape: nil, sensor: nil)
|
|
9
7
|
@id, @image, @x, @y, @w, @h, @pos, @shape, @sensor =
|
|
10
8
|
id, image, x, y, w, h, pos, shape, (sensor || false)
|
|
@@ -100,8 +98,8 @@ class Reight::Chip
|
|
|
100
98
|
private
|
|
101
99
|
|
|
102
100
|
def pixels()
|
|
103
|
-
g =
|
|
104
|
-
g.
|
|
101
|
+
g = create_graphics w, h
|
|
102
|
+
g.begin_draw do
|
|
105
103
|
g.copy image, x, y, w, h, 0, 0, w, h
|
|
106
104
|
end
|
|
107
105
|
g.load_pixels
|
|
@@ -113,8 +111,6 @@ end# Chip
|
|
|
113
111
|
|
|
114
112
|
class Reight::ChipList
|
|
115
113
|
|
|
116
|
-
include Comparable
|
|
117
|
-
|
|
118
114
|
def initialize(image)
|
|
119
115
|
@image = image
|
|
120
116
|
@next_id, @id2chip, @frame2chip = 1, {}, {}
|
data/lib/reight/map.rb
CHANGED
|
@@ -4,7 +4,6 @@ using Reight
|
|
|
4
4
|
class Reight::Map
|
|
5
5
|
|
|
6
6
|
include Enumerable
|
|
7
|
-
include Comparable
|
|
8
7
|
|
|
9
8
|
def initialize(chip_size: 8, chunk_size: 128)
|
|
10
9
|
raise ArgumentError, "Invalid chip_size: #{chip_size}" if
|
|
@@ -177,7 +176,6 @@ end# Map
|
|
|
177
176
|
class Reight::Map::Chunk
|
|
178
177
|
|
|
179
178
|
include Enumerable
|
|
180
|
-
include Comparable
|
|
181
179
|
|
|
182
180
|
def initialize(x, y, w, h, chip_size: 8)
|
|
183
181
|
raise ArgumentError, "Invalid chip_size: #{chip_size}" if chip_size.to_i != chip_size
|
data/reight.gemspec
CHANGED
|
@@ -25,13 +25,13 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
s.platform = Gem::Platform::RUBY
|
|
26
26
|
s.required_ruby_version = '>= 3.0.0'
|
|
27
27
|
|
|
28
|
-
s.add_dependency 'xot', '~> 0.3.
|
|
29
|
-
s.add_dependency 'rucy', '~> 0.3.
|
|
30
|
-
s.add_dependency 'beeps', '~> 0.3.
|
|
31
|
-
s.add_dependency 'rays', '~> 0.3.
|
|
32
|
-
s.add_dependency 'reflexion', '~> 0.3.
|
|
33
|
-
s.add_dependency 'processing', '~> 1.1
|
|
34
|
-
s.add_dependency 'rubysketch', '~> 0.7.
|
|
28
|
+
s.add_dependency 'xot', '~> 0.3.10'
|
|
29
|
+
s.add_dependency 'rucy', '~> 0.3.10'
|
|
30
|
+
s.add_dependency 'beeps', '~> 0.3.10'
|
|
31
|
+
s.add_dependency 'rays', '~> 0.3.10'
|
|
32
|
+
s.add_dependency 'reflexion', '~> 0.3.11'
|
|
33
|
+
s.add_dependency 'processing', '~> 1.1.14'
|
|
34
|
+
s.add_dependency 'rubysketch', '~> 0.7.15'
|
|
35
35
|
|
|
36
36
|
s.files = `git ls-files`.split $/
|
|
37
37
|
s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
|
data/test/helper.rb
CHANGED
|
@@ -15,17 +15,21 @@ R8 = Reight
|
|
|
15
15
|
RS = RubySketch
|
|
16
16
|
|
|
17
17
|
class R8::Chip
|
|
18
|
+
include Comparable
|
|
18
19
|
alias <=> cmp__
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
class R8::ChipList
|
|
23
|
+
include Comparable
|
|
22
24
|
alias <=> cmp__
|
|
23
25
|
end
|
|
24
26
|
|
|
25
27
|
class R8::Map
|
|
28
|
+
include Comparable
|
|
26
29
|
alias <=> cmp__
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
class R8::Map::Chunk
|
|
33
|
+
include Comparable
|
|
30
34
|
alias <=> cmp__
|
|
31
35
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: reight
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- xordog
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-04-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xot
|
|
@@ -16,140 +16,98 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.3.
|
|
20
|
-
- - ">="
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.3.8
|
|
19
|
+
version: 0.3.10
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
24
|
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 0.3.
|
|
30
|
-
- - ">="
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.3.8
|
|
26
|
+
version: 0.3.10
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: rucy
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
36
30
|
requirements:
|
|
37
31
|
- - "~>"
|
|
38
32
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.3.
|
|
40
|
-
- - ">="
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: 0.3.8
|
|
33
|
+
version: 0.3.10
|
|
43
34
|
type: :runtime
|
|
44
35
|
prerelease: false
|
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
37
|
requirements:
|
|
47
38
|
- - "~>"
|
|
48
39
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 0.3.
|
|
50
|
-
- - ">="
|
|
51
|
-
- !ruby/object:Gem::Version
|
|
52
|
-
version: 0.3.8
|
|
40
|
+
version: 0.3.10
|
|
53
41
|
- !ruby/object:Gem::Dependency
|
|
54
42
|
name: beeps
|
|
55
43
|
requirement: !ruby/object:Gem::Requirement
|
|
56
44
|
requirements:
|
|
57
45
|
- - "~>"
|
|
58
46
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 0.3.
|
|
60
|
-
- - ">="
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 0.3.8
|
|
47
|
+
version: 0.3.10
|
|
63
48
|
type: :runtime
|
|
64
49
|
prerelease: false
|
|
65
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
51
|
requirements:
|
|
67
52
|
- - "~>"
|
|
68
53
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 0.3.
|
|
70
|
-
- - ">="
|
|
71
|
-
- !ruby/object:Gem::Version
|
|
72
|
-
version: 0.3.8
|
|
54
|
+
version: 0.3.10
|
|
73
55
|
- !ruby/object:Gem::Dependency
|
|
74
56
|
name: rays
|
|
75
57
|
requirement: !ruby/object:Gem::Requirement
|
|
76
58
|
requirements:
|
|
77
59
|
- - "~>"
|
|
78
60
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: 0.3.
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.3.8
|
|
61
|
+
version: 0.3.10
|
|
83
62
|
type: :runtime
|
|
84
63
|
prerelease: false
|
|
85
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
86
65
|
requirements:
|
|
87
66
|
- - "~>"
|
|
88
67
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.3.
|
|
90
|
-
- - ">="
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: 0.3.8
|
|
68
|
+
version: 0.3.10
|
|
93
69
|
- !ruby/object:Gem::Dependency
|
|
94
70
|
name: reflexion
|
|
95
71
|
requirement: !ruby/object:Gem::Requirement
|
|
96
72
|
requirements:
|
|
97
73
|
- - "~>"
|
|
98
74
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 0.3.
|
|
100
|
-
- - ">="
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: 0.3.9
|
|
75
|
+
version: 0.3.11
|
|
103
76
|
type: :runtime
|
|
104
77
|
prerelease: false
|
|
105
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
79
|
requirements:
|
|
107
80
|
- - "~>"
|
|
108
81
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 0.3.
|
|
110
|
-
- - ">="
|
|
111
|
-
- !ruby/object:Gem::Version
|
|
112
|
-
version: 0.3.9
|
|
82
|
+
version: 0.3.11
|
|
113
83
|
- !ruby/object:Gem::Dependency
|
|
114
84
|
name: processing
|
|
115
85
|
requirement: !ruby/object:Gem::Requirement
|
|
116
86
|
requirements:
|
|
117
87
|
- - "~>"
|
|
118
88
|
- !ruby/object:Gem::Version
|
|
119
|
-
version:
|
|
120
|
-
- - ">="
|
|
121
|
-
- !ruby/object:Gem::Version
|
|
122
|
-
version: 1.1.12
|
|
89
|
+
version: 1.1.14
|
|
123
90
|
type: :runtime
|
|
124
91
|
prerelease: false
|
|
125
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
126
93
|
requirements:
|
|
127
94
|
- - "~>"
|
|
128
95
|
- !ruby/object:Gem::Version
|
|
129
|
-
version:
|
|
130
|
-
- - ">="
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: 1.1.12
|
|
96
|
+
version: 1.1.14
|
|
133
97
|
- !ruby/object:Gem::Dependency
|
|
134
98
|
name: rubysketch
|
|
135
99
|
requirement: !ruby/object:Gem::Requirement
|
|
136
100
|
requirements:
|
|
137
101
|
- - "~>"
|
|
138
102
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 0.7.
|
|
140
|
-
- - ">="
|
|
141
|
-
- !ruby/object:Gem::Version
|
|
142
|
-
version: 0.7.13
|
|
103
|
+
version: 0.7.15
|
|
143
104
|
type: :runtime
|
|
144
105
|
prerelease: false
|
|
145
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
146
107
|
requirements:
|
|
147
108
|
- - "~>"
|
|
148
109
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: 0.7.
|
|
150
|
-
- - ">="
|
|
151
|
-
- !ruby/object:Gem::Version
|
|
152
|
-
version: 0.7.13
|
|
110
|
+
version: 0.7.15
|
|
153
111
|
description: A Retro Game Engine for Ruby.
|
|
154
112
|
email: xordog@gmail.com
|
|
155
113
|
executables:
|
|
@@ -163,6 +121,7 @@ files:
|
|
|
163
121
|
- ".github/workflows/test.yml"
|
|
164
122
|
- ".github/workflows/utils.rb"
|
|
165
123
|
- ".gitignore"
|
|
124
|
+
- CLAUDE.md
|
|
166
125
|
- CONTRIBUTING.md
|
|
167
126
|
- ChangeLog.md
|
|
168
127
|
- Gemfile
|