"Fossies" - the Fresh Open Source Software Archive 
Member "brlcad-7.32.4/doc/STRATEGY" (29 Jul 2021, 11433 Bytes) of package /linux/misc/brlcad-7.32.4.tar.bz2:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1 # -*- mode: org; coding: utf-8; -*- #
2 # This is an Emacs org-mode file. Keybindings: http://orgmode.org/orgcard.txt
3
4 # +TAGS: { UX : U u } { Complex : C c }
5 # +TAGS: { Comms : P p } { Market : M m }
6
7 BRL-CAD Development Strategy
8
9 This is a living document that defines and aims to help maintain a
10 consistent develpment strategy for addressing BRL-CAD requirements.
11 It recognizes areas of strategic importance, outlines projects to
12 bolster those areas, and identifies specific actionable objectives.
13
14
15 * Strategic Areas
16
17 This section itemizes areas of strategic importance which coincide
18 closely with areas of categoric deficiency. For each area, we
19 outline general activities that could strengthen them. From these
20 areas, we conceive strategic projects and their associated tasks.
21
22 ** AREA 1: UX :UX:
23 *** deploying Archer/MGED -cns :p:C:
24 *** UI simplification -s :C:
25 *** undo / fault tolerance -n
26 *** prototype Qt -c :p:
27 *** UI design / clarification -j :P:C:
28 *** interaction / integration -j :M:
29 *** editing constraints, snapping, reuse existing coordinates
30 *** bug reporting / feature requests :P:
31 *** portability :p:
32
33 ** AREA 2: Complexity :Complex:
34 *** command / tool reduction -cjns :U:
35 *** API code reduce / simplification / modularity -cjs :U:
36 *** searchability / info -n :U:p:
37 *** discoverability / documentation (UP) :U:P:
38 *** UI design / clarity (UP)
39 *** restructure of file hierarchy
40 *** continuous integration
41
42 ** AREA 3: Communications :Comms:
43 *** website -cjns :C:
44 *** doc integration, website -cjns :C:
45 *** new content (audience / customer profiles), website :C:
46 *** comms (meeting / promoting our successes / PRB / announcements) :U:C:M:
47 *** CRM / IRC :U:C:
48 *** leverage existing capability
49
50 ** AREA 4: Marketability :Market:
51
52 FIXME: these need to be sorted and ranked
53
54 *** conversion: import, processing, export -s :P:U:
55 *** geometry analysis performance (interactive ray tracing / opencl) :U:
56 *** 3D printing / polygonal export / gcode -s :P:U:
57 *** industrial design: blueprinting, dimensioning, annotations :P:U:
58 *** geometry preparation (killing overlaps, hierarchy, V&V) :U:C:
59 *** visuals: advanced rendering, animation, simulation :P:U:
60
61 * Strategic Projects
62
63 This section itemizes projects conceived to address BRL-CAD's
64 principal strategic areas. Each project focuses on one or more
65 strategic areas devising measurable tasks that support the
66 particular objective.
67
68
69 ** PROJECT: Deploy Archer/MGED Beta (14)
70
71 *** interactivity / blocking indicators - ALPHA (3)
72 **** TODO multithreaded command execution (2)
73 **** TODO interface busy indicator (1)
74
75 *** command cleanup - ALPHA (3)
76 **** TODO inventory + mapping + time (1)
77 **** TODO design UI / commands (2)
78 **** TODO sit with users to discuss command migration (0)
79
80 *** feature parity - ALPHA (2)
81 **** TODO review/finish edit keypointing (oed parity) (1)
82 **** TODO GUI matrix editing (1)
83
84 *** announcements + migration plan - BETA+ (4)
85 **** TODO write + publish strategy map and migration plan (1)
86 **** TODO preliminary discussion with users, discuss tcl scripts (0)
87 **** TODO archer manual page (1)
88 **** TODO install basic version of new website (1)
89 **** TODO sit down review with users (1)
90
91 *** searchable docs - ALPHA (2)
92 **** TODO command line searching of doc content, apropos (2)
93
94
95 ** PROJECT: Deploy Merged Archer/MGED Final (16)
96
97 *** usability parity - BETA (4)
98 **** TODO classic console mode (1)
99 **** TODO map from old to new, publish summary (1)
100 **** TODO reverse .g tempfile backup, edit live (1)
101 **** TODO graphical query ray (1)
102
103 *** undo - BETA (2)
104 **** TODO implement libbu filesystem info (1)
105 **** TODO re-enable undo with fs awareness (1)
106
107 *** bug reporting / feedback / metrics - BETA (3)
108 **** TODO reliable backtrace (1)
109 **** TODO hook/enable bombardier (1)
110 **** TODO track metrics (archer commands, tips, docs) (1)
111
112 *** QA acceptance - BETA (3)
113 **** TODO define acceptance tasks (1)
114 **** TODO run regression w/ archer (1)
115 **** TODO make wiki procedural web scripts work (1)
116
117 *** announcements + migration plan - BETA+ (3)
118 **** TODO review + update tutorials and docs (2)
119 **** TODO create + give presentation (1)
120
121 *** searchable docs - FINAL (1)
122 **** TODO web publishing + searching of docs (1)
123
124
125 ** PROJECT: Distilling BRL-CAD (11)
126
127 *** revisit scope (vision, mission) (3)
128 **** TODO communicate intent and updates (1)
129 **** TODO develop high-level project roadmap (1)
130 **** TODO connect features to markets (1)
131
132 *** develop command roadmap (4)
133 **** TODO inventory of command-line commands, decide keep/refactor/kill (1)
134 **** TODO communicate command-line changes (0)
135 **** TODO develop command categorization (1)
136 **** TODO take inventory of ged commands, decide keep/refactor/kill (1)
137 **** TODO communicate ged command changes (0)
138 **** TODO assess and mitigate deployment risks (1)
139
140 *** integrate docs (4)
141 **** TODO plan what to do with html+troff docs (0)
142 **** TODO stub new docs where missing (1)
143 **** TODO consolidate docs, one guide per interface (2)
144 **** TODO kill obsolete docs (0)
145 **** TODO migrate e-mail and release notes to web (1)
146
147
148 ** PROJECT: Website Renovation (10)
149
150 *** improve website usability (1)
151 **** TODO set up platform-detected downloads on main page (0)
152 **** TODO publish project vitality/stats (openhub integration) (0)
153 **** TODO restore search interface (1)
154
155 *** publish docbook docs (3)
156 **** TODO instantiate / set up sofat's doc interface (1)
157 **** TODO design pdf stylesheet (1)
158 **** TODO integrate docs onto website (html+pdf) (1)
159
160 *** publish use cases (3)
161 **** TODO post 3+ customer profiles (1)
162 **** TODO post top-10 feature highlights (1)
163 **** TODO identify alternatives and their highlight mappings (1)
164 **** TODO post comparison table with 2+ alternatives (0)
165
166 *** set up developer corner (3)
167 **** TODO ensure buildbot is setup and running handsfree (1)
168 **** TODO update buildbot stylesheet to fit theme (0)
169 **** TODO post nightly builds (0)
170 **** TODO set up cron job to maintain CI and doc updates (1)
171 **** TODO announce dev corner to brlcad-devel/brlcad-news (0)
172 **** TODO buildbot <-> cdash/lcov/coverity/gccfarm/swamp integration (1)
173
174
175 ** PROJECT: Deploy GCV (9)
176
177 *** 3dm "round-tripping" (2)
178 **** TODO integrate existing importer (0)
179 **** TODO NURBS export support (1)
180 **** TODO document entity support (1)
181
182 *** documentation (3)
183 **** TODO convert jon's write-up to docbook (0)
184 **** TODO integrate jon's plugin examples (1)
185 **** TODO write and publish plugin API policy (1)
186 **** TODO write and publish GCV feature profile on website (1)
187
188 *** CLI usability (2)
189 **** TODO design usage / synopsis (1)
190 **** TODO provide logging/debugging interface (0)
191 **** TODO integrate bot_dump into gcv (1)
192
193 *** robust deployment (2)
194 **** TODO convert tlib via automated testing (1)
195 **** TODO automate extraction of sources from checkout (0)
196 **** TODO integrate gcv into mged/archer (0)
197 **** TODO troubleshoot JASP export memory issue (1)
198
199
200 ** PROJECT: Performant Pipeline (15)
201
202 *** coherent Boolean evaluation (3)
203 **** TODO preliminary OpenCL conversion (1)
204 **** TODO eliminate branching (1)
205 **** TODO V&V with specific test cases (1)
206
207 *** audit ray dispatching (3)
208 **** TODO define ray bundling API (1)
209 **** TODO audit librt ray API, consolidate (1)
210
211 *** implement bundled ray dispatch (2)
212 **** TODO integrate Costa's GSoC work (1)
213 **** TODO propagate bundle through spatial partition (1)
214 **** TODO convert rt* to new bundled API (1)
215
216 *** on-demand NURBS tree-build (4)
217 **** TODO formulate a design / approach (1)
218 **** TODO dynamic tree build with minimal malloc (2)
219 **** TODO profile and validate results (1)
220
221 *** coherent NURBS evaluation (1)
222 **** TODO review 2006 paper (0)
223 **** TODO convert openNURBS surface evaluation to OpenCL (1)
224
225 *** performant raytrace image display (2)
226 **** TODO optimize libdb/libfb to remove bottleneck (1)
227 **** TODO update archer for interactive tracing display (1)
228
229
230 ** PROJECT: Raytrace Prep Caching (10)
231
232 *** implement LIBBU data caching (3)
233 **** TODO document libbu data caching API (1)
234 **** TODO create data caching test cases (1)
235 **** TODO implement libbu data caching (1)
236
237 *** implment LIBRT object caching (4)
238 **** TODO serialize BoT prep data to cache (1)
239 **** TODO serialize NURBS prep data to cache (1)
240 **** TODO serialize tess/plot data to cache (2)
241
242 *** update tools to utilize the cache (3)
243 **** TODO update rt* to use prep cache (1)
244 **** TODO update mged/archer to use tess/plot cache (1)
245 **** TODO document the prep cache interface (1)
246
247
248 ** PROJECT: Progressive Geometry Display (11)
249
250 *** asynchronous geometry display (4)
251 **** TODO modify display loop to run in separate thread (2)
252 **** TODO update draw command to dispatch (2)
253
254 *** ray trace display manager (4)
255 **** TODO review rtgl code (1)
256 **** TODO design incremental loading architecture (1)
257 **** TODO implement incremental ray tracing (2)
258
259 *** point cloud hashing (3)
260 **** TODO design LoD point cloud storage approach (1)
261 **** TODO calculate LoD point cloud utility metric (1)
262 **** TODO implement LoD point cloud loading (3)
263
264
265 ** TEMPLATE: Project Title
266
267 Here is an example project that summarizes the taxonomy and
268 structure of a strategic project. A project should be scoped to
269 less than 4 months of full-time uninterrupted effort. A project
270 must have at least 1 objective.
271
272 *** objective
273
274 Objectives should be simple with identifiable completion criteria.
275 An objective should be achievable in 4 weeks or less with larger
276 objectives divided into separate smaller chunks. Each objective
277 must have at least 1 task.
278
279 **** TODO task
280
281 A task is actionable work that should take someone 4 weeks or
282 less of full-time uninterrupted effort, estimated in weeks, with
283 0 for tasks less than 2 days.
284
285
286 * Strategic Strengths
287 ** project
288 *** open source
289 *** cross-platform
290 *** free software
291 *** 30-years of development
292 *** massive investment
293 *** extensive API
294 *** extensive documentation
295 ** code
296 *** extensively modular
297 *** scalability
298 *** embeddable
299 *** efficient workflow
300 *** flexible workflow
301 *** DoD-accreddited
302 *** integrated into MUVES, AJEM, COVART
303 ** modeling
304 *** hybrid representation system
305 *** wide variety of supported entities
306 *** csg, nurbs, triangles, volumes, point clouds
307 *** scriptable geometry
308 *** procedural geometry
309 *** geometry conversion
310 *** geometry editing
311 ** analysis
312 *** geometry v&v
313 *** geometry preparation
314 *** joint articulation system
315 *** physics simulation system
316 *** ray tracing performance
317 *** analytic ray tracing
318 *** solid ray tracing
319 *** geometry visualization
320
321 # Local Variables:
322 # mode: org
323 # End: