Cosplay/doc/development.md

69 lines
1.2 KiB
Markdown

# Development
Install `uv`, and then execute
``` sh
uv sync
```
## Environment
To get a development environment, run
``` sh
uv venv
```
Then, either follow the instruction to activate this venv, or install `direnv`
and create the file
``` sh
# .envrc
source .venv/bin/activate
```
Test the environment with `python3 -c "import nhf"`
To visualize an object, create a file `visualize.py`, and run `cq-editor`:
``` sh
CQ-editor visualize.py
```
## Folder Structure
- `nhf/parts/`: Ready-made parts
- `nhf/$WORK/$CHARACTER`: Design for an individual character
For each individual character, the `__main__.py` script stores the overall build
entry point and the entry point for all unit tests. Do not put build scripts in
`__init__.py`
### Testing
Run all tests with
``` sh
unittest-parallel
```
## Troubleshooting
### Wayland
If there is the error
```
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id in failed request: 0x3
Serial number of failed request: 28
Current serial number in output stream: 29
```
Export the environment variable
``` sh
export QT_QPA_PLATFORM=xcb
```