GithubHelp home page GithubHelp logo

dschroer / dslcad Goto Github PK

View Code? Open in Web Editor NEW
456.0 12.0 14.0 58.32 MB

DSLCad is a programming language & interpreter for building 3D models.

Home Page: https://dslcad.com

License: GNU Lesser General Public License v2.1

Rust 98.77% Shell 0.38% HTML 0.13% Just 0.73%
3d-models cad 3d-graphics 3d-printing linux macos windows wasm

dslcad's People

Contributors

dschroer avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dslcad's Issues

Arithmetic operators do not appear to respect order of operations

In tinkering with a basic model, I found that:

var baseHeight = 10;
var offset = 2;
translate(z = baseHeight / 2 + offset)

Results in a translation of 2.5 (i.e. 10 / (2 + 2) ), not 7, as I would expect

I then tried this:

translate(z = (baseHeight / 2) + offset)

And that does result in a translation of 7

Build info:  DSLCAD v 0.1.0
Platform:    Windows 11

Open or New hang the system when 'autorender' is active (MacOS Ventura 13.1; Apple Silicon)

Using the pre-compiled MacOSX binary, as well as compiling from scratch, when trying to use Open (o) or New (n) the application uses 100% CPU and becomes unresponsive (spinning beach ball), but only when 'Autorender' is active.

Sorry if the Sample Trace is too verbose and unhelpful.

Console Output 2023-02-10T16:43:00.376021Z INFO bevy_render::renderer: AdapterInfo { name: "Apple M1 Max", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal } 1 HIToolbox 0x000000019c42c5c8 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 120 2 HIToolbox 0x000000019c42c188 _ZN15MenuBarInstance14EnableAutoShowEv + 60 3 HIToolbox 0x000000019c3cf310 SetMenuBarObscured + 372 4 HIToolbox 0x000000019c3ceee8 _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 172 5 HIToolbox 0x000000019c3c8fcc _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 296 6 HIToolbox 0x000000019c38fcd0 _NotifyEventLoopObservers + 176 7 HIToolbox 0x000000019c3c896c AcquireEventFromQueue + 432 8 HIToolbox 0x000000019c3b7c84 ReceiveNextEventCommon + 320 9 HIToolbox 0x000000019c3b7b2c _BlockUntilNextEventMatchingListInModeWithFilter + 72 10 AppKit 0x0000000195f64424 _DPSNextEvent + 632 11 AppKit 0x0000000195f635b4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728 12 AppKit 0x0000000195f579e4 -[NSApplication run] + 464 13 dslcad 0x00000001008d8bf0 _ZN60_$LT$$LP$$RP$$u20$as$u20$objc..message..MessageArguments$GT$6invoke17h9b5c0315a7b8754bE + 76 14 dslcad 0x00000001008d7d00 _ZN4objc7message8platform15send_unverified17h680152bdc7c71304E + 132 15 dslcad 0x000000010086afe8 _ZN5winit13platform_impl8platform10event_loop18EventLoop$LT$T$GT$10run_return28_$u7b$$u7b$closure$u7d$$u7d$17h3c8165bc74f7cd35E + 740 16 dslcad 0x000000010086ab20 _ZN4objc2rc11autorelease15autoreleasepool17h634d006023ab4907E + 112 17 dslcad 0x000000010086aca0 _ZN5winit13platform_impl8platform10event_loop18EventLoop$LT$T$GT$10run_return17h52bb52ec0407db7eE + 296 18 dslcad 0x000000010086b234 _ZN5winit13platform_impl8platform10event_loop18EventLoop$LT$T$GT$3run17hb7c30b30d7397cd6E + 52 19 dslcad 0x000000010082d970 _ZN5winit10event_loop25EventLoop$LT$$LP$$RP$$GT$3new17h401de4875f7b36a6E + 0 20 dslcad 0x00000001008539d0 _ZN10bevy_winit10run_return17hb823906238059242E + 0 21 dslcad 0x00000001008540b8 _ZN10bevy_winit17winit_runner_with17hf3d4a55b277a0e85E + 1568 22 dslcad 0x0000000100853a48 _ZN10bevy_winit12winit_runner17h9adf8e2381abaa58E + 48 23 dslcad 0x0000000100849cb4 _ZN4core3ops8function2Fn4call17h5ddd653a615c8edeE + 56 24 dslcad 0x00000001020ed184 _ZN86_$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$4call17h2b3abe02d2285857E + 112 25 dslcad 0x00000001020f2bdc _ZN8bevy_app3app3App3run17h0f038a45ccfd5890E + 312 26 dslcad 0x000000010048bc24 _ZN6dslcad6editor4main17h597d3d2f129053c4E + 760 27 dslcad 0x00000001004a124c _ZN6dslcad4main17hfc19b66d65f56a6fE + 120 28 dslcad 0x00000001004ebc84 _ZN4core3ops8function6FnOnce9call_once17h87928dcf257b878aE + 20 29 dslcad 0x000000010047c390 _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h8ad6032355c743daE + 24 30 dslcad 0x0000000100490ed0 _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h95eb04a7d2bc5073E + 28 31 dslcad 0x0000000102f7db40 _ZN3std2rt19lang_start_internal17h0cdebe2c4a3b171eE + 616 32 dslcad 0x0000000100490e9c _ZN3std2rt10lang_start17haf7533eb9af913caE + 84 33 dslcad 0x00000001004a12a0 main + 36 34 dyld 0x00000001928dbe50 start + 2544 2023-02-10T16:54:40.878065Z WARN gilrs::ff::server: One iteration of a force feedback loop took more than 50ms!

