picrate 1.2.4-java → 1.3.0-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1ac2e940ede1e29f5b6d6e4856b945d7302487aee87dea6229c68470a32e41c4
4
- data.tar.gz: f000acd2d65cf8bea16754c2474ff48c9b22ce62a9c06637de2b64820aa166e3
3
+ metadata.gz: 674b5526a2444390b3230e1d751b737c6dd45b9d411956a1f2911f8c79c0bf18
4
+ data.tar.gz: 178aee951ab71107cb59981a6e2edea6952a80067dccb1431879edff8eb7aa32
5
5
  SHA512:
6
- metadata.gz: eed56464f6ebb5dab6881872de1bfff120cea520babe3cf3d559ec2698d018b1d5b73e914950d215cdcb2e1f28a6cc6ca28fbb94f64e19e78c6b851aa53a0f66
7
- data.tar.gz: 69c364b81095fe15803b1ab5020d1a116858edc1f0dfb7732bc9c157634f2bdf2f7b42bfccb10fd8c35855d68aeb822cc795ad9d2aac67544e43f542a72e276c
6
+ metadata.gz: 3f78af9e8a537e7a28f0e4cd31d44457566eecfee63ad97434c6e33dd70e7b29baa824c628e0f72ba50d3f0ffc77827c70923a443417cdfc5d46b1ecc76012b5
7
+ data.tar.gz: 0aae76990d4ef5a801d20f22fc177de3f4319e16e45ce426adf1bfaf6d6eb57e20287c7558fbeb2221fe8b1d3ddcb0cb11f8a60a7e535236e78d52df95a7c612
@@ -3,7 +3,7 @@
3
3
  <extension>
4
4
  <groupId>io.takari.polyglot</groupId>
5
5
  <artifactId>polyglot-ruby</artifactId>
6
- <version>0.4.3
6
+ <version>0.4.5
7
7
  </version>
8
8
  </extension>
9
9
  </extensions>
@@ -1,2 +1,2 @@
1
- distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
2
- wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
1
+ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
2
+ wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
@@ -1,5 +1,6 @@
1
- v1.2.4 Extract picrate examples to ~/projects/examples instead of ~/picrate_samples for tighter integration with geany editor. Remove non-functioning sound library as an install option (direct toward minim as option).
1
+ v1.3.0 Last version for jdk8. But should run OK jdk11 with JRuby-9.2.11.0 and with included jogl-2.4.0-rc.
2
2
 
3
+ v1.2.4 Extract picrate examples to ~/projects/examples instead of ~/picrate_samples for tighter integration with geany editor. Remove non-functioning sound library as an install option (direct toward minim as option).
3
4
  v1.2.3 Favor latest beta Video2 library over GLVideo.
4
5
 
5
6
  v1.2.2 Removed landscape from example as too taxing for raspberryPI. Improved geany tools.
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
1
  source 'https://rubygems.org'
2
- ruby '2.5.7', :engine => 'jruby', :engine_version => '9.2.9.0'
2
+ ruby '2.5.7', :engine => 'jruby', :engine_version => '9.2.11.0'
3
3
  gemspec
