Skip to content

Commit e26da3b

Browse files
authored
Merge pull request #509 from xyz-tools/codex/default-tube-rendering
Enable tube rendering by default
2 parents b7cce26 + 2e70581 commit e26da3b

5 files changed

Lines changed: 11 additions & 9 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,11 @@ Supported systems include:
147147
- and possibly more
148148

149149
### Render extrusion as tubes
150-
Extrusions are rendered as flat lines by default; pass the `renderTubes`
151-
constructor option to get true tube geometry (it can also be toggled at runtime
150+
Extrusions are rendered as tubes by default; pass `renderTubes: false` as a
151+
constructor option to render flat lines (it can also be toggled at runtime
152152
via `preview.sceneManager.renderTubes`):
153153
```js
154-
new GCodePreview({ canvas, renderTubes: true });
154+
new GCodePreview({ canvas, renderTubes: false });
155155
```
156156

157157
### G2/G3 arc support

src/__tests__/objects-manager.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ describe('ObjectsManager', () => {
1414
beforeEach(() => {
1515
scene = new Scene();
1616
objectsManager = new ObjectsManager(scene, 0.4, 0.2, 0.6);
17+
objectsManager.renderTubes = false;
1718
});
1819

1920
describe('constructor', () => {
@@ -899,7 +900,7 @@ describe('ObjectsManager', () => {
899900
['setLineHeight', () => manager.setLineHeight(0.5)],
900901
['setLineHeight back to per-path', () => manager.setLineHeight(undefined)],
901902
['setExtrusionWidth', () => manager.setExtrusionWidth(1.2)],
902-
['setRenderTubes', () => manager.setRenderTubes(true)]
903+
['setRenderTubes', () => manager.setRenderTubes(false)]
903904
])('%s asks for a rebuild', (_name, change) => {
904905
change();
905906
vi.advanceTimersByTime(ObjectsManager.rebuildDebounce);
@@ -920,7 +921,7 @@ describe('ObjectsManager', () => {
920921
['setLineWidth', () => manager.setLineWidth(0.4)],
921922
['setLineHeight', () => manager.setLineHeight(0.2)],
922923
['setExtrusionWidth', () => manager.setExtrusionWidth(0.6)],
923-
['setRenderTubes', () => manager.setRenderTubes(false)]
924+
['setRenderTubes', () => manager.setRenderTubes(true)]
924925
])('%s does not rebuild when the value is unchanged', (_name, change) => {
925926
change();
926927
vi.advanceTimersByTime(ObjectsManager.rebuildDebounce);

src/__tests__/renderer-smoke.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ describe('SceneManager runtime smoke test', () => {
6969
});
7070

7171
it('constructs real three.js objects when rendering lines', async () => {
72-
const preview = createPreview({ renderExtrusion: true, renderTravel: true });
72+
const preview = createPreview({ renderExtrusion: true, renderTravel: true, renderTubes: false });
7373
preview.processGCode(SAMPLE_GCODE);
7474
await nextFrame();
7575

@@ -90,8 +90,8 @@ describe('SceneManager runtime smoke test', () => {
9090
expect(mockRenderers[0].dispose).toHaveBeenCalled();
9191
});
9292

93-
it('constructs a real BatchedMesh when rendering tubes', async () => {
94-
const preview = createPreview({ renderExtrusion: true, renderTravel: false, renderTubes: true });
93+
it('constructs a real BatchedMesh by default', async () => {
94+
const preview = createPreview({ renderExtrusion: true, renderTravel: false });
9595
preview.processGCode(SAMPLE_GCODE);
9696
await nextFrame();
9797

src/__tests__/scene-manager-properties.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,6 +1464,7 @@ function createSceneManager(opts: Partial<SceneManagerOptions> & { job?: Job } =
14641464
buildVolume: { x: 200, y: 200, z: 200, smallGrid: true },
14651465
renderExtrusion: true,
14661466
renderTravel: false,
1467+
renderTubes: false,
14671468
...sceneOptions
14681469
},
14691470
job ?? createJob()

src/objects-manager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export class ObjectsManager {
6767
* is unset too.
6868
*/
6969
extrusionWidth?: number;
70-
renderTubes = false;
70+
renderTubes = true;
7171

7272
/**
7373
* Whether extrusion lines get a per-layer brightness gradient baked into their vertex colors.

0 commit comments

Comments
 (0)