<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[vectorChar vs. vectorText]]></title><description><![CDATA[<p dir="auto">Hello!</p>
<p dir="auto">First of all: thank you very much for [Open]JSCAD - it often helps me modeling technical objects which can then be sent to a 3D printer.</p>
<p dir="auto">A few days ago, I've started tweaking the JSCAD User Guide mainly by adding <code>require</code> statements to the examples found there in order to simplify coding for casual JSCAD users like me.</p>
<p dir="auto">During that process, I  - again - stumbled across a difference between <code>vectorChar</code> and <code>vectorText</code>: while both methods are described as producing <code>outlines</code> which have to be converted into <code>paths</code> in order to be used for rendering, <code>vectorChar</code> "hides" its segments in a sub-property <code>outlines.segments</code> while <code>vectorText</code> directly produces <code>segments</code> (although the example calls them <code>outlines</code> as well).</p>
<p dir="auto">Shouldn't both methods behave similarly? Or shouldn't the examples and their descriptions clearly describe the differences between both methods?</p>
<p dir="auto">With greetings from Germany,</p>
<p dir="auto">Andreas Rozek</p>
]]></description><link>https://openjscad.nodebb.com/topic/357/vectorchar-vs-vectortext</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 15:58:40 GMT</lastBuildDate><atom:link href="https://openjscad.nodebb.com/topic/357.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Apr 2022 08:46:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vectorChar vs. vectorText on Sun, 28 May 2023 01:04:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/rozek" aria-label="Profile: rozek">@<bdi>rozek</bdi></a> hope that you are still using JSCAD.</p>
<p dir="auto">there are some changes to vectorChar and vectorText, which will become part of V3 JSCAD. if you have time then please take a look.</p>
<p dir="auto"><a href="https://github.com/jscad/OpenJSCAD.org/pull/1252" rel="nofollow ugc">https://github.com/jscad/OpenJSCAD.org/pull/1252</a></p>
]]></description><link>https://openjscad.nodebb.com/post/1331</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1331</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 28 May 2023 01:04:35 GMT</pubDate></item><item><title><![CDATA[Reply to vectorChar vs. vectorText on Mon, 18 Apr 2022 06:31:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/z3dev" aria-label="Profile: z3dev">@<bdi>z3dev</bdi></a> Good morning!</p>
<p dir="auto">As a very first starting point I've implemented a new function "<a href="https://github.com/rozek/OpenJSCAD.org/blob/master/packages/modeling/src/text/text.js" rel="nofollow ugc">text</a>" in package <code>@jscad/modeling.text</code> which directly creates <code>Path2</code> arrays.</p>
<p dir="auto">It is currently part of <a href="https://github.com/rozek/OpenJSCAD.org" rel="nofollow ugc">my own fork of OpenJSCAD</a> only, as I expect multiple changes before it might get accepted and become ready for an official PR. Additionally, my tests are still almost empty (as I have to learn AVA first) and only test for an execution w/o throwing any exceptions...</p>
<p dir="auto">Happy Easter!</p>
]]></description><link>https://openjscad.nodebb.com/post/1175</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1175</guid><dc:creator><![CDATA[rozek]]></dc:creator><pubDate>Mon, 18 Apr 2022 06:31:39 GMT</pubDate></item><item><title><![CDATA[Reply to vectorChar vs. vectorText on Sun, 17 Apr 2022 11:49:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/rozek" aria-label="Profile: rozek">@<bdi>rozek</bdi></a> thanks for the insights.</p>
<p dir="auto">I think most of your suggestions are spot on. The logic of vectorChar and vectorText are solid but these data structures don’t produce anything that can be immediately used.</p>
<p dir="auto">I’m not certain which direction will be taken, so I created a new issue to track these ideas, #1067</p>
]]></description><link>https://openjscad.nodebb.com/post/1173</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1173</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Sun, 17 Apr 2022 11:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to vectorChar vs. vectorText on Sat, 16 Apr 2022 04:12:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/z3dev" aria-label="Profile: z3dev">@<bdi>z3dev</bdi></a> well,</p>
<p dir="auto">suggestions would depend on whether you would accept breaking API changes or prefer keeping the API stable.</p>
<p dir="auto">A somewhat <em>silly</em> idea could be to assign the output of <code>vectorText</code> to its own subproperty <code>segments</code> (<code>outlines.segments = outlines</code>) : in that case, one would always have to convert <code>outlines.segments</code>.</p>
<p dir="auto">From a user's point of view, however, the main question should probably be why <code>vectorChar</code> and <code>vectorText</code> do not produce paths right away - and why there are two such methods (since <code>vectorText</code> looks like a superset of <code>vectorChar</code>).</p>
<p dir="auto">A possible non-breaking consequence could be: invent a new function <code>textPaths</code> (or similar) with a signature like <code>vectorText</code> which directly produces paths:</p>
<pre><code>const { textPaths } = require('@jscad/modeling').text
const paths = textPaths('JSCAD')
</code></pre>
<p dir="auto">Such a method should be trivial to implement.</p>
<p dir="auto">With greetings from Germany,</p>
<p dir="auto">Andreas Rozek</p>
]]></description><link>https://openjscad.nodebb.com/post/1172</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1172</guid><dc:creator><![CDATA[rozek]]></dc:creator><pubDate>Sat, 16 Apr 2022 04:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to vectorChar vs. vectorText on Fri, 15 Apr 2022 11:59:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/rozek" aria-label="Profile: rozek">@<bdi>rozek</bdi></a> super analysis!</p>
<p dir="auto">I also noticed the inconsistency, and wondered if these could be brought into a slightly more useful paradigm. Do you have any suggestions?</p>
]]></description><link>https://openjscad.nodebb.com/post/1169</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1169</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Fri, 15 Apr 2022 11:59:05 GMT</pubDate></item></channel></rss>