Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Bottom SVG view #239

Closed
wants to merge 61 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
884877a
Initial Commit here
moritzstaffel Mar 14, 2024
bbdb595
Update gdtf-spec.md
moritzstaffel Mar 14, 2024
5c5c87a
Update gdtf-spec.md
moritzstaffel Mar 14, 2024
1d8122b
Create proposal.md
moritzstaffel Mar 14, 2024
7e51925
Update proposal.md
moritzstaffel Apr 4, 2024
1e85f14
Add example
moritzstaffel Apr 4, 2024
19584d3
Add the actual file
moritzstaffel Apr 4, 2024
c83ece5
Add more info here
moritzstaffel Apr 4, 2024
bf59ab4
Add the channel set values
moritzstaffel Apr 4, 2024
c7f18f6
Add other proposal
moritzstaffel Apr 4, 2024
9a9a0ef
Update proposal.md
moritzstaffel Apr 4, 2024
e17ddfd
Update proposal.md
moritzstaffel Apr 4, 2024
91839f1
Fix #172
moritzstaffel Apr 10, 2024
88d02d8
Update
moritzstaffel Apr 10, 2024
1d0f17b
Merge pull request #186 from mvrdevelopment/fix-172
moritzstaffel Apr 17, 2024
a6caf65
Fix #166
moritzstaffel Apr 17, 2024
18605cd
Remove header
moritzstaffel Apr 17, 2024
253e5ba
Merge pull request #189 from mvrdevelopment/beam-type-proposal
moritzstaffel Apr 17, 2024
db17947
SVG Proposal copied from #185
moritzstaffel Apr 17, 2024
dfff792
Update text
moritzstaffel Apr 17, 2024
a775008
Update gdtf-spec.md
moritzstaffel Apr 17, 2024
871fc28
Add the svg code to make it really clear
moritzstaffel Apr 17, 2024
bff9ddf
Merge pull request #190 from mvrdevelopment/clean-svg-proposal
moritzstaffel Apr 17, 2024
2219f42
Merge branch 'next' into aes-files
moritzstaffel Apr 17, 2024
e23f1f3
Allow to define a color for a single color emitter #160
moritzstaffel Apr 17, 2024
d6a599e
Update this here as well
moritzstaffel Apr 18, 2024
9c13ff2
Also add this here
moritzstaffel Apr 18, 2024
c0e5cd2
Add more stuff here
moritzstaffel Apr 18, 2024
8538efa
Update gdtf-spec.md
moritzstaffel Apr 18, 2024
73b6788
Merge pull request #191 from mvrdevelopment/Allow-to-define-a-color-f…
moritzstaffel Apr 18, 2024
a4e6a33
Merge branch 'next' into aes-files
moritzstaffel Apr 18, 2024
407f648
Merge branch 'main' into next
moritzstaffel Apr 23, 2024
c244d90
Allow Wheel Slot name to contain all characters by changing the name …
petrvanekrobe May 2, 2024
d88fdb2
Merge pull request #196 from mvrdevelopment/wheel-slot-name
reneberhorst May 2, 2024
a4bd110
Clarify the RDM node name
petrvanekrobe May 2, 2024
3f5e187
clarify heading
petrvanekrobe May 2, 2024
69e1224
Merge branch 'next' into aes-files
moritzstaffel May 15, 2024
9d2b563
Rename here
moritzstaffel May 15, 2024
84adb4d
Update Usage here
moritzstaffel May 15, 2024
c82ec9c
Add more infos here
moritzstaffel May 15, 2024
c113ad0
Add more info here
moritzstaffel May 15, 2024
e70d588
Add more to references here
moritzstaffel May 15, 2024
3c2c98b
Update proposal.md
moritzstaffel May 22, 2024
ee21fc9
Fix table here
moritzstaffel May 23, 2024
243d046
Remove the changelog
moritzstaffel May 23, 2024
0f31836
Update naming here
moritzstaffel May 23, 2024
bc4b3ee
Merge pull request #200 from mvrdevelopment/smaller-changes-to-the-spex
AndriiVoitenko May 23, 2024
c4c0b73
Update nameing here
moritzstaffel May 28, 2024
1812f72
Update naming here
moritzstaffel May 29, 2024
6dd36b2
Delete unneeded stuff
moritzstaffel May 29, 2024
2119518
Add Node for PhotometricSet
moritzstaffel May 29, 2024
8c21b49
Merge branch 'next' into aes-files
moritzstaffel May 29, 2024
a3d49cb
Update proposal.md
moritzstaffel Jun 13, 2024
74f4038
Geometry Reference Tag name missing
moritzstaffel Jun 19, 2024
d2fc574
Default value: Name of Attribute and 1-based index of Channel Functio…
moritzstaffel Jun 19, 2024
f2fc3c5
Merge pull request #183 from mvrdevelopment/aes-files
moritzstaffel Jun 20, 2024
9026e70
Merge pull request #205 from mvrdevelopment/fix-mising-XML-node-for-g…
moritzstaffel Jun 20, 2024
3069200
Merge pull request #206 from mvrdevelopment/Clarify-ChannelFunction-D…
moritzstaffel Jun 20, 2024
7e48aef
Fix wheel slot description
petrvanekrobe Oct 17, 2024
462c060
Merge pull request #226 from mvrdevelopment/adjust_wheel_slot_descrip…
danielmuellerma Oct 17, 2024
8e03c28
Upgrade CI dependencies
realRobotix Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/workflows/check-links.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ on: push

