cf3 0.0.4 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/{CHANGELOG → CHANGELOG.md} +13 -0
  4. data/Gemfile +1 -1
  5. data/README.md +21 -21
  6. data/Rakefile +7 -3
  7. data/bin/cf3samples +4 -4
  8. data/cf3ruby.gemspec +12 -13
  9. data/docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/jekyll-theme-cayman.scssc +0 -0
  10. data/docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/normalize.scssc +0 -0
  11. data/docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/rouge-github.scssc +0 -0
  12. data/docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/variables.scssc +0 -0
  13. data/docs/README.md +1 -0
  14. data/docs/_config.yml +31 -0
  15. data/docs/_site/README.md +1 -0
  16. data/docs/_site/about/index.html +52 -0
  17. data/docs/_site/assets/css/style.css +809 -0
  18. data/docs/_site/assets/y.png +0 -0
  19. data/docs/_site/example/index.html +113 -0
  20. data/docs/_site/favicon.ico +0 -0
  21. data/docs/_site/feed.xml +10 -0
  22. data/docs/_site/index.html +51 -0
  23. data/docs/_site/robots.txt +1 -0
  24. data/docs/_site/sitemap.xml +12 -0
  25. data/docs/about.md +14 -0
  26. data/docs/assets/y.png +0 -0
  27. data/docs/example.md +73 -0
  28. data/docs/favicon.ico +0 -0
  29. data/docs/index.md +10 -0
  30. data/lib/cf3/version.rb +1 -1
  31. data/lib/cf3.rb +85 -100
  32. data/samples/Rakefile +30 -0
  33. data/samples/accident.rb +34 -30
  34. data/samples/alhambra.rb +32 -29
  35. data/samples/bar_code.rb +26 -22
  36. data/samples/city.rb +14 -11
  37. data/samples/creature.rb +10 -6
  38. data/samples/dark_star.rb +5 -3
  39. data/samples/data/java_args.txt +1 -2
  40. data/samples/dragon.rb +8 -4
  41. data/samples/escher.rb +115 -116
  42. data/samples/fern.rb +13 -9
  43. data/samples/hex_tube.rb +16 -13
  44. data/samples/isosceles.rb +16 -11
  45. data/samples/levy.rb +5 -2
  46. data/samples/pcr.rb +28 -24
  47. data/samples/rubystar.rb +23 -17
  48. data/samples/sierpinski.rb +15 -11
  49. data/samples/spiral.rb +14 -10
  50. data/samples/star.rb +10 -6
  51. data/samples/tree.rb +20 -17
  52. data/samples/tree4.rb +12 -8
  53. data/samples/vine.rb +11 -7
  54. data/samples/xcross.rb +10 -7
  55. data/samples/y.rb +13 -9
  56. data/test/test_cf3.rb +11 -7
  57. metadata +50 -42
data/samples/tree4.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # tree4.rb by Martin Prout after tree4.cfdg
3
3
  # A non deterministic sketch run it until you get a result you like
4
4
  # uncomment "srand 5" to get a more deterministic result. It looked
5
- # pretty good on my linux box (however I'm not sure how universal the
5
+ # pretty good on my linux box (however I'm not sure how universal the
6
6
  # random seeding is in jruby)
7
7
  #################################################################
8
8
 
@@ -12,14 +12,14 @@ def setup_the_tree
12
12
  @tree = ContextFree.define do
13
13
  shape :trunk, 20 do # rule has a probability weighting of 20
14
14
  circle size: 0.25, brightness: 0.5 # giving an actual probability = 0.952381
15
- scraggle y: -0.1 # the minus is require by the upside down coordinate system
15
+ scraggle y: -0.1 # the minus is require by the upside down coordinate system
16
16
  end
17
17
 
18
18
  shape :trunk, 1 do # rule has a probability weighting of 1
19
- branch size: 0.7 # giving an actual probability = 0.047619
19
+ branch size: 0.7 # giving an actual probability = 0.047619
20
20
  end
21
21
 
