Current test request scope: - running sch-rnd without file name to work on a new empty sheet - drawing circles (decoration) [:DEL - drawing wires (wirenets; these are actual networks, not decoration) DEL:] - drawing lines (decoration) - drawing rectangles (decoration) - arrow tool; normal click select, shirt+click additional select, positive box selection, negative box selection - the del tool, {del} and {e d} keys - tools from the tool bar, tool menu and hotkeys - grid - pen management (see below) - undo on anything so far, including pen management; you can use {u d} to open the undo dialog to see your undo history Anything else is out of scope; this notably includes load and save, buffer operations, text objects, symbols, exports, imports. Further reading, understanding details: 1. Sizes (dimensions, coord conversion to physical world, e.g. in print) Cschem uses unitless integer coords. They could be anything, and sch-rnd does allow the user to interpret the coords as anything, or set them up however they like. Sch-rnd users talk in integer coords, not in mm or inch. You see your crosshair coords printed in the usual top right corner. The k suffix means *1000. You can change grid with mostly the same menus and key bindings and actions as in pcb-rnd. We need to have some sane defaults on how big things are (line thicknesses, symbol and font sizes, etc). I've done some research on this topic, what you see in current version is what I think would be our defaults long term. Research data, rationale and conclusion (and default sizes): http://repo.hu/cgi-bin/pool.cgi?project=sch-rnd-aux&cmd=show&node=sizes 2. titlebox Titlebox is sch-rnd's title block convention. We use it on the default sheet already. Since we don't yet have a text object, it's empty for now. Details on how it will look and work: http://repo.hu/cgi-bin/pool.cgi?project=sch-rnd-aux&cmd=show&node=titlebox 3. pen management (theory) Gschem hardwired graphical properotes (style) in each object. E.g. width, color, etc. hardwired in each line object. The only reason the symbol lib looks somewhat coherent is that every single file hardwired the same values. Citation: http://wiki.geda-project.org/geda:file_format_spec Cschem has a different approach. Individual drawing objects (atoms, in cschem terminology) don't have such properties but a single stroke property that references a pen. There's a simple group-traversal/inheritance setup so that pens can be specified at different levels. This allows us to have symbol-central, group-central, sheet-central pens (and thus style). It also means you can have your own preferred color scheme and line thicknesses set up and if you important a random symbol from a random source, if that symbol followed _pen name_ conventions, it will automatically look liek your preferred style as it doesn't hardwire pen properties but inherits them from your sheet you place the symbol in. More on this on sch-rnd side: http://repo.hu/cgi-bin/pool.cgi?project=sch-rnd-aux&cmd=show&node=pen_addr Cschem side: table of conventional pen names: http://www.repo.hu/projects/cschem/design/03_drawing_imp.html 4. pen management (in practice) Each group has a list of pens (can be empty). There are conventional default pens in our default empty sheet template (default.lht). The config system specifies what pen each tool should use. A. tool pens: if you use a tool to create an object, it creates the new object with the pen taken from the config at the moment. If you later change tool pen in the config, it won't affect existing (already placed) objects but will affect newly created objects. You can invoke the relevant preferences dialog tab using {t p} or using the menu (mode, tool, change pen). It's all very similar to how most graphical drawing programs work: you "have a pen and draw with that"... B. ... except you have a different pen for each tool. Which means you can easily draw your lines with different style from your rectangles. If you don't want that, we also have a button for setting all stroke pens to the same. C. pen properties: so each placed object and the tool configuration remembers what pen to use, by pen name. Then each pen is specified somewhere: in our simple test case now, in the sheet's root group. If you are at the colors tab of the preferences (the {t p} thing) and click to change pen of a tool, you get to the pen selector dialog; there you see pen properties of the currently selected pen on the right. If you change a pen property, all (existing and future) objects drawn with that pen will automatically be affected. Existing objects should be redrawn immediately. D. unknown pen: if an object references a pen name that is not found, a cschem-hardwired default pen ("error pen") is used. At the moment it is orange, but I think it will be purple later to match pcb-rnd's "invalid color". An easy way to create this situation is removing a named pen that is used by your drawing, e.g. sheet-decor. (Then if you add a new pen, rename it to sheet-decor, and set up color/thickness, already drawn objects will happily use that) E. each tool pen config really has a list of pen names, in preferred order. When you _activate_ a tool to create new objects, cschem will go and check pens for the given tool in order they are specified and picks the first existing one. This is for portability reasons: just in case you want to use a different pen naming standard in your own sheets you can make your config in a way that it will work with both your standard and sch-rnd conventions. This is only for tool pens, already existing objects have a single pen, not lists. Also, the GUI doesn't try to manage lists: if you use the pen dialog to pick a pen for a tool, that will make a single-item list with that one pen (because that pen surely does exist at the time you click). So the list thing is for advanced use, from cli/text-editor Best regards, Igor2