waxy 0.1.0 → 0.1.1
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/Gemfile.lock +20 -20
- data/lib/waxy/geometry/hex.rb +18 -18
- data/lib/waxy/render/svg.rb +13 -2
- data/lib/waxy/version.rb +1 -1
- data/waxy.gemspec +6 -5
- metadata +14 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fffde1bf9aa66779c5a153d9b952d19b06cade18746cd85a783ffb3c47a471fb
|
4
|
+
data.tar.gz: 8e2013afbcd989b0329131855a70edd4814afe92a2efacf620a1c37456f12faf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a22c1c2b3cb2a000c25e72fff44d315f59033eb3167a0b41d753f1e608d8859317e7d9f111d3d43a9f6b3aea5d2f8cdcea0cdfed41774bcc2d76190d96e78d35
|
7
|
+
data.tar.gz: 3427e4abf9315a95cf2cea7f46acdd5389c6ff6b2bf4488f4794e5bf9adddd4ed237b0c58777040ceb600390d71e722a450be63648f14bbfaa61e70dc5f0cde7
|
data/Gemfile.lock
CHANGED
@@ -2,29 +2,29 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
waxy (0.1.0)
|
5
|
-
tilt (~> 2.
|
5
|
+
tilt (~> 2.1)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
awesome_print (1.
|
11
|
-
byebug (11.
|
12
|
-
diff-lcs (1.
|
13
|
-
rake (
|
14
|
-
rspec (3.
|
15
|
-
rspec-core (~> 3.
|
16
|
-
rspec-expectations (~> 3.
|
17
|
-
rspec-mocks (~> 3.
|
18
|
-
rspec-core (3.
|
19
|
-
rspec-support (~> 3.
|
20
|
-
rspec-expectations (3.
|
10
|
+
awesome_print (1.9.2)
|
11
|
+
byebug (11.1.3)
|
12
|
+
diff-lcs (1.5.0)
|
13
|
+
rake (13.0.6)
|
14
|
+
rspec (3.12.0)
|
15
|
+
rspec-core (~> 3.12.0)
|
16
|
+
rspec-expectations (~> 3.12.0)
|
17
|
+
rspec-mocks (~> 3.12.0)
|
18
|
+
rspec-core (3.12.1)
|
19
|
+
rspec-support (~> 3.12.0)
|
20
|
+
rspec-expectations (3.12.2)
|
21
21
|
diff-lcs (>= 1.2.0, < 2.0)
|
22
|
-
rspec-support (~> 3.
|
23
|
-
rspec-mocks (3.
|
22
|
+
rspec-support (~> 3.12.0)
|
23
|
+
rspec-mocks (3.12.3)
|
24
24
|
diff-lcs (>= 1.2.0, < 2.0)
|
25
|
-
rspec-support (~> 3.
|
26
|
-
rspec-support (3.
|
27
|
-
tilt (2.0
|
25
|
+
rspec-support (~> 3.12.0)
|
26
|
+
rspec-support (3.12.0)
|
27
|
+
tilt (2.1.0)
|
28
28
|
|
29
29
|
PLATFORMS
|
30
30
|
ruby
|
@@ -33,9 +33,9 @@ DEPENDENCIES
|
|
33
33
|
awesome_print
|
34
34
|
bundler (~> 2.0)
|
35
35
|
byebug (~> 11)
|
36
|
-
rake (~>
|
37
|
-
rspec (~> 3.
|
36
|
+
rake (~> 13.0)
|
37
|
+
rspec (~> 3.9)
|
38
38
|
waxy!
|
39
39
|
|
40
40
|
BUNDLED WITH
|
41
|
-
2.
|
41
|
+
2.4.6
|
data/lib/waxy/geometry/hex.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module Waxy
|
1
|
+
module Waxy
|
2
2
|
module Geometry
|
3
3
|
class Hex
|
4
4
|
|
@@ -7,26 +7,26 @@ module Waxy
|
|
7
7
|
# Vector of 6 x (0.0 - 1.0)
|
8
8
|
# Used to scale the pie slices
|
9
9
|
# !! @size is typically set during render through a Waxy::Meta
|
10
|
-
|
10
|
+
|
11
11
|
attr_accessor :size
|
12
12
|
|
13
13
|
# All params are Int
|
14
14
|
def initialize(_q, _r, _s = nil)
|
15
15
|
@q = _q
|
16
|
-
@r = _r
|
17
|
-
@s = _s
|
16
|
+
@r = _r
|
17
|
+
@s = _s
|
18
18
|
end
|
19
19
|
|
20
20
|
# @return [Array]
|
21
|
-
|
21
|
+
# initialized here for foreseable geometry calculations,
|
22
22
|
# but in general this should be handled through a Meta
|
23
23
|
def size
|
24
|
-
@size ||= [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
25
|
-
@size
|
24
|
+
@size ||= [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
|
25
|
+
@size
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def == (b)
|
29
|
-
q == b.q && r == b.r && s == b.s
|
29
|
+
q == b.q && r == b.r && s == b.s
|
30
30
|
end
|
31
31
|
|
32
32
|
def != (b)
|
@@ -45,7 +45,7 @@ module Waxy
|
|
45
45
|
# @param k [Int]
|
46
46
|
def * (k)
|
47
47
|
Hex.new(q * k, r * k, (s ? s * k : nil))
|
48
|
-
end
|
48
|
+
end
|
49
49
|
|
50
50
|
def hex_length(hex)
|
51
51
|
((hex.q.abs + hex.r.abs + hex.s.abs) / 2).to_i
|
@@ -66,28 +66,28 @@ module Waxy
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
#TODO(mjy) fix
|
69
|
+
#TODO(mjy) fix
|
70
70
|
def self.point(center, size, i)
|
71
71
|
angle_deg = 60.0 * i
|
72
72
|
angle_rad = Math::PI / 180 * angle_deg
|
73
73
|
Waxy::Geometry::Point.new(
|
74
|
-
((center.x + size) * Math.cos(angle_rad)),
|
74
|
+
((center.x + size) * Math.cos(angle_rad)),
|
75
75
|
((center.y + size ) * Math.sin(angle_rad))
|
76
76
|
)
|
77
77
|
end
|
78
78
|
|
79
79
|
def self.hexagon(center, size)
|
80
|
-
Hexagon.new(
|
81
|
-
|
82
|
-
|
80
|
+
Hexagon.new(
|
81
|
+
outer_coords: (1..6).collect{|i| point(center, size, i)}
|
82
|
+
)
|
83
83
|
end
|
84
84
|
|
85
85
|
def self.triangle(center, size, i)
|
86
86
|
points = [[0,0]]
|
87
87
|
points.push point(center, size, i)
|
88
|
-
points.push point(center, size, (i + 1 == 7 ? 1 : i + 1))
|
88
|
+
points.push point(center, size, (i + 1 == 7 ? 1 : i + 1))
|
89
89
|
points
|
90
90
|
end
|
91
91
|
|
92
|
-
end
|
93
|
-
end
|
92
|
+
end
|
93
|
+
end
|
data/lib/waxy/render/svg.rb
CHANGED
@@ -86,7 +86,7 @@ module Waxy
|
|
86
86
|
(0..h).each do |r|
|
87
87
|
(0..h).each do |j|
|
88
88
|
return str if metadata.size == 0
|
89
|
-
q = j - (r/2).floor
|
89
|
+
q = j - (r / 2).floor
|
90
90
|
hex = Waxy::Geometry::Hex.new(q, r)
|
91
91
|
str << Waxy::Render::Svg.hex_pie(layout, hex, metadata.pop)
|
92
92
|
end
|
@@ -94,7 +94,6 @@ module Waxy
|
|
94
94
|
str
|
95
95
|
end
|
96
96
|
|
97
|
-
|
98
97
|
def self.rectangle(layout, metadata, w = 10, h = 10)
|
99
98
|
str = ''
|
100
99
|
|
@@ -112,6 +111,18 @@ module Waxy
|
|
112
111
|
str
|
113
112
|
end
|
114
113
|
|
114
|
+
def self.rectangle_coords(w, h)
|
115
|
+
a = []
|
116
|
+
(0..h).each do |r|
|
117
|
+
a[r] ||= []
|
118
|
+
(0..w).each do |j|
|
119
|
+
q = j - (r/2).floor
|
120
|
+
a[r][j] ||= []
|
121
|
+
a[r][j] = [q, r]
|
122
|
+
end
|
123
|
+
end
|
124
|
+
a
|
125
|
+
end
|
115
126
|
|
116
127
|
# Interesting capped layout
|
117
128
|
# r = i
|
data/lib/waxy/version.rb
CHANGED
data/waxy.gemspec
CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Matt Yoder"]
|
10
10
|
spec.email = ["diapriid@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{Waxy is
|
13
|
-
spec.description = %q{
|
12
|
+
spec.summary = %q{Waxy is a tool to generate hexagonal SVG visualizations using Ruby.}
|
13
|
+
spec.description = %q{Waxy is a Ruby gem that draws SVG hexagon visualizations.}
|
14
14
|
spec.homepage = "https://github.com/SpeciesFileGroup/waxy"
|
15
15
|
spec.license = "NCSA"
|
16
16
|
|
@@ -32,15 +32,16 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
33
33
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
34
34
|
end
|
35
|
+
|
35
36
|
spec.bindir = "exe"
|
36
37
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
37
38
|
spec.require_paths = ["lib"]
|
38
39
|
|
39
|
-
spec.add_dependency "tilt", "~> 2.
|
40
|
+
spec.add_dependency "tilt", "~> 2.1"
|
40
41
|
|
41
42
|
spec.add_development_dependency "byebug", "~> 11"
|
42
43
|
spec.add_development_dependency "awesome_print"
|
43
44
|
spec.add_development_dependency "bundler", "~> 2.0"
|
44
|
-
spec.add_development_dependency "rake", "~>
|
45
|
-
spec.add_development_dependency "rspec", "~> 3.
|
45
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
46
|
+
spec.add_development_dependency "rspec", "~> 3.9"
|
46
47
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: waxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Yoder
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tilt
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: '2.1'
|
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: 2.
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,29 +72,29 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '13.0'
|
76
76
|
type: :development
|
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: '
|
82
|
+
version: '13.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.9'
|
90
90
|
type: :development
|
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: '3.
|
97
|
-
description:
|
96
|
+
version: '3.9'
|
97
|
+
description: Waxy is a Ruby gem that draws SVG hexagon visualizations.
|
98
98
|
email:
|
99
99
|
- diapriid@gmail.com
|
100
100
|
executables: []
|
@@ -139,7 +139,7 @@ licenses:
|
|
139
139
|
metadata:
|
140
140
|
homepage_uri: https://github.com/SpeciesFileGroup/waxy
|
141
141
|
source_code_uri: https://github.com/SpeciesFileGroup/waxy
|
142
|
-
post_install_message:
|
142
|
+
post_install_message:
|
143
143
|
rdoc_options: []
|
144
144
|
require_paths:
|
145
145
|
- lib
|
@@ -154,10 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
|
-
|
158
|
-
|
159
|
-
signing_key:
|
157
|
+
rubygems_version: 3.4.6
|
158
|
+
signing_key:
|
160
159
|
specification_version: 4
|
161
|
-
summary: Waxy is
|
162
|
-
Ruby.
|
160
|
+
summary: Waxy is a tool to generate hexagonal SVG visualizations using Ruby.
|
163
161
|
test_files: []
|