jobs:
test_links_in_readme:
runs-on: ubuntu-22.04
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: List files
run: ls -la
- uses: docker://pandoc/core:2.9
- uses: docker://pandoc/core:latest
with:
args: >- # allows you to break string into multiple lines
--standalone
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/generate-doc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,22 @@ on: push

jobs:
generate_doc:
runs-on: ubuntu-22.04
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: List files
run: |
ls -la
mkdir output
- uses: docker://pandoc/core:2.9
- uses: docker://pandoc/core:latest
with:
args: >- # allows you to break string into multiple lines
--standalone
--from markdown
--output=mvr-spec.docx
mvr-spec.md
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: mvr-spec
path: mvr-spec.docx
237 changes: 53 additions & 184 deletions gdtf-spec.md

Large diffs are not rendered by default.

220 changes: 220 additions & 0 deletions proposal/light-distribution-proposal/proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
# Support for more Photometric Data in MVR and GDTF

## Linked Issue


# Problem

We want to add the option to define the light distribution for fixtures inside the beam of the fixture. In simple works, this file define how even the light inside a beam is distributed.

# Proposal


## GDTF

### New Attribute Photometric

We will add attribute `Photometric` to the Beam Geometry. This defines the default light distribution for the fixture.
We will add attribute `Photometric` to the Reference Geometry. This overwrites the default light distribution for the linked Beam.
Inside the `ChannelFunction` and the `SubChannelSet` we also will add this this attribute, so that the fixture can change the behavior depending on the current status of the fixture. This will also define a range.

When the `Photometric` is an attribute of the `ChannelFunction` it applies to all Beams, while when it is in a child node you can specify the beam it is for.

> **Note**
> We are currently discussing how `Photometric` can be defined as child of a `ChannelFunction`

The rules are the following:
- When a Beam does not have `Photometric`, it will not be affected by any `Photometric` definition in the file (Allow LED rings to have no photometric while the main light source have this and you still not need to use the `SubChannelSets`)
- Only one DMX Channel can have `Photometric` links inside their `ChannelFunction` or `SubChannelSet`.


Example Simple Fixture:

``` xml
<FixtureType>
<Geometries>
<Geometry
Name="Base" >
<Axis
Name="Yoke" >
<Axis Name="Head" >
<Beam Name="Beam" Photometric="sample_default_file"/>
</Axis>
</Axis>
</Geometry>
</Geometry>
</Geometries>
<DMXModes>
<DMXMode Description="" Geometry="Base" Name="Mode 1">
<DMXChannels>
<DMXChannel Geometry="Beam" >
<LogicalChannel >
<ChannelFunction Attribute="Zoom" DMXFrom="0/1" Name="Zoom 1" PhysicalFrom="45" PhysicalTo="5" PhotometricFrom="sample_default_file" PhotometricTo="narrow_file"/>
<ChannelSet DMXFrom="0/1" Name="Wide" />
<ChannelSet DMXFrom="1/1" />
<ChannelSet DMXFrom="255/1"/>
</ChannelFunction>
</LogicalChannel>
</DMXChannel>
</DMXChannels>
<Relations/>
<FTMacros/>
</DMXMode>
</DMXModes>
</FixtureType>
```
## Multi Beam defining

When a device has multiple beams, that need different Photometric files, we need to assign the files per Beam. This could be done either as a child of the `ChannelFunction`, or as a child of the `ChannelSet`.

When using the `ChannelSet`, we can use the DMX ranges from the `ChannelSet`. But we are also forced to use existing structure of `ChannelSet` or even create `ChannelSet` just for this propose.
When using the `ChannelFunction`, we need to also define a DMX range here. The requirements for the DMX range for channel set also applies for the `<Photometric>` node.

#### Option A: Use Children of the Channel Set to make multi Beam assign

Example Two Beam Fixture:

