diff --git a/app/imports/api/creature/computation/afterComputation/evalutateStringWithEmbeddedCalculations.js b/app/imports/api/creature/computation/afterComputation/evalutateStringWithEmbeddedCalculations.js new file mode 100644 index 00000000..4f36b4ee --- /dev/null +++ b/app/imports/api/creature/computation/afterComputation/evalutateStringWithEmbeddedCalculations.js @@ -0,0 +1,11 @@ +import evaluateString from '/imports/api/creature/computation/afterComputation/evaluateString.js'; + +// Strings can have computations in bracers like so: {computation} +export default function evalutateStringWithEmbeddedCalculations(string, scope){ + if (!string) return string; + // Compute everything inside bracers + return string.replace(/\{([^{}]*)\}/g, function(match, p1){ + let {result} = evaluateString(p1, scope); + return result; + }); +} diff --git a/app/imports/api/creature/computation/recomputeCreature.js b/app/imports/api/creature/computation/recomputeCreature.js index 690aed58..8ce49f9e 100644 --- a/app/imports/api/creature/computation/recomputeCreature.js +++ b/app/imports/api/creature/computation/recomputeCreature.js @@ -68,6 +68,6 @@ export function recomputeCreatureById(creatureId){ computeMemo(computationMemo); writeAlteredProperties(computationMemo); writeCreatureVariables(computationMemo, creatureId); - if(Meteor.isClient) console.log(computationMemo); + // if(Meteor.isClient) console.log(computationMemo); return computationMemo; } diff --git a/app/imports/api/properties/Features.js b/app/imports/api/properties/Features.js index 6c9d0545..d6e15b8a 100644 --- a/app/imports/api/properties/Features.js +++ b/app/imports/api/properties/Features.js @@ -4,7 +4,11 @@ let FeatureSchema = new SimpleSchema({ name: { type: String, }, - description: { + summary: { + type: String, + optional: true, + }, + description: { type: String, optional: true, }, diff --git a/app/imports/ui/components/ColumnLayout.vue b/app/imports/ui/components/ColumnLayout.vue index 3db06d03..e6cf2c8b 100644 --- a/app/imports/ui/components/ColumnLayout.vue +++ b/app/imports/ui/components/ColumnLayout.vue @@ -2,13 +2,19 @@ lang="html" functional > -
+
@@ -21,6 +27,14 @@ export default { transform: translateZ(0); padding: 4px; } + .column-layout.wide-columns { + column-count: 12; + column-fill: balance; + column-gap: 0; + column-width: 320px; + transform: translateZ(0); + padding: 4px; + } .column-layout >>> > div { -webkit-backface-visibility: hidden; -webkit-transform: translateX(0); diff --git a/app/imports/ui/components/computation/Computed.vue b/app/imports/ui/components/computation/Computed.vue index b64c4fbc..5cafdaae 100644 --- a/app/imports/ui/components/computation/Computed.vue +++ b/app/imports/ui/components/computation/Computed.vue @@ -1,5 +1,10 @@ diff --git a/app/imports/ui/properties/forms/FeatureForm.vue b/app/imports/ui/properties/forms/FeatureForm.vue index 9e437c2b..61d4b4d3 100644 --- a/app/imports/ui/properties/forms/FeatureForm.vue +++ b/app/imports/ui/properties/forms/FeatureForm.vue @@ -7,18 +7,17 @@ :debounce-time="debounceTime" @change="(value, ack) => $emit('change', {path: ['name'], value, ack})" /> - + -
- -
- Always enabled -
- -
+
+ + + + +
diff --git a/app/imports/ui/utility/evaluate.js b/app/imports/ui/utility/evaluate.js index 1fd79377..f93c3a85 100644 --- a/app/imports/ui/utility/evaluate.js +++ b/app/imports/ui/utility/evaluate.js @@ -3,6 +3,7 @@ import Creatures from '/imports/api/creature/Creatures.js'; // Computations resolve to numbers // vars is a dict of variables to substitute export function evaluateComputation(string, vars){ + console.warn('Deprecated, evaluate computation should be done by the computation engine') if (!string) return string; // Replace all the string variables with numbers if possible let substitutedString = string.replace( @@ -21,6 +22,7 @@ export function evaluateComputation(string, vars){ // Strings can have computations in bracers like so: {computation} // vars is a dict of variables to substitute export function evaluateStringWithVariables(string, vars){ + console.warn('Deprecated, evaluateStringWithVariables should be done by the computation engine') if (!string) return string; // Compute everything inside bracers return string.replace(/\{([^\{\}]*)\}/g, function(match, p1){ @@ -29,6 +31,7 @@ export function evaluateStringWithVariables(string, vars){ } export function evaluateStringForCharId(string, charId){ + console.warn('Deprecated, evaluateStringForCharId should be done by the computation engine') let char = Creatures.findOne(charId, {fields: {variables: 1}}); let vars = char ? char.variables : {}; return evaluateStringWithVariables(string, vars);