rubysketch 0.8.0 → 0.9.0
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/ChangeLog.md +15 -0
- data/VERSION +1 -1
- data/examples/physics.rb +40 -11
- data/lib/rubysketch/all.rb +1 -0
- data/lib/rubysketch/shape.rb +9 -3
- data/lib/rubysketch/sprite.rb +39 -16
- data/lib/rubysketch/window.rb +14 -0
- data/lib/rubysketch.rb +12 -13
- data/rubysketch.gemspec +6 -6
- data/test/test_context.rb +11 -4
- data/test/test_sprite.rb +8 -0
- metadata +15 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7d8dec759594380f551b5fd46d9f880d38351930e360942630fbac8ac4a3b91b
|
|
4
|
+
data.tar.gz: 953ab7409d9439449f34baa09695f76ba45a0e421e4a2bbadd47b0245dde5e59
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 984289d2daf410e6729e4f09f83127938cde051f4bbdb91a82291fc7c3e571a0eac6f5d233c54a69c668c1dd6d836cb50d46c3fa327c769b689c700af64ecc7c
|
|
7
|
+
data.tar.gz: d07dc1574e39ee30f1d44d00f455c6ab6f8ef8c5d9ef01d3317dc286cbc111b19bb3865c7b937073728b697191d6095337181c9dbdcc167ff74dcf6c0c048528
|
data/ChangeLog.md
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
# rubysketch ChangeLog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [v0.9.0] - 2026-06-12
|
|
5
|
+
|
|
6
|
+
- [BREAKING] Drop redundant drawXxx aliases from GraphicsContext (from processing)
|
|
7
|
+
- [BREAKING] Make pixelDensity a keyword arg in createGraphics (from processing)
|
|
8
|
+
|
|
9
|
+
- Adopt the per-window Context model from Processing
|
|
10
|
+
- Make context dispatch survive across event paths
|
|
11
|
+
- Rework physics example with walls, FPS, and drag-to-spawn
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [v0.8.1] - 2026-05-20
|
|
15
|
+
|
|
16
|
+
- Rename snake_case methods to camelCase
|
|
17
|
+
|
|
18
|
+
|
|
4
19
|
## [v0.8.0] - 2026-05-17
|
|
5
20
|
|
|
6
21
|
- [BREAKING] Wheel Y delta now follows top-left origin convention (from reflex)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.9.0
|
data/examples/physics.rb
CHANGED
|
@@ -5,21 +5,50 @@
|
|
|
5
5
|
require 'rubysketch'
|
|
6
6
|
using RubySketch
|
|
7
7
|
|
|
8
|
-
noStroke
|
|
9
|
-
gravity 0, 1000
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
def setup()
|
|
10
|
+
noStroke
|
|
11
|
+
gravity 0, 1000
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
$sprites = []
|
|
14
|
+
$grounds = [
|
|
15
|
+
createSprite(0, height - 10, width, 10),
|
|
16
|
+
createSprite(0, 0, 10, height),
|
|
17
|
+
createSprite(width - 10, 0, 10, height)
|
|
18
|
+
]
|
|
17
19
|
end
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
def draw()
|
|
22
|
+
background 0
|
|
23
|
+
|
|
24
|
+
fill 200
|
|
25
|
+
sprite *$grounds
|
|
26
|
+
fill 150, 240, 150
|
|
27
|
+
sprite *$sprites
|
|
28
|
+
|
|
29
|
+
textSize 16
|
|
30
|
+
fill 255, 200, 150
|
|
31
|
+
text "#{frameRate.to_i} FPS, #{$sprites.size} Shapes", 20, 30
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def mousePressed()
|
|
35
|
+
$sprites << create(mouseX, mouseY)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def mouseDragged()
|
|
39
|
+
$sprites << create(mouseX, mouseY)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def create(x, y)
|
|
43
|
+
x += rand
|
|
44
|
+
y += rand
|
|
45
|
+
size = 20
|
|
46
|
+
if rand(2) == 0
|
|
47
|
+
sp = createSprite x, y, size, size
|
|
48
|
+
else
|
|
49
|
+
sp = createSprite x, y, shape: Circle.new(0, 0, size)
|
|
50
|
+
end
|
|
22
51
|
sp.dynamic = true
|
|
23
52
|
sp.restitution = 0.5
|
|
24
|
-
|
|
53
|
+
sp
|
|
25
54
|
end
|
data/lib/rubysketch/all.rb
CHANGED
data/lib/rubysketch/shape.rb
CHANGED
|
@@ -65,22 +65,28 @@ module RubySketch
|
|
|
65
65
|
nil
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
# Defines
|
|
68
|
+
# Defines contactEnd block.
|
|
69
69
|
#
|
|
70
70
|
# @example Call jumping() when the shape leaves the ground sprite
|
|
71
|
-
# shape.
|
|
71
|
+
# shape.contactEnd do |o|
|
|
72
72
|
# jumping if o == groundSprite
|
|
73
73
|
# end
|
|
74
74
|
#
|
|
75
75
|
# @return [nil] nil
|
|
76
76
|
#
|
|
77
|
-
def
|
|
77
|
+
def contactEnd(&block)
|
|
78
78
|
@shape.contact_end do |other|
|
|
79
79
|
block.call other.instance_variable_get :@owner__ if block
|
|
80
80
|
end
|
|
81
81
|
nil
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
+
# @deprecated Use {#contactEnd} instead.
|
|
85
|
+
def contact_end(&block)
|
|
86
|
+
warn "Shape#contact_end is deprecated, use #contactEnd instead", uniq: true
|
|
87
|
+
contactEnd(&block)
|
|
88
|
+
end
|
|
89
|
+
|
|
84
90
|
# @private
|
|
85
91
|
def getInternal__()
|
|
86
92
|
@shape
|
data/lib/rubysketch/sprite.rb
CHANGED
|
@@ -63,7 +63,7 @@ module RubySketch
|
|
|
63
63
|
raise 'invalid image' if image && !image.getInternal__.is_a?(Rays::Image)
|
|
64
64
|
raise 'invalid shape' if shape && !shape.getInternal__.is_a?(Reflex::Shape)
|
|
65
65
|
|
|
66
|
-
@context__ = context || Context.
|
|
66
|
+
@context__ = context || Context.current__
|
|
67
67
|
@shape__ = shape
|
|
68
68
|
@view__ = View.new(
|
|
69
69
|
self, x: x, y: y, w: w, h: h,
|
|
@@ -674,7 +674,7 @@ module RubySketch
|
|
|
674
674
|
#
|
|
675
675
|
# @return [Numeric] gravity scale
|
|
676
676
|
#
|
|
677
|
-
def
|
|
677
|
+
def gravityScale=(scale)
|
|
678
678
|
@view__.gravity_scale = scale
|
|
679
679
|
end
|
|
680
680
|
|
|
@@ -682,10 +682,22 @@ module RubySketch
|
|
|
682
682
|
#
|
|
683
683
|
# @return [Numeric] gravity scale
|
|
684
684
|
#
|
|
685
|
-
def
|
|
685
|
+
def gravityScale()
|
|
686
686
|
@view__.gravity_scale
|
|
687
687
|
end
|
|
688
688
|
|
|
689
|
+
# @deprecated Use {#gravityScale=} instead.
|
|
690
|
+
def gravity_scale=(scale)
|
|
691
|
+
warn "Sprite#gravity_scale= is deprecated, use #gravityScale= instead", uniq: true
|
|
692
|
+
self.gravityScale = scale
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
# @deprecated Use {#gravityScale} instead.
|
|
696
|
+
def gravity_scale()
|
|
697
|
+
warn "Sprite#gravity_scale is deprecated, use #gravityScale instead", uniq: true
|
|
698
|
+
gravityScale
|
|
699
|
+
end
|
|
700
|
+
|
|
689
701
|
# Converts a vector from the screen coordinate
|
|
690
702
|
#
|
|
691
703
|
# @param [Vector] vec screen coordinate vector
|
|
@@ -839,7 +851,7 @@ module RubySketch
|
|
|
839
851
|
# @return [Boolean] is any key pressed or not
|
|
840
852
|
#
|
|
841
853
|
def keyPressed(&block)
|
|
842
|
-
|
|
854
|
+
setViewBlock__ :keyPressed, block if block
|
|
843
855
|
keyIsPressed
|
|
844
856
|
end
|
|
845
857
|
|
|
@@ -848,7 +860,7 @@ module RubySketch
|
|
|
848
860
|
# @return [nil] nil
|
|
849
861
|
#
|
|
850
862
|
def keyReleased(&block)
|
|
851
|
-
|
|
863
|
+
setViewBlock__ :keyReleased, block if block
|
|
852
864
|
nil
|
|
853
865
|
end
|
|
854
866
|
|
|
@@ -857,7 +869,7 @@ module RubySketch
|
|
|
857
869
|
# @return [nil] nil
|
|
858
870
|
#
|
|
859
871
|
def keyTyped(&block)
|
|
860
|
-
|
|
872
|
+
setViewBlock__ :keyTyped, block if block
|
|
861
873
|
nil
|
|
862
874
|
end
|
|
863
875
|
|
|
@@ -871,7 +883,7 @@ module RubySketch
|
|
|
871
883
|
# @return [Boolean] is any mouse button pressed or not
|
|
872
884
|
#
|
|
873
885
|
def mousePressed(&block)
|
|
874
|
-
|
|
886
|
+
setViewBlock__ :mousePressed, block if block
|
|
875
887
|
@view__.mousePressed?
|
|
876
888
|
end
|
|
877
889
|
|
|
@@ -885,7 +897,7 @@ module RubySketch
|
|
|
885
897
|
# @return [nil] nil
|
|
886
898
|
#
|
|
887
899
|
def mouseReleased(&block)
|
|
888
|
-
|
|
900
|
+
setViewBlock__ :mouseReleased, block if block
|
|
889
901
|
nil
|
|
890
902
|
end
|
|
891
903
|
|
|
@@ -899,7 +911,7 @@ module RubySketch
|
|
|
899
911
|
# @return [nil] nil
|
|
900
912
|
#
|
|
901
913
|
def mouseMoved(&block)
|
|
902
|
-
|
|
914
|
+
setViewBlock__ :mouseMoved, block if block
|
|
903
915
|
nil
|
|
904
916
|
end
|
|
905
917
|
|
|
@@ -913,7 +925,7 @@ module RubySketch
|
|
|
913
925
|
# @return [nil] nil
|
|
914
926
|
#
|
|
915
927
|
def mouseDragged(&block)
|
|
916
|
-
|
|
928
|
+
setViewBlock__ :mouseDragged, block if block
|
|
917
929
|
nil
|
|
918
930
|
end
|
|
919
931
|
|
|
@@ -927,7 +939,7 @@ module RubySketch
|
|
|
927
939
|
# @return [nil] nil
|
|
928
940
|
#
|
|
929
941
|
def mouseClicked(&block)
|
|
930
|
-
|
|
942
|
+
setViewBlock__ :mouseClicked, block if block
|
|
931
943
|
nil
|
|
932
944
|
end
|
|
933
945
|
|
|
@@ -941,7 +953,7 @@ module RubySketch
|
|
|
941
953
|
# @return [nil] nil
|
|
942
954
|
#
|
|
943
955
|
def mouseWheel(&block)
|
|
944
|
-
|
|
956
|
+
setViewBlock__ :mouseWheel, block if block
|
|
945
957
|
nil
|
|
946
958
|
end
|
|
947
959
|
|
|
@@ -955,7 +967,7 @@ module RubySketch
|
|
|
955
967
|
# @return [nil] nil
|
|
956
968
|
#
|
|
957
969
|
def touchStarted(&block)
|
|
958
|
-
|
|
970
|
+
setViewBlock__ :touchStarted, block if block
|
|
959
971
|
nil
|
|
960
972
|
end
|
|
961
973
|
|
|
@@ -969,7 +981,7 @@ module RubySketch
|
|
|
969
981
|
# @return [nil] nil
|
|
970
982
|
#
|
|
971
983
|
def touchEnded(&block)
|
|
972
|
-
|
|
984
|
+
setViewBlock__ :touchEnded, block if block
|
|
973
985
|
nil
|
|
974
986
|
end
|
|
975
987
|
|
|
@@ -983,7 +995,7 @@ module RubySketch
|
|
|
983
995
|
# @return [nil] nil
|
|
984
996
|
#
|
|
985
997
|
def touchMoved(&block)
|
|
986
|
-
|
|
998
|
+
setViewBlock__ :touchMoved, block if block
|
|
987
999
|
nil
|
|
988
1000
|
end
|
|
989
1001
|
|
|
@@ -1072,6 +1084,17 @@ module RubySketch
|
|
|
1072
1084
|
end
|
|
1073
1085
|
end
|
|
1074
1086
|
|
|
1087
|
+
# @private
|
|
1088
|
+
def setViewBlock__(name, block)
|
|
1089
|
+
c = @context__
|
|
1090
|
+
@view__.__send__ "#{name}=", block && (proc do |*a, **k, &b|
|
|
1091
|
+
prev, $processing_context__ = $processing_context__, c
|
|
1092
|
+
block.call(*a, **k, &b)
|
|
1093
|
+
ensure
|
|
1094
|
+
$processing_context__ = prev
|
|
1095
|
+
end)
|
|
1096
|
+
end
|
|
1097
|
+
|
|
1075
1098
|
end# Sprite
|
|
1076
1099
|
|
|
1077
1100
|
|
|
@@ -1135,7 +1158,7 @@ module RubySketch
|
|
|
1135
1158
|
#
|
|
1136
1159
|
def createSprite(*args, klass: nil, context: nil, **kwargs)
|
|
1137
1160
|
klass ||= RubySketch::Sprite
|
|
1138
|
-
context ||= Context.
|
|
1161
|
+
context ||= Context.current__
|
|
1139
1162
|
addSprite klass.new(*args, context: context, **kwargs)
|
|
1140
1163
|
end
|
|
1141
1164
|
|
data/lib/rubysketch.rb
CHANGED
|
@@ -2,13 +2,13 @@ require 'rubysketch/all'
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
module RubySketch
|
|
5
|
-
WINDOW__
|
|
5
|
+
WINDOW__ = Processing.setup__ Window, Context
|
|
6
|
+
$processing_context__ = WINDOW__.context
|
|
6
7
|
|
|
7
8
|
refine Object do
|
|
8
|
-
|
|
9
|
-
Processing.funcs__(context).each do |func|
|
|
9
|
+
Processing.funcs__(Context).each do |func|
|
|
10
10
|
define_method func do |*args, **kwargs, &block|
|
|
11
|
-
|
|
11
|
+
$processing_context__.__send__ func, *args, **kwargs, &block
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
14
|
end
|
|
@@ -23,10 +23,9 @@ def RubySketch(snake_case: false)
|
|
|
23
23
|
Processing.alias_snake_case_methods__ RubySketch
|
|
24
24
|
|
|
25
25
|
refine Object do
|
|
26
|
-
|
|
27
|
-
Processing.funcs__(context).each do |func|
|
|
26
|
+
Processing.funcs__(RubySketch::Context).each do |func|
|
|
28
27
|
define_method func do |*args, **kwargs, &block|
|
|
29
|
-
|
|
28
|
+
$processing_context__.__send__ func, *args, **kwargs, &block
|
|
30
29
|
end
|
|
31
30
|
end
|
|
32
31
|
end
|
|
@@ -35,20 +34,20 @@ end
|
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
begin
|
|
38
|
-
w
|
|
37
|
+
w = RubySketch::WINDOW__
|
|
39
38
|
|
|
40
|
-
|
|
39
|
+
w.context.class.constants
|
|
41
40
|
.reject {_1 =~ /__$/}
|
|
42
|
-
.each {self.class.const_set _1,
|
|
41
|
+
.each {self.class.const_set _1, w.context.class.const_get(_1)}
|
|
43
42
|
|
|
44
43
|
w.__send__ :begin_draw
|
|
45
44
|
at_exit do
|
|
46
|
-
Processing.events__(
|
|
45
|
+
Processing.events__(w.context.class).each do |event|
|
|
47
46
|
m = begin method event; rescue NameError; nil end
|
|
48
|
-
|
|
47
|
+
w.context.__send__(event) {__send__ event} if m
|
|
49
48
|
end
|
|
50
49
|
|
|
51
50
|
w.__send__ :end_draw
|
|
52
|
-
Processing::App.new {w.show}.start if
|
|
51
|
+
Processing::App.new {w.show}.start if w.context.hasUserBlocks__ && !$!
|
|
53
52
|
end
|
|
54
53
|
end
|
data/rubysketch.gemspec
CHANGED
|
@@ -25,12 +25,12 @@ 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.4.
|
|
33
|
-
s.add_dependency 'processing', '~> 1.
|
|
28
|
+
s.add_dependency 'xot', '~> 0.3.14'
|
|
29
|
+
s.add_dependency 'rucy', '~> 0.3.14'
|
|
30
|
+
s.add_dependency 'beeps', '~> 0.3.15'
|
|
31
|
+
s.add_dependency 'rays', '~> 0.3.15'
|
|
32
|
+
s.add_dependency 'reflexion', '~> 0.4.2'
|
|
33
|
+
s.add_dependency 'processing', '~> 1.3.0'
|
|
34
34
|
|
|
35
35
|
s.files = `git ls-files`.split $/
|
|
36
36
|
s.test_files = s.files.grep %r{^(test|spec|features)/}
|
data/test/test_context.rb
CHANGED
|
@@ -4,14 +4,21 @@ require_relative 'helper'
|
|
|
4
4
|
class TestContext < Test::Unit::TestCase
|
|
5
5
|
|
|
6
6
|
RS = RubySketch
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
def sprite(*args, **kwargs)
|
|
9
|
+
RS::Sprite.new(*args, **kwargs)
|
|
10
|
+
end
|
|
8
11
|
|
|
9
12
|
def context()
|
|
10
|
-
RS::Context.
|
|
13
|
+
RS::Context.current__
|
|
11
14
|
end
|
|
12
15
|
|
|
13
|
-
def
|
|
14
|
-
RS::
|
|
16
|
+
def setup()
|
|
17
|
+
RS::Context.setCurrent__ RS::Window.new.context
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def teardown()
|
|
21
|
+
RS::Context.setCurrent__ nil
|
|
15
22
|
end
|
|
16
23
|
|
|
17
24
|
def test_addSprite()
|
data/test/test_sprite.rb
CHANGED
|
@@ -17,6 +17,14 @@ class TestSprite < Test::Unit::TestCase
|
|
|
17
17
|
RS::Image.new Rays::Image.new(w, h)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
+
def setup()
|
|
21
|
+
RS::Context.setCurrent__ RS::Window.new.context
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def teardown()
|
|
25
|
+
RS::Context.setCurrent__ nil
|
|
26
|
+
end
|
|
27
|
+
|
|
20
28
|
def test_initialize()
|
|
21
29
|
assert_equal vec(0, 0), sprite .pos
|
|
22
30
|
assert_equal vec(1, 2), sprite(1, 2) .pos
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubysketch
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- xordog
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-06-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xot
|
|
@@ -16,84 +16,84 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.3.
|
|
19
|
+
version: 0.3.14
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.3.
|
|
26
|
+
version: 0.3.14
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rucy
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.3.
|
|
33
|
+
version: 0.3.14
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.3.
|
|
40
|
+
version: 0.3.14
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: beeps
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.3.
|
|
47
|
+
version: 0.3.15
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.3.
|
|
54
|
+
version: 0.3.15
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rays
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.3.
|
|
61
|
+
version: 0.3.15
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.3.
|
|
68
|
+
version: 0.3.15
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: reflexion
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.4.
|
|
75
|
+
version: 0.4.2
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.4.
|
|
82
|
+
version: 0.4.2
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: processing
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 1.
|
|
89
|
+
version: 1.3.0
|
|
90
90
|
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 1.
|
|
96
|
+
version: 1.3.0
|
|
97
97
|
description: A game engine based on the Processing API.
|
|
98
98
|
email: xordog@gmail.com
|
|
99
99
|
executables: []
|
|
@@ -132,6 +132,7 @@ files:
|
|
|
132
132
|
- lib/rubysketch/shape.rb
|
|
133
133
|
- lib/rubysketch/sound.rb
|
|
134
134
|
- lib/rubysketch/sprite.rb
|
|
135
|
+
- lib/rubysketch/window.rb
|
|
135
136
|
- pod.rake
|
|
136
137
|
- rubysketch.gemspec
|
|
137
138
|
- src/RubySketch.h
|