release: 0.0.1
This commit is contained in:
commit
ad2183d8cc
3 changed files with 108 additions and 0 deletions
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
bimr-kernel/
|
||||||
|
bimr-engine/
|
||||||
|
bimr-wasm/
|
||||||
|
bimr-web/
|
||||||
|
bimr-viewer-ifcx/
|
||||||
64
Makefile
Normal file
64
Makefile
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
SHELL := /bin/bash
|
||||||
|
.PHONY: build serve clone-kernel clone-engine clone-wasm clone-web clone-viewer
|
||||||
|
|
||||||
|
# ══ The public BIMR repositories ══
|
||||||
|
# The forge hosting them — switch here (e.g. the official release lives at
|
||||||
|
# https://gitaec.org/rvba).
|
||||||
|
FORGE := https://gitaec.org/rvba
|
||||||
|
|
||||||
|
BIMR_KERNEL := bimr-kernel
|
||||||
|
BIMR_KERNEL_REMOTE := $(FORGE)/bimr-kernel.git
|
||||||
|
BIMR_ENGINE := bimr-engine
|
||||||
|
BIMR_ENGINE_REMOTE := $(FORGE)/bimr-engine.git
|
||||||
|
BIMR_WASM := bimr-wasm
|
||||||
|
BIMR_WASM_REMOTE := $(FORGE)/bimr-wasm.git
|
||||||
|
BIMR_WEB := bimr-web
|
||||||
|
BIMR_WEB_REMOTE := $(FORGE)/bimr-web.git
|
||||||
|
IFC5_SRC := bimr-viewer-ifcx/src
|
||||||
|
IFC5_REMOTE := $(FORGE)/bimr-viewer-ifcx.git
|
||||||
|
IFC5_BRANCH := bimr
|
||||||
|
|
||||||
|
# Prerequisites: Rust (with the wasm32 target), Node.js + pnpm on PATH,
|
||||||
|
# wasm-bindgen CLI and wasm-opt.
|
||||||
|
WASM_BINDGEN := $(HOME)/.cargo/bin/wasm-bindgen
|
||||||
|
WASM_OPT := $(shell command -v wasm-opt 2>/dev/null || ls -d $(HOME)/.cache/.wasm-pack/wasm-opt-*/bin/wasm-opt 2>/dev/null | head -1)
|
||||||
|
WASM_BINDGEN_VERSION := 0.2.114
|
||||||
|
|
||||||
|
build: clone-kernel clone-engine clone-wasm clone-web clone-viewer
|
||||||
|
cargo build --release --manifest-path $(BIMR_ENGINE)/Cargo.toml
|
||||||
|
@test -f $(WASM_BINDGEN) || cargo install wasm-bindgen-cli --version $(WASM_BINDGEN_VERSION)
|
||||||
|
@test -n "$(WASM_OPT)" || (echo "wasm-opt not found — see bimr-factory Makefile install-wasm-opt" >&2; exit 1)
|
||||||
|
cargo build --release --target wasm32-unknown-unknown --manifest-path $(BIMR_WASM)/Cargo.toml
|
||||||
|
$(WASM_BINDGEN) --target web --out-dir $(BIMR_WASM)/pkg \
|
||||||
|
$(BIMR_WASM)/target/wasm32-unknown-unknown/release/bimr_wasm.wasm
|
||||||
|
$(WASM_OPT) -O $(BIMR_WASM)/pkg/bimr_wasm_bg.wasm -o $(BIMR_WASM)/pkg/bimr_wasm_bg.wasm
|
||||||
|
$(MAKE) -C $(BIMR_WEB) build-web
|
||||||
|
@echo "→ $(BIMR_ENGINE)/target/release/bimr-cli"
|
||||||
|
@echo "→ $(BIMR_WASM)/pkg/"
|
||||||
|
@echo "→ $(BIMR_WEB)/dist/"
|
||||||
|
|
||||||
|
serve: clone-web clone-engine clone-wasm clone-viewer build
|
||||||
|
@echo "→ http://localhost:5173/editor/"
|
||||||
|
$(MAKE) -C $(BIMR_WEB) serve
|
||||||
|
|
||||||
|
# ══ Clones ══
|
||||||
|
|
||||||
|
clone-kernel:
|
||||||
|
@test -d $(BIMR_KERNEL) || git clone $(BIMR_KERNEL_REMOTE) $(BIMR_KERNEL)
|
||||||
|
@git -C $(BIMR_KERNEL) pull --ff-only 2>/dev/null || true
|
||||||
|
|
||||||
|
clone-engine:
|
||||||
|
@test -d $(BIMR_ENGINE) || git clone $(BIMR_ENGINE_REMOTE) $(BIMR_ENGINE)
|
||||||
|
@git -C $(BIMR_ENGINE) pull --ff-only 2>/dev/null || true
|
||||||
|
|
||||||
|
clone-wasm:
|
||||||
|
@test -d $(BIMR_WASM) || git clone $(BIMR_WASM_REMOTE) $(BIMR_WASM)
|
||||||
|
@git -C $(BIMR_WASM) pull --ff-only 2>/dev/null || true
|
||||||
|
|
||||||
|
clone-web:
|
||||||
|
@test -d $(BIMR_WEB) || git clone $(BIMR_WEB_REMOTE) $(BIMR_WEB)
|
||||||
|
@git -C $(BIMR_WEB) pull --ff-only 2>/dev/null || true
|
||||||
|
|
||||||
|
clone-viewer:
|
||||||
|
@test -d bimr-viewer-ifcx || \
|
||||||
|
git clone --branch $(IFC5_BRANCH) $(IFC5_REMOTE) bimr-viewer-ifcx
|
||||||
39
README.md
Normal file
39
README.md
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
# BIMR
|
||||||
|
|
||||||
|
[BIMR](https://bimr.net) is a text-based Building Information Modeler.
|
||||||
|
|
||||||
|
This is the central repository for building BIMR from source.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Rust with the `wasm32-unknown-unknown` target
|
||||||
|
- Node.js and pnpm
|
||||||
|
- `wasm-bindgen-cli` (0.2.114) and `wasm-opt`
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
Compiles the `bimr` CLI, builds the WebAssembly package, and produces the
|
||||||
|
editor bundle. First run clones the repositories below and installs the
|
||||||
|
web dependencies.
|
||||||
|
|
||||||
|
## Serve
|
||||||
|
|
||||||
|
Serve the web editor
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make serve # editor → http://localhost:5173/editor/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Repositories
|
||||||
|
|
||||||
|
| Repository | Role |
|
||||||
|
|------------|------|
|
||||||
|
| [bimr-kernel](https://gitaec.org/rvba/bimr-kernel.git) | Geometry kernel |
|
||||||
|
| [bimr-engine](https://gitaec.org/rvba/bimr-engine.git) | Bimr engine |
|
||||||
|
| [bimr-wasm](https://gitaec.org/rvba/bimr-wasm.git) | WebAssembly adapter |
|
||||||
|
| [bimr-web](https://gitaec.org/rvba/bimr-web.git) | Browser editor |
|
||||||
|
| [bimr-viewer-ifcx](https://gitaec.org/rvba/bimr-viewer-ifcx) | IFCX viewer |
|
||||||
Loading…
Add table
Reference in a new issue