22
- shape :trunk, 0.02 do # empty rule top stop early
22
+ shape :trunk, 0.02 do # empty rule top stop early
23
23
  end
24
24
 
25
25
  shape :branch do
@@ -30,8 +30,8 @@ def setup_the_tree
30
30
  end
31
31
  end
32
32
 
33
- shape :scraggle do # without an explicit weighting
34
- trunk rotation: 5 # probability of each scraggle rule
33
+ shape :scraggle do # without an explicit weighting
34
+ trunk rotation: 5 # probability of each scraggle rule
35
35
  end # is 0.5
36
36
 
37
37
  shape :scraggle do
@@ -40,8 +40,12 @@ def setup_the_tree
40
40
  end
41
41
  end
42
42
 
43
- def setup
43
+ def settings
44
44
  size 600, 600
45
+ end
46
+
47
+ def setup
48
+ sketch_title 'Tree 4'
45
49
  srand 5 # comment this to get variable tree shape
46
50
  setup_the_tree
47
51
  end
@@ -54,7 +58,7 @@ end
54
58
  # color: [0, 0, 0, 1] even in HSB this should be black, seems to work...
55
59
  #####
56
60
  def draw_it
57
- @tree.render :trunk, start_x: width/2, start_y: height * 0.9, stop_size: height/150, size: height/15, color: [0, 0, 0, 1]
61
+ @tree.render :trunk, start_x: width/2, start_y: height * 0.9, stop_size: height/150, size: height/15, color: [0, 0, 0, 1]
58
62
  end
59
63
 
60
64
  def mouse_clicked
data/samples/vine.rb CHANGED
@@ -3,11 +3,11 @@
3
3
  require 'cf3'
4
4
 
5
5
  def setup_the_vine
6
-
6
+
7
7
  @vine = ContextFree.define do
8
-
8
+
9
9
  shrink = 0.961
10
-
10
+
11
11
  shape :root do
12
12
  split do
13
13
  shoot y: 1
@@ -15,12 +15,12 @@ def setup_the_vine
15
15
  shoot rotation: 180
16
16
  end
17
17
  end
18
-
18
+
19
19
  shape :shoot do
20
20
  square
21
21
  shoot y: 0.98, rotation: 5, size: shrink + rand * 0.05, brightness: 0.990
22
22
  end
23
-
23
+
24
24
  shape :shoot, 0.02 do
25
25
  square
26
26
  split do
@@ -29,12 +29,16 @@ def setup_the_vine
29
29
  shoot rotation: -90
30
30
  end
31
31
  end
32
-
32
+
33
33
  end
34
34
  end
35
35
 
36
- def setup
36
+ def settings
37
37
  size 700, 700
38
+ end
39
+
40
+ def setup
41
+ sketch_title 'Vine'
38
42
  setup_the_vine
39
43
  no_stroke
40
44
  end
data/samples/xcross.rb CHANGED
@@ -5,10 +5,13 @@ require 'cf3'
5
5
  # from primitive terminals (renders on mouse clicked)
6
6
  ###
7
7
 
8
+ def settings
9
+ size 400, 200
10
+ end
11
+
8
12
  def setup
9
- size 400, 200
10
- @stars = ContextFree.define do
11
-
13
+ sketch_title 'X-Cross'
14
+ @stars = ContextFree.define do
12
15
  shape :stars do
13
16
  split do
14
17
  cross size: 0.5, x: -2
@@ -16,21 +19,21 @@ def setup
16
19
  plus size: 0.5, x: 2
17
20
  end
18
21
  end
19
-
22
+
20
23
  shape :cross do
21
24
  square w: 1, h: 3, rotation: -45
22
25
  square w: 1, h: 3, rotation: 45
23
26
  end
24
-
27
+
25
28
  shape :plus do
26
29
  square w: 1, h: 3
27
30
  square w: 1, h: 3, rotation: 90
28
31
  end
29
- end
32
+ end
30
33
  end
31
34
 
32
35
  def draw_it
