Skip to content

Commit 574c6b6

Browse files
authored
Update Readme and add BUILD instructions
1 parent dbd112a commit 574c6b6

File tree

2 files changed

+109
-78
lines changed

2 files changed

+109
-78
lines changed

BUILD.md

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Build
2+
3+
4+
## Prerequisites
5+
6+
### General
7+
8+
- **Node 20+:** [Node.js](https://nodejs.org). You can use the Node Version Manager (nvm):
9+
- [nvm-windows](https://github.com/coreybutler/nvm-windows/releases) to download Node and change versions.
10+
- **Python 3.7.9 and up** You can use the Python Version Manager (pyenv):
11+
- [pyenv-win](https://github.com/pyenv-win/pyenv-win) to download and change versions.
12+
- **RUST** setup rust via https://rustup.rs/ - mainly for used for plugins - currently not used in this repo.
13+
14+
### WINDOWS
15+
16+
- **Visual Studio with Desktop Development with C++ extension**
17+
- Install VS2022 from https://visualstudio.microsoft.com/vs/features/cplusplus/
18+
- or, as an administrator via `npm install --global windows-build-tools` (older VS version)
19+
20+
### MACOS
21+
22+
- **xcode**
23+
- **brew** _currently not 100% sure in correct names etc._
24+
- boostlib
25+
26+
### LINUX
27+
28+
Have a look in the workflow file:
29+
https://github.com/deepnest-next/deepnest/blob/main/.github/workflows/build.yml#L28
30+
31+
- gcc
32+
- clang
33+
- libboost-dev
34+
35+
### Possible Problems
36+
37+
- On Windows 10 1905 or newer, you might need to **disable the built-in Python launcher** via
38+
- **Start** > "**Manage App Execution Aliases**" and turning off the "**App Installer" aliases for Python**"
39+
- close-and-open all command shells and your IDE to activate the latest setup
40+
41+
## Building
42+
43+
```sh
44+
git clone https://github.com/deepnest-next/deepnest
45+
cd deepnest
46+
npm install
47+
npm run build
48+
npm run start
49+
```
50+
51+
### Rebuild
52+
53+
```sh
54+
# If you change the electron-related files (web files, javascript), a build with
55+
npm run build
56+
57+
# If you change the the Minkowski files (the `.cc` or `.h` files):
58+
npm run build-all
59+
```
60+
61+
### Running
62+
63+
- `npm run start`
64+
65+
### Clean builds
66+
67+
```sh
68+
69+
npm run clean && npm run build
70+
71+
# full clean, incl. `node_modules`
72+
npm run clean-all && npm install && npm run build
73+
```
74+
75+
### Create a Distribution
76+
77+
```sh
78+
npm run dist
79+
80+
# During development, you can combine `clean-all, build-all and dist` via:
81+
npm run dist-all
82+
```
83+
84+
The resulting files will be located in `.\deepnest-<version>-win32-x64`.
85+
86+
Create a zip file of this folder for a simple distribution.
87+
88+
## Debugging
89+
90+
If the environment variable "deepnest_debug" has a value of "1", deepnest will open the browser dev tools (debugger/inspector).

README.md

+19-78
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,31 @@
11
<img src="https://github.com/user-attachments/assets/0f24f4c9-d1af-4db5-9570-37c89b42cdfa" alt="deepnest next" width="250">
22

3-
## **deepnest**
3+
# **deepnest**
44

5-
A fast nesting tool for laser cutters and other CNC tools
5+
A fast open source nesting tool for plotter, laser cutters and other CNC tools
66

7-
deepnest is a desktop application originally based on [SVGNest](https://github.com/Jack000/SVGnest)
7+
deepnest is a desktop application originally based on [SVGNest](https://github.com/Jack000/SVGnest) and [deepnest](https://github.com/Jack000/Deepnest)
88

9-
- New nesting engine with speed critical code written in C
10-
- Merges common lines for laser cuts
11-
- Support for DXF files (via conversion)
12-
- New path approximation feature for highly complex parts
9+
- New nesting engine with speed-critical code, written in C (outsourced to an external NodeJs module)
10+
- Merging of common lines for plotter and laser cuts
11+
- Support for DXF files (through conversion)
12+
- New path approximation function for highly complex parts
1313

1414

15-
## This Fork
1615

17-
The primary goal has been to get deepnest buildable again, which has been achieved. Now I'm going to fix the bugs, that are reported origin to deepnest-io/Deepnest and other forks.
16+
## Upcoming changes
17+
- more speed with code written in Rust outsourced as modules, the original code was written in JavaScript
18+
- some core libraries rewritten from scratch in Rust so we get even more speed and ensure memory safety
19+
- Save and load settings as presets
20+
- Load nesting projects via CSV or JSON
21+
- Native support of DXF file formats without online conversion
22+
- **Cloud nesting:** Use our cloud for fast nesting of your projects _more soon_
1823

1924

20-
## Prerequisites
25+
## How to Build?
2126

22-
- **Node 20+:** [Node.js](https://nodejs.org). You can use the Node Version Manager (nvm):
23-
- [nvm-windows](https://github.com/coreybutler/nvm-windows/releases) to download Node and change versions.
24-
- **Python 3.7.9 and up** You can use the Python Version Manager (pyenv):
25-
- [pyenv-win](https://github.com/pyenv-win/pyenv-win) to download and change versions.
26-
- **Visual Studio with Desktop Development with C++ extension**
27-
- Install VS2022 from https://visualstudio.microsoft.com/vs/features/cplusplus/
28-
- or, as an administrator via `npm install --global windows-build-tools` (older VS version)
27+
Reed the [Build Docs](BUILD.md)
2928

30-
For ubuntu (or when you're not sure how to build) look at the build workflow:
31-
32-
https://github.com/deepnest-next/deepnest/blob/main/.github/workflows/build.yml#L28
33-
34-
### Possible Problems
35-
36-
- On Windows 10 1905 or newer, you might need to **disable the built-in Python launcher** via
37-
- **Start** > "**Manage App Execution Aliases**" and turning off the "**App Installer" aliases for Python**"
38-
- close-and-open all command shells and your IDE to activate the latest setup
39-
40-
## Building
41-
42-
```sh
43-
git clone https://github.com/deepnest-next/deepnest
44-
cd deepnest
45-
npm install
46-
npm run build
47-
npm run start
48-
```
49-
50-
### Rebuild
51-
52-
```sh
53-
# If you change the electron-related files (web files, javascript), a build with
54-
npm run build
55-
56-
# If you change the the Minkowski files (the `.cc` or `.h` files):
57-
npm run build-all
58-
```
59-
60-
### Running
61-
62-
- `npm run start`
63-
64-
### Clean builds
65-
66-
```sh
67-
68-
npm run clean && npm run build
69-
70-
# full clean, incl. `node_modules`
71-
npm run clean-all && npm install && npm run build
72-
```
73-
74-
### Create a Distribution
75-
76-
```sh
77-
npm run dist
78-
79-
# During development, you can combine `clean-all, build-all and dist` via:
80-
npm run dist-all
81-
```
82-
83-
The resulting files will be located in `.\deepnest-<version>-win32-x64`.
84-
85-
Create a zip file of this folder for a simple distribution.
86-
87-
## Debugging
88-
89-
If the environment variable "deepnest_debug" has a value of "1", deepnest will open the browser dev tools (debugger/inspector).
9029

9130
## License
9231

@@ -104,6 +43,8 @@ Further Licenses:
10443
- https://github.com/Jack000/Deepnest
10544
- https://github.com/Dogthemachine/Deepnest
10645
- https://github.com/cmidgley/Deepnest
107-
- https://github.com/deepnest-io/Deepnest (⚠️ don't should be trusted anymore: [readme](https://github.com/deepnest-next/.github/blob/main/profile/why-we-forked-into-a-new-organisation.md))
46+
- https://github.com/deepnest-io/Deepnest
47+
48+
(Not available anymore. ⚠️ don't should be trusted anymore: [readme](https://github.com/deepnest-next/.github/blob/main/profile/why-we-forked-into-a-new-organisation.md))
10849
- https://github.com/deepnest-next/deepnest
10950

0 commit comments

Comments
 (0)