power_stencil 0.5.1 → 0.7.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/.gitlab-ci.yml +2 -0
- data/README.md +3 -7
- data/doc/builds.md +10 -1
- data/doc/entities.md +59 -50
- data/doc/images/power-stencil-entity-creation.svg +247 -114
- data/doc/plugins.md +49 -1
- data/doc/templates.md +23 -18
- data/etc/base_commands_definition.yml +28 -1
- data/etc/meta_templates/plugin_seed/psplugin_{entity}.gemspec +3 -1
- data/etc/power_stencil.yaml +7 -1
- data/etc/templates/plugin_definition/psplugin_{entity}.gemspec +3 -1
- data/etc/templates/project/.zzzgitignore.erb +8 -3
- data/lib/power_stencil.rb +1 -0
- data/lib/power_stencil/command_processors/build.rb +16 -3
- data/lib/power_stencil/command_processors/check.rb +12 -0
- data/lib/power_stencil/command_processors/create.rb +6 -5
- data/lib/power_stencil/command_processors/delete.rb +23 -15
- data/lib/power_stencil/command_processors/edit.rb +4 -2
- data/lib/power_stencil/command_processors/init.rb +2 -2
- data/lib/power_stencil/command_processors/plugin.rb +20 -6
- data/lib/power_stencil/command_processors/root.rb +1 -1
- data/lib/power_stencil/command_processors/shell.rb +10 -3
- data/lib/power_stencil/dsl/entities.rb +0 -16
- data/lib/power_stencil/engine/build_handling.rb +1 -2
- data/lib/power_stencil/engine/directory_processor.rb +6 -1
- data/lib/power_stencil/engine/entities_definitions.rb +16 -7
- data/lib/power_stencil/engine/entities_handling.rb +1 -1
- data/lib/power_stencil/engine/project_engine.rb +6 -10
- data/lib/power_stencil/initializer.rb +4 -7
- data/lib/power_stencil/plugins/base.rb +18 -9
- data/lib/power_stencil/plugins/capabilities.rb +10 -8
- data/lib/power_stencil/plugins/command_line.rb +1 -4
- data/lib/power_stencil/plugins/config.rb +1 -5
- data/lib/power_stencil/plugins/entity_definitions.rb +15 -0
- data/lib/power_stencil/plugins/gem.rb +14 -35
- data/lib/power_stencil/plugins/paths.rb +38 -0
- data/lib/power_stencil/plugins/require.rb +10 -16
- data/lib/power_stencil/plugins/templates.rb +3 -3
- data/lib/power_stencil/project/base.rb +24 -9
- data/lib/power_stencil/project/config.rb +3 -2
- data/lib/power_stencil/project/create.rb +23 -2
- data/lib/power_stencil/project/git.rb +75 -0
- data/lib/power_stencil/project/info.rb +14 -1
- data/lib/power_stencil/project/paths.rb +22 -26
- data/lib/power_stencil/project/plugins.rb +18 -23
- data/lib/power_stencil/project/templates.rb +15 -22
- data/lib/power_stencil/system_entity_definitions/all.rb +2 -1
- data/lib/power_stencil/system_entity_definitions/buildable.rb +1 -1
- data/lib/power_stencil/system_entity_definitions/entity_override.rb +6 -0
- data/lib/power_stencil/system_entity_definitions/entity_project_common.rb +13 -5
- data/lib/power_stencil/system_entity_definitions/{has_associated_files.rb → entity_templates.rb} +2 -2
- data/lib/power_stencil/system_entity_definitions/project_config.rb +1 -1
- data/lib/power_stencil/system_entity_definitions/project_entity.rb +7 -0
- data/lib/power_stencil/system_entity_definitions/simple_exec.rb +3 -3
- data/lib/power_stencil/system_entity_definitions/source_provider.rb +15 -0
- data/lib/power_stencil/utils/gem_utils.rb +22 -2
- data/lib/power_stencil/version.rb +1 -1
- data/power_stencil.gemspec +2 -1
- metadata +23 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75be0351239fd3b94c0cbb5b3482ed98172c3119
|
4
|
+
data.tar.gz: ffc7878ce34439f0947a1b568eb56eb07c746514
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97ea218bf8fe32f520732d741221984e2e5a4e2f50712aac9f389209e2cedb88a7e550bbe4b3284fb5bdcd0aa8492f5278a2869b2277e8d42497c7702998c921
|
7
|
+
data.tar.gz: e7a94779f26e44892aaf80d76f4c12a53517017896a48718096c4b03178918424407a22c338fa41c5b7672ac095c603235c81a2751ae8c7d4e02c13bfc45bf89
|
data/.gitlab-ci.yml
CHANGED
data/README.md
CHANGED
@@ -75,6 +75,8 @@ Then you can install the `PowerStencil` gem by issuing the usual:
|
|
75
75
|
|
76
76
|
$ gem install power_stencil
|
77
77
|
|
78
|
+
:hand: It is **strongly** advised to have `git` installed on your system, as `PowerStencil` is integrated with `git` to provide a better user experience.
|
79
|
+
|
78
80
|
If you want to create [Graphviz] graphs, you probably may want to install it for your system. If you are using an _apt-based_ system like Ubuntu or Debian it may probably be as simple as:
|
79
81
|
|
80
82
|
$ sudo apt install graphviz
|
@@ -139,13 +141,7 @@ Once the project created, if you are anywhere within the project tree, you don't
|
|
139
141
|
|
140
142
|
**:information_source: The rest of this documentation will assume you are at the root of this created project.**
|
141
143
|
|
142
|
-
**:information_source:
|
143
|
-
|
144
|
-
$ git init
|
145
|
-
$ git add .
|
146
|
-
$ git commit -a -m 'Initial commit'
|
147
|
-
|
148
|
-
This will allow you to track any change resulting of your interactions with `power_stencil` command line.
|
144
|
+
**:information_source: If you have `git` installed on your system, **the repository of the newly created project has been automatically turned into a git repository. And any action done through the `power_stencil` command-line will be automatically tracked by `git`**. Only things you will do outside of the `power_stencil` command-line (adding or modifying templates, creating or modifying entity types... any manual action) will require a user action to make `git` take it in account. You can completely de-activate this behaviour if you want to fully manage things by yourself by adding `:no-git: true` in the `.ps_project/versioned-config.yaml`, yet there is no good reason for that... Unless you know what you are doing, you should keep the default settings.
|
149
145
|
|
150
146
|
## `PowerStencil` project structure
|
151
147
|
|
data/doc/builds.md
CHANGED
@@ -20,6 +20,15 @@ Builds
|
|
20
20
|
|
21
21
|
You build a [buildable] entity by issuing `power_stencil build <entity_type>/<entity_name>`. If you try to build an entity which is not buildable, the process fail with an error message.
|
22
22
|
|
23
|
+
**:information_source: You can get the list of buildable entities in your repository by issuing a `power_stencil build --list`:**
|
24
|
+
|
25
|
+
```
|
26
|
+
$ power_stencil build --list
|
27
|
+
- 'simple_exec' (buildable by 'PowerStencil core' and provided by 'PowerStencil core').
|
28
|
+
```
|
29
|
+
|
30
|
+
We will see later in the [templates] part what to do with this `simple_exec` entity type.
|
31
|
+
|
23
32
|
Let's describe a bit more in detail what this build process is:
|
24
33
|
|
25
34
|
![entity-build-flow]
|
@@ -32,7 +41,7 @@ I guess you understood this is not a "real" _compilation_ process we are discuss
|
|
32
41
|
|
33
42
|
The mechanism of the compilation is coming from the [universe_compiler] Gem, but the two following features are the ones you really need to understand.
|
34
43
|
|
35
|
-
:information_source: The compilation process
|
44
|
+
:information_source: The compilation process is actually applied to all entities, ie it doesn't need to be [buildable] (see in next paragraph how to run the compilation). But an entity needs to be [buildable] to use `power_stencil build` which corresponds actually to _compilation_ + _detemplatization_.
|
36
45
|
|
37
46
|
## Extending an entity
|
38
47
|
|
data/doc/entities.md
CHANGED
@@ -58,8 +58,8 @@ $ power_stencil info
|
|
58
58
|
PROJECT REPORT
|
59
59
|
--------------------------------------------------------------------------------
|
60
60
|
General information:
|
61
|
-
- Project required version: 0.
|
62
|
-
- PowerStencil version: 0.
|
61
|
+
- Project required version: 0.6.1
|
62
|
+
- PowerStencil version: 0.6.1
|
63
63
|
--------------------------------------------------------------------------------
|
64
64
|
Paths:
|
65
65
|
- Project root path: '/tmp/tst2'
|
@@ -75,31 +75,31 @@ PROJECT REPORT
|
|
75
75
|
- project_config: 1
|
76
76
|
--------------------------------------------------------------------------------
|
77
77
|
Available entity types:
|
78
|
-
- Type 'base_entity' --> PowerStencil::SystemEntityDefinitions::ProjectEntity
|
79
|
-
- Type 'entity_override' --> UniverseCompiler::Entity::Override
|
80
|
-
- Type 'plugin_definition' --> PowerStencil::SystemEntityDefinitions::Plugin (template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.
|
81
|
-
- Type 'process_descriptor' --> PowerStencil::SystemEntityDefinitions::ProcessDescriptor
|
82
|
-
- Type 'project_config' --> PowerStencil::SystemEntityDefinitions::ProjectConfig
|
83
|
-
- Type 'simple_exec' --> PowerStencil::SystemEntityDefinitions::SimpleExec (template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.
|
78
|
+
- Type 'base_entity' --> PowerStencil::SystemEntityDefinitions::ProjectEntity (provided by 'PowerStencil core')
|
79
|
+
- Type 'entity_override' --> UniverseCompiler::Entity::Override (provided by 'PowerStencil core')
|
80
|
+
- Type 'plugin_definition' --> PowerStencil::SystemEntityDefinitions::Plugin (provided by 'PowerStencil core') template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.6.1/etc/templates/plugin_definition'
|
81
|
+
- Type 'process_descriptor' --> PowerStencil::SystemEntityDefinitions::ProcessDescriptor (provided by 'PowerStencil core')
|
82
|
+
- Type 'project_config' --> PowerStencil::SystemEntityDefinitions::ProjectConfig (provided by 'PowerStencil core')
|
83
|
+
- Type 'simple_exec' --> PowerStencil::SystemEntityDefinitions::SimpleExec (provided by 'PowerStencil core') template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.6.1/etc/templates/simple_exec'
|
84
84
|
```
|
85
85
|
|
86
86
|
It provides a lot of information about the project, but let's focus on the `Entities` and `Available entity types` parts of the report.
|
87
87
|
|
88
88
|
You can see here above that only 6 types of entity are defined by default in a brand new created `PowerStencil` project. You can find them below with some of their core features:
|
89
89
|
|
90
|
-
| entity type | system | persisted | buildable |
|
91
|
-
|
90
|
+
| entity type | system | persisted | buildable | provides templates |
|
91
|
+
|-------------|:------:|:---------:|:---------:|:------------------:|
|
92
92
|
|base_entity||X
|
93
93
|
|entity_override||X
|
94
|
-
|plugin_definition|X
|
94
|
+
|plugin_definition|X|||X
|
95
95
|
|process_descriptor||X
|
96
96
|
|project_config|X
|
97
97
|
|simple_exec||X|X|X
|
98
98
|
|
99
|
-
- You should not care about _system_
|
100
|
-
- By default any entity type, including those you may
|
101
|
-
- A _buildable_ entity is an entity you can run `power_stencil build` against. More about this in the [builds] part.
|
102
|
-
- When an entity
|
99
|
+
- You should not care about _system_ entity types unless you are developing features in `PowerStencil`. You cannot instantiate any of them like others.
|
100
|
+
- By default any entity type, including those you may instantiate, is _persistent_.
|
101
|
+
- A _buildable_ entity type is an entity type you can run `power_stencil build` against its instantiated entities. More about this in the [builds] part.
|
102
|
+
- When an entity type _provides templates_, it means its [templates] will generated in `<project_root>/templates/<entity_type>/<entity_name>` folder when you create an entity of this type. We'll talk about this more in depth in the [templates] and [builds] part.
|
103
103
|
|
104
104
|
On top of this `power_stencil info` brings you information about the actual Ruby classes implementing those entity types.
|
105
105
|
|
@@ -178,20 +178,23 @@ We have seen the `power_stencil info` returns (among other) the number of entiti
|
|
178
178
|
$ power_stencil check
|
179
179
|
RAW ENTITIES
|
180
180
|
'base_entity/my_1st_entity':
|
181
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
182
|
-
-
|
183
|
-
-
|
181
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
182
|
+
- Provided by : 'PowerStencil core'
|
183
|
+
- Status : Valid
|
184
|
+
- Buildable : false
|
184
185
|
'base_entity/my_2nd_entity':
|
185
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/base_entity/my_2nd_entity.yaml'
|
186
|
-
-
|
187
|
-
-
|
186
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/base_entity/my_2nd_entity.yaml'
|
187
|
+
- Provided by : 'PowerStencil core'
|
188
|
+
- Status : Valid
|
189
|
+
- Buildable : false
|
188
190
|
'project_config/Project Config':
|
189
|
-
- Storage path: ''
|
190
|
-
-
|
191
|
-
-
|
191
|
+
- Storage path : ''
|
192
|
+
- Provided by : 'PowerStencil core'
|
193
|
+
- Status : Valid
|
194
|
+
- Buildable : false
|
192
195
|
```
|
193
196
|
|
194
|
-
The goal of this command is normally to check the validity of entities, but it brings as well extra information like if the entity is _buildable_ or even where it is stored in the repository.
|
197
|
+
The goal of this command is normally to check the validity of entities, but it brings as well extra information like if the entity is _buildable_ or even where it is stored in the repository or if is provided by the core system (PowerStencil core) or a plugin.
|
195
198
|
|
196
199
|
:information_source: You can notice that the `project_config` entity has no storage path, the reason being [it is not persisted](#default-entity-types) in the entities repository (its content actually comes from config files outside of the repository).
|
197
200
|
|
@@ -203,13 +206,15 @@ By default `power_stencil check` will check all entities in the repository but y
|
|
203
206
|
$ power_stencil check base_entity/my_1st_entity 'project_config/Project Config'
|
204
207
|
RAW ENTITIES
|
205
208
|
'base_entity/my_1st_entity':
|
206
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
207
|
-
-
|
208
|
-
-
|
209
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
210
|
+
- Provided by : 'PowerStencil core'
|
211
|
+
- Status : Valid
|
212
|
+
- Buildable : false
|
209
213
|
'project_config/Project Config':
|
210
|
-
- Storage path: ''
|
211
|
-
-
|
212
|
-
-
|
214
|
+
- Storage path : ''
|
215
|
+
- Provided by : 'PowerStencil core'
|
216
|
+
- Status : Valid
|
217
|
+
- Buildable : false
|
213
218
|
```
|
214
219
|
Another possibility is to check a list of objects using a regular expression (applied to the ID of an entity, ie `<entity_type</<entity_name>`) by using the `--regexp` option:
|
215
220
|
|
@@ -217,13 +222,15 @@ Another possibility is to check a list of objects using a regular expression (ap
|
|
217
222
|
$ power_stencil check base_ --regexp
|
218
223
|
RAW ENTITIES
|
219
224
|
'base_entity/my_1st_entity':
|
220
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
221
|
-
-
|
222
|
-
-
|
225
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/base_entity/my_1st_entity.yaml'
|
226
|
+
- Provided by : 'PowerStencil core'
|
227
|
+
- Status : Valid
|
228
|
+
- Buildable : false
|
223
229
|
'base_entity/my_2nd_entity':
|
224
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/base_entity/my_2nd_entity.yaml'
|
225
|
-
-
|
226
|
-
-
|
230
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/base_entity/my_2nd_entity.yaml'
|
231
|
+
- Provided by : 'PowerStencil core'
|
232
|
+
- Status : Valid
|
233
|
+
- Buildable : false
|
227
234
|
```
|
228
235
|
|
229
236
|
## Querying and graphing entities
|
@@ -336,9 +343,10 @@ Created 'base_entity/dev_entity'
|
|
336
343
|
$ power_stencil check base_entity/dev_entity
|
337
344
|
RAW ENTITIES
|
338
345
|
'base_entity/dev_entity':
|
339
|
-
- Storage path: '/tmp/tst2/.ps_project/user_entities/base_entity/dev_entity.yaml'
|
340
|
-
-
|
341
|
-
-
|
346
|
+
- Storage path : '/tmp/tst2/.ps_project/user_entities/base_entity/dev_entity.yaml'
|
347
|
+
- Provided by : 'PowerStencil core'
|
348
|
+
- Status : Valid
|
349
|
+
- Buildable : false
|
342
350
|
```
|
343
351
|
You can notice where the YAML file has been created.
|
344
352
|
|
@@ -346,9 +354,9 @@ Of course you can then delete the entity like any other...
|
|
346
354
|
```shell
|
347
355
|
$ power_stencil delete base_entity/dev_entity --auto
|
348
356
|
Deleted 'base_entity/dev_entity'
|
349
|
-
|
350
357
|
```
|
351
358
|
|
359
|
+
:hand: As opposed to versioned entities, the templates are not generated in `<project_root>/templates/<entity_type>/<entity_name>` but instead in `<project_root>/unversioned-templates/<entity_type>/<entity_name>`. Anything below `<project_root>/unversioned-templates`, as its name suggests will not be versioned...
|
352
360
|
|
353
361
|
## Updating entities
|
354
362
|
|
@@ -487,13 +495,13 @@ $ power_stencil info
|
|
487
495
|
.
|
488
496
|
--------------------------------------------------------------------------------
|
489
497
|
Available entity types:
|
490
|
-
- Type 'base_entity' --> PowerStencil::SystemEntityDefinitions::ProjectEntity
|
498
|
+
- Type 'base_entity' --> PowerStencil::SystemEntityDefinitions::ProjectEntity (provided by 'PowerStencil core')
|
491
499
|
- Type 'custom_entity' --> MyCustomEntity
|
492
|
-
- Type 'entity_override' --> UniverseCompiler::Entity::Override
|
493
|
-
- Type 'plugin_definition' --> PowerStencil::SystemEntityDefinitions::Plugin (template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.
|
494
|
-
- Type 'process_descriptor' --> PowerStencil::SystemEntityDefinitions::ProcessDescriptor
|
495
|
-
- Type 'project_config' --> PowerStencil::SystemEntityDefinitions::ProjectConfig
|
496
|
-
- Type 'simple_exec' --> PowerStencil::SystemEntityDefinitions::SimpleExec (template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.
|
500
|
+
- Type 'entity_override' --> UniverseCompiler::Entity::Override (provided by 'PowerStencil core')
|
501
|
+
- Type 'plugin_definition' --> PowerStencil::SystemEntityDefinitions::Plugin (provided by 'PowerStencil core') template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.6.1/etc/templates/plugin_definition'
|
502
|
+
- Type 'process_descriptor' --> PowerStencil::SystemEntityDefinitions::ProcessDescriptor (provided by 'PowerStencil core')
|
503
|
+
- Type 'project_config' --> PowerStencil::SystemEntityDefinitions::ProjectConfig (provided by 'PowerStencil core')
|
504
|
+
- Type 'simple_exec' --> PowerStencil::SystemEntityDefinitions::SimpleExec (provided by 'PowerStencil core') template-template path: '/opt/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/power_stencil-0.6.1/etc/templates/simple_exec'
|
497
505
|
```
|
498
506
|
You see that the `custom_entity` type appeared in the list. Need another proof ?
|
499
507
|
```shell
|
@@ -503,9 +511,10 @@ Created 'custom_entity/my_1st_custom_entity'
|
|
503
511
|
$ power_stencil check cust -r
|
504
512
|
RAW ENTITIES
|
505
513
|
'custom_entity/my_1st_custom_entity':
|
506
|
-
- Storage path: '/tmp/tst2/.ps_project/entities/custom_entity/my_1st_custom_entity.yaml'
|
507
|
-
-
|
508
|
-
-
|
514
|
+
- Storage path : '/tmp/tst2/.ps_project/entities/custom_entity/my_1st_custom_entity.yaml'
|
515
|
+
- Provided by : 'PowerStencil core'
|
516
|
+
- Status : Valid
|
517
|
+
- Buildable : false
|
509
518
|
|
510
519
|
$ power_stencil get custom_entity/my_1st_custom_entity --raw
|
511
520
|
--- !ruby/object:MyCustomEntity
|
@@ -9,9 +9,9 @@
|
|
9
9
|
xmlns="http://www.w3.org/2000/svg"
|
10
10
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
11
11
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
12
|
-
width="
|
13
|
-
height="153.
|
14
|
-
viewBox="0 0
|
12
|
+
width="397.49957mm"
|
13
|
+
height="153.6353mm"
|
14
|
+
viewBox="0 0 397.49958 153.6353"
|
15
15
|
version="1.1"
|
16
16
|
id="svg8"
|
17
17
|
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
@@ -20,6 +20,31 @@
|
|
20
20
|
id="title1457">PowerStencil entity creation flow description</title>
|
21
21
|
<defs
|
22
22
|
id="defs2">
|
23
|
+
<marker
|
24
|
+
inkscape:stockid="Arrow1Send"
|
25
|
+
orient="auto"
|
26
|
+
refY="0"
|
27
|
+
refX="0"
|
28
|
+
id="marker1186"
|
29
|
+
style="overflow:visible"
|
30
|
+
inkscape:isstock="true">
|
31
|
+
<path
|
32
|
+
id="path1184"
|
33
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
34
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
35
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
36
|
+
inkscape:connector-curvature="0" />
|
37
|
+
</marker>
|
38
|
+
<inkscape:path-effect
|
39
|
+
effect="bspline"
|
40
|
+
id="path-effect1111"
|
41
|
+
is_visible="true"
|
42
|
+
weight="33.333333"
|
43
|
+
steps="2"
|
44
|
+
helper_size="0"
|
45
|
+
apply_no_weight="true"
|
46
|
+
apply_with_weight="true"
|
47
|
+
only_selected="false" />
|
23
48
|
<marker
|
24
49
|
inkscape:isstock="true"
|
25
50
|
style="overflow:visible"
|
@@ -27,7 +52,8 @@
|
|
27
52
|
refX="0"
|
28
53
|
refY="0"
|
29
54
|
orient="auto"
|
30
|
-
inkscape:stockid="Arrow1Send"
|
55
|
+
inkscape:stockid="Arrow1Send"
|
56
|
+
inkscape:collect="always">
|
31
57
|
<path
|
32
58
|
inkscape:connector-curvature="0"
|
33
59
|
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
@@ -86,6 +112,31 @@
|
|
86
112
|
apply_no_weight="true"
|
87
113
|
apply_with_weight="true"
|
88
114
|
only_selected="false" />
|
115
|
+
<marker
|
116
|
+
inkscape:isstock="true"
|
117
|
+
style="overflow:visible"
|
118
|
+
id="marker1231-8"
|
119
|
+
refX="0"
|
120
|
+
refY="0"
|
121
|
+
orient="auto"
|
122
|
+
inkscape:stockid="Arrow1Send">
|
123
|
+
<path
|
124
|
+
inkscape:connector-curvature="0"
|
125
|
+
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
126
|
+
style="fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.00000003pt;stroke-opacity:1"
|
127
|
+
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
128
|
+
id="path1229-7" />
|
129
|
+
</marker>
|
130
|
+
<inkscape:path-effect
|
131
|
+
only_selected="false"
|
132
|
+
apply_with_weight="true"
|
133
|
+
apply_no_weight="true"
|
134
|
+
helper_size="0"
|
135
|
+
steps="2"
|
136
|
+
weight="33.333333"
|
137
|
+
is_visible="true"
|
138
|
+
id="path-effect1227-4"
|
139
|
+
effect="bspline" />
|
89
140
|
</defs>
|
90
141
|
<sodipodi:namedview
|
91
142
|
id="base"
|
@@ -95,8 +146,8 @@
|
|
95
146
|
inkscape:pageopacity="0.0"
|
96
147
|
inkscape:pageshadow="2"
|
97
148
|
inkscape:zoom="0.7"
|
98
|
-
inkscape:cx="
|
99
|
-
inkscape:cy="
|
149
|
+
inkscape:cx="691.24662"
|
150
|
+
inkscape:cy="306.60718"
|
100
151
|
inkscape:document-units="mm"
|
101
152
|
inkscape:current-layer="layer1"
|
102
153
|
showgrid="false"
|
@@ -130,37 +181,44 @@
|
|
130
181
|
inkscape:label="Calque 1"
|
131
182
|
inkscape:groupmode="layer"
|
132
183
|
id="layer1"
|
133
|
-
transform="translate(
|
184
|
+
transform="translate(113.48204,-90.846423)">
|
185
|
+
<path
|
186
|
+
style="opacity:1;vector-effect:none;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.88228047;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1186)"
|
187
|
+
d="m -48.999241,171.83879 c 60.854543,0 121.708712,0 182.562501,0"
|
188
|
+
id="path1109"
|
189
|
+
inkscape:connector-curvature="0"
|
190
|
+
inkscape:path-effect="#path-effect1111"
|
191
|
+
inkscape:original-d="m -48.999241,171.83879 c 60.854543,-2.6e-4 121.708712,-2.6e-4 182.562501,0" />
|
134
192
|
<rect
|
135
|
-
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:0;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:1.
|
193
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:0;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:1.29813564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.19254323, 5.19254323;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
136
194
|
id="rect927"
|
137
|
-
width="
|
138
|
-
height="132.
|
139
|
-
x="-
|
140
|
-
y="101.
|
141
|
-
ry="5.
|
195
|
+
width="376.20145"
|
196
|
+
height="132.33716"
|
197
|
+
x="-102.83297"
|
198
|
+
y="101.49549"
|
199
|
+
ry="5.5368247" />
|
142
200
|
<path
|
143
|
-
inkscape:original-d="m 66.030921,191.14748 c
|
201
|
+
inkscape:original-d="m 66.030921,191.14748 c 19.950452,-6.45185 39.900939,-12.90345 59.851439,-19.35479"
|
144
202
|
inkscape:path-effect="#path-effect1227"
|
145
203
|
inkscape:connector-curvature="0"
|
146
204
|
id="path1225"
|
147
|
-
d="
|
148
|
-
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.
|
205
|
+
d="M 66.030921,191.14748 C 85.98145,184.69587 105.93194,178.24427 125.88236,171.79269"
|
206
|
+
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.84002388;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1231)" />
|
149
207
|
<path
|
150
|
-
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.
|
151
|
-
d="m
|
208
|
+
style="fill:#4d4d4d;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:1.88874269;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send)"
|
209
|
+
d="m 65.996854,151.12108 c 19.962565,6.79369 39.925066,13.58735 59.887526,20.381"
|
152
210
|
id="path1079"
|
153
211
|
inkscape:connector-curvature="0"
|
154
212
|
inkscape:path-effect="#path-effect1081"
|
155
|
-
inkscape:original-d="m
|
213
|
+
inkscape:original-d="m 65.996854,151.12108 c 19.962479,6.79394 39.924986,13.5876 59.887526,20.381" />
|
156
214
|
<text
|
157
215
|
xml:space="preserve"
|
158
216
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#999999;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
159
|
-
x="
|
217
|
+
x="-92.926559"
|
160
218
|
y="110.55138"
|
161
219
|
id="text1006-9"><tspan
|
162
220
|
sodipodi:role="line"
|
163
|
-
x="
|
221
|
+
x="-92.926559"
|
164
222
|
y="110.55138"
|
165
223
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#999999;stroke-width:0.26458332px"
|
166
224
|
id="tspan1026">Entity creation process (power_stencil create)</tspan></text>
|
@@ -234,141 +292,216 @@
|
|
234
292
|
</g>
|
235
293
|
</g>
|
236
294
|
<g
|
237
|
-
id="
|
295
|
+
id="g1039"
|
296
|
+
transform="translate(-98.27381,-31.074538)">
|
238
297
|
<g
|
239
|
-
|
240
|
-
id="g1087">
|
298
|
+
id="g1026">
|
241
299
|
<rect
|
242
300
|
ry="1.7865629"
|
243
|
-
y="
|
244
|
-
x="
|
301
|
+
y="202.91333"
|
302
|
+
x="6.126143"
|
245
303
|
height="21.836939"
|
246
304
|
width="87.226822"
|
247
305
|
id="rect933"
|
248
306
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
249
307
|
<text
|
250
308
|
id="text937"
|
251
|
-
y="
|
252
|
-
x="
|
309
|
+
y="209.25699"
|
310
|
+
x="12.238936"
|
253
311
|
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
254
312
|
xml:space="preserve"><tspan
|
255
313
|
id="tspan941"
|
256
314
|
style="stroke-width:0.26458332px"
|
257
|
-
y="
|
258
|
-
x="
|
315
|
+
y="209.25699"
|
316
|
+
x="12.238936"
|
259
317
|
sodipodi:role="line">templates-templates</tspan><tspan
|
260
318
|
id="tspan1007"
|
261
319
|
style="stroke-width:0.26458332px"
|
262
|
-
y="
|
263
|
-
x="
|
320
|
+
y="215.04475"
|
321
|
+
x="12.238936"
|
264
322
|
sodipodi:role="line">within project in </tspan><tspan
|
265
323
|
id="tspan1009"
|
266
324
|
style="stroke-width:0.26458332px"
|
267
|
-
y="
|
268
|
-
x="
|
325
|
+
y="220.8325"
|
326
|
+
x="12.238936"
|
269
327
|
sodipodi:role="line">.ps_project/templates-templates</tspan></text>
|
270
328
|
</g>
|
271
329
|
<g
|
272
|
-
|
273
|
-
id="g1068">
|
330
|
+
id="g1019">
|
274
331
|
<rect
|
275
332
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
276
333
|
id="rect1058"
|
277
334
|
width="87.226822"
|
278
335
|
height="21.836939"
|
279
|
-
x="
|
280
|
-
y="
|
336
|
+
x="6.126143"
|
337
|
+
y="181.07639"
|
281
338
|
ry="1.7865629" />
|
282
339
|
<text
|
283
340
|
id="text1017"
|
284
|
-
y="
|
285
|
-
x="
|
341
|
+
y="190.36026"
|
342
|
+
x="49.678513"
|
286
343
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
287
344
|
xml:space="preserve"><tspan
|
288
345
|
id="tspan1013"
|
289
346
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
290
|
-
y="
|
291
|
-
x="
|
347
|
+
y="190.36026"
|
348
|
+
x="49.678513"
|
292
349
|
sodipodi:role="line">Custom Project</tspan><tspan
|
293
350
|
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
294
|
-
y="
|
295
|
-
x="
|
351
|
+
y="196.14803"
|
352
|
+
x="49.678513"
|
296
353
|
sodipodi:role="line"
|
297
354
|
id="tspan1015">Entity Types</tspan></text>
|
298
355
|
</g>
|
299
356
|
</g>
|
300
357
|
<g
|
301
|
-
id="
|
302
|
-
transform="translate(54.418475,47.33271)">
|
358
|
+
id="g1107">
|
303
359
|
<g
|
304
|
-
id="
|
305
|
-
<
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
y="
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
style="
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
360
|
+
id="g1088">
|
361
|
+
<rect
|
362
|
+
ry="2.7240984"
|
363
|
+
y="171.79269"
|
364
|
+
x="125.88236"
|
365
|
+
height="33.296322"
|
366
|
+
width="137.29633"
|
367
|
+
id="rect1139"
|
368
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.70367658;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
369
|
+
<text
|
370
|
+
id="text1147"
|
371
|
+
y="177.50699"
|
372
|
+
x="132.80325"
|
373
|
+
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
374
|
+
xml:space="preserve"><tspan
|
375
|
+
id="tspan1143"
|
376
|
+
style="stroke-width:0.26458332px"
|
377
|
+
y="177.50699"
|
378
|
+
x="132.80325"
|
379
|
+
sodipodi:role="line">templates for <tspan
|
380
|
+
style="font-weight:bold"
|
381
|
+
id="tspan924">versioned</tspan> entities in:</tspan><tspan
|
382
|
+
id="tspan1145"
|
383
|
+
style="stroke-width:0.26458332px"
|
384
|
+
y="183.29475"
|
385
|
+
x="132.80325"
|
386
|
+
sodipodi:role="line">templates/<entity_type>/<entity_name></tspan><tspan
|
387
|
+
style="stroke-width:0.26458332px"
|
388
|
+
y="189.0825"
|
389
|
+
x="132.80325"
|
390
|
+
sodipodi:role="line"
|
391
|
+
id="tspan922" /><tspan
|
392
|
+
style="stroke-width:0.26458332px"
|
393
|
+
y="194.87027"
|
394
|
+
x="132.80325"
|
395
|
+
sodipodi:role="line"
|
396
|
+
id="tspan918">templates for <tspan
|
397
|
+
style="font-weight:bold"
|
398
|
+
id="tspan926">unversioned</tspan> entities in:</tspan><tspan
|
399
|
+
style="stroke-width:0.26458332px"
|
400
|
+
y="200.65804"
|
401
|
+
x="132.80325"
|
402
|
+
sodipodi:role="line"
|
403
|
+
id="tspan920">unversioned-templates/<entity_type>/<entity_name></tspan></text>
|
404
|
+
</g>
|
405
|
+
<g
|
406
|
+
id="g1077">
|
407
|
+
<rect
|
408
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
409
|
+
id="rect1062-3"
|
410
|
+
width="136.91151"
|
411
|
+
height="32.911507"
|
412
|
+
x="125.88438"
|
413
|
+
y="138.59058"
|
414
|
+
ry="2.6926153" />
|
415
|
+
<text
|
416
|
+
xml:space="preserve"
|
417
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
418
|
+
x="195.23486"
|
419
|
+
y="149.33342"
|
420
|
+
id="text819-3"><tspan
|
421
|
+
id="tspan951-7"
|
422
|
+
sodipodi:role="line"
|
423
|
+
x="195.23486"
|
424
|
+
y="149.33342"
|
425
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px">Project Entities</tspan></text>
|
426
|
+
<text
|
427
|
+
id="text882"
|
428
|
+
y="159.20033"
|
429
|
+
x="195.30766"
|
430
|
+
style="font-style:normal;font-weight:normal;font-size:2.72649646px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.15579979px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
431
|
+
xml:space="preserve"><tspan
|
432
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.15579979px"
|
433
|
+
y="159.20033"
|
434
|
+
x="195.98152"
|
435
|
+
id="tspan880"
|
436
|
+
sodipodi:role="line">Stored in </tspan><tspan
|
437
|
+
id="tspan884"
|
438
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333311px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.15579979px"
|
439
|
+
y="162.99988"
|
440
|
+
x="195.30766"
|
441
|
+
sodipodi:role="line">.ps_project/entities/<entity_type>/<entity_name>.yaml</tspan></text>
|
442
|
+
</g>
|
443
|
+
</g>
|
444
|
+
<g
|
445
|
+
id="g1069"
|
446
|
+
transform="translate(-1.0213384,-111.88095)">
|
447
|
+
<g
|
448
|
+
id="g1056">
|
449
|
+
<rect
|
450
|
+
ry="1.7865629"
|
451
|
+
y="315.04086"
|
452
|
+
x="7.0617967"
|
453
|
+
height="21.836939"
|
454
|
+
width="87.226822"
|
455
|
+
id="rect933-7"
|
456
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#c8e1c8;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
457
|
+
<text
|
458
|
+
id="text937-8"
|
459
|
+
y="321.38452"
|
460
|
+
x="13.17459"
|
461
|
+
style="font-style:normal;font-weight:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
462
|
+
xml:space="preserve"><tspan
|
463
|
+
id="tspan941-5"
|
464
|
+
style="stroke-width:0.26458332px"
|
465
|
+
y="321.38452"
|
466
|
+
x="13.17459"
|
467
|
+
sodipodi:role="line">templates-templates</tspan><tspan
|
468
|
+
id="tspan1009-3"
|
469
|
+
style="stroke-width:0.26458332px"
|
470
|
+
y="327.17227"
|
471
|
+
x="13.17459"
|
472
|
+
sodipodi:role="line">within plugins. Path is </tspan><tspan
|
473
|
+
style="stroke-width:0.26458332px"
|
474
|
+
y="332.96005"
|
475
|
+
x="13.17459"
|
476
|
+
sodipodi:role="line"
|
477
|
+
id="tspan1043">customizable (see plugins doc)</tspan></text>
|
478
|
+
</g>
|
479
|
+
<g
|
480
|
+
id="g1049">
|
481
|
+
<rect
|
482
|
+
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#a7c2db;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7077052;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
483
|
+
id="rect1058-8"
|
484
|
+
width="87.226822"
|
485
|
+
height="21.836939"
|
486
|
+
x="7.0617967"
|
487
|
+
y="293.20392"
|
488
|
+
ry="1.7865629" />
|
489
|
+
<text
|
490
|
+
id="text1017-3"
|
491
|
+
y="302.48779"
|
492
|
+
x="50.614166"
|
493
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
494
|
+
xml:space="preserve"><tspan
|
495
|
+
id="tspan1013-7"
|
496
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
497
|
+
y="302.48779"
|
498
|
+
x="50.614166"
|
499
|
+
sodipodi:role="line">Plugins</tspan><tspan
|
500
|
+
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4.63020849px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332px"
|
501
|
+
y="308.27554"
|
502
|
+
x="50.614166"
|
503
|
+
sodipodi:role="line"
|
504
|
+
id="tspan1015-9">Entity Types</tspan></text>
|
372
505
|
</g>
|
373
506
|
</g>
|
374
507
|
</g>
|