diff --git a/unmaintained/4DNav/4DNav-docs.factor b/unmaintained/4DNav/4DNav-docs.factor
deleted file mode 100755
index 95f231ecb9..0000000000
--- a/unmaintained/4DNav/4DNav-docs.factor
+++ /dev/null
@@ -1,201 +0,0 @@
-! Copyright (C) 2008 Jean-François Bigot.
-! See http://factorcode.org/license.txt for BSD license.
-USING: help.markup help.syntax kernel quotations strings ;
-IN: 4DNav
-
-
-HELP: menu-3D
-{ $values
- { "gadget" "gadget" }
-}
-{ $description "The menu dedicated to 3D movements of the camera" } ;
-
-HELP: menu-4D
-{ $values
-
- { "gadget" "gadget" }
-}
-{ $description "The menu dedicated to 4D movements of space" } ;
-
-HELP: menu-bar
-{ $values
-
- { "gadget" "gadget" }
-}
-{ $description "return gadget containing menu buttons" } ;
-
-HELP: model-projection
-{ $values
- { "x" "interger" }
- { "space" "space" }
-}
-{ $description "Project space following coordinate x" } ;
-
-HELP: mvt-3D-1
-{ $values
-
- { "quot" "quotation" }
-}
-{ $description "return a quotation to orientate space to see it from first point of view" } ;
-
-HELP: mvt-3D-2
-{ $values
-
- { "quot" "quotation" }
-}
-{ $description "return a quotation to orientate space to see it from second point of view" } ;
-
-HELP: mvt-3D-3
-{ $values
-
- { "quot" "quotation" }
-}
-{ $description "return a quotation to orientate space to see it from third point of view" } ;
-
-HELP: mvt-3D-4
-{ $values
-
- { "quot" "quotation" }
-}
-{ $description "return a quotation to orientate space to see it from first point of view" } ;
-
-HELP: load-model-file
-{ $description "load space from file" } ;
-
-HELP: rotation-4D
-{ $values
- { "m" "a rotation matrix" }
-}
-{ $description "Apply a 4D rotation matrix" } ;
-
-HELP: translation-4D
-{ $values
- { "v" "vector" }
-}
-{ $description "Apply a 4D translation" } ;
-
-
-ARTICLE: "implementation details" "How 4DNav is done"
-"4DNav is build using :"
-
-{ $subsection "4DNav.camera" }
-{ $subsection "adsoda-main-page" }
-;
-
-ARTICLE: "Space file" "Create a new space file"
-"To build a new space, create an XML file using " { $vocab-link "adsoda" } " model description. A solid is not caracterized by its corners but is defined as the intersection of hyperplanes."
-
-$nl
-"An example is:"
-$nl
-
-"\n"
-"\n"
-"\n 4"
-"\n "
-"\n 4cube1"
-"\n 4"
-"\n 1,0,0,0,100"
-"\n -1,0,0,0,-150"
-"\n 0,1,0,0,100"
-"\n 0,-1,0,0,-150"
-"\n 0,0,1,0,100"
-"\n 0,0,-1,0,-150"
-"\n 0,0,0,1,100"
-"\n 0,0,0,-1,-150"
-"\n 1,0,0"
-"\n "
-"\n "
-"\n 4triancube"
-"\n 4"
-"\n 1,0,0,0,160"
-"\n -0.4999999999999998,-0.8660254037844387,0,0,-130"
-"\n -0.5000000000000004,0.8660254037844384,0,0,-130"
-"\n 0,0,1,0,140"
-"\n 0,0,-1,0,-180"
-"\n 0,0,0,1,110"
-"\n 0,0,0,-1,-180"
-"\n 0,1,0"
-"\n "
-"\n "
-"\n triangone"
-"\n 4"
-"\n 1,0,0,0,60"
-"\n 0.5,0.8660254037844386,0,0,60"
-"\n -0.5,0.8660254037844387,0,0,-20"
-"\n -1.0,0,0,0,-100"
-"\n -0.5,-0.8660254037844384,0,0,-100"
-"\n 0.5,-0.8660254037844387,0,0,-20"
-"\n 0,0,1,0,120"
-"\n 0,0,-0.4999999999999998,-0.8660254037844387,-120"
-"\n 0,0,-0.5000000000000004,0.8660254037844384,-120"
-"\n 0,1,1"
-"\n "
-"\n "
-"\n 1,1,1,1"
-"\n 0.2,0.2,0.6"
-"\n "
-"\n 0.8,0.9,0.9"
-"\n"
-"\n"
-
-
-;
-ARTICLE: "TODO" "Todo"
-{ $list
- "A vocab to initialize parameters"
- "an editor mode"
- { $list "add a face to a solid"
- "add a solid to the space"
- "move a face"
- "move a solid"
- "select a solid in a list"
- "select a face"
- "display selected face"
- "edit a solid color"
- "add a light"
- "edit a light color"
- "move a light"
- }
- "add a tool wich give an hyperplane normal vector with enought points. Will use adsoda.intersect-hyperplanes with { { 0 } { 0 } { 1 } } "
- "decorrelate 3D camera and activate them with select buttons"
-
-} ;
-
-
-ARTICLE: "4DNav" "The 4DNav app"
-{ $vocab-link "4DNav" }
-$nl
-{ $heading "4D Navigator" }
-"4DNav is a simple tool to visualize 4 dimensionnal objects."
-"\n"
-"It uses " { $vocab-link "adsoda" } " library to display a 4D space and navigate thru it."
-$nl
-"It will display:"
-{ $list
- { "a menu window" }
- { "4 visualization windows" }
-}
-"Each visualization window represents the projection of the 4D space on a particular 3D space."
-
-{ $heading "Start" }
-"type:" { $code "\"4DNav\" run" }
-
-{ $heading "Navigation" }
-"Menu window is divided in 4 areas"
-{ $list
- { "a space-file chooser to select the file to display" }
- { "a parametrization area to select the projection mode" }
- { "4D submenu to translate and rotate the 4D space" }
- { "3D submenu to move the camera in 3D space. Cameras in every 3D spaces are manipulated as a single one" }
- }
-
-{ $heading "Links" }
-{ $subsection "Space file" }
-
-{ $subsection "TODO" }
-{ $subsection "implementation details" }
-
-;
-
-ABOUT: "4DNav"
diff --git a/unmaintained/4DNav/4DNav.factor b/unmaintained/4DNav/4DNav.factor
deleted file mode 100755
index 91c1c94b35..0000000000
--- a/unmaintained/4DNav/4DNav.factor
+++ /dev/null
@@ -1,556 +0,0 @@
-! Copyright (C) 2008 Jeff Bigot
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel
-namespaces
-accessors
-make
-math
-math.functions
-math.trig
-math.parser
-hashtables
-sequences
-combinators
-continuations
-colors
-prettyprint
-vars
-quotations
-io
-io.directories
-io.pathnames
-help.markup
-io.files
-ui.gadgets.panes
- ui
- ui.gadgets
- ui.traverse
- ui.gadgets.borders
- ui.gadgets.handler
- ui.gadgets.slate
- ui.gadgets.theme
- ui.gadgets.frames
- ui.gadgets.tracks
- ui.gadgets.labels
- ui.gadgets.labelled
- ui.gadgets.lists
- ui.gadgets.buttons
- ui.gadgets.packs
- ui.gadgets.grids
- ui.gestures
- ui.tools.workspace
- ui.gadgets.scrollers
-splitting
-vectors
-math.vectors
-rewrite-closures
-self
-values
-4DNav.turtle
-4DNav.window3D
-4DNav.deep
-4DNav.space-file-decoder
-models
-fry
-adsoda
-adsoda.tools
-;
-
-IN: 4DNav
-VALUE: selected-file
-VALUE: translation-step
-VALUE: rotation-step
-
-3 to: translation-step
-5 to: rotation-step
-
-VAR: selected-file-model
-VAR: observer3d
-VAR: view1
-VAR: view2
-VAR: view3
-VAR: view4
-VAR: present-space
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-! replacement of namespaces.lib
-
-: make* ( seq -- seq ) [ dup quotation? [ call ] [ ] if ] map ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! waiting for deep-cleave-quots
-
-: 4D-Rxy ( angle -- Rx ) deg>rad
-[ 1.0 , 0.0 , 0.0 , 0.0 ,
- 0.0 , 1.0 , 0.0 , 0.0 ,
- 0.0 , 0.0 , dup cos , dup sin neg ,
- 0.0 , 0.0 , dup sin , dup cos , ] 4 make-matrix nip ;
-
-: 4D-Rxz ( angle -- Ry ) deg>rad
-[ 1.0 , 0.0 , 0.0 , 0.0 ,
- 0.0 , dup cos , 0.0 , dup sin neg ,
- 0.0 , 0.0 , 1.0 , 0.0 ,
- 0.0 , dup sin , 0.0 , dup cos , ] 4 make-matrix nip ;
-
-: 4D-Rxw ( angle -- Rz ) deg>rad
-[ 1.0 , 0.0 , 0.0 , 0.0 ,
- 0.0 , dup cos , dup sin neg , 0.0 ,
- 0.0 , dup sin , dup cos , 0.0 ,
- 0.0 , 0.0 , 0.0 , 1.0 , ] 4 make-matrix nip ;
-
-: 4D-Ryz ( angle -- Rx ) deg>rad
-[ dup cos , 0.0 , 0.0 , dup sin neg ,
- 0.0 , 1.0 , 0.0 , 0.0 ,
- 0.0 , 0.0 , 1.0 , 0.0 ,
- dup sin , 0.0 , 0.0 , dup cos , ] 4 make-matrix nip ;
-
-: 4D-Ryw ( angle -- Ry ) deg>rad
-[ dup cos , 0.0 , dup sin neg , 0.0 ,
- 0.0 , 1.0 , 0.0 , 0.0 ,
- dup sin , 0.0 , dup cos , 0.0 ,
- 0.0 , 0.0 , 0.0 , 1.0 , ] 4 make-matrix nip ;
-
-: 4D-Rzw ( angle -- Rz ) deg>rad
-[ dup cos , dup sin neg , 0.0 , 0.0 ,
- dup sin , dup cos , 0.0 , 0.0 ,
- 0.0 , 0.0 , 1.0 , 0.0 ,
- 0.0 , 0.0 , 0.0 , 1.0 , ] 4 make-matrix nip ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! UI
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: button* ( string quot -- button )
- closed-quot ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: model-projection-chooser ( -- gadget )
- observer3d> projection-mode>>
- { { 1 "perspective" } { 0 "orthogonal" } }
- ;
-
-: collision-detection-chooser ( -- gadget )
- observer3d> collision-mode>>
- { { t "on" } { f "off" } } ;
-
-: model-projection ( x -- space )
- present-space> swap space-project ;
-
-: update-observer-projections ( -- )
- view1> relayout-1
- view2> relayout-1
- view3> relayout-1
- view4> relayout-1 ;
-
-: update-model-projections ( -- )
- 0 model-projection view1> (>>model)
- 1 model-projection view2> (>>model)
- 2 model-projection view3> (>>model)
- 3 model-projection view4> (>>model) ;
-
-: camera-action ( quot -- quot )
- [ drop [ ] observer3d>
- with-self update-observer-projections ]
- make* closed-quot ;
-
-: win3D ( text gadget -- )
- "navigateur 4D : " rot append open-window ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! 4D object manipulation
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: (mvt-4D) ( quot -- )
- present-space>
- swap call space-ensure-solids
- >present-space
- update-model-projections
- update-observer-projections ;
-
-: rotation-4D ( m -- )
- '[ _ [ [ middle-of-space dup vneg ] keep
- swap space-translate ] dip
- space-transform
- swap space-translate
- ] (mvt-4D) ;
-
-: translation-4D ( v -- ) '[ _ space-translate ] (mvt-4D) ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! menu
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: menu-rotations-4D ( -- gadget )
-
- 1 >>fill
- "XY +" [ drop rotation-step 4D-Rxy rotation-4D ]
- button* add-gadget
- "XY -" [ drop rotation-step neg 4D-Rxy rotation-4D ]
- button* add-gadget
- @top-left grid-add
- 1 >>fill
- "XZ +" [ drop rotation-step 4D-Rxz rotation-4D ]
- button* add-gadget
- "XZ -" [ drop rotation-step neg 4D-Rxz rotation-4D ]
- button* add-gadget
- @top grid-add
- 1 >>fill
- "YZ +" [ drop rotation-step 4D-Ryz rotation-4D ]
- button* add-gadget
- "YZ -" [ drop rotation-step neg 4D-Ryz rotation-4D ]
- button* add-gadget
- @center grid-add
- 1 >>fill
- "XW +" [ drop rotation-step 4D-Rxw rotation-4D ]
- button* add-gadget
- "XW -" [ drop rotation-step neg 4D-Rxw rotation-4D ]
- button* add-gadget
- @top-right grid-add
- 1 >>fill
- "YW +" [ drop rotation-step 4D-Ryw rotation-4D ]
- button* add-gadget
- "YW -" [ drop rotation-step neg 4D-Ryw rotation-4D ]
- button* add-gadget
- @right grid-add
- 1 >>fill
- "ZW +" [ drop rotation-step 4D-Rzw rotation-4D ]
- button* add-gadget
- "ZW -" [ drop rotation-step neg 4D-Rzw rotation-4D ]
- button* add-gadget
- @bottom-right grid-add
-;
-
-: menu-translations-4D ( -- gadget )
-
- 1 >>fill
- 1 >>fill
- "X+" [ drop { 1 0 0 0 } translation-step v*n
- translation-4D ]
- button* add-gadget
- "X-" [ drop { -1 0 0 0 } translation-step v*n
- translation-4D ]
- button* add-gadget
- add-gadget
- "YZW"