Explorar o código

Rename params to props

Tom SPIRA %!s(int64=6) %!d(string=hai) anos
pai
achega
5fc2e8d8fb

+ 8 - 10
bin/style.css

@@ -1133,7 +1133,7 @@ input[type=checkbox]:checked:after {
   background: none;
 }
 .shader-view .heaps-scene svg .nodes,
-.shader-view .heaps-scene svg .parameters {
+.shader-view .heaps-scene svg .properties {
   fill: #5c5c5c;
   opacity: 0.75;
 }
@@ -1147,28 +1147,26 @@ input[type=checkbox]:checked:after {
 .shader-view .heaps-scene svg .output-node.nodeMatch {
   fill: #5ca4ab;
 }
-.shader-view .heaps-scene svg .title-node,
-.shader-view .heaps-scene svg .title-param {
+.shader-view .heaps-scene svg .title-node {
   fill: #ffffff;
   stroke: none;
   user-select: none;
 }
-.shader-view .heaps-scene svg .title-node::selection,
-.shader-view .heaps-scene svg .title-param::selection {
+.shader-view .heaps-scene svg .title-node::selection {
   background: none;
 }
-.shader-view .heaps-scene svg .parameters-group span {
+.shader-view .heaps-scene svg .properties-group span {
   color: #ffffff;
   user-select: none;
 }
-.shader-view .heaps-scene svg .parameters-group span::selection {
+.shader-view .heaps-scene svg .properties-group span::selection {
   background: none;
 }
-.shader-view .heaps-scene svg .parameters-group input[type=text],
-.shader-view .heaps-scene svg .parameters-group select {
+.shader-view .heaps-scene svg .properties-group input[type=text],
+.shader-view .heaps-scene svg .properties-group select {
   width: 100%;
 }
-.shader-view .heaps-scene svg .parameters-group input[type=text].error {
+.shader-view .heaps-scene svg .properties-group input[type=text].error {
   border: red 1px solid;
 }
 .shader-view .heaps-scene svg .edge {

+ 3 - 3
bin/style.less

@@ -1273,7 +1273,7 @@ input[type=checkbox] {
 				}
 			}
 
-			.nodes, .parameters {
+			.nodes, .properties {
 				fill: #5c5c5c;
 				opacity: 0.75;
 			}
@@ -1288,7 +1288,7 @@ input[type=checkbox] {
 				}
 			}
 
-			.title-node, .title-param {
+			.title-node {
 				fill: #ffffff;
 				stroke: none;
 				user-select: none;
@@ -1297,7 +1297,7 @@ input[type=checkbox] {
 				}
 			}
 
-			.parameters-group {
+			.properties-group {
 				span {
 					color: #ffffff;
 					user-select: none;

+ 1 - 1
hide/view/ShaderEditor.hx

@@ -468,7 +468,7 @@ class ShaderEditor extends FileView {
 				});
 			}
 		}
-		box.generateParameters(editor);
+		box.generateProperties(editor);
 	}
 
 	function removeBox(box : Box) {

+ 21 - 21
hide/view/shadereditor/Box.hx

@@ -13,7 +13,7 @@ class Box {
 
 	var width : Int = 150;
 	var height : Int;
-	var paramHeight : Int = 0;
+	var propsHeight : Int = 0;
 
 	var HEADER_HEIGHT = 27;
 	@const var NODE_MARGIN = 20;
@@ -25,7 +25,7 @@ class Box {
 	public var outputs : Array<JQuery> = [];
 
 	var element : JQuery;
-	var parametersGroup : JQuery;
+	var propertiesGroup : JQuery;
 
 	public function new(editor : SVG, parent : JQuery, x : Float, y : Float, node : ShaderNode) {
 		this.nodeInstance = node;
@@ -51,7 +51,7 @@ class Box {
 			editor.text(element, 10, HEADER_HEIGHT-8, className).addClass("title-box");
 		}
 
-		parametersGroup = editor.group(element).addClass("parameters-group");
+		propertiesGroup = editor.group(element).addClass("properties-group");
 
 		// nodes div
 		editor.rect(element, 0, HEADER_HEIGHT, this.width, 0).addClass("nodes");
@@ -86,10 +86,10 @@ class Box {
 		return node;
 	}
 
-	public function generateParameters(editor : SVG) {
-		var params = nodeInstance.getParametersHTML(this.width);
+	public function generateProperties(editor : SVG) {
+		var props = nodeInstance.getPropertiesHTML(this.width);
 
-		if (params.length == 0) return;
+		if (props.length == 0) return;
 
 		if (inputs.length <= 1 && outputs.length <= 1) {
 			element.find(".nodes").remove();
@@ -97,18 +97,18 @@ class Box {
 			element.find(".output-node-group > .title-node").html("");
 		}
 
-			// create param box
-		editor.rect(parametersGroup, 0, 0, this.width, 0).addClass("parameters");
-		paramHeight = 10;
+			// create properties box
+		editor.rect(propertiesGroup, 0, 0, this.width, 0).addClass("properties");
+		propsHeight = 10;
 
-		for (p in params) {
-			var param = editor.group(parametersGroup).addClass("param-group");
-			param.attr("transform", 'translate(0, ${paramHeight})');
+		for (p in props) {
+			var prop = editor.group(propertiesGroup).addClass("prop-group");
+			prop.attr("transform", 'translate(0, ${propsHeight})');
 
-			var paramWidth = (p.width() > 0 ? p.width() : this.width);
-			var fObject = editor.foreignObject(param, (this.width - paramWidth) / 2, 5, paramWidth, p.height());
+			var propWidth = (p.width() > 0 ? p.width() : this.width);
+			var fObject = editor.foreignObject(prop, (this.width - propWidth) / 2, 5, propWidth, p.height());
 			p.appendTo(fObject);
-			paramHeight += Std.int(p.height()) + 10;
+			propsHeight += Std.int(p.height()) + 10;
 		}
 
 		refreshHeight();
@@ -122,16 +122,16 @@ class Box {
 		var height = getNodesHeight();
 		element.find(".nodes").height(height);
 		element.find(".outline").attr("height", getHeight()+2);
-		if (inputs.length > 1 || outputs.length > 1 || paramHeight == 0) {
+		if (inputs.length > 1 || outputs.length > 1 || propsHeight == 0) {
 			element.find(".nodes-separator").attr("y2", HEADER_HEIGHT + height);
 			element.find(".nodes-separator").show();
 		} else {
 			element.find(".nodes-separator").hide();
 		}
 
-		if (parametersGroup != null) {
-			parametersGroup.attr("transform", 'translate(0, ${HEADER_HEIGHT + height})');
-			parametersGroup.find(".parameters").attr("height", paramHeight);
+		if (propertiesGroup != null) {
+			propertiesGroup.attr("transform", 'translate(0, ${HEADER_HEIGHT + height})');
+			propertiesGroup.find(".properties").attr("height", propsHeight);
 		}
 	}
 
@@ -167,13 +167,13 @@ class Box {
 	}
 	public function getNodesHeight() {
 		var maxNb = Std.int(Math.max(inputs.length, outputs.length));
-		if (maxNb == 1 && paramHeight > 0) {
+		if (maxNb == 1 && propsHeight > 0) {
 			return 0;
 		}
 		return (NODE_MARGIN + NODE_RADIUS) * (maxNb+1);
 	}
 	public function getHeight() {
-		return HEADER_HEIGHT + getNodesHeight() + paramHeight;
+		return HEADER_HEIGHT + getNodesHeight() + propsHeight;
 	}
 	public function getElement() {
 		return element;

+ 2 - 2
hrt/shgraph/ShaderGraph.hx

@@ -45,7 +45,7 @@ class ShaderGraph {
 
 		for (n in nodes) {
 			n.instance = std.Type.createInstance(std.Type.resolveClass(n.type), []);
-			n.instance.loadParameters(n.parameters);
+			n.instance.loadProperties(n.parameters);
 			n.instance.setId(n.id);
 			this.nodes.set(n.id, n);
 		}
@@ -173,7 +173,7 @@ class ShaderGraph {
 
 		var json = haxe.Json.stringify({
 			nodes: [
-				for (n in nodes) { x : n.x, y : n.y, comment: n.comment, id: n.id, type: n.type, parameters : n.instance.saveParameters() }
+				for (n in nodes) { x : n.x, y : n.y, comment: n.comment, id: n.id, type: n.type, parameters : n.instance.saveProperties() }
 			],
 			edges: edgesJson
 		});

+ 5 - 5
hrt/shgraph/ShaderInput.hx

@@ -38,8 +38,8 @@ class ShaderInput extends ShaderNode {
 						type: TVec(2, VFloat)
 					}];
 
-	override public function loadParameters(params : Dynamic) {
-		var paramVariable : String = Reflect.field(params, "variable");
+	override public function loadProperties(props : Dynamic) {
+		var paramVariable : String = Reflect.field(props, "variable");
 
 		for (c in ShaderNode.availableVariables) {
 			if (c.name == paramVariable) {
@@ -55,7 +55,7 @@ class ShaderInput extends ShaderNode {
 		}
 	}
 
-	override public function saveParameters() : Dynamic {
+	override public function saveProperties() : Dynamic {
 		var parameters = {
 			variable: variable.name
 		};
@@ -64,8 +64,8 @@ class ShaderInput extends ShaderNode {
 	}
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: 110px; height: 30px"></div>');
 		element.append(new Element('<select id="variable"></select>'));
 

+ 6 - 6
hrt/shgraph/ShaderNode.hx

@@ -110,14 +110,14 @@ class ShaderNode {
 		return null;
 	}
 
-	public function loadParameters(params : Dynamic) {
-		var fields = Reflect.fields(params);
+	public function loadProperties(props : Dynamic) {
+		var fields = Reflect.fields(props);
 		for (f in fields) {
-			Reflect.setField(this, f, Reflect.field(params, f));
+			Reflect.setField(this, f, Reflect.field(props, f));
 		}
 	}
 
-	public function saveParameters() : Dynamic {
+	public function saveProperties() : Dynamic {
 		var parameters = {};
 
 		var fields = std.Type.getInstanceFields(std.Type.getClass(this));
@@ -128,7 +128,7 @@ class ShaderNode {
 			if (m == null) {
 				continue;
 			}
-			if (Reflect.hasField(m, "param")) {
+			if (Reflect.hasField(m, "prop")) {
 				Reflect.setField(parameters, f, Reflect.getProperty(this, f));
 			}
 		}
@@ -136,7 +136,7 @@ class ShaderNode {
 	}
 
 	#if editor
-	public function getParametersHTML(width : Float) : Array<Element> {
+	public function getPropertiesHTML(width : Float) : Array<Element> {
 		return [];
 	}
 

+ 5 - 5
hrt/shgraph/ShaderOutput.hx

@@ -37,8 +37,8 @@ class ShaderOutput extends ShaderNode {
 	}
 	static var availableOutputs = [];
 
-	override public function loadParameters(params : Dynamic) {
-		var paramVariable : Array<String> = Reflect.field(params, "variable");
+	override public function loadProperties(props : Dynamic) {
+		var paramVariable : Array<String> = Reflect.field(props, "variable");
 
 		for (c in ShaderNode.availableVariables) {
 			if (c.name == paramVariable[0]) {
@@ -54,7 +54,7 @@ class ShaderOutput extends ShaderNode {
 		}
 	}
 
-	override public function saveParameters() : Dynamic {
+	override public function saveProperties() : Dynamic {
 		var parameters = {
 			variable: [variable.name, variable.type.getName()]
 		};
@@ -64,8 +64,8 @@ class ShaderOutput extends ShaderNode {
 
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: 110px; height: 30px"></div>');
 		element.append(new Element('<select id="variable"></select>'));
 

+ 6 - 0
hrt/shgraph/ShaderType.hx

@@ -15,6 +15,8 @@ enum SType {
 	Vec4;
 	/** Float or Vectors **/
 	Number;
+	/** Texture **/
+	Sampler;
 	/** Any **/
 	Variant;
 }
@@ -33,6 +35,8 @@ class ShaderType {
 				return Bool;
 			case TFloat:
 				return Float;
+			case TSampler2D:
+				return Sampler;
 			default:
 		}
 		return Variant;
@@ -56,6 +60,8 @@ class ShaderType {
 				return (from == Float);
 			case Number:
 				return (from == Float || from == Vec2 || from == Vec3 || from == Vec4);
+			case Sampler:
+				return (from == Sampler);
 			case Variant:
 				return true;
 			default:

+ 3 - 3
hrt/shgraph/nodes/BoolConst.hx

@@ -11,7 +11,7 @@ class BoolConst extends ShaderConst {
 
 	@output() var fakeOutput = SType.Bool;
 
-	@param() var value : Bool = true;
+	@prop() var value : Bool = true;
 
 	override public function getOutputTExpr(key : String) : TExpr {
 		return {
@@ -26,8 +26,8 @@ class BoolConst extends ShaderConst {
 	}
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: 15px; height: 30px"></div>');
 		element.append(new Element('<input type="checkbox" id="value" ></select>'));
 

+ 6 - 6
hrt/shgraph/nodes/Color.hx

@@ -11,10 +11,10 @@ class Color extends ShaderNode {
 
 	@output() var output = SType.Vec4;
 
-	@param() var r : Float = 0;
-	@param() var g : Float = 0;
-	@param() var b : Float = 0;
-	@param() var a : Float = 1;
+	@prop() var r : Float = 0;
+	@prop() var g : Float = 0;
+	@prop() var b : Float = 0;
+	@prop() var a : Float = 1;
 
 	override public function createOutputs() {
 		addOutput("output", TVec(4, VFloat));
@@ -68,8 +68,8 @@ class Color extends ShaderNode {
 	}
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: 47px; height: 35px"></div>');
 		var picker = new hide.comp.ColorPicker(true, element);
 

+ 9 - 9
hrt/shgraph/nodes/Cond.hx

@@ -13,7 +13,7 @@ class Cond extends ShaderNode {
 
 	@output("boolean") var output = SType.Bool;
 
-	@param() var condition : Binop;
+	@prop() var condition : Binop;
 
 	override public function checkValidityInput(key : String, type : ShaderType.SType) : Bool {
 
@@ -46,24 +46,24 @@ class Cond extends ShaderNode {
 			};
 	}
 
-	var availableConditions : Array<Binop> = [OpEq, OpNotEq, OpGt, OpGte, OpLt, OpLte, OpAnd, OpOr];
+	var availableConditions = [OpEq, OpNotEq, OpGt, OpGte, OpLt, OpLte, OpAnd, OpOr];
 	var conditionStrings 	= ["==", "!=",    ">",  ">=",  "<",  "<=",  "AND", "OR"];
 
-	override public function loadParameters(params : Dynamic) {
-		this.condition = std.Type.createEnum(Binop, Reflect.field(params, "condition"));
+	override public function loadProperties(props : Dynamic) {
+		this.condition = std.Type.createEnum(Binop, Reflect.field(props, "condition"));
 	}
 
-	override public function saveParameters() : Dynamic {
-		var parameters = {
+	override public function saveProperties() : Dynamic {
+		var properties = {
 			condition: this.condition.getName()
 		};
 
-		return parameters;
+		return properties;
 	}
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: ${width * 0.8}px; height: 40px"></div>');
 		element.append('<span>Condition</span>');
 		element.append(new Element('<select id="condition"></select>'));

+ 3 - 3
hrt/shgraph/nodes/FloatConst.hx

@@ -11,7 +11,7 @@ class FloatConst extends ShaderConst {
 
 	@output() var output = SType.Float;
 
-	@param() var value : Float = 0.5;
+	@prop() var value : Float = 0.5;
 
 	override public function getOutputTExpr(key : String) : TExpr {
 		return {
@@ -26,8 +26,8 @@ class FloatConst extends ShaderConst {
 	}
 
 	#if editor
-	override public function getParametersHTML(width : Float) : Array<Element> {
-		var elements = super.getParametersHTML(width);
+	override public function getPropertiesHTML(width : Float) : Array<Element> {
+		var elements = super.getPropertiesHTML(width);
 		var element = new Element('<div style="width: 75px; height: 30px"></div>');
 		element.append(new Element('<input type="text" id="value" style="width: ${width*0.65}px" value="${value}" />'));