33
- background 0.2
36
+ background 0.2
34
37
  @stars.render :stars, size: height/2, color: [220, 1, 1, 1]
35
38
  end
36
39
 
data/samples/y.rb CHANGED
@@ -1,21 +1,21 @@
1
1
  # y.rb ruby-processing by Martin Prout
2
2
  require 'cf3'
3
- Y_TOP = -1 / Math.sqrt(3)
3
+ Y_TOP = -1 / Math.sqrt(3)
4
4
  Y_BOT = Math.sqrt(3) / 6
5
5
 
6
6
  def setup_the_triangle
7
7
  @triangle = ContextFree.define do
8
- ########
8
+ ########
9
9
  shape :start do
10
10
  unit brightness: 1.0
11
11
  end
12
-
12
+
13
13
  shape :unit do
14
14
  triangle size: 1.0
15
15
  split do
16
16
  unit size: 0.5, x: 0, y: Y_TOP/2, brightness: 0.8
17
- rewind
18
- unit size: 0.5, x: -0.25, y: -Y_TOP/4, brightness: 0.8
17
+ rewind
18
+ unit size: 0.5, x: -0.25, y: -Y_TOP/4, brightness: 0.8
19
19
  rewind
20
20
  unit size: 0.5, x: 0.25, y: -Y_TOP/4, brightness: 0.8
21
21
  end
@@ -23,15 +23,19 @@ def setup_the_triangle
23
23
  ########
24
24
  end
25
25
  end
26
-
27
- def setup
26
+
27
+ def settings
28
28
  size 1024, 1024
29
+ smooth 8
30
+ end
31
+
32
+ def setup
33
+ sketch_title 'Y'
29
34
  setup_the_triangle
30
35
  no_stroke
31
36
  color_mode RGB, 1
32
- smooth 8
33
37
  draw_it
34
- save_frame("y.png")
38
+ save_frame(data_path('y.png'))
35
39
  end
36
40
 
37
41
 
data/test/test_cf3.rb CHANGED
@@ -1,19 +1,23 @@
1
1
  require_relative '../lib/cf3.rb'
2
2
 
3
+ def settings
4
+ size 200, 200
5
+ end
6
+
3
7
  def setup
4
- size 200, 200
8
+ sketch_title 'Test'
5
9
  @triangle = ContextFree.define do
6
10
  shape :tri do
7
- circle
8
- triangle brightness: 0.8
9
- circle brightness: 1.0, size: 0.02
11
+ circle brightness: 1.0, sat: 1.0, hue: 200
12
+ triangle brightness: 0.8, hue: 60
13
+ square brightness: 0.02, size: 0.05
10
14
  end
11
- end
15
+ end
12
16
  end
13
17
 
14
18
  def draw_it
15
- background 0.2
16
- @triangle.render :tri, size: height/2
19
+ background 255, 255, 0 # NB: default color_mode here
20
+ @triangle.render :tri, size: height / 2.0
17
21
  end
18
22
 
19
23
  def draw
metadata CHANGED
@@ -1,73 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cf3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Ashkenas
8
- - Martin Prout
8
+ - Martin Prout, Funatsufumiya
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-03 00:00:00.000000000 Z
12
+ date: 2021-09-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: ruby-processing
15
+ name: jruby_art
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 1.0.11
20
+ version: '2.5'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 1.0.11
28
- - !ruby/object:Gem::Dependency
29
- name: bundler
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ~>
33
- - !ruby/object:Gem::Version
34
- version: '1.3'
35
- type: :development
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ~>
40
- - !ruby/object:Gem::Version
41
- version: '1.3'
27
+ version: '2.5'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: rake
44
30
  requirement: !ruby/object:Gem::Requirement
45
31
  requirements:
46
- - - '>='
32
+ - - "~>"
47
33
  - !ruby/object:Gem::Version
48
- version: '0'
34
+ version: '13.0'
49
35
  type: :development
50
36
  prerelease: false
51
37
  version_requirements: !ruby/object:Gem::Requirement
52
38
  requirements:
