Milestone A:

- getting started [25]
	- normal workflow (diagram):
	- startup
		- cd to project dir, start pcb-rnd from there (UNIX aspects)
		- save (implicit save as; project directory)
		- explain main window parts, especially the layer selector
		- online support button
	- layer stackup
		- show preferences cross sect
		- drag&drop remove intern layer groups
		- remove extra layers, keep one layer per group for now
		- decide that bottom is gnd, rename layers accordingly
		- mention sizes (but do not deal with it); defaults are good for all techs
	- sch import
		- sch-rnd: import one or more sheets; prefer project.lht
		- hint on other formats
		- mention stdlib footprints are used
		- zoom out for the footprints
		- terminology: subcircuit
		- look at the netlist
		- re-import
	- placement
		- manual placement for this tutorial
		- looking at sch
		- looking at rats nest, {c r}
		- drag&drop move: no need to select
			- accidentally move a floater
			- show undo {u u}
			- lock floaters!
		- grid basics, bottom status line, top coord readout
		- show rotate
		- {c f}
		- show context menu move to the other side, show hotkey
	- routing
		- routing with lines on top layer
			- netlist window disable gnd
			- hover over a pin for pin info/net
			- line refraction with shift
			- line refraction with '/' and menu (bottom status!)
			- routing styles (selection only)
		- via & sides
				- find a crossing show manual via placement + usig the other side
				- tab, shift tab, ctrl tab
				- bottom status
				- via terminology: padstack
		- netlist window re-enable gnd
		- polygon on the bottom side
		- thermals to connect (minimum thermals)
	- draw the outline
	- tune the silk
	- mention export will be handled in a different video

Milestone B:

+ advanced routing: arcs and propedit on traces [3]
	- arc example: go around large hole
	- arcs
		- same trace width
		- editing arc angles graphically
	- draw a line, an arc and a via and a rectangle around them
	- open propedit on the line from context menu, show scope
	- explain thickness and clearance
	- close propedit
	- select line, arc, via
	- use {p e} to open propedit, show scope
	- show stats
	- change clearance and trace thickness
	- refer to sch-rnd propedit video

+ show routing style configuration (no padstack yet) [2]
	- select a style
	- draw a polygon, a line and a text
	- name (display name) - [objects don't remember]
	- change geometry, show effect with new objects on the poly
	- show attributes

+ advanced routing with lines [2 -> 4]
	- line refraction:
		- normal, /
		- 90 degree
		- all-direction
	- rubber band modes
	- show clearance: mode/cursor-snap
	- auto-enforce clearance: mode/routing

+ B4. per board and per subc padstack proto lib [5]
	- switch to mm! (the default board has protos defined in mm)
	- place a few vias of different style, multiple of each in a "table"
	- draw poly around them
	- show right-click propedit on the vias: different proto
	- show right-click padstack editor:
		- explain parts of the first tab:
			- show the same proto id
			- rot/mirror doesn't matter with round padstack -> later video
		- explain second tab:
			- per layer shape: grow and shrink internal copper by 0.5mm
			- change hole dia and plating
		- show third tab on a new one:
			- generate a square via to replace this
			- show that the proto number did change
		- first tab: click on the proto id, change proto in this one instance from lib
		- dup id:
			- pick a new pstk that has multiple instances
			- show again that edit proto changes all vias sharing the same proto
			- click on dup, show it got a new number
			- changing now changes only this one
			- but it's easy to pick this proto for any via
		- close the dialog
	- open the board padstack lib dialog fom the edit window
		- same dialog we used for selecting a new proto
		- show edit
			- show generate:
				- show that all vias of the same proto replaced
				- show that the proto number did not change
		- show new
		- show select and switch 
		- show count/del
		- mention load/save and copy/paste
	- place two dip(8)'s
	- right click on one of the dip's round pins, switch to round
	- right click on the subc, padstack proto lib

+ B5 select [3]
	- click select single object
	- unselect: click away (to another object or to empty)
	- shift+click select multiple objects
	- positive box
	- negative box
	- combininb boxes with shift
	- avoid selection using visibility
	- avoid selection using locking
	- unselect tricks:
		- box selection then shift-click unselect objects
		- invert selection (everything-but-an-island)

+ B7 poly [5]
	- drawing rectangles
	- drawing arbitrary polygons
		- all-direction line
		- hotkey for close {p p c} or double click
	- drawing holes
	- explain that hole is part of the polygon object
	- clearances in polygons
		- normal object clearance
		- as-drawn and clipped poly (turn on frame): mode, poly, as-drawn frame
		- poly cut into multiple islands
	- editing existing polygons
		- grab a corner
		- ortho-move with CTRL
		- show invisible corners with as-drawn frame and hover - invisible can be grabbed!
		- insert
	- show poly clipping out of existence
		- turn on clearance indication: mode/cursor/last
		- place via
		- draw little rect
		- gradually move via over it
		- show message log
		- use {m d d} to show the poly is still there
		- move via away, poly comes back
	- explain there are no pours or planes

+ B6 text [3]
	- draw text on anylayer (show a few)
	- show clearance around text in copper
		- (limitations: fixed size bbox clearance0
	- property editor
		- rotation (CCW in degs)
		- scale (integer in percentage)
		- string
		- thickness (for centerline font)
	- {e t} for text edit

+ C1 placing footprints from the lib [5]
	<chapter 1>: the library window
	- manual nav
	- placement
		- place copies from buffer
		- rotate (shift-f7, {b r r}, {b r l})
		- other side: tab
	- filter
		- TO12  <- prefix
		- 126   <- middle match (TO126)
		- [12]6 <- regex! (show TO126 and SOT363)
		- ^sot  <- regex, case insensitive
	- parametric
		- type in:
			- so(6)
			- so(6,500)
		- gui edit
			- row spacing 200 mil
			- line_thickness 0.1mm
		- show & edit edited params
		- place; edit; place -> once placed, a copy is made
	<chapter 2>: libraries, configuration
	- configuring own library
	- edakrill
		- {i c p}, wget@edakrill
		- maintenance re-scan
		- have to refresh manually in the lib window
		- search for sot23-5
	<chapter 3>: netlist
	- how this interferes with import
		- import sch with a few parts
		- arrange, reimport
		- place something, reimport -> gets removed
		- nonetlist (connector(1) for test pad, logo)

+ C2 drawing on any layer [3]
	- turning layers on-off
	- drawing on any layer: silk, mask, paste, assembly
	- turning all layers on-off
	- explain layer compositing:
		- layers of different color
		- positive and negative layers on silk
		- explain how the mask layer works
	- moving objects between layers
		- right click menu: single
		- {s l}
		- subc
	- one object is always on one layer, except for subcircuits and padstacks

+ C3 outline and cutouts [3]
	- outline layer, centerline vs. tool diameter
	- cutouts: plated and unplated (slot layers)
	- lines and arcs, not polygons
	- vias: plated and unpalted drills
	- note on export into different files vs. copper around
	- oval cutouts in padstacks: slots for tabs

+ C4 export for pcb fabbing [3]
	- difference between gerber and excellon
	- confusion about gerber file names
	- don't use the direct gerber export
	- cam export to jlc
		- explain gerber + excellon
		- explain file naming
	- export XY and BoM (only mention)

- C5 grid, snap, wireframe [3]
	- red grid dots
	- if not visible set editor/cross_grid
	- crosshair snapping to grid
	- useful for spacing traces and objects
	- change grid spacing:
		- menu view -> grid -> grid size -> tear-off
		- switching up and down in predefined with hotkeys
		- grid unit does not need to match display unit
		- custom grid from menu
	- object endpoint snap
		- draw arc, line, padstack and poly
		- happens best when grid is large
		- line/arc ends
		- line middle
		- polygon corners
		- padstack origin
	- thin
		- wireframe draw with {mdw}
		- thin draw with {mdt}
		- uses:
			- especially useful on mask layers
			- hidden object overlaps like lines going inside polygons and padstacks (smd!)
			- misaligned corner (outline!)
		- selective:
			- {m d p} for poly only
			- per layer from right click transformation

+ D1: remove and buffer basics [2]
	- remove tool
	- remove by del (no selection needed)
	- remove by selection
		- menu
		- {s r}
	- cut selection to buffer
	- paste
	- copy selection to buffer

+ D2: advanced buffer use [5]
	- buffer transformations
		- copy
		- rotate
	- buffer content:
		- save buffer content
		- loading buffer content
	<split>
	- footprints:
		- paste two different footprints from lib
		- save single footprint
		- save footprint lib
			- single file in tEDAx (depends on file format)
			- multifile
		- loading footprint to buffer
			- load file directly from the import menu
			- explain what's really happening with the lib window (buffer, library searches)
			- special casing: top/bottom view for placement does matter
	<split>
	- using multiple buffers 
		- place two texts "two" and "three"
		- copy to different buffers
		- paste from different buffers
	- buffer survives board switch
		- new board, still can place "two and three"
	<split>
	- explain buffer layer bindings
		- copy-paste retains side/layer; demo: smd + wire
		- edit buffer layer bindings for changing the wire layer

+ D3: connectivity [2]
	- preparation
		- place two resistors
		- name them
		- connect pairs of pads with rats and a stub of wire from one resistor
	- {c r}
		- move things around and use {c r} -> always shortest path
		- cause a short with stubs -> {c r} warns
		- mincut vs. no-mincut (requres next release!)
	- {c f}
		- galvanic connections on copper
		- {c f} on another
		- {c f} away or {c c} to clear
		- remove some wires, {c r}
		- ... and rats
		- del the rat, {c f}

+ D4: netlist window basics [3]
	- open the window
	- show how nets and pads are visually highlighted
	- select/unslect
	- find/clear
	- rat disable, rat enable (gnd!)
	- all enable/disable
	- single net rat'ing
	- ripup

+ D5: netlist window advanced [5]
	- drawing new nets:
		- place and name 4 subcircuits
		- open the netlist window
		- select the line tool and the rat layer
		- draw the rat
		- show result in the netlist window
	- show back annotation window
	- close back annot window
	- show rename (in netlist window)
	- create another net drawing rats
	- merge selected net into another net by name
	- change attrib
	- claim:
		- draw a connection
		- click on claim by different methods
		- enter name for the new net
	- length calc
		- single click
		- mark multiple nets and refresh


+ D6: advanced thermals [3]
	- thermal tool recap (left side)
		- select layer
		- select thermal tool
		- click on via a few times
		- shift-click to change style
	- right click padstack edit
		- (explain per instance)
		- (explain table)
		- go through each choice
	- split layer right click padstack edit
		- demonstrate different settings per layer
		- demonstrate that no-shape is for the whole layer group

+ E0: how to make rats thinner or thicker; ListRats() [2]


+ F1: line-of-vias
	- draw poly on top copper & lock
	- create a documentation layer, name it extended obj (#name doesn't matter)
	- draw horizontal line on the doc layer
	- verify style/via
	- right click on doc line, convert to ext obj
	- show extending the line
	- right click on the E -> specific edit
		- pitch
		- #explain 0 clearance and non-0 clearance
	- right click on the E -> generic edit
		- resize the window bigger
		- point to:
			- subcircuit ID
			- attributes
		- #explain:
			- an extended obj is just a subcircuit with extra attributes
			- and code to assist with edit (extobj attribute names the code)
	- right click convert to plain subc
