From d227d6d5affc2c8c6ff0d712bfae08e0f7562d96 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Thu, 21 Oct 2021 11:44:16 -0400 Subject: [PATCH] Add dice These use a new entity-maker. --- macrovision.js | 2 - media/attribution.js | 11 ++ media/objects/Dice/D10 Percentile-Front.svg | 95 +++++++++++ media/objects/Dice/D10 Percentile-Side.svg | 176 ++++++++++++++++++++ media/objects/Dice/D10 Percentile-Top.svg | 125 ++++++++++++++ media/objects/Dice/D10-Front.svg | 68 ++++++++ media/objects/Dice/D10-Side.svg | 167 +++++++++++++++++++ media/objects/Dice/D10-Top.svg | 95 +++++++++++ media/objects/Dice/D12-Front.svg | 62 +++++++ media/objects/Dice/D12-Side.svg | 95 +++++++++++ media/objects/Dice/D12-Top.svg | 176 ++++++++++++++++++++ media/objects/Dice/D20-Front.svg | 95 +++++++++++ media/objects/Dice/D20-Side.svg | 83 +++++++++ media/objects/Dice/D20-Top.svg | 104 ++++++++++++ media/objects/Dice/D4-Front.svg | 62 +++++++ media/objects/Dice/D4-Side.svg | 53 ++++++ media/objects/Dice/D4-Top.svg | 71 ++++++++ media/objects/Dice/D6 Dotted-Front.svg | 56 +++++++ media/objects/Dice/D6 Dotted-Side.svg | 59 +++++++ media/objects/Dice/D6 Dotted-Top.svg | 62 +++++++ media/objects/Dice/D6 Numbered-Front.svg | 47 ++++++ media/objects/Dice/D6 Numbered-Side.svg | 47 ++++++ media/objects/Dice/D6 Numbered-Top.svg | 50 ++++++ media/objects/Dice/D8-Front.svg | 62 +++++++ media/objects/Dice/D8-Side.svg | 53 ++++++ media/objects/Dice/D8-Top.svg | 59 +++++++ presets/objects.js | 47 ++++++ 27 files changed, 2080 insertions(+), 2 deletions(-) create mode 100644 media/objects/Dice/D10 Percentile-Front.svg create mode 100644 media/objects/Dice/D10 Percentile-Side.svg create mode 100644 media/objects/Dice/D10 Percentile-Top.svg create mode 100644 media/objects/Dice/D10-Front.svg create mode 100644 media/objects/Dice/D10-Side.svg create mode 100644 media/objects/Dice/D10-Top.svg create mode 100644 media/objects/Dice/D12-Front.svg create mode 100644 media/objects/Dice/D12-Side.svg create mode 100644 media/objects/Dice/D12-Top.svg create mode 100644 media/objects/Dice/D20-Front.svg create mode 100644 media/objects/Dice/D20-Side.svg create mode 100644 media/objects/Dice/D20-Top.svg create mode 100644 media/objects/Dice/D4-Front.svg create mode 100644 media/objects/Dice/D4-Side.svg create mode 100644 media/objects/Dice/D4-Top.svg create mode 100644 media/objects/Dice/D6 Dotted-Front.svg create mode 100644 media/objects/Dice/D6 Dotted-Side.svg create mode 100644 media/objects/Dice/D6 Dotted-Top.svg create mode 100644 media/objects/Dice/D6 Numbered-Front.svg create mode 100644 media/objects/Dice/D6 Numbered-Side.svg create mode 100644 media/objects/Dice/D6 Numbered-Top.svg create mode 100644 media/objects/Dice/D8-Front.svg create mode 100644 media/objects/Dice/D8-Side.svg create mode 100644 media/objects/Dice/D8-Top.svg diff --git a/macrovision.js b/macrovision.js index 505652b6..ea535c2c 100644 --- a/macrovision.js +++ b/macrovision.js @@ -3400,8 +3400,6 @@ document.addEventListener("DOMContentLoaded", () => { const entity = entities[selected.dataset.key]; entity.form = e.target.value; entity.view = entity.formViews[entity.form]; - console.log(entity) - console.log(entity.formSizes) if (Object.keys(entity.forms).length > 0) entity.views[entity.view].height = entity.formSizes[entity.form].height; diff --git a/media/attribution.js b/media/attribution.js index 40e648b4..edf1a9b2 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -18713,6 +18713,13 @@ const attributionData = { "https://westerncontainersales.com/shipping-container-dimensions/" ] }, + { + prefix: "./media/objects/Dice/", + all: "https://blendswap.com/blend/16634", + authors: [ + "lifeenjoyer" + ] + }, { prefix: "./media/real-buildings/", all: "https://wiki.openstreetmap.org/wiki/Blender", @@ -25032,6 +25039,10 @@ const attributionData = { "name": "Ravenous-Rampage", "url": "https://www.furaffinity.net/user/ravenous-rampage/" }, + "lifeenjoyer": { + "name": "lifeenjoyer", + "url": "https://blendswap.com/profile/61749" + }, } } diff --git a/media/objects/Dice/D10 Percentile-Front.svg b/media/objects/Dice/D10 Percentile-Front.svg new file mode 100644 index 00000000..aa29dc32 --- /dev/null +++ b/media/objects/Dice/D10 Percentile-Front.svg @@ -0,0 +1,95 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D10 Percentile-Side.svg b/media/objects/Dice/D10 Percentile-Side.svg new file mode 100644 index 00000000..90fcef60 --- /dev/null +++ b/media/objects/Dice/D10 Percentile-Side.svg @@ -0,0 +1,176 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D10 Percentile-Top.svg b/media/objects/Dice/D10 Percentile-Top.svg new file mode 100644 index 00000000..58d3024e --- /dev/null +++ b/media/objects/Dice/D10 Percentile-Top.svg @@ -0,0 +1,125 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D10-Front.svg b/media/objects/Dice/D10-Front.svg new file mode 100644 index 00000000..72f1656b --- /dev/null +++ b/media/objects/Dice/D10-Front.svg @@ -0,0 +1,68 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D10-Side.svg b/media/objects/Dice/D10-Side.svg new file mode 100644 index 00000000..fcce59d0 --- /dev/null +++ b/media/objects/Dice/D10-Side.svg @@ -0,0 +1,167 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D10-Top.svg b/media/objects/Dice/D10-Top.svg new file mode 100644 index 00000000..f9b9eb56 --- /dev/null +++ b/media/objects/Dice/D10-Top.svg @@ -0,0 +1,95 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D12-Front.svg b/media/objects/Dice/D12-Front.svg new file mode 100644 index 00000000..0f54e2ef --- /dev/null +++ b/media/objects/Dice/D12-Front.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D12-Side.svg b/media/objects/Dice/D12-Side.svg new file mode 100644 index 00000000..51c6b074 --- /dev/null +++ b/media/objects/Dice/D12-Side.svg @@ -0,0 +1,95 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D12-Top.svg b/media/objects/Dice/D12-Top.svg new file mode 100644 index 00000000..93f7e80c --- /dev/null +++ b/media/objects/Dice/D12-Top.svg @@ -0,0 +1,176 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D20-Front.svg b/media/objects/Dice/D20-Front.svg new file mode 100644 index 00000000..cbb9ef58 --- /dev/null +++ b/media/objects/Dice/D20-Front.svg @@ -0,0 +1,95 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D20-Side.svg b/media/objects/Dice/D20-Side.svg new file mode 100644 index 00000000..2e452446 --- /dev/null +++ b/media/objects/Dice/D20-Side.svg @@ -0,0 +1,83 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D20-Top.svg b/media/objects/Dice/D20-Top.svg new file mode 100644 index 00000000..d412ae2a --- /dev/null +++ b/media/objects/Dice/D20-Top.svg @@ -0,0 +1,104 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D4-Front.svg b/media/objects/Dice/D4-Front.svg new file mode 100644 index 00000000..4816cc48 --- /dev/null +++ b/media/objects/Dice/D4-Front.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D4-Side.svg b/media/objects/Dice/D4-Side.svg new file mode 100644 index 00000000..3f5605ee --- /dev/null +++ b/media/objects/Dice/D4-Side.svg @@ -0,0 +1,53 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D4-Top.svg b/media/objects/Dice/D4-Top.svg new file mode 100644 index 00000000..4f81d930 --- /dev/null +++ b/media/objects/Dice/D4-Top.svg @@ -0,0 +1,71 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Dotted-Front.svg b/media/objects/Dice/D6 Dotted-Front.svg new file mode 100644 index 00000000..7657f464 --- /dev/null +++ b/media/objects/Dice/D6 Dotted-Front.svg @@ -0,0 +1,56 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Dotted-Side.svg b/media/objects/Dice/D6 Dotted-Side.svg new file mode 100644 index 00000000..144cc9d9 --- /dev/null +++ b/media/objects/Dice/D6 Dotted-Side.svg @@ -0,0 +1,59 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Dotted-Top.svg b/media/objects/Dice/D6 Dotted-Top.svg new file mode 100644 index 00000000..1e46c363 --- /dev/null +++ b/media/objects/Dice/D6 Dotted-Top.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Numbered-Front.svg b/media/objects/Dice/D6 Numbered-Front.svg new file mode 100644 index 00000000..48913a29 --- /dev/null +++ b/media/objects/Dice/D6 Numbered-Front.svg @@ -0,0 +1,47 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Numbered-Side.svg b/media/objects/Dice/D6 Numbered-Side.svg new file mode 100644 index 00000000..69ee73d7 --- /dev/null +++ b/media/objects/Dice/D6 Numbered-Side.svg @@ -0,0 +1,47 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + diff --git a/media/objects/Dice/D6 Numbered-Top.svg b/media/objects/Dice/D6 Numbered-Top.svg new file mode 100644 index 00000000..e30ccc12 --- /dev/null +++ b/media/objects/Dice/D6 Numbered-Top.svg @@ -0,0 +1,50 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + diff --git a/media/objects/Dice/D8-Front.svg b/media/objects/Dice/D8-Front.svg new file mode 100644 index 00000000..29767047 --- /dev/null +++ b/media/objects/Dice/D8-Front.svg @@ -0,0 +1,62 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D8-Side.svg b/media/objects/Dice/D8-Side.svg new file mode 100644 index 00000000..e63fd983 --- /dev/null +++ b/media/objects/Dice/D8-Side.svg @@ -0,0 +1,53 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/media/objects/Dice/D8-Top.svg b/media/objects/Dice/D8-Top.svg new file mode 100644 index 00000000..2a9a0f22 --- /dev/null +++ b/media/objects/Dice/D8-Top.svg @@ -0,0 +1,59 @@ + + + + +Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/presets/objects.js b/presets/objects.js index 0bbb815a..98794af4 100644 --- a/presets/objects.js +++ b/presets/objects.js @@ -148,6 +148,51 @@ function makeHeightWeightSphere(info, category, prefix = "", type = "objects") { } } +function makeModel(data) { + const views = {}; + const forms = {}; + + data.forms.forEach(form => { + forms[form.name] = { name: form.name } + form.views.forEach(view => { + const viewId = form.name + view.name + views[viewId] = { + name: view.name, + attributes: { + height: { + name: "Height", + power: 1, + type: "length", + base: math.unit(view.height, "meters") + } + }, + form: form.name + } + + if (view.image) { + views[viewId].image = view.image + } else { + views[viewId].image = { + source: "./media/" + data.kind + "/" + data.name + "/" + form.name + "-" + view.name + ".svg" + } + } + }) + }); + + console.log(views) + console.log(forms) + + return { + name: data.name, + constructor: () => makeEntity( + {name: data.name}, + views, + [], + forms + ) + } +} + function makeObjects() { const results = []; @@ -825,5 +870,7 @@ function makeObjects() { "SD Cards", "" )) + + results.push(makeModel({"name": "Dice", "kind": "objects", "forms": [{"name": "D6 Dotted", "views": [{"name": "Front", "height": 0.01415012776851654}, {"name": "Side", "height": 0.01415012776851654}, {"name": "Top", "height": 0.01415012776851654}]}, {"name": "D4", "views": [{"name": "Front", "height": 0.01699800044298172}, {"name": "Side", "height": 0.01699800044298172}, {"name": "Top", "height": 0.017878876999020576}]}, {"name": "D8", "views": [{"name": "Front", "height": 0.013862096704542637}, {"name": "Side", "height": 0.013862096704542637}, {"name": "Top", "height": 0.01808309182524681}]}, {"name": "D10", "views": [{"name": "Front", "height": 0.015351179987192154}, {"name": "Side", "height": 0.015351179987192154}, {"name": "Top", "height": 0.016876159235835075}]}, {"name": "D10 Percentile", "views": [{"name": "Front", "height": 0.015358946286141872}, {"name": "Side", "height": 0.015358946286141872}, {"name": "Top", "height": 0.016862813383340836}]}, {"name": "D12", "views": [{"name": "Front", "height": 0.017607660964131355}, {"name": "Side", "height": 0.017607660964131355}, {"name": "Top", "height": 0.02110980451107025}]}, {"name": "D20", "views": [{"name": "Front", "height": 0.01964765228331089}, {"name": "Side", "height": 0.01964765228331089}, {"name": "Top", "height": 0.023235414177179337}]}, {"name": "D6 Numbered", "views": [{"name": "Front", "height": 0.014152487739920616}, {"name": "Side", "height": 0.014152487739920616}, {"name": "Top", "height": 0.014152484014630318}]}]})) return results; }