53
- - - '>='
39
+ - - "~>"
54
40
  - !ruby/object:Gem::Version
55
- version: '0'
56
- description: " A library for ruby-processing, that allows the writing of context
57
- free \n sketches (like context free art) in a ruby DSL. It is a bit of a toy\n
58
- \ compared to the c++ version. However you can get quite a bit of \n satisfaction
59
- creating an interesting graphic, and you can't always\n predict what you are
60
- going to get.\n"
41
+ version: '13.0'
42
+ description: |2
43
+ A library for JRubyArt, that allows the writing of context free
44
+ sketches (like context free art) in a ruby DSL. It is a bit of a toy
45
+ compared to the c++ version. However you can get quite a bit of
46
+ satisfaction creating an interesting graphic, and you can't always
47
+ predict what you are going to get.
61
48
  email:
62
- - martin_p@lineone.net
49
+ - mamba2928@yahoo.co.uk
63
50
  executables:
64
51
  - cf3samples
65
52
  extensions: []
66
53
  extra_rdoc_files: []
67
54
  files:
68
- - .gitignore
69
- - .yardopts
70
- - CHANGELOG
55
+ - ".gitignore"
56
+ - ".yardopts"
57
+ - CHANGELOG.md
71
58
  - CONTRIBUTING.md
72
59
  - Gemfile
73
60
  - LICENSE.md
@@ -75,8 +62,30 @@ files:
75
62
  - Rakefile
76
63
  - bin/cf3samples
77
64
  - cf3ruby.gemspec
65
+ - docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/jekyll-theme-cayman.scssc
66
+ - docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/normalize.scssc
67
+ - docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/rouge-github.scssc
68
+ - docs/.sass-cache/cd612fe6616e7f514a2421dc73159618de35b85d/variables.scssc
69
+ - docs/README.md
70
+ - docs/_config.yml
71
+ - docs/_site/README.md
72
+ - docs/_site/about/index.html
73
+ - docs/_site/assets/css/style.css
74
+ - docs/_site/assets/y.png
75
+ - docs/_site/example/index.html
76
+ - docs/_site/favicon.ico
77
+ - docs/_site/feed.xml
78
+ - docs/_site/index.html
79
+ - docs/_site/robots.txt
80
+ - docs/_site/sitemap.xml
81
+ - docs/about.md
82
+ - docs/assets/y.png
83
+ - docs/example.md
84
+ - docs/favicon.ico
85
+ - docs/index.md
78
86
  - lib/cf3.rb
79
87
  - lib/cf3/version.rb
88
+ - samples/Rakefile
80
89
  - samples/accident.rb
81
90
  - samples/alhambra.rb
82
91
  - samples/bar_code.rb
@@ -101,9 +110,10 @@ files:
101
110
  - samples/xcross.rb
102
111
  - samples/y.rb
103
112
  - test/test_cf3.rb
104
- homepage: http://learning-ruby-processing.blogspot.co.uk/
113
+ homepage: http://monkstone.github.io/cf3ruby/
105
114
  licenses:
106
- - GPL3
115
+ - GPL-3.0
116
+ - LGPL-2.0
107
117
  metadata: {}
108
118
  post_install_message:
109
119
  rdoc_options: []
@@ -111,20 +121,18 @@ require_paths:
111
121
  - lib
112
122
  required_ruby_version: !ruby/object:Gem::Requirement
113
123
  requirements:
114
- - - '>='
124
+ - - ">="
115
125
  - !ruby/object:Gem::Version
116
126
  version: '0'
117
127
  required_rubygems_version: !ruby/object:Gem::Requirement
118
128
  requirements:
119
- - - '>='
129
+ - - ">="
120
130
  - !ruby/object:Gem::Version
121
131
  version: '0'
122
132
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.0.5
133
+ rubygems_version: 3.1.2
125
134
  signing_key:
126
135
  specification_version: 4
127
136
  summary: A ruby-DSL library for CF3 sketches
128
137
  test_files:
129
138
  - test/test_cf3.rb
130
- has_rdoc: