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})"
/>
-
+
$emit('change', {path: ['summary'], 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);