Activity Monitor Sample

Unable to find a GPU! Make sure you have installed required driver

What are the system requirements ?

$ RUST_BACKTRACE=full ./dslcad 
2023-02-12T12:08:56.889380Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1    
thread 'main' panicked at 'Unable to find a GPU! Make sure you have installed required drivers! For extra information, see: https://github.com/bevyengine/bevy/blob/latest/docs/linux_dependencies.md', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_render-0.9.0/src/renderer/mod.rs:121:10
stack backtrace:
   0:     0x563a658ded2a - std::backtrace_rs::backtrace::libunwind::trace::h34aec3ef6cd8ad7e
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x563a658ded2a - std::backtrace_rs::backtrace::trace_unsynchronized::h8035d38698d0f7a8
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563a658ded2a - std::sys_common::backtrace::_print_fmt::hff968f6695a1ba22
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x563a658ded2a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7eea0efe77acf1ec
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563a6590739e - core::fmt::write::hc553f17407eb0b48
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/fmt/mod.rs:1208:17
   5:     0x563a658d9f55 - std::io::Write::write_fmt::h62e5f01a089f48c0
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/io/mod.rs:1682:15
   6:     0x563a658deaf5 - std::sys_common::backtrace::_print::h52d116aff3db4cd1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x563a658deaf5 - std::sys_common::backtrace::print::h9e7d2f98fb7af075
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x563a658e03ff - std::panicking::default_hook::{{closure}}::hf74999dab2d0a95c
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:267:22
   9:     0x563a658e013b - std::panicking::default_hook::hc11ca7d10c44c42f
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:286:9
  10:     0x563a658e0b0c - std::panicking::rust_panic_with_hook::hdb4da1ae79c845a5
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:688:13
  11:     0x563a658e08a9 - std::panicking::begin_panic_handler::{{closure}}::h02b5b35b126d5cf2
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:579:13
  12:     0x563a658df1dc - std::sys_common::backtrace::__rust_end_short_backtrace::h6c6853376cf416d1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x563a658e05b2 - rust_begin_unwind
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:575:5
  14:     0x563a63c3d343 - core::panicking::panic_fmt::hfd9e949092070b66
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:64:14
  15:     0x563a65904ae1 - core::panicking::panic_display::h45b76cd63e812370
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:135:5
  16:     0x563a65904a8b - core::panicking::panic_str::he2d190e15dd7e6c1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:119:5
  17:     0x563a63c3d306 - core::option::expect_failed::h240c1b84e7fce7a2
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/option.rs:1879:5
  18:     0x563a64643850 - bevy_render::renderer::initialize_renderer::{{closure}}::h59960cd9e1f3a947
  19:     0x563a646350cb - std::thread::local::LocalKey<T>::with::h71274ee9c519bf7a
  20:     0x563a646fc97b - <bevy_render::RenderPlugin as bevy_app::plugin::Plugin>::build::hf0a5dc2f01793b2c
  21:     0x563a64d424ed - bevy_app::app::App::add_boxed_plugin::h11d0a59f2d91c623
  22:     0x563a64d46066 - bevy_app::plugin_group::PluginGroupBuilder::finish::h1a9feacc1dfc859f
  23:     0x563a63cc0f1d - dslcad::editor::main::he65d9fbd04faa0c9
  24:     0x563a63c57a69 - dslcad::main::hce5bdefa6f9cc6f4
  25:     0x563a63c60a03 - std::sys_common::backtrace::__rust_begin_short_backtrace::h53532dbd9feb7c16
  26:     0x563a63c79939 - std::rt::lang_start::{{closure}}::h410593887c6bbf5f
  27:     0x563a658d2dec - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h9ab31282e87f134a
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/ops/function.rs:606:13
  28:     0x563a658d2dec - std::panicking::try::do_call::h42ddf5b01d0b4bc7
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:483:40
  29:     0x563a658d2dec - std::panicking::try::hfb70320d7386c61a
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:447:19
  30:     0x563a658d2dec - std::panic::catch_unwind::h978c9edbad2bb4d4
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panic.rs:137:14
  31:     0x563a658d2dec - std::rt::lang_start_internal::{{closure}}::h04ede5bd2f26b553
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/rt.rs:148:48
  32:     0x563a658d2dec - std::panicking::try::do_call::ha6b9da35a0885c93
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:483:40
  33:     0x563a658d2dec - std::panicking::try::h3325520cab3a642e
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:447:19
  34:     0x563a658d2dec - std::panic::catch_unwind::h160beec6f047175b
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panic.rs:137:14
  35:     0x563a658d2dec - std::rt::lang_start_internal::h79190e3a877a769d
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/rt.rs:148:20
  36:     0x563a63c57ab5 - main
  37:     0x7f955a054d0a - __libc_start_main
                               at ./csu/../csu/libc-start.c:308:16
  38:     0x563a63c4db6a - _start
  39:                0x0 - <unknown>