data/README.md CHANGED
@@ -1,13 +1,12 @@
1
1
  __C6H3N3O7__ [![Gem Version](https://badge.fury.io/rb/picrate.svg)](https://badge.fury.io/rb/picrate)![Travis CI](https://travis-ci.org/ruby-processing/PiCrate.svg)
2
2
 
3
3
  # PiCrate
4
- Version for RaspberryPI `Stretch` and `Oracle JDK8`, will probably also work on `OpenJDK11+` but see `PiCrate-2.0.0` for version targetting `Buster`.
5
- Create processing sketches in ruby on raspberry-pi and linux (this project is a parallel development of [propane][propane] targetting the raspberry-pi, but will initially be developed on a regular linux box). The aim is to produce a gem installable app that can be run with jruby, with minimal dependencies. Drop the `C` and you get pirate, or and an `e` and get `PiCreate`, a happy coincidence?
4
+ Version for RaspberryPI `Stretch` and `Oracle JDK8`, will probably also work on `OpenJDK11+`. For latest version see auto-install script for [PiCrate-2.0][buster] on Buster (tested on RaspberryPI4). Create processing sketches in ruby on raspberry-pi and linux (this project is a parallel development of [propane][propane] targetting the raspberry-pi, but will initially be developed on a regular linux box). The aim is to produce a gem installable app that can be run with jruby, with minimal dependencies. Drop the `C` and you get pirate, or and an `e` and get `PiCreate`, a happy coincidence?
6
5
 
7
6
  ### To install from rubygems ###
8
7
 
9
8
  ```bash
10
- jgem install picrate -v 1.2.3
9
+ jgem install picrate
11
10
  ```
12
11
 
13
12
  ### To Build and Test ###
@@ -19,7 +18,7 @@ Requires java to build, but uses a maven wrapper so you don't need to install ma
19
18
  ```bash
20
19
  cd PiCrate
21
20
  rake # assumes an installed version of vanilla processing
22
- jgem install picrate-1.2.3-java.gem
21
+ jgem install picrate-1.2.4-java.gem
23
22
 
24
23
  ```
25
24
  To create a template sketch:-
@@ -55,6 +54,5 @@ MySketch.new
55
54
  jruby --dev my_sketch.rb # --dev flag speeds start-up
56
55
  ```
57
56
 
58
-
57
+ [buster]:https://gist.github.com/monkstone/6ae9840d7b7008c177b4a9f589d14ec6
59
58
  [propane]:https://ruby-processing.github.io/propane/
60
- [oracle]:http://www.rpiblog.com/2014/03/installing-oracle-jdk-8-on-raspberry-pi.html
data/Rakefile CHANGED
@@ -9,15 +9,11 @@ task default: %i[init compile install test gem]
9
9
  # depends on installed processing, with processing on path
10
10
  desc 'Copy Jars'
11
11
  task :init do
12
- # for Archlinux etc
13
- # processing_root = File.dirname(`readlink -f $(which processing)`)
14
- # alternative for debian linux etc
15
- processing_root = File.join(HOME_DIR, 'processing-3.5.3')
16
- jar_dir = File.join(processing_root, 'core', 'library')
17
- opengl = Dir.entries(jar_dir).grep(/amd64|armv6hf/).select { |jar| jar =~ /linux/ }
12
+ jogl24 = File.join(HOME_DIR, 'jogl24')
13
+ opengl = Dir.entries(jogl24).grep(/amd64|armv6hf/).select { |jar| jar =~ /linux/ }
18
14
  opengl.concat %w[jogl-all.jar gluegen-rt.jar]
19
15
  opengl.each do |gl|
20
- FileUtils.cp(File.join(jar_dir, gl), File.join('.', 'lib'))
16
+ FileUtils.cp(File.join(jogl24, gl), File.join('.', 'lib'))
21
17
  end
22
18
  end
23
19
 
@@ -14,7 +14,7 @@ Get the latest version from [http://jruby.org/download][download]
14
14
 
15
15
  ```bash
16
16
  cd /opt
17
- sudo tar xzvf /pathToDownload/jruby-bin-9.2.9.0.tar.gz
17
+ sudo tar xzvf /pathToDownload/jruby-bin-9.2.11.0.tar.gz
18
18
  ```
19
19
 
20
20
  Then use the excellent `update-alternatives` tool to provide symbolic links to `jruby`, `jgem`, `jirb` and `rake` especially if you haven't installed `mri` ruby.
@@ -44,9 +44,9 @@ mkdir installer
44
44
  cd installer
45
45
  rake
46
46
  ```
47
- Currently installs jruby-9.2.9.0
47
+ Currently installs jruby-9.2.11.0
48
48
 
49
49
  If you know better please post on wiki
50
50
 
51
- [download]:"https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.2.9.0/jruby-dist-9.2.9.0-bin.tar.gz"
51
+ [download]:"https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.2.11.0/jruby-dist-9.2.11.0-bin.tar.gz"
52
52
  [rake_gist]:https://gist.github.com/monkstone/159c5a9813c9cd181040b4715e74f6b2
@@ -5,7 +5,7 @@ date: 2019-11-11 07:34:13
5
5
  categories: PiCrate update
6
6
  permalink: /getting_buster/
7
7
  ---
8
- Currently Raspbian Buster does not come with a pre-installed java. So the first step is to install a `jdk` we currently recommend installing openjdk8 (_there a complications you don't need using jdk11_) to benefit from `client` optimisations. There is a bash script [here][buster], that will install `openjdk8`, `jruby-9.2.9.0` and picrate for you.
8
+ Currently Raspbian Buster does not come with a pre-installed java. So the first step is to install a `jdk` we currently recommend installing openjdk8 (_there a complications you don't need using jdk11_) to benefit from `client` optimisations. There is a bash script [here][buster], that will install `openjdk8`, `jruby-9.2.11.0` and picrate for you.
9
9
  ```bash
10
10
  bash buster_install.sh
11
11
  ```
@@ -59,7 +59,7 @@ picrate --install # no args, install samples and geany config
59
59
  picrate -i Samples # to omit geany config
60
60
  ```
61
61
 
62
- This installs example sketches in `~/sample_sketches` and ties them into a `geany` project `picrate.geany`. It should also be possible to run sketches from the `geany` ide.
62
+ This installs example sketches in `~/projects/examples` and ties them into a `geany` project `examples.geany`. It should also be possible to run sketches from the `geany` ide.
63
63
 
64
64
  To create a template sketch from the command line:-
65
65
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PiCrate
4
- VERSION = '1.2.4'
4
+ VERSION = '1.3.0'
5
5
  end
@@ -22,15 +22,14 @@ Gem::Specification.new do |gem|
22
22
  gem.files << 'lib/jogl-all.jar'
23
23
  gem.files << 'lib/gluegen-rt-natives-linux-amd64.jar'
24
24
  gem.files << 'lib/gluegen-rt-natives-linux-armv6hf.jar'
25
- # gem.files << 'lib/gluegen-rt-natives-linux-aarch64.jar'
26
25
  gem.files << 'lib/jogl-all-natives-linux-amd64.jar'
27
26
  gem.files << 'lib/jogl-all-natives-linux-armv6hf.jar'
28
- # gem.files << 'lib/jogl-all-natives-linux-aarch64.jar'
29
27
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
30
28
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
31
29
  gem.add_development_dependency 'rake', '~> 12.3'
32
30
  gem.add_development_dependency 'minitest', '~> 5.10'
33
31
  gem.add_runtime_dependency 'arcball', '~> 1.0.1'
32
+ # geomerative + wordcram dependency since they may update to jdk11+ soon
34
33
  gem.add_runtime_dependency 'geomerative', '~> 1.1'
35
34
  gem.add_runtime_dependency 'ruby_wordcram', '~> 2.0.4'
36
35
  gem.require_paths = ['lib']
data/pom.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  project 'picrate', 'http://maven.apache.org' do
2
2
 
3
3
  model_version '4.0.0'
4
- id 'ruby-processing:picrate:1.2.4'
4
+ id 'ruby-processing:picrate:1.3.0'
5
5
  packaging 'jar'
6
6
 
7
7
  description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
@@ -31,7 +31,7 @@ project 'picrate', 'http://maven.apache.org' do
31
31
  'polyglot.dump.pom' => 'pom.xml'
32
32
  )
33
33
 
34
- pom 'org.jruby:jruby:9.2.9.0'
34
+ pom 'org.jruby:jruby:9.2.11.0'
35
35
  jar 'org.jogamp.jogl:jogl-all:${jogl.version}'
36
36
  jar 'org.jogamp.gluegen:gluegen-rt-main:${jogl.version}'
37
37
  jar 'org.processing:video:3.0.2'
data/pom.xml CHANGED
@@ -6,12 +6,12 @@ DO NOT MODIFIY - GENERATED CODE
6
6
 
7
7
 
8
8
  -->
9
- <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
9
+ <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
10
10
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>ruby-processing</groupId>
13
13
  <artifactId>picrate</artifactId>
14
- <version>1.2.4</version>
14
+ <version>1.3.0</version>
15
15
  <name>picrate</name>
16
16
  <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
17
  <url>http://maven.apache.org</url>
@@ -76,7 +76,7 @@ DO NOT MODIFIY - GENERATED CODE
76
76
  <dependency>
77
77
  <groupId>org.jruby</groupId>
78
78
  <artifactId>jruby</artifactId>
79
- <version>9.2.9.0</version>
79
+ <version>9.2.11.0</version>
80
80
  <type>pom</type>
81
81
  </dependency>
82
82
  <dependency>
@@ -3651,7 +3651,7 @@ public class PGraphicsOpenGL extends PGraphics {
3651
3651
  * Ported from the implementation of textCharShapeImpl() in 1.5.1
3652
3652
  *
3653
3653
  * <EM>No attempt has been made to optimize this code</EM>
3654
- *
3654
+ *
3655
3655
  * TODO: Implement a FontShape class where each glyph is tessellated and
3656
3656
  * stored inside a larger PShapeOpenGL object (which needs to be expanded as
3657
3657
  * new glyphs are added and exceed the initial capacity in a similar way as
@@ -3659,18 +3659,18 @@ public class PGraphicsOpenGL extends PGraphics {
3659
3659
  * in shape mode, then the correct sequences of vertex indices are computed
3660
3660
  * (akin to the texcoords in the texture case) and used to draw only those
3661
3661
  * parts of the PShape object that are required for the text.
3662
- *
3662
+ *
3663
3663
  *
3664
3664
  * Some issues of the original implementation probably remain, so they are
3665
3665
  * reproduced below:
3666
- *
3666
+ *
3667
3667
  * Also a problem where some fonts seem to be a bit slight, as if the
3668
3668
  * control points aren't being mapped quite correctly. Probably doing
3669
3669
  * something dumb that the control points don't map to P5's control
3670
3670
  * points. Perhaps it's returning b-spline data from the TrueType font?
3671
3671
  * Though it seems like that would make a lot of garbage rather than
3672
3672
  * just a little flattening.
3673
- *
3673
+ *
3674
3674
  * There also seems to be a bug that is causing a line (but not a filled
3675
3675
  * triangle) back to the origin on some letters (i.e. a capital L when
3676
3676
  * tested with Akzidenz Grotesk Light). But this won't be visible
@@ -5352,7 +5352,7 @@ public class PGraphicsOpenGL extends PGraphics {
5352
5352
  // showWarning() and showException() available from PGraphics.
5353
5353
 
5354
5354
  /**
5355
- * Report on anything from glError().Don't use this inside glBegin/glEnd
5355
+ * Report on anything from glError().Don't use this inside glBegin/glEnd
5356
5356
  * otherwise it'll throw an GL_INVALID_OPERATION error.
5357
5357
  * @param where
5358
5358
  */
@@ -6366,11 +6366,11 @@ public class PGraphicsOpenGL extends PGraphics {
6366
6366
 
6367
6367
 
6368
6368
  /**
6369
- * Not an approved function, this will change or be removed in the future.This
6370
- * utility method returns the texture associated to the renderer's. drawing
6371
- * surface, making sure is updated to reflect the current contents off the
6369
+ * Not an approved function, this will change or be removed in the future.This
6370
+ * utility method returns the texture associated to the renderer's. drawing
6371
+ * surface, making sure is updated to reflect the current contents off the
6372
6372
  * screen (or offscreen drawing surface).
6373
- * @return
6373
+ * @return
6374
6374
  */
6375
6375
  public Texture getTexture() {
6376
6376
  return getTexture(true);
@@ -6380,7 +6380,7 @@ public class PGraphicsOpenGL extends PGraphics {
6380
6380
  /**
6381
6381
  * Not an approved function either, don't use it.
6382
6382
  * @param load
6383
- * @return
6383
+ * @return
6384
6384
  */
6385
6385
  public Texture getTexture(boolean load) {
6386
6386
  if (load) loadTexture();
@@ -6393,7 +6393,7 @@ public class PGraphicsOpenGL extends PGraphics {
6393
6393
  * creating and/or updating it if needed.
6394
6394
  *
6395
6395
  * @param img the image to have a texture metadata associated to it
6396
- * @return
6396
+ * @return
6397
6397
  */
6398
6398
  public Texture getTexture(PImage img) {
6399
6399
  Texture tex = (Texture)initCache(img);
@@ -6419,7 +6419,7 @@ public class PGraphicsOpenGL extends PGraphics {
6419
6419
  /**
6420
6420
  * Not an approved function, test its use in libraries to grab the FB objects
6421
6421
  * for offscreen PGraphics.
6422
- * @return
6422
+ * @return
6423
6423
  */
6424
6424
  public FrameBuffer getFrameBuffer() {
6425
6425
  return getFrameBuffer(false);
@@ -6478,7 +6478,7 @@ public class PGraphicsOpenGL extends PGraphics {
6478
6478
  * This utility method creates a texture for the provided image, and adds it
6479
6479
  * to the metadata cache of the image.
6480
6480
  * @param img the image to have a texture metadata associated to it
6481
- * @return
6481
+ * @return
6482
6482
  */
6483
6483
  protected Texture addTexture(PImage img) {
6484
6484
  Texture.Parameters params =
@@ -6892,7 +6892,6 @@ public class PGraphicsOpenGL extends PGraphics {
6892
6892
  OPENGL_VERSION = pgl.getString(PGL.VERSION);
6893
6893
  OPENGL_EXTENSIONS = pgl.getString(PGL.EXTENSIONS);
6894
6894
  GLSL_VERSION = pgl.getString(PGL.SHADING_LANGUAGE_VERSION);
6895
-
6896
6895
  npotTexSupported = pgl.hasNpotTexSupport();
6897
6896
  autoMipmapGenSupported = pgl.hasAutoMipmapGenSupport();
6898
6897
  fboMultisampleSupported = pgl.hasFboMultisampleSupport();
@@ -6900,45 +6899,28 @@ public class PGraphicsOpenGL extends PGraphics {
6900
6899
  anisoSamplingSupported = pgl.hasAnisoSamplingSupport();
6901
6900
  readBufferSupported = pgl.hasReadBuffer();
6902
6901
  drawBufferSupported = pgl.hasDrawBuffer();
6903
-
6904
6902
  try {
6905
6903
  pgl.blendEquation(PGL.FUNC_ADD);
6906
6904
  blendEqSupported = true;
6907
6905
  } catch (Exception e) {
6908
6906
  blendEqSupported = false;
6909
6907
  }
6910
-
6911
6908
  depthBits = pgl.getDepthBits();
6912
6909
  stencilBits = pgl.getStencilBits();
6913
-
6914
6910
  pgl.getIntegerv(PGL.MAX_TEXTURE_SIZE, intBuffer);
6915
6911
  maxTextureSize = intBuffer.get(0);
6916
-
6917
- // work around runtime exceptions in Broadcom's VC IV driver
6918
- if (false == OPENGL_RENDERER.equals("VideoCore IV HW")) {
6919
- pgl.getIntegerv(PGL.MAX_SAMPLES, intBuffer);
6920
- maxSamples = intBuffer.get(0);
6921
- }
6922
-
6912
+ pgl.getIntegerv(PGL.MAX_SAMPLES, intBuffer);
6913
+ maxSamples = intBuffer.get(0);
6923
6914
  if (anisoSamplingSupported) {
6924
6915
  pgl.getFloatv(PGL.MAX_TEXTURE_MAX_ANISOTROPY, floatBuffer);
6925
6916
  maxAnisoAmount = floatBuffer.get(0);
6926
6917
  }
6927
-
6928
- // overwrite the default shaders with vendor specific versions
6929
- // if needed
6930
- if (OPENGL_RENDERER.equals("VideoCore IV HW")) { // Broadcom's binary driver for Raspberry Pi
6931
- defLightShaderVertURL =
6932
- PGraphicsOpenGL.class.getResource("/processing/opengl/shaders/LightVert-brcm.glsl");
6933
- defTexlightShaderVertURL =
6934
- PGraphicsOpenGL.class.getResource("/processing/opengl/shaders/TexLightVert-brcm.glsl");
6935
- } else if (OPENGL_RENDERER.contains("VC4")) { // Mesa driver for same hardware
6936
- defLightShaderVertURL =
6937
- PGraphicsOpenGL.class.getResource("/processing/opengl/shaders/LightVert-vc4.glsl");
6938
- defTexlightShaderVertURL =
6939
- PGraphicsOpenGL.class.getResource("/processing/opengl/shaders/TexLightVert-vc4.glsl");
6918
+ // Broadcom's binary drivers for Raspberry Pi don't work with PiCrate in Buster
6919
+ if (OPENGL_RENDERER.equals("VideoCore IV HW")) {
6920
+ pgl.dispose();
6921
+ System.out.println("Use FakeKMS or FullKMS video driver for P2D and P3D sketches");
6922
+ super.dispose();
6940
6923
  }
6941
-
6942
6924
  glParamsRead = true;
6943
6925
  }
6944
6926
 
@@ -13160,6 +13142,7 @@ public class PGraphicsOpenGL extends PGraphics {
13160
13142
  else if (type == PGL.TRIANGLES) primitive = TRIANGLES;
13161
13143
  }
13162
13144
 
13145
+ @Override
13163
13146
  public void end() {
13164
13147
  if (PGL.MAX_VERTEX_INDEX1 <= vertFirst + vertCount) {
13165
13148
  // We need a new index block for the new batch of
@@ -7,7 +7,7 @@ SOUND = 'sound.zip'
7
7
  SOUND_VERSION = 'v1.3.2'
8
8
  VIDEO = 'video-2.0-beta4.zip'
9
9
  VIDEO_VERSION = 'r6-v2.0-beta4'
10
- EXAMPLES = '0.5.2'
10
+ EXAMPLES = '0.5.3'
11
11
  HOME_DIR = ENV['HOME']
12
12
  LIBRARY = File.join(HOME_DIR, '.picrate', 'libraries')
13
13
  PROJECT_DIR = File.join(HOME_DIR, 'projects')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: picrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.3.0
5
5
  platform: java
6
6
  authors:
7
7
  - monkstone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-19 00:00:00.000000000 Z
11
+ date: 2020-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -209,7 +209,7 @@ files:
209
209
  - lib/jogl-all-natives-linux-amd64.jar
210
210
  - lib/jogl-all-natives-linux-armv6hf.jar
211
211
  - lib/jogl-all.jar
212
- - lib/picrate-1.2.4.jar
212
+ - lib/picrate-1.3.0.jar
213
213
  - lib/picrate.rb
214
214
  - lib/picrate/app.rb
215
215
  - lib/picrate/creators/parameters.rb