Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomcl/issie
Issie - an intuitive cross-platform hardware design application. https://tomcl.github.io/issie
https://github.com/tomcl/issie
digital editor educational electron fable fpga fsharp logic simulator verilog
Last synced: 7 days ago
JSON representation
Issie - an intuitive cross-platform hardware design application. https://tomcl.github.io/issie
- Host: GitHub
- URL: https://github.com/tomcl/issie
- Owner: tomcl
- License: gpl-3.0
- Created: 2020-06-27T16:00:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T19:28:01.000Z (19 days ago)
- Last Synced: 2024-10-26T05:58:09.598Z (18 days ago)
- Topics: digital, editor, educational, electron, fable, fpga, fsharp, logic, simulator, verilog
- Language: F#
- Homepage:
- Size: 104 MB
- Stars: 70
- Watchers: 3
- Forks: 96
- Open Issues: 37
-
Metadata Files:
- Readme: README-CHANGES-TEAM2.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Changes To Original Code
See [PR](https://github.com/dharmilshah99/hlp23-team2/pull/40/files) for detailed changes.## `src/Renderer/Common/CommonTypes.fs`
- Added [helper](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/Common/CommonTypes.fs#L261) to type `Edge` to get an opposite `Edge`.
- Added type to represent `Clockwise` and `Anticlockwise` directions.
## `src/Renderer/DrawBlock/DrawHelpers.fs`
- Added new type of circle to display the corners of components (following pattern for `portCircle`)
## `src/Renderer/DrawBlock/DrawModelType.fs`
- Added new messages to indicate resize operation and whether to display corners, added new cursor style
## `src/Renderer/DrawBlock/Sheet.fs`
- Added function to detect if mouse is over a custom component corner, integrated with `mouseOn`
## `src/Renderer/DrawBlock/SheetUpdate.fs`
- Added new messages to show/hide custom component corners when `Ctrl` held down
- Processing additional message `BeautifySheet` which reorders and aligns components on a sheet (see [line](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/SheetUpdate.fs#LL804C6-L804C6)).
## `src/Renderer/DrawBlock/SheetUpdateHelpers.fs`
- Modified mouse update functions to run the correct functions during symbol resizing
## `src/Renderer/DrawBlock/SymbolUpdate.fs`
- Match the new messages added and call the right functions during symbol resizing
## `src/Renderer/DrawBlock/SymbolView.fs`
- Added code to draw circles on the conrners of custom components
## [`src/Renderer/DrawBlock/SmartBeautify.fs`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/SmartBeautify.fs#L1)
- New module that contains logic for `BeautifySheet`.## [`src/Renderer/DrawBlock/SmartHelpers.fs`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/SmartHelpers.fs#LL48)
- Added useful helpers and types shared between Smart modules.## [`src/Renderer/DrawBlock/SmartPortOrder.fs`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/SmartPortOrder.fs#L1)
- Contains logic for reordering ports on two selected Symbols and flipping `Sel` of Mux/Demux components.## [`src/Renderer/DrawBlock/SmartWire.fs`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/SmartWire.fs)
- Refactored code to integrate more symmetries.
- Contains logic for smart routing of wires to snap to net and avoid intersections with symbols.## `src/Renderer/DrawBlock/Symbol.fs`
- Created new function [`getPortOrientationFrmPortIdStr`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/DrawBlock/Symbol.fs#L846) that gets a port's orientation from a PortId string.## `src/Renderer/DrawBlock/SymbolHelpers.fs`
- New file, contains helpers used in `SymbolView.fs` (couldn't go in `SmartHelpers.fs`)## `src/Renderer/DrawBlock/SymbolUpdateResizeHelpers.fs`
- New file, contains manual component resize logic (followed pattern set by `SymbolUpdatePortHelpers.fs`)## `src/Renderer/Renderer.fs`
- Added additional menu [items](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/Renderer.fs#L239) that perform Smart functions (eg. Beautify, Reorder, Optimize Symbol, etc).## `src/Renderer/Renderer.fsproj`
- Added new files in compilation order (eg. [`SymbolUpdateResizeHelpers.fs`](https://github.com/dharmilshah99/hlp23-team2/blob/3d7b9095c238fc0871c6f800913f4db0c78a4d17/src/Renderer/Renderer.fsproj#L63)).