``` xml
<FixtureType>
<Geometries>
<Geometry
Name="Base" >
<Axis
Name="Yoke" >
<Axis Name="Head" >
<Beam Name="Beam1" Photometric="sample_default_file1"/>
<Beam Name="Beam2" Photometric="sample_default_file2"/>
</Axis>
</Axis>
</Geometry>
</Geometry>
</Geometries>
<DMXModes>
<DMXMode Description="" Geometry="Base" Name="Mode 1">
<DMXChannels>
<DMXChannel Geometry="Yoke" >
<LogicalChannel >
<ChannelFunction Attribute="Zoom" DMXFrom="0/1" Name="Zoom 1" PhysicalFrom="45" PhysicalTo="5">
<ChannelSet DMXFrom="0/1" Name="Wide" >
</ChannelSet>
<ChannelSet DMXFrom="1/1" >
<ChannelSetPhotometric
Beam="Beam1"
PhotometricFrom="sample_default_file1"
PhotometricTo="narrow_file1"
/>
<ChannelSetPhotometric
Beam="Beam2"
PhotometricFrom="sample_default_file2"
PhotometricTo="narrow_file2"
/>

</ChannelSet>
<ChannelSet DMXFrom="255/1" Name="Narrow">
<ChannelSetPhotometric
Beam="Beam1"
PhotometricFrom="narrow_file1"
PhotometricTo="narrow_file1"
/>
<ChannelSetPhotometric
Beam="Beam2"
PhotometricFrom="narrow_file2"
PhotometricTo="narrow_file2"
/>

</ChannelSet>
</ChannelFunction>
</LogicalChannel>
</DMXChannel>
</DMXChannels>
<Relations/>
<FTMacros/>
</DMXMode>
</DMXModes>
</FixtureType>
```

#### Option B: Use Children of the Channel Function to make multi Beam assign


``` xml
<FixtureType>
<Geometries>
<Geometry
Name="Base" >
<Axis
Name="Yoke" >
<Axis Name="Head" >
<Beam Name="Beam1" Photometric="sample_default_file1"/>
<Beam Name="Beam2" Photometric="sample_default_file2"/>
</Axis>
</Axis>
</Geometry>
</Geometry>
</Geometries>
<DMXModes>
<DMXMode Description="" Geometry="Base" Name="Mode 1">
<DMXChannels>
<DMXChannel Geometry="Yoke" >
<LogicalChannel >
<ChannelFunction Attribute="Zoom" DMXFrom="0/1" Name="Zoom 1" PhysicalFrom="45" PhysicalTo="5">

<ChannelSet DMXFrom="0/1" Name="Wide" />
<ChannelSet DMXFrom="1/1" />
<ChannelSet DMXFrom="255/1" Name="Narrow"/>

<PhotometricSet
Beam="Beam1"
DMXFrom="0/1"
PhotometricFrom="sample_default_file1"
PhotometricTo="narrow_file1"
/>
<PhotometricSet
Beam="Beam2"
DMXFrom="0/1"
PhotometricFrom="sample_default_file2"
PhotometricTo="narrow_file2"
/>

<PhotometricSet
Beam="Beam1"
DMXFrom="255/1"
PhotometricFrom="narrow_file1"
PhotometricTo="narrow_file1"
/>
<PhotometricSet
Beam="Beam2"
DMXFrom="255/1"
PhotometricFrom="narrow_file2"
PhotometricTo="narrow_file2"
/>

</ChannelFunction>
</LogicalChannel>
</DMXChannel>
</DMXChannels>
<Relations/>
<FTMacros/>
</DMXMode>
</DMXModes>
</FixtureType>
```

#### Challenges
- How do we handle multiple beam in one fixture
- Multi LED Strip Light (Challenge is how you measure device)
- Multi LED Wash Light (You want to measure all at once, but represent the beam as one)
- LED Ring and normal beam (You only need the beam as IES file)
- Multi head fixtures (You need for each an individual beam, and it also needs to change)

- Only one IES file (or and interpolation between two IES files) can be active. This is challenging when multiple Attributes have effects on the light output.

- Do we need to add measurement instruction to the GDTF spec or only reference the IES spec.
- You measure devices in such a distance that the actual shape of the device has no influence on the measurement. For strip lights, this means a big distance. Not all can measure strip lights at such distance. The distance that IES recommends is 7x the beam diameter.


## MVR

Currently there will be no impact on the MVR.


38 changes: 38 additions & 0 deletions proposal/svg-additions/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Additional features inside SVG files

### SVG can define additional features:

* Movement Range: shapes inside the SVG with fill and stroke color Red (#FF0000
(RGB: 255, 0, 0)) and with fill and stroke opacity 0, allow software to
identify these shapes as a movement range of the device.

* Connection Input (Pigtail): shapes inside the SVG with fill and stroke color
Green (#00FF00 (RGB: 0, 255, 0)) and with fill and stroke opacity 0, allow
software to identify these shapes as a connection input (pigtail) part of the
device.

SVG needs to be aligned with the GDTF 3D model. GDTF 3D front is down in SVG.

> Note: the opacity 0 is used for backwards compatibility

> Example: If Pigtail is at the back of the unit, is drawn up in SVG.

Attached examples:

![labeled thumbnail](./thumbnail_labeled.png)

![resulted thumbnail](./thumbnail.svg)

> **Note**
> The top SVG contains this element generating the pigtail. As the opacity is set the zero, in the rendered SVG you will not see it.

```svg
<rect
style="fill:#00ff00;stroke:#00ff00;stroke-width:1.5;stroke-linejoin:bevel;fill-opacity:0;stroke-opacity:0"
id="rect5567"
width="202.29604"
height="38.859127"
x="136.35199"
y="89.147408"
inkscape:label="pigtailRectangle" />
```
Loading