Need better way to import multi part files

Currently the way to bring in a multi part file as a single part is as follows:

reduce ./footing() as a,b:
	a ->left union(right=b);

This needs a cleaner way to pull it in.

Projections

Don’t know if anyone else is interested but I am an engineer and used CAD and video post software for years ..

anyway I am thinking it possible to output Elevations and Sections out of this 3d model.

the AST describing those can be the exact same format used for the 3D.

just a brain fart idea right now.

Include center parameter on 3D primitives

I tend to think from the global origin when figuring out my intersections/differences, so if I had my druthers, I'd make center=true the default for primitives versus placing their local origin at the global origin.
Thanks!

.obj exporter?

Would be handy to be able to export the meshes as something commonly supported by gamedev engines.

.obj seems suitable to the task, it's a very easy, human readable format. The only format perhaps more ubiquitous is .fbx, which is far less friendly.

.gltf is another good candiate.

Really any of these would open a gateway of silliness.

orthographic mode

Would be useful to enable/disable an orthographic camera in the CAD preview.

Lines do not render points

face(parts=[
		point(x=0, y=0),
		point(x=0, y=15)
		point(x=25, y=15)
		point(x=25, y=0)
	]);

If you render this, it does not display the points.

Shared library support

Right now DSLCAD can call local scripts using ./path/to/file(). This is a simple enough option but does not work if we want to efficiently share libraries.

I am looking for a simple solution & syntax for how we can implemented shared libraries with the following properties:

  1. Allow people to publish libs
  2. Libs can reference other libs
  3. All data of which libs are in use should be in the source.

zoom to fit render

It would be nice if the preview window zoomed to focus on a new model when it is initially rendered (not re-rendered).

Could probably be a nice time to calculate AABBs as well.

Lockup when opening a file on intel mac

first time it opened, and i opened the Table file example. All good.
i exported to stp file format. ll Good.

then i closed it...

second time it choked then i tried to open any sample file. Go the beachball of hell...

Its an old intel mac, so not even sure its worth fixing.. :)

AdapterInfo { name: "Intel Iris Graphics", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }

Allow nested scopes to avoid polluting namespace

e.g.

var size = 10;
var offset = 3;

var table = 
    cube(x=size, y=size, z=size) 
        ->shape translate(x=offset, y=offset, z=offset);

var vase = {
    var size = 3;
    var offset_xy = cube.x/2 + offset;
    var offset_z = cube.z + offset;
    cylinder(radius=size, height=size) 
        ->shape translate(x=offset_xy, y=offset_xy, z=offset_z)
};

build issue with linux, Ubuntu 22.04.3 LTS 64bit

testuser@testuser-mycomputer:~/my/code/dslcad$` rustup run stable cargo --version
cargo 1.73.0 (9c4383fb5 2023-08-26)
testuser@testuser-mycomputer:~/my/code/dslcad$ rustup run stable cargo build
    Updating crates.io index
  Downloaded bevy_scene v0.10.1
  Downloaded ab_glyph v0.2.21
  Downloaded bevy_internal v0.10.1
  Downloaded bevy_macro_utils v0.10.1
  Downloaded block v0.1.6
  Downloaded bevy_log v0.10.1
  Downloaded cc v1.0.74
  Downloaded color_quant v1.1.0
  Downloaded cfg_aliases v0.1.1
  Downloaded bevy_render_macros v0.10.1
  Downloaded bevy_core v0.10.1
  Downloaded bevy_utils_proc_macros v0.10.1
  Downloaded beef v0.5.2
  Downloaded bevy_diagnostic v0.10.1
  Downloaded bevy_gilrs v0.10.1
  Downloaded bit-set v0.5.3
  Downloaded bevy_derive v0.10.1
  Downloaded adler v1.0.2
  Downloaded bevy_ecs_macros v0.10.1
  Downloaded bevy_encase_derive v0.10.1
  Downloaded bevy_a11y v0.10.1
  Downloaded bevy_input v0.10.1
  Downloaded logos v0.12.1
  Downloaded bevy_transform v0.10.1
  Downloaded ecolor v0.21.0
  Downloaded encase_derive v0.5.0
  Downloaded bevy_mikktspace v0.10.1
  Downloaded ab_glyph_rasterizer v0.1.8
  Downloaded anstyle-parse v0.2.1
  Downloaded bevy_gltf v0.10.1
  Downloaded bevy_animation v0.10.1
  Downloaded bevy_ptr v0.10.1
  Downloaded bevy_app v0.10.1
  Downloaded async-channel v1.9.0
  Downloaded anstyle v1.0.2
  Downloaded bevy_utils v0.10.1
  Downloaded concurrent-queue v2.2.0
  Downloaded bytemuck_derive v1.4.1
  Downloaded byteorder v1.4.3
  Downloaded com-rs v0.2.1
  Downloaded anstream v0.5.0
  Downloaded bevy_time v0.10.1
  Downloaded approx v0.5.1
  Downloaded async-executor v1.5.1
  Downloaded bevy_winit v0.10.1
  Downloaded parking v2.1.0
  Downloaded overload v0.1.1
  Downloaded num-rational v0.4.1
  Downloaded memoffset v0.6.5
  Downloaded accesskit_winit v0.12.4
  Downloaded cmake v0.1.49
  Downloaded bit-vec v0.6.3
  Downloaded bevy_math v0.10.1
  Downloaded clap_derive v4.4.2
  Downloaded bevy_points v0.2.1
  Downloaded subtle v2.5.0
  Downloaded pp-rs v0.2.1
  Downloaded bevy_tasks v0.10.1
  Downloaded bevy_ui v0.10.1
  Downloaded bevy_text v0.10.1
  Downloaded ahash v0.7.6
  Downloaded grid v0.10.0
  Downloaded bzip2 v0.4.4
  Downloaded bevy_asset v0.10.1
  Downloaded bevy_hierarchy v0.10.1
  Downloaded base64ct v1.6.0
  Downloaded alsa-sys v0.3.1
  Downloaded async-task v4.4.0
  Downloaded accesskit v0.10.1
  Downloaded bevy_polyline v0.6.0
  Downloaded bitflags v2.4.0
  Downloaded sha1 v0.10.5
  Downloaded arboard v3.2.1
  Downloaded bevy_reflect_derive v0.10.1
  Downloaded bevy_window v0.10.1
  Downloaded toml_datetime v0.6.3
  Downloaded strum_macros v0.24.3
  Downloaded clap v4.4.2
  Downloaded base64 v0.13.1
  Downloaded bytemuck v1.13.1
  Downloaded notify v6.1.1
  Downloaded wgpu-types v0.15.2
  Downloaded num-traits v0.2.15
  Downloaded parking_lot_core v0.9.8
  Downloaded addr2line v0.21.0
  Downloaded radsort v0.1.0
  Downloaded ahash v0.8.3
  Downloaded alsa v0.7.1
  Downloaded parking_lot v0.12.1
  Downloaded async-lock v2.8.0
  Downloaded const_panic v0.2.8
  Downloaded codespan-reporting v0.11.1
  Downloaded waker-fn v1.1.0
  Downloaded bevy_sprite v0.10.1
  Downloaded backtrace v0.3.69
  Downloaded arrayvec v0.7.4
  Downloaded bevy_audio v0.10.1
  Downloaded ruzstd v0.2.4
  Downloaded link-cplusplus v1.0.7
  Downloaded tracing-log v0.1.3
  Downloaded bevy_reflect v0.10.1
  Downloaded base64 v0.21.3
  Downloaded bevy_pbr v0.10.1
  Downloaded memchr v2.6.2
  Downloaded bevy_egui v0.20.3
  Downloaded wayland-scanner v0.29.5
  Downloaded colorchoice v1.0.0
  Downloaded num-integer v0.1.45
  Downloaded thiserror v1.0.38
  Downloaded constant_time_eq v0.1.5
  Downloaded cfg-if v1.0.0
  Downloaded aes v0.8.3
  Downloaded bevy_render v0.10.1
  Downloaded smallvec v1.11.0
  Downloaded cxxbridge-macro v1.0.80
  Downloaded ttf-parser v0.19.1
  Downloaded wgpu-hal v0.15.4
  Downloaded widestring v0.5.1
  Downloaded regex v1.9.5
  Downloaded bevy v0.10.1
  Downloaded regex-syntax v0.6.29
  Downloaded equivalent v1.0.1
  Downloaded scopeguard v1.2.0
  Downloaded pin-project-lite v0.2.13
  Downloaded pbkdf2 v0.11.0
  Downloaded password-hash v0.4.2
  Downloaded fixedbitset v0.4.2
  Downloaded hashbrown v0.12.3
  Downloaded ash v0.37.3+1.3.251
  Downloaded euclid v0.22.9
  Downloaded slab v0.4.9
  Downloaded wgpu v0.15.1
  Downloaded downcast-rs v1.2.0
  Downloaded bevy_core_pipeline v0.10.1
  Downloaded erased-serde v0.3.31
  Downloaded strsim v0.10.0
  Downloaded ryu v1.0.15
  Downloaded fxhash v0.2.1
  Downloaded rand_core v0.6.4
  Downloaded pkg-config v0.3.27
  Downloaded x11-dl v2.21.0
  Downloaded serde v1.0.188
  Downloaded version_check v0.9.4
  Downloaded tinyvec_macros v0.1.1
  Downloaded utf8parse v0.2.1
  Downloaded same-file v1.0.6
  Downloaded termcolor v1.1.3
  Downloaded percent-encoding v2.3.0
  Downloaded home v0.5.5
  Downloaded gpu-alloc v0.5.4
  Downloaded taffy v0.3.13
  Downloaded libudev-sys v0.1.4
  Downloaded x11rb v0.10.1
  Downloaded futures-lite v1.13.0
  Downloaded unicode-ident v1.0.5
  Downloaded unicode-bidi v0.3.13
  Downloaded cxx v1.0.80
  Downloaded fastrand v1.9.0
  Downloaded bevy_ecs v0.10.1
  Downloaded gpu-alloc-types v0.2.0
  Downloaded foreign-types-shared v0.1.1
  Downloaded egui v0.21.0
  Downloaded once_cell v1.18.0
  Downloaded cipher v0.4.4
  Downloaded bitflags v1.3.2
  Downloaded anyhow v1.0.75
  Downloaded crossbeam-channel v0.5.8
  Downloaded sysinfo v0.28.4
  Downloaded inflections v1.1.1
  Downloaded fdeflate v0.3.0
  Downloaded event-listener v2.5.3
  Downloaded aho-corasick v1.0.5
  Downloaded petgraph v0.6.4
  Downloaded clap_builder v4.4.2
  Downloaded owned_ttf_parser v0.19.0
  Downloaded dasp_sample v0.11.0
  Downloaded autocfg v1.1.0
  Downloaded rodio v0.17.1
  Downloaded hassle-rs v0.9.0
  Downloaded static_assertions v1.1.0
  Downloaded typenum v1.16.0
  Downloaded getrandom v0.2.10
  Downloaded cpal v0.15.2
  Downloaded tinyvec v1.6.0
  Downloaded regex-automata v0.3.8
  Downloaded block-buffer v0.10.4
  Downloaded renderdoc-sys v0.7.1
  Downloaded time-core v0.1.1
  Downloaded form_urlencoded v1.2.0
  Downloaded url v2.4.1
  Downloaded encase_derive_impl v0.5.0
  Downloaded unicode-normalization v0.1.22
  Downloaded tracing v0.1.37
  Downloaded indexmap v2.0.0
  Downloaded miniz_oxide v0.7.1
  Downloaded generic-array v0.14.7
  Downloaded gethostname v0.2.3
  Downloaded tiff v0.9.0
  Downloaded foreign-types v0.3.2
  Downloaded futures-io v0.3.28
  Downloaded futures-core v0.3.28
  Downloaded fnv v1.0.7
  Downloaded indexmap v1.9.3
  Downloaded deranged v0.3.8
  Downloaded hmac v0.12.1
  Downloaded cpufeatures v0.2.9
  Downloaded heck v0.4.1
  Downloaded zip v0.6.6
  Downloaded hexf-parse v0.2.1
  Downloaded float-cmp v0.9.0
  Downloaded flate2 v1.0.27
  Downloaded itoa v1.0.9
  Downloaded inout v0.1.3
  Downloaded inotify v0.9.6
  Downloaded image v0.24.7
  Downloaded zstd-sys v2.0.8+zstd.1.5.5
  Downloaded idna v0.4.0
  Downloaded strum v0.24.1
  Downloaded cxxbridge-flags v1.0.80
  Downloaded epaint v0.21.0
  Downloaded matchers v0.1.0
  Downloaded gpu-descriptor v0.2.3
  Downloaded digest v0.10.7
  Downloaded zstd v0.11.2+zstd.1.5.2
  Downloaded mio v0.8.8
  Downloaded svg_fmt v0.4.1
  Downloaded log v0.4.20
  Downloaded crypto-common v0.1.6
  Downloaded inotify-sys v0.1.5
  Downloaded filetime v0.2.22
  Downloaded regex-syntax v0.7.5
  Downloaded thread_local v1.1.7
  Downloaded gltf-derive v1.3.0
  Downloaded nohash-hasher v0.2.0
  Downloaded gpu-descriptor-types v0.1.1
  Downloaded simd-adler32 v0.3.7
  Downloaded instant v0.1.12
  Downloaded twox-hash v1.6.3
  Downloaded anstyle-query v1.0.0
  Downloaded scratch v1.0.2
  Downloaded rectangle-pack v0.4.2
  Downloaded clap_lex v0.5.1
  Downloaded encase v0.5.0
  Downloaded sha2 v0.10.7
  Downloaded unicode-xid v0.2.4
  Downloaded lock_api v0.4.10
  Downloaded glyph_brush_layout v0.2.3
  Downloaded ktx2 v0.3.0
  Downloaded thiserror-impl v1.0.38
  Downloaded spirv v0.2.0+1.5.4
  Downloaded libloading v0.7.4
  Downloaded raw-window-handle v0.5.2
  Downloaded hexasphere v8.1.0
  Downloaded guillotiere v0.6.2
  Downloaded emath v0.21.0
  Downloaded profiling v1.0.10
  Downloaded gltf-json v1.3.0
  Downloaded lazy_static v1.4.0
  Downloaded rustversion v1.0.14
  Downloaded walkdir v2.3.3
  Downloaded ogg v0.8.0
  Downloaded rustc-hash v1.1.0
  Downloaded range-alloc v0.1.3
  Downloaded jobserver v0.1.26
  Downloaded unicode-width v0.1.10
  Downloaded stl_io v0.7.0
  Downloaded khronos-egl v4.1.0
  Downloaded zstd-safe v5.0.2+zstd.1.5.2
  Downloaded crc32fast v1.3.2
  Downloaded logos-derive v0.12.1
  Downloaded notify v5.2.0
  Downloaded tracing-attributes v0.1.26
  Downloaded vec_map v0.8.2
  Downloaded nu-ansi-term v0.46.0
  Downloaded quote v1.0.33
  Downloaded sharded-slab v0.1.4
  Downloaded smooth-bevy-cameras v0.8.0
  Downloaded crossbeam-utils v0.8.16
  Downloaded rustc-demangle v0.1.23
  Downloaded gltf v1.3.0
  Downloaded serde_derive v1.0.188
  Downloaded gilrs-core v0.5.7
  Downloaded weezl v0.1.7
  Downloaded webbrowser v0.8.11
  Downloaded proc-macro2 v1.0.66
  Downloaded uuid v1.4.1
  Downloaded tracing-core v0.1.31
  Downloaded slotmap v1.0.6
  Downloaded xml-rs v0.8.16
  Downloaded ron v0.8.1
  Downloaded lewton v0.10.2
  Downloaded gpu-allocator v0.22.0
  Downloaded png v0.17.10
  Downloaded xi-unicode v0.3.0
  Downloaded toml_edit v0.19.14
  Downloaded cxx-build v1.0.80
  Downloaded hashbrown v0.14.0
  Downloaded regex-automata v0.1.10
  Downloaded time v0.3.28
  Downloaded serde_json v1.0.105
  Downloaded gilrs v0.10.2
  Downloaded winnow v0.5.15
  Downloaded glow v0.12.3
  Downloaded quick-xml v0.30.0
  Downloaded tracing-subscriber v0.3.17
  Downloaded syn v1.0.103
  Downloaded wgpu-core v0.15.1
  Downloaded syn v2.0.29
  Downloaded glam v0.23.0
  Downloaded nix v0.26.4
  Downloaded object v0.32.0
  Downloaded gimli v0.28.0
  Downloaded nix v0.24.3
  Downloaded x11rb-protocol v0.10.0
  Downloaded winit v0.28.6
  Downloaded naga v0.11.1
  Downloaded libc v0.2.147
  Downloaded bzip2-sys v0.1.11+1.0.8
  Downloaded jpeg-decoder v0.3.0
  Downloaded 319 crates (23.3 MB) in 3.11s (largest was `tiff` at 1.4 MB)
   Compiling proc-macro2 v1.0.66
   Compiling unicode-ident v1.0.5
   Compiling cfg-if v1.0.0
   Compiling libc v0.2.147
   Compiling autocfg v1.1.0
   Compiling version_check v0.9.4
   Compiling serde v1.0.188
   Compiling syn v1.0.103
   Compiling once_cell v1.18.0
   Compiling bitflags v1.3.2
   Compiling equivalent v1.0.1
   Compiling hashbrown v0.14.0
   Compiling parking_lot_core v0.9.8
   Compiling lock_api v0.4.10
   Compiling ahash v0.7.6
   Compiling scopeguard v1.2.0
   Compiling thiserror v1.0.38
   Compiling crossbeam-utils v0.8.16
   Compiling memchr v2.6.2
   Compiling quote v1.0.33
   Compiling winnow v0.5.15
   Compiling indexmap v2.0.0
   Compiling log v0.4.20
   Compiling syn v2.0.29
   Compiling toml_datetime v0.6.3
   Compiling pkg-config v0.3.27
   Compiling pin-project-lite v0.2.13
   Compiling fixedbitset v0.4.2
   Compiling getrandom v0.2.10
   Compiling petgraph v0.6.4
   Compiling futures-core v0.3.28
   Compiling tracing-core v0.1.31
   Compiling slab v0.4.9
   Compiling instant v0.1.12
   Compiling event-listener v2.5.3
   Compiling rustc-hash v1.1.0
   Compiling tracing v0.1.37
   Compiling concurrent-queue v2.2.0
   Compiling num-traits v0.2.15
   Compiling waker-fn v1.1.0
   Compiling futures-io v0.3.28
   Compiling fastrand v1.9.0
   Compiling bit-vec v0.6.3
   Compiling toml_edit v0.19.14
   Compiling parking v2.1.0
   Compiling futures-lite v1.13.0
   Compiling bit-set v0.5.3
   Compiling uuid v1.4.1
   Compiling async-lock v2.8.0
   Compiling async-task v4.4.0
   Compiling async-channel v1.9.0
   Compiling thread_local v1.1.7
   Compiling downcast-rs v1.2.0
   Compiling bevy_ptr v0.10.1
   Compiling byteorder v1.4.3
   Compiling async-executor v1.5.1
   Compiling regex-syntax v0.6.29
   Compiling bevy_tasks v0.10.1
   Compiling lazy_static v1.4.0
   Compiling aho-corasick v1.0.5
   Compiling jobserver v0.1.26
   Compiling regex-syntax v0.7.5
   Compiling bevy_macro_utils v0.10.1
   Compiling cc v1.0.74
   Compiling unicode-width v0.1.10
   Compiling termcolor v1.1.3
   Compiling overload v0.1.1
   Compiling nu-ansi-term v0.46.0
   Compiling regex-automata v0.1.10
   Compiling codespan-reporting v0.11.1
   Compiling serde_derive v1.0.188
   Compiling bytemuck_derive v1.4.1
   Compiling regex-automata v0.3.8
   Compiling matchers v0.1.0
   Compiling sharded-slab v0.1.4
   Compiling thiserror-impl v1.0.38
   Compiling bytemuck v1.13.1
   Compiling bevy_utils_proc_macros v0.10.1
   Compiling bevy_reflect_derive v0.10.1
   Compiling bevy_ecs_macros v0.10.1
   Compiling bevy_derive v0.10.1
   Compiling tracing-log v0.1.3
   Compiling mio v0.8.8
   Compiling simd-adler32 v0.3.7
   Compiling crc32fast v1.3.2
   Compiling crossbeam-channel v0.5.8
   Compiling regex v1.9.5
   Compiling adler v1.0.2
   Compiling raw-window-handle v0.5.2
   Compiling miniz_oxide v0.7.1
   Compiling inotify-sys v0.1.5
   Compiling indexmap v1.9.3
   Compiling same-file v1.0.6
   Compiling inotify v0.9.6
   Compiling walkdir v2.3.3
   Compiling filetime v0.2.22
   Compiling flate2 v1.0.27
   Compiling num-integer v0.1.45
   Compiling libloading v0.7.4
   Compiling ash v0.37.3+1.3.251
   Compiling khronos-egl v4.1.0
   Compiling anyhow v1.0.75
   Compiling unicode-xid v0.2.4
   Compiling spirv v0.2.0+1.5.4
   Compiling sysinfo v0.28.4
   Compiling pp-rs v0.2.1
   Compiling num-rational v0.4.1
   Compiling gpu-descriptor-types v0.1.1
   Compiling gpu-alloc-types v0.2.0
   Compiling hexf-parse v0.2.1
   Compiling arrayvec v0.7.4
   Compiling gpu-alloc v0.5.4
   Compiling notify v5.2.0
   Compiling fdeflate v0.3.0
   Compiling encase_derive_impl v0.5.0
   Compiling fxhash v0.2.1
   Compiling wgpu-types v0.15.2
   Compiling profiling v1.0.10
   Compiling renderdoc-sys v0.7.1
   Compiling static_assertions v1.1.0
   Compiling glow v0.12.3
   Compiling png v0.17.10
   Compiling memoffset v0.6.5
   Compiling color_quant v1.1.0
   Compiling image v0.24.7
   Compiling twox-hash v1.6.3
   Compiling encase_derive v0.5.0
   Compiling typenum v1.16.0
   Compiling const_panic v0.2.8
   Compiling ruzstd v0.2.4
   Compiling bevy_encase_derive v0.10.1
   Compiling smallvec v1.11.0
   Compiling hashbrown v0.12.3
   Compiling glam v0.23.0
   Compiling parking_lot v0.12.1
   Compiling erased-serde v0.3.31
   Compiling tracing-subscriber v0.3.17
   Compiling bevy_utils v0.10.1
   Compiling naga v0.11.1
   Compiling gpu-descriptor v0.2.3
   Compiling bevy_render_macros v0.10.1
   Compiling ktx2 v0.3.0
   Compiling generic-array v0.14.7
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.6.0
   Compiling bevy_math v0.10.1
   Compiling bevy_mikktspace v0.10.1
   Compiling bevy_reflect v0.10.1
   Compiling encase v0.5.0
   Compiling hexasphere v8.1.0
   Compiling nix v0.24.3
   Compiling percent-encoding v2.3.0
   Compiling ttf-parser v0.19.1
   Compiling alsa-sys v0.3.1
   Compiling radsort v0.1.0
   Compiling xml-rs v0.8.16
   Compiling ab_glyph_rasterizer v0.1.8
error: failed to run custom build command for `alsa-sys v0.3.1`

Caused by:
  process didn't exit successfully: `/home/testuser/my/code/dslcad/target/debug/build/alsa-sys-57b7fb07bde49b83/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=ALSA_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=ALSA_STATIC
  cargo:rerun-if-env-changed=ALSA_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at /home/testuser/.cargo/registry/src/index.crates.io-6f17d22bba15001f/alsa-sys-0.3.1/build.rs:13:18:
  `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" PKG_CONFIG_ALLOW_SYSTEM_LIBS="1" "pkg-config" "--libs" "--cflags" "alsa"` did not exit successfully: exit status: 1
  error: could not find system library 'alsa' required by the 'alsa-sys' crate

  --- stderr
  Package alsa was not found in the pkg-config search path.
  Perhaps you should add the directory containing `alsa.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'alsa' found

  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

any suggestion on how to proceed?

Allow writing out text files --- this would allow G-code generation for CAM

I've been working on a tool which allows one to model how a CNC cuts using OpenSCAD:

https://github.com/WillAdams/gcodepreview

which sort of works using RapCAD (have actually done a couple of test projects), but it is difficult matching the state-based nature of G-code controlling a machine in OpenSCAD (maybe someone who knew that language better could resolve this), and the need to use an obscure tool (RapCAD) is a bit awkward.

It would be nice to have direct control over writing out text files in the programming tool, and to have a language which would allow one to note machine state after a module/function call and then use that later.

build instructions for Windows

hi, are there any instructions how to build the source code in Windows (from scratch)
I have Rust and Just installed but 'just build' doesnt seem to just work
The error says shell is missing but i'm pretty discouraged by the need to dig into just tool now and figure out what is the problem. Probably simple but just no, i dont want to start learning new foreign tool now, Rust is foreign enough to me. If you have some simple solution to get it to compile i'll be very grateful.

D:\devs2\dslcad>just build
error: Backtick could not be run because just could not find the shell:
program not found
 ——▶ justfile:2:38
  │
2 │ export CMAKE_BUILD_PARALLEL_LEVEL := `nproc --all`
  │                                      ^^^^^^^^^^^^^

Crash to desktop with specific file

var column = circle(radius=5.0, center=true) -> shape extrude(z=10) -> shape fillet(radius=0.2);
difference(left=column, right=(column -> shape translate(x=1)));

UI scale factor not used on Kubuntu/KDE

I wager this is coming from bevy as when I run a 'normal' egui/eframe app, the UI is scaled correctly.

But in case of DSLCAD it uses 1.0 (my system uses 1.5).
When DSLCAD starts, winit says the usual (correct):

2023-02-10T18:04:19.605215Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1.5 

But everything is tiny, i.e. the actual UI definitely uses 1.0, not 1.5.

some initial problems - Windows build

Hi, im checking the windows version from releases page (March 2023)
and have noticed some problems

  1. dslcad --help doesnt display anything
  2. when trying to load a table example from command line: dslcad.exe table.ds - nothing happens. no message, no gui
  3. when opening table.ds example, a syntax error is reported
    And the most important - documentation seems very limited.
    the tool seems promising and interesting, but without initial knowledge of it it's almost impossible to get started and achieve anything useful

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.