mux / demux SVG

This commit is contained in:
klemek
2020-12-23 12:10:22 +01:00
parent d09b48f933
commit 809f90f3e8
20 changed files with 780 additions and 55 deletions
+4
View File
@@ -540,6 +540,10 @@ MonoBehaviour:
- {fileID: 21300000, guid: 3aa2b0925144bb54193b25bf37dddf91, type: 3} - {fileID: 21300000, guid: 3aa2b0925144bb54193b25bf37dddf91, type: 3}
- {fileID: 21300000, guid: 9ade58a4f17ab5a49bebda61d08ee88e, type: 3} - {fileID: 21300000, guid: 9ade58a4f17ab5a49bebda61d08ee88e, type: 3}
- {fileID: 21300000, guid: b5f750949f494f64b8baf51ddce0cddc, type: 3} - {fileID: 21300000, guid: b5f750949f494f64b8baf51ddce0cddc, type: 3}
- {fileID: 21300000, guid: fb9d75202bc34614386238db3fffc40f, type: 3}
- {fileID: 21300000, guid: fef17d5a676873948ba369ca15b6bd9b, type: 3}
- {fileID: 21300000, guid: d69b0f1133d01724bbdf18812cbed7bc, type: 3}
- {fileID: 21300000, guid: c0328b3c1f22daf458e6a053ee2a7fc7, type: 3}
--- !u!4 &535412053 --- !u!4 &535412053
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
+5 -4
View File
@@ -61,13 +61,13 @@ namespace CompuLogic
public static void SetSortingLayerRecursive(this UnityEngine.Component obj, string sortingLayer) public static void SetSortingLayerRecursive(this UnityEngine.Component obj, string sortingLayer)
{ {
if(obj.TryGetComponent<SpriteRenderer>(out var renderer)) if(obj.TryGetComponent<Renderer>(out var renderer))
{ {
renderer.SetSortingLayerRecursive(sortingLayer); renderer.SetSortingLayerRecursive(sortingLayer);
} }
else else
{ {
foreach (var subrenderer in obj.GetComponentsInChildren<SpriteRenderer>()) foreach (var subrenderer in obj.GetComponentsInChildren<Renderer>())
{ {
subrenderer.SetSortingLayerRecursive(sortingLayer); subrenderer.SetSortingLayerRecursive(sortingLayer);
} }
@@ -75,9 +75,10 @@ namespace CompuLogic
} }
public static void SetSortingLayerRecursive(this SpriteRenderer renderer, string sortingLayer) public static void SetSortingLayerRecursive(this Renderer renderer, string sortingLayer)
{ {
foreach (var subrenderer in renderer.GetComponentsInChildren<SpriteRenderer>()) renderer.sortingLayerName = sortingLayer;
foreach (var subrenderer in renderer.GetComponentsInChildren<Renderer>())
{ {
if(subrenderer != renderer) if(subrenderer != renderer)
{ {
+1 -1
View File
@@ -48,7 +48,7 @@ namespace CompuLogic.Workspace
{ {
Text.text = Name; Text.text = Name;
var rect = Text.GetComponent<RectTransform>(); var rect = Text.GetComponent<RectTransform>();
var rotate = (Mathf.Abs(Orientation.y) > Mathf.Epsilon && Name.Length > 1); var rotate = Mathf.Abs(Orientation.y) > Mathf.Epsilon && Name.Length > 1 && !Name.Contains("\x305");
rect.localRotation = rotate ? Quaternion.AngleAxis(90f, Vector3.forward) : Quaternion.identity; rect.localRotation = rotate ? Quaternion.AngleAxis(90f, Vector3.forward) : Quaternion.identity;
rect.localPosition = new Vector3(Orientation.x, Orientation.y, 0f) * -TextSpace; rect.localPosition = new Vector3(Orientation.x, Orientation.y, 0f) * -TextSpace;
if (!rotate && Mathf.Abs(Orientation.y) > Mathf.Epsilon) if (!rotate && Mathf.Abs(Orientation.y) > Mathf.Epsilon)
@@ -68,7 +68,7 @@ namespace CompuLogic.Workspace
gate.UIName = string.IsNullOrEmpty(item.Name) ? gate.GateType.ToString() : item.Name; gate.UIName = string.IsNullOrEmpty(item.Name) ? gate.GateType.ToString() : item.Name;
var showAnchorNames = false; var showAnchorNames = item.ShowNames;
if (string.IsNullOrEmpty(item.Skin)) if (string.IsNullOrEmpty(item.Skin))
{ {
@@ -91,7 +91,7 @@ namespace CompuLogic.Workspace
var anchor = Instantiate(inputAnchor.Big ? _bigAnchorPrefab : _anchorPrefab); var anchor = Instantiate(inputAnchor.Big ? _bigAnchorPrefab : _anchorPrefab);
anchor.transform.parent = prefab.transform; anchor.transform.parent = prefab.transform;
inputAnchor.ConfigAnchor(anchor); inputAnchor.ConfigAnchor(anchor);
anchor.ShowName = showAnchorNames; anchor.ShowName = showAnchorNames || inputAnchor.ShowName;
anchor.IsInput = true; anchor.IsInput = true;
} }
} }
@@ -103,7 +103,7 @@ namespace CompuLogic.Workspace
var anchor = Instantiate(outputAnchor.Big ? _bigAnchorPrefab : _anchorPrefab); var anchor = Instantiate(outputAnchor.Big ? _bigAnchorPrefab : _anchorPrefab);
anchor.transform.parent = prefab.transform; anchor.transform.parent = prefab.transform;
outputAnchor.ConfigAnchor(anchor); outputAnchor.ConfigAnchor(anchor);
anchor.ShowName = showAnchorNames; anchor.ShowName = showAnchorNames || outputAnchor.ShowName;
} }
} }
@@ -143,6 +143,7 @@ namespace CompuLogic.Workspace
public int Width { get; set; } public int Width { get; set; }
public int Height { get; set; } public int Height { get; set; }
public string Class { get; set; } public string Class { get; set; }
public bool ShowNames { get; set; }
public List<string> Input { get; set; } public List<string> Input { get; set; }
public List<string> Output { get; set; } public List<string> Output { get; set; }
public List<GateBookItemAnchor> InputAnchors => Input.Select(i => i.Split(new char[0])).Select(GateBookItemAnchor.Get).ToList(); public List<GateBookItemAnchor> InputAnchors => Input.Select(i => i.Split(new char[0])).Select(GateBookItemAnchor.Get).ToList();
@@ -157,6 +158,7 @@ namespace CompuLogic.Workspace
public float Y { get; set; } public float Y { get; set; }
public string Orientation { get; set; } public string Orientation { get; set; }
public bool Big { get; set; } public bool Big { get; set; }
public bool ShowName { get; set; }
public Vector2 OrientationV => new Vector2( public Vector2 OrientationV => new Vector2(
Orientation == "W" ? -1 : (Orientation == "E" ? 1 : 0), Orientation == "W" ? -1 : (Orientation == "E" ? 1 : 0),
Orientation == "N" ? 1 : (Orientation == "S" ? -1 : 0) Orientation == "N" ? 1 : (Orientation == "S" ? -1 : 0)
@@ -170,7 +172,8 @@ namespace CompuLogic.Workspace
X = float.Parse(i[1], CultureInfo.InvariantCulture.NumberFormat), X = float.Parse(i[1], CultureInfo.InvariantCulture.NumberFormat),
Y = float.Parse(i[2], CultureInfo.InvariantCulture.NumberFormat), Y = float.Parse(i[2], CultureInfo.InvariantCulture.NumberFormat),
Orientation = i[3], Orientation = i[3],
Big = i.Length > 4 && i[4].Equals("big"), Big = i.Contains("big"),
ShowName = i.Contains("named")
}; };
} }
@@ -331,17 +331,17 @@ namespace CompuLogic.Workspace.Gates
internal class MuxGate : StatelessGateDefinition internal class MuxGate : StatelessGateDefinition
{ {
public override string[] Inputs { get; } = new string[] { "E", "S", "D0", "D1" }; public override string[] Inputs { get; } = new string[] { "E̅", "S", "D0", "D1" };
public override string[] Outputs { get; } = new string[] { "Y" }; public override string[] Outputs { get; } = new string[] { "Y" };
internal override Func<InputState, OutputState> Function => (input) => internal override Func<InputState, OutputState> Function => (input) =>
{ {
var e = input[0]; var ne = input[0];
var s = input[1]; var s = input[1];
var d0 = input[2]; var d0 = input[2];
var d1 = input[3]; var d1 = input[3];
var y = e && (!s && d0 || s && d1); var y = !ne && (!s && d0 || s && d1);
return new OutputState(y); return new OutputState(y);
}; };
@@ -349,17 +349,17 @@ namespace CompuLogic.Workspace.Gates
internal class DemuxGate : StatelessGateDefinition internal class DemuxGate : StatelessGateDefinition
{ {
public override string[] Inputs { get; } = new string[] { "E", "S", "D" }; public override string[] Inputs { get; } = new string[] { "E̅", "S", "D" };
public override string[] Outputs { get; } = new string[] { "Y0", "Y1" }; public override string[] Outputs { get; } = new string[] { "Y0", "Y1" };
internal override Func<InputState, OutputState> Function => (input) => internal override Func<InputState, OutputState> Function => (input) =>
{ {
var e = input[0]; var ne = input[0];
var s = input[1]; var s = input[1];
var d = input[2]; var d = input[2];
var y0 = e && !s && d; var y0 = !ne && !s && d;
var y1 = e && s && d; var y1 = !ne && s && d;
return new OutputState(y0, y1); return new OutputState(y0, y1);
}; };
@@ -367,12 +367,12 @@ namespace CompuLogic.Workspace.Gates
internal class Mux2bGate : StatelessGateDefinition internal class Mux2bGate : StatelessGateDefinition
{ {
public override string[] Inputs { get; } = new string[] { "E", "S0", "S1", "D0", "D1", "D2", "D3" }; public override string[] Inputs { get; } = new string[] { "E̅", "S0", "S1", "D0", "D1", "D2", "D3" };
public override string[] Outputs { get; } = new string[] { "Y" }; public override string[] Outputs { get; } = new string[] { "Y" };
internal override Func<InputState, OutputState> Function => (input) => internal override Func<InputState, OutputState> Function => (input) =>
{ {
var e = input[0]; var ne = input[0];
var s0 = input[1]; var s0 = input[1];
var s1 = input[2]; var s1 = input[2];
var d0 = input[3]; var d0 = input[3];
@@ -380,7 +380,7 @@ namespace CompuLogic.Workspace.Gates
var d2 = input[5]; var d2 = input[5];
var d3 = input[6]; var d3 = input[6];
var y = e && ( var y = ne && (
!s0 && !s1 && d0 || !s0 && !s1 && d0 ||
s0 && !s1 && d1 || s0 && !s1 && d1 ||
!s0 && s1 && d2 || !s0 && s1 && d2 ||
@@ -393,20 +393,20 @@ namespace CompuLogic.Workspace.Gates
internal class Demux2bGate : StatelessGateDefinition internal class Demux2bGate : StatelessGateDefinition
{ {
public override string[] Inputs { get; } = new string[] { "E", "S0", "S1", "D" }; public override string[] Inputs { get; } = new string[] { "E̅", "S0", "S1", "D" };
public override string[] Outputs { get; } = new string[] { "Y0", "Y1", "Y2", "Y3" }; public override string[] Outputs { get; } = new string[] { "Y0", "Y1", "Y2", "Y3" };
internal override Func<InputState, OutputState> Function => (input) => internal override Func<InputState, OutputState> Function => (input) =>
{ {
var e = input[0]; var ne = input[0];
var s0 = input[1]; var s0 = input[1];
var s1 = input[2]; var s1 = input[2];
var d = input[3]; var d = input[3];
var y0 = e && !s0 && !s1 && d; var y0 = !ne && !s0 && !s1 && d;
var y1 = e && s0 && !s1 && d; var y1 = !ne && s0 && !s1 && d;
var y2 = e && !s0 && s1 && d; var y2 = !ne && !s0 && s1 && d;
var y3 = e && s0 && s1 && d; var y3 = !ne && s0 && s1 && d;
return new OutputState(y0, y1, y2, y3); return new OutputState(y0, y1, y2, y3);
}; };
+31 -27
View File
@@ -244,54 +244,58 @@ list:
- C 4.5 5.5 E - C 4.5 5.5 E
600: 600:
name: Mux. name: Mux.
width: 7 skin: mux
height: 7 width: 3
height: 5
input: input:
- D0 0.5 1.5 W - D0 0.5 1.5 W
- D1 0.5 3.5 W - D1 0.5 3.5 W
- E 2.5 6.5 S - E̅ 1.5 1.0 N
- S 4.5 6.5 S - S 1.5 4.0 S
output: output:
- Y 6.5 2.5 E - Y 2.5 2.5 E
610: 610:
name: Demux. name: Demux.
width: 7 skin: demux
height: 7 width: 3
height: 5
input: input:
- D 0.5 2.5 W - D 0.5 2.5 W
- E 2.5 6.5 S - E̅ 1.5 1.0 N
- S 4.5 6.5 S - S 1.5 4.0 S
output: output:
- Y0 6.5 1.5 E - Y0 2.5 1.5 E
- Y1 6.5 3.5 E - Y1 2.5 3.5 E
620: 620:
name: 2bits Mux. name: 2bits Mux.
width: 7 skin: mux2
height: 7 width: 4
height: 6
input: input:
- D0 0.5 1.5 W - D0 0.5 1.5 W
- D1 0.5 2.5 W - D1 0.5 2.5 W
- D2 0.5 3.5 W - D2 0.5 3.5 W
- D3 0.5 4.5 W - D3 0.5 4.5 W
- E 2.5 6.5 S - E̅ 1.5 1.0 N
- S0 3.5 6.5 S - S0 1.5 5.0 S
- S1 4.5 6.5 S - S1 2.5 4.5 S
output: output:
- Y 6.5 3.5 E - Y 3.5 3.0 E
630: 630:
name: 2bits Demux. name: 2bits Demux.
width: 7 skin: demux2
height: 7 width: 4
height: 6
input: input:
- D 0.5 3.5 W - D 0.5 3.0 W
- E 2.5 6.5 S - E̅ 2.5 1.0 S
- S0 3.5 6.5 S - S0 1.5 4.5 S
- S1 4.5 6.5 S - S1 2.5 5.0 S
output: output:
- Y0 6.5 1.5 E - Y0 3.5 1.5 E
- Y1 6.5 2.5 E - Y1 3.5 2.5 E
- Y2 6.5 3.5 E - Y2 3.5 3.5 E
- Y3 6.5 4.5 E - Y3 3.5 4.5 E
640: 640:
name: 2b./4b. Enc. name: 2b./4b. Enc.
width: 5 width: 5
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

+130
View File
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: fb9d75202bc34614386238db3fffc40f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 1
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

+130
View File
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: fef17d5a676873948ba369ca15b6bd9b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 1
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

+130
View File
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: d69b0f1133d01724bbdf18812cbed7bc
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 1
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

+130
View File
@@ -0,0 +1,130 @@
fileFormatVersion: 2
guid: c0328b3c1f22daf458e6a053ee2a7fc7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 0
alignment: 1
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
+1 -1
View File
@@ -82,7 +82,7 @@ PlayerSettings:
bakeCollisionMeshes: 0 bakeCollisionMeshes: 0
forceSingleInstance: 0 forceSingleInstance: 0
useFlipModelSwapchain: 1 useFlipModelSwapchain: 1
resizableWindow: 0 resizableWindow: 1
useMacAppStoreValidation: 0 useMacAppStoreValidation: 0
macAppStoreCategory: public.app-category.games macAppStoreCategory: public.app-category.games
gpuSkinning: 0 gpuSkinning: 0
+44
View File
@@ -0,0 +1,44 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" baseProfile="full"
width="300" height="500" viewBox="0 0 300 500">
<!-- <g style="stroke:rgb(0,0,255);stroke-width:2"> -->
<!-- <line x1="0" y1="0" x2="600" y2="0"/> -->
<!-- <line x1="0" y1="100" x2="600" y2="100"/> -->
<!-- <line x1="0" y1="200" x2="600" y2="200"/> -->
<!-- <line x1="0" y1="300" x2="600" y2="300"/> -->
<!-- <line x1="0" y1="400" x2="600" y2="400"/> -->
<!-- <line x1="0" y1="500" x2="600" y2="500"/> -->
<!-- <line x1="0" y1="600" x2="600" y2="600"/> -->
<!-- <line x1="0" y1="600" x2="600" y2="600"/> -->
<!-- <line x1="0" y1="700" x2="600" y2="700"/> -->
<!-- <line x1="0" y1="800" x2="600" y2="800"/> -->
<!-- <line y1="0" x1="0" y2="500" x2="0"/> -->
<!-- <line y1="0" x1="100" y2="500" x2="100"/> -->
<!-- <line y1="0" x1="200" y2="500" x2="200"/> -->
<!-- <line y1="0" x1="300" y2="500" x2="300"/> -->
<!-- <line y1="0" x1="400" y2="500" x2="400"/> -->
<!-- <line y1="0" x1="500" y2="500" x2="500"/> -->
<!-- <line y1="0" x1="600" y2="500" x2="600"/> -->
<!-- <line y1="0" x1="700" y2="500" x2="700"/> -->
<!-- </g> -->
<!-- <g style="stroke:rgb(255,0,0);stroke-width:1"> -->
<!-- <line x1="0" y1="50" x2="600" y2="50"/> -->
<!-- <line x1="0" y1="150" x2="600" y2="150"/> -->
<!-- <line x1="0" y1="250" x2="600" y2="250"/> -->
<!-- <line x1="0" y1="350" x2="600" y2="350"/> -->
<!-- <line x1="0" y1="450" x2="600" y2="450"/> -->
<!-- <line y1="0" x1="50" y2="500" x2="50"/> -->
<!-- <line y1="0" x1="150" y2="500" x2="150"/> -->
<!-- <line y1="0" x1="250" y2="500" x2="250"/> -->
<!-- <line y1="0" x1="350" y2="500" x2="350"/> -->
<!-- <line y1="0" x1="450" y2="500" x2="450"/> -->
<!-- <line y1="0" x1="550" y2="500" x2="550"/> -->
<!-- </g> -->
<g style="stroke:black;stroke-width:20;fill:white">
<path d="M 50 150 L 250 50 V 450 L 50 350Z" />
</g>
<!--<g style="stroke:none;fill:green">
<circle cx="50" cy="150" r="20"/>
<circle cx="50" cy="350" r="20"/>
<circle cx="550" cy="250" r="20"/>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" baseProfile="full"
width="400" height="600" viewBox="0 0 400 600">
<!-- <g style="stroke:rgb(0,0,255);stroke-width:2"> -->
<!-- <line x1="0" y1="0" x2="600" y2="0"/> -->
<!-- <line x1="0" y1="100" x2="600" y2="100"/> -->
<!-- <line x1="0" y1="200" x2="600" y2="200"/> -->
<!-- <line x1="0" y1="300" x2="600" y2="300"/> -->
<!-- <line x1="0" y1="400" x2="600" y2="400"/> -->
<!-- <line x1="0" y1="500" x2="600" y2="500"/> -->
<!-- <line x1="0" y1="600" x2="600" y2="600"/> -->
<!-- <line x1="0" y1="600" x2="600" y2="600"/> -->
<!-- <line x1="0" y1="700" x2="600" y2="700"/> -->
<!-- <line x1="0" y1="800" x2="600" y2="800"/> -->
<!-- <line y1="0" x1="0" y2="500" x2="0"/> -->
<!-- <line y1="0" x1="100" y2="500" x2="100"/> -->
<!-- <line y1="0" x1="200" y2="500" x2="200"/> -->
<!-- <line y1="0" x1="300" y2="500" x2="300"/> -->
<!-- <line y1="0" x1="400" y2="500" x2="400"/> -->
<!-- <line y1="0" x1="500" y2="500" x2="500"/> -->
<!-- <line y1="0" x1="600" y2="500" x2="600"/> -->
<!-- <line y1="0" x1="700" y2="500" x2="700"/> -->
<!-- </g> -->
<!-- <g style="stroke:rgb(255,0,0);stroke-width:1"> -->
<!-- <line x1="0" y1="50" x2="600" y2="50"/> -->
<!-- <line x1="0" y1="150" x2="600" y2="150"/> -->
<!-- <line x1="0" y1="250" x2="600" y2="250"/> -->
<!-- <line x1="0" y1="350" x2="600" y2="350"/> -->
<!-- <line x1="0" y1="450" x2="600" y2="450"/> -->
<!-- <line y1="0" x1="50" y2="500" x2="50"/> -->
<!-- <line y1="0" x1="150" y2="500" x2="150"/> -->
<!-- <line y1="0" x1="250" y2="500" x2="250"/> -->
<!-- <line y1="0" x1="350" y2="500" x2="350"/> -->
<!-- <line y1="0" x1="450" y2="500" x2="450"/> -->
<!-- <line y1="0" x1="550" y2="500" x2="550"/> -->
<!-- </g> -->
<g style="stroke:black;stroke-width:20;fill:white">
<path d="M 50 200 L 350 50 V 550 L 50 400Z" />
</g>
<!--<g style="stroke:none;fill:green">
<circle cx="50" cy="150" r="20"/>
<circle cx="50" cy="350" r="20"/>
<circle cx="550" cy="250" r="20"/>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+50
View File
@@ -0,0 +1,50 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" baseProfile="full"
width="300" height="500" viewBox="0 0 300 500">
<!-- <g style="stroke:rgb(0,0,255);stroke-width:2"> -->
<!-- <line x1="0" y1="0" x2="800" y2="0" /> -->
<!-- <line x1="0" y1="100" x2="800" y2="100"/> -->
<!-- <line x1="0" y1="200" x2="800" y2="200"/> -->
<!-- <line x1="0" y1="300" x2="800" y2="300"/> -->
<!-- <line x1="0" y1="400" x2="800" y2="400"/> -->
<!-- <line x1="0" y1="500" x2="800" y2="500"/> -->
<!-- <line x1="0" y1="600" x2="800" y2="600"/> -->
<!-- <line x1="0" y1="600" x2="800" y2="600"/> -->
<!-- <line x1="0" y1="700" x2="800" y2="700"/> -->
<!-- <line x1="0" y1="800" x2="800" y2="800"/> -->
<!-- <line y1="0" x1="0" y2="800" x2="0"/> -->
<!-- <line y1="0" x1="100" y2="800" x2="100"/> -->
<!-- <line y1="0" x1="200" y2="800" x2="200"/> -->
<!-- <line y1="0" x1="300" y2="800" x2="300"/> -->
<!-- <line y1="0" x1="400" y2="800" x2="400"/> -->
<!-- <line y1="0" x1="500" y2="800" x2="500"/> -->
<!-- <line y1="0" x1="600" y2="800" x2="600"/> -->
<!-- <line y1="0" x1="700" y2="800" x2="700"/> -->
<!-- <line y1="0" x1="800" y2="800" x2="800"/> -->
<!-- </g> -->
<!-- <g style="stroke:rgb(255,0,0);stroke-width:1"> -->
<!-- <line x1="0" y1="50" x2="800" y2="50"/> -->
<!-- <line x1="0" y1="150" x2="800" y2="150"/> -->
<!-- <line x1="0" y1="250" x2="800" y2="250"/> -->
<!-- <line x1="0" y1="350" x2="800" y2="350"/> -->
<!-- <line x1="0" y1="450" x2="800" y2="450"/> -->
<!-- <line x1="0" y1="550" x2="800" y2="550"/> -->
<!-- <line x1="0" y1="650" x2="800" y2="650"/> -->
<!-- <line x1="0" y1="750" x2="800" y2="750"/> -->
<!-- <line y1="0" x1="50" y2="800" x2="50"/> -->
<!-- <line y1="0" x1="150" y2="800" x2="150"/> -->
<!-- <line y1="0" x1="250" y2="800" x2="250"/> -->
<!-- <line y1="0" x1="350" y2="800" x2="350"/> -->
<!-- <line y1="0" x1="450" y2="800" x2="450"/> -->
<!-- <line y1="0" x1="550" y2="800" x2="550"/> -->
<!-- <line y1="0" x1="650" y2="800" x2="650"/> -->
<!-- <line y1="0" x1="750" y2="800" x2="750"/> -->
<!-- </g> -->
<g style="stroke:black;stroke-width:20;fill:white">
<path d="M 50 50 L 250 150 V 350 L 50 450Z" />
</g>
<!-- <g style="stroke:none;fill:green"> -->
<!-- <circle cx="50" cy="150" r="20"/> -->
<!-- <circle cx="50" cy="350" r="20"/> -->
<!-- <circle cx="550" cy="250" r="20"/> -->
<!-- </g> -->
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

+50
View File
@@ -0,0 +1,50 @@
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" baseProfile="full"
width="400" height="600" viewBox="0 0 400 600">
<!-- <g style="stroke:rgb(0,0,255);stroke-width:2"> -->
<!-- <line x1="0" y1="0" x2="800" y2="0" /> -->
<!-- <line x1="0" y1="100" x2="800" y2="100"/> -->
<!-- <line x1="0" y1="200" x2="800" y2="200"/> -->
<!-- <line x1="0" y1="300" x2="800" y2="300"/> -->
<!-- <line x1="0" y1="400" x2="800" y2="400"/> -->
<!-- <line x1="0" y1="500" x2="800" y2="500"/> -->
<!-- <line x1="0" y1="600" x2="800" y2="600"/> -->
<!-- <line x1="0" y1="600" x2="800" y2="600"/> -->
<!-- <line x1="0" y1="700" x2="800" y2="700"/> -->
<!-- <line x1="0" y1="800" x2="800" y2="800"/> -->
<!-- <line y1="0" x1="0" y2="800" x2="0"/> -->
<!-- <line y1="0" x1="100" y2="800" x2="100"/> -->
<!-- <line y1="0" x1="200" y2="800" x2="200"/> -->
<!-- <line y1="0" x1="300" y2="800" x2="300"/> -->
<!-- <line y1="0" x1="400" y2="800" x2="400"/> -->
<!-- <line y1="0" x1="500" y2="800" x2="500"/> -->
<!-- <line y1="0" x1="600" y2="800" x2="600"/> -->
<!-- <line y1="0" x1="700" y2="800" x2="700"/> -->
<!-- <line y1="0" x1="800" y2="800" x2="800"/> -->
<!-- </g> -->
<!-- <g style="stroke:rgb(255,0,0);stroke-width:1"> -->
<!-- <line x1="0" y1="50" x2="800" y2="50"/> -->
<!-- <line x1="0" y1="150" x2="800" y2="150"/> -->
<!-- <line x1="0" y1="250" x2="800" y2="250"/> -->
<!-- <line x1="0" y1="350" x2="800" y2="350"/> -->
<!-- <line x1="0" y1="450" x2="800" y2="450"/> -->
<!-- <line x1="0" y1="550" x2="800" y2="550"/> -->
<!-- <line x1="0" y1="650" x2="800" y2="650"/> -->
<!-- <line x1="0" y1="750" x2="800" y2="750"/> -->
<!-- <line y1="0" x1="50" y2="800" x2="50"/> -->
<!-- <line y1="0" x1="150" y2="800" x2="150"/> -->
<!-- <line y1="0" x1="250" y2="800" x2="250"/> -->
<!-- <line y1="0" x1="350" y2="800" x2="350"/> -->
<!-- <line y1="0" x1="450" y2="800" x2="450"/> -->
<!-- <line y1="0" x1="550" y2="800" x2="550"/> -->
<!-- <line y1="0" x1="650" y2="800" x2="650"/> -->
<!-- <line y1="0" x1="750" y2="800" x2="750"/> -->
<!-- </g> -->
<g style="stroke:black;stroke-width:20;fill:white">
<path d="M 50 50 L 350 200 V 400 L 50 550Z" />
</g>
<!--<g style="stroke:none;fill:green">
<circle cx="50" cy="150" r="20"/>
<circle cx="50" cy="350" r="20"/>
<circle cx="550" cy="250" r="20"/>
</g>-->
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

+7 -2
View File
@@ -1,8 +1,13 @@
TODO TODO
-(1) mux/demux svg
-(1) show current gate name when moving -(1) show current gate name when moving
-(1) change fonts -(1) change fonts
-(1) light gray name on default gates
-(3) cable overlap (same/diff circuit) -(3) cable overlap (same/diff circuit)
-(5) cable management -(5) cable management
-(5) buses -(?) anchor names tooltip
-(?) buses ?
-(?) Main Menu
-(?) Pause Menu
-(?) Tools
-(?) Levels