Skip to content

Commit

Permalink
readme upd
Browse files Browse the repository at this point in the history
  • Loading branch information
pier-bezuhoff committed Jan 13, 2024
1 parent bdde4cb commit 98c1d3c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 33 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
name: "Build for Desktop ${{ matrix.os }}"
strategy:
matrix:
os: [ubuntu-latest] # , macos-latest, windows-latest]
os: [ubuntu-latest, macos-latest] #, windows-latest]
runs-on: ${{ matrix.os }}
permissions:
contents: write
Expand Down Expand Up @@ -89,5 +89,5 @@ jobs:
- name: Upload build output
uses: actions/upload-artifact@v4
with:
name: Desktop distribution
name: "Desktop distribution ${{ matrix.os }}"
path: 'composeApp/build/compose/binaries/main/app'
55 changes: 24 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,37 @@
# Dodeclusters
Create vector images using only intersections of circles
[Deployed here](https://pier-bezuhoff.github.io/Dodeclusters/) from the `github-pages` branch
![example event parameter](https://github.com/pier-bezuhoff/Dodeclusters/actions/workflows/build.yml/badge.svg?event=push)
Vector image editor using only circles (WIP)
Built with [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform)

## Project structure
This is a Kotlin Multiplatform project targeting Android, Web, Desktop.
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/pier-bezuhoff/Dodeclusters/build.yml?branch=master&event=push)
[Deployed here](https://pier-bezuhoff.github.io/Dodeclusters/) from the `github-pages` branch

* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.
It contains several subfolders:
- `commonMain` is for code that’s common for all targets.
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
`iosMain` would be the right folder for such calls.
## TODO:
* Cluster editor
- cluster = circles + union of intersections of some of the circles
- drag, select, copy, create & delete circles
- move & scale circles
- select/deselect intersection regions
- bezier-like pathing tool
- maybe finer control over angles/distances
* Multi-cluster editor
- drag, select, copy, create & delete clusters
- move, scale & rotate clusters
- change color, border color, fill/wireframe
- re-order / sidebar layer-like interface
* New cluster-based format to inherit from `.ddu` (e.g. `.ddo`)
- probs `.yaml` based
- centered to (0,0)
- cluster numbering & separate circle numbering
* other actions
- read `.ddu`
- maybe export as `.svg`

## Common run/build commands
To run desktop:
`./gradlew :composeApp:run`
To run web app:
`./gradlew :composeApp:wasmJsBrowserDevelopmentRun`


To package for web browser:
`./gradlew wasmJsBrowserDistribution`
output goes into: `./composeApp/build/dist/wasmJs/productionExecutable/`
Expand All @@ -31,22 +43,3 @@ To package for Windows/MacOs/Linux run thru Github Actions using corresponding O
`./gradlew packageReleaseDeb`
output goes into: `./composeApp/build/compose/binaries/main-release/app/com.pierbezuhoff.dodeclusters/bin/`

## TODO
* Cluster editor
- drag, select, copy, create & delete circles
- move & scale circles
- select/deselect intersection regions
- bezier-like pathing tool
- maybe finer control over angles/distances
* Multi-cluster editor
- drag, select, copy, create & delete clusters
- move, scale & rotate clusters
- change color, border color, fill/wireframe
- re-order / sidebar layer-like interface
* New cluster-based format to inherit from `.ddu` (e.g. `.ddo`)
- probs `.yaml` based
- centered to (0,0)
- cluster numbering & separate circle numbering
* other actions
- read `.ddu`
- maybe save as `.svg`

0 comments on commit 98c1d3c

Please sign in to comment.