diff --git a/src/main.ts b/src/main.ts index a8822299ff..5620e498fb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -20,5 +20,5 @@ import {setupDefaultViewer} from 'neuroglancer/ui/default_viewer_setup'; window.addEventListener('DOMContentLoaded', () => { - const viewer = setupDefaultViewer(); + setupDefaultViewer(); }); diff --git a/src/neuroglancer/chunk_manager/generic_file_source.ts b/src/neuroglancer/chunk_manager/generic_file_source.ts index cb212badb9..726d303e63 100644 --- a/src/neuroglancer/chunk_manager/generic_file_source.ts +++ b/src/neuroglancer/chunk_manager/generic_file_source.ts @@ -19,7 +19,7 @@ * Provides a simple way to request a file on the backend with priority integration. */ -import {Chunk, ChunkManager, ChunkSourceBase, RECOMPUTE_CHUNK_PRIORITIES_LAST} from 'neuroglancer/chunk_manager/backend'; +import {Chunk, ChunkManager, ChunkSourceBase} from 'neuroglancer/chunk_manager/backend'; import {ChunkPriorityTier, ChunkState} from 'neuroglancer/chunk_manager/base'; import {CANCELED, CancellationToken, makeCancelablePromise} from 'neuroglancer/util/cancellation'; import {openHttpRequest, sendHttpRequest} from 'neuroglancer/util/http_request'; diff --git a/src/neuroglancer/datasource/brainmaps/api_frontend.ts b/src/neuroglancer/datasource/brainmaps/api_frontend.ts index 3abe7bedc9..5d44393063 100644 --- a/src/neuroglancer/datasource/brainmaps/api_frontend.ts +++ b/src/neuroglancer/datasource/brainmaps/api_frontend.ts @@ -19,7 +19,7 @@ * This implements the authentication API based on neuroglancer/util/google_auth2. */ -import {getToken, implementation, Token} from 'neuroglancer/datasource/brainmaps/api_implementation'; +import {getToken, implementation} from 'neuroglancer/datasource/brainmaps/api_implementation'; import {StatusMessage} from 'neuroglancer/status'; import {CancellationTokenSource} from 'neuroglancer/util/cancellation'; import {authenticateGoogleOAuth2} from 'neuroglancer/util/google_oauth2'; diff --git a/src/neuroglancer/datasource/brainmaps/backend.ts b/src/neuroglancer/datasource/brainmaps/backend.ts index 3b5288bf1e..26ecbfeaa2 100644 --- a/src/neuroglancer/datasource/brainmaps/backend.ts +++ b/src/neuroglancer/datasource/brainmaps/backend.ts @@ -17,7 +17,7 @@ import 'neuroglancer/datasource/brainmaps/api_backend'; import {registerChunkSource} from 'neuroglancer/chunk_manager/backend'; -import {makeRequest, HttpCall, ChangeSpecPayload, ChangeStackAwarePayload, MeshFragmentPayload, SkeletonPayload, SubvolumePayload} from 'neuroglancer/datasource/brainmaps/api'; +import {makeRequest, HttpCall, ChangeStackAwarePayload, MeshFragmentPayload, SkeletonPayload, SubvolumePayload} from 'neuroglancer/datasource/brainmaps/api'; import {ChangeSpec, MeshSourceParameters, SkeletonSourceParameters, VolumeChunkEncoding, VolumeSourceParameters} from 'neuroglancer/datasource/brainmaps/base'; import {decodeJsonManifestChunk, decodeTriangleVertexPositionsAndIndices, FragmentChunk, ManifestChunk, ParameterizedMeshSource} from 'neuroglancer/mesh/backend'; import {decodeSkeletonVertexPositionsAndIndices, ParameterizedSkeletonSource, SkeletonChunk} from 'neuroglancer/skeleton/backend'; @@ -29,7 +29,6 @@ import {CancellationToken} from 'neuroglancer/util/cancellation'; import {Endianness} from 'neuroglancer/util/endian'; import {vec3Key} from 'neuroglancer/util/geom'; import {verifyObject, verifyObjectProperty, verifyStringArray} from 'neuroglancer/util/json'; -import {inflate} from 'pako'; const CHUNK_DECODERS = new Map([ [ @@ -59,12 +58,11 @@ function applyChangeStack(changeStack: ChangeSpec|undefined, payload: ChangeStac } @registerChunkSource(VolumeSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = CHUNK_DECODERS.get(this.parameters.encoding)!; private applyEncodingParams(payload: SubvolumePayload) { let {encoding} = this.parameters; - const compression_suffix = `/image_format_options.gzip_compression_level=6`; switch (encoding) { case VolumeChunkEncoding.RAW: payload.subvolume_format = 'RAW'; @@ -148,7 +146,7 @@ function decodeFragmentChunk(chunk: FragmentChunk, response: ArrayBuffer) { } @registerChunkSource(MeshSourceParameters) -class MeshSource extends ParameterizedMeshSource { +export class MeshSource extends ParameterizedMeshSource { private manifestDecoder = this.parameters.changeSpec !== undefined ? decodeManifestChunkWithSupervoxelIds : decodeManifestChunk; diff --git a/src/neuroglancer/datasource/dvid/backend.ts b/src/neuroglancer/datasource/dvid/backend.ts index 94a3db1a8f..ec3371c93a 100644 --- a/src/neuroglancer/datasource/dvid/backend.ts +++ b/src/neuroglancer/datasource/dvid/backend.ts @@ -20,10 +20,7 @@ import {ParameterizedVolumeChunkSource, VolumeChunk} from 'neuroglancer/slicevie import {ChunkDecoder} from 'neuroglancer/sliceview/backend_chunk_decoders'; import {decodeCompressedSegmentationChunk} from 'neuroglancer/sliceview/backend_chunk_decoders/compressed_segmentation'; import {decodeJpegChunk} from 'neuroglancer/sliceview/backend_chunk_decoders/jpeg'; -import {decodeRawChunk} from 'neuroglancer/sliceview/backend_chunk_decoders/raw'; -import {VolumeType} from 'neuroglancer/sliceview/volume/base'; import {CancellationToken} from 'neuroglancer/util/cancellation'; -import {vec3} from 'neuroglancer/util/geom'; import {openShardedHttpRequest, sendHttpRequest} from 'neuroglancer/util/http_request'; import {RPC} from 'neuroglancer/worker_rpc'; @@ -32,7 +29,7 @@ const TILE_CHUNK_DECODERS = new Map([ ]); @registerChunkSource(VolumeChunkSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { constructor(rpc: RPC, options: any) { super(rpc, options); @@ -80,7 +77,7 @@ class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class TileChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = TILE_CHUNK_DECODERS.get(this.parameters['encoding'])!; download(chunk: VolumeChunk, cancellationToken: CancellationToken) { diff --git a/src/neuroglancer/datasource/dvid/base.ts b/src/neuroglancer/datasource/dvid/base.ts index 0508a7808c..263ed07ddd 100644 --- a/src/neuroglancer/datasource/dvid/base.ts +++ b/src/neuroglancer/datasource/dvid/base.ts @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import {VolumeType} from 'neuroglancer/sliceview/volume/base'; export enum VolumeChunkEncoding { JPEG, diff --git a/src/neuroglancer/datasource/ndstore/backend.ts b/src/neuroglancer/datasource/ndstore/backend.ts index 6334da3986..008c20701c 100644 --- a/src/neuroglancer/datasource/ndstore/backend.ts +++ b/src/neuroglancer/datasource/ndstore/backend.ts @@ -30,7 +30,7 @@ chunkDecoders.set('jpeg', decodeJpegChunk); chunkDecoders.set('raw', decodeRawChunk); @registerChunkSource(VolumeChunkSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = chunkDecoders.get(this.parameters.encoding)!; download(chunk: VolumeChunk, cancellationToken: CancellationToken) { diff --git a/src/neuroglancer/datasource/ndstore/frontend.ts b/src/neuroglancer/datasource/ndstore/frontend.ts index c3f27c2fd3..a60bbae0de 100644 --- a/src/neuroglancer/datasource/ndstore/frontend.ts +++ b/src/neuroglancer/datasource/ndstore/frontend.ts @@ -21,10 +21,9 @@ import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; import {CompletionResult, registerDataSourceFactory} from 'neuroglancer/datasource/factory'; -import {VolumeChunkSourceParameters, NDSTORE_URL_PREFIX, LEGACY_URL_PREFIX} from 'neuroglancer/datasource/ndstore/base'; +import {VolumeChunkSourceParameters, NDSTORE_URL_PREFIX} from 'neuroglancer/datasource/ndstore/base'; import {DataType, VolumeChunkSpecification, VolumeSourceOptions, VolumeType} from 'neuroglancer/sliceview/volume/base'; import {defineParameterizedVolumeChunkSource, MultiscaleVolumeChunkSource as GenericMultiscaleVolumeChunkSource} from 'neuroglancer/sliceview/volume/frontend'; -import {CancellationToken} from 'neuroglancer/util/cancellation'; import {applyCompletionOffset, getPrefixMatchesWithDescriptions} from 'neuroglancer/util/completion'; import {mat4, vec3} from 'neuroglancer/util/geom'; import {openShardedHttpRequest, sendHttpRequest} from 'neuroglancer/util/http_request'; diff --git a/src/neuroglancer/datasource/nifti/backend.ts b/src/neuroglancer/datasource/nifti/backend.ts index 64ed7b3af1..797e535696 100644 --- a/src/neuroglancer/datasource/nifti/backend.ts +++ b/src/neuroglancer/datasource/nifti/backend.ts @@ -141,7 +141,7 @@ registerPromiseRPC( }); @registerChunkSource(VolumeSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { download(chunk: VolumeChunk, cancellationToken: CancellationToken) { chunk.chunkDataSize = this.spec.chunkDataSize; return getNiftiFileData( diff --git a/src/neuroglancer/datasource/precomputed/backend.ts b/src/neuroglancer/datasource/precomputed/backend.ts index 903a528e4b..abfb78131d 100644 --- a/src/neuroglancer/datasource/precomputed/backend.ts +++ b/src/neuroglancer/datasource/precomputed/backend.ts @@ -32,7 +32,7 @@ chunkDecoders.set(VolumeChunkEncoding.JPEG, decodeJpegChunk); chunkDecoders.set(VolumeChunkEncoding.COMPRESSED_SEGMENTATION, decodeCompressedSegmentationChunk); @registerChunkSource(VolumeChunkSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = chunkDecoders.get(this.parameters.encoding)!; download(chunk: VolumeChunk, cancellationToken: CancellationToken) { @@ -65,7 +65,7 @@ export function decodeFragmentChunk(chunk: FragmentChunk, response: ArrayBuffer) } @registerChunkSource(MeshSourceParameters) -class MeshSource extends ParameterizedMeshSource { +export class MeshSource extends ParameterizedMeshSource { download(chunk: ManifestChunk, cancellationToken: CancellationToken) { let {parameters} = this; let requestPath = `${parameters.path}/${chunk.objectId}:${parameters.lod}`; diff --git a/src/neuroglancer/datasource/precomputed/frontend.ts b/src/neuroglancer/datasource/precomputed/frontend.ts index ddb9c83422..bd79ab1e14 100644 --- a/src/neuroglancer/datasource/precomputed/frontend.ts +++ b/src/neuroglancer/datasource/precomputed/frontend.ts @@ -77,8 +77,7 @@ export class MultiscaleVolumeChunkSource implements GenericMultiscaleVolumeChunk } constructor( - public chunkManager: ChunkManager, public baseUrls: string[], public path: string, - private obj: any) { + public chunkManager: ChunkManager, public baseUrls: string[], public path: string, obj: any) { verifyObject(obj); this.dataType = verifyObjectProperty(obj, 'data_type', x => verifyEnumString(x, DataType)); this.numChannels = verifyObjectProperty(obj, 'num_channels', verifyPositiveInt); diff --git a/src/neuroglancer/datasource/python/backend.ts b/src/neuroglancer/datasource/python/backend.ts index 5e846063a0..20c7668bfa 100644 --- a/src/neuroglancer/datasource/python/backend.ts +++ b/src/neuroglancer/datasource/python/backend.ts @@ -35,7 +35,7 @@ chunkDecoders.set(VolumeChunkEncoding.JPEG, decodeJpegChunk); chunkDecoders.set(VolumeChunkEncoding.RAW, decodeRawChunk); @registerChunkSource(VolumeChunkSourceParameters) -class VolumeChunkSource extends ParameterizedVolumeChunkSource { +export class VolumeChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = chunkDecoders.get(this.parameters['encoding'])!; encoding = VolumeChunkEncoding[this.parameters.encoding].toLowerCase(); diff --git a/src/neuroglancer/datasource/render/backend.ts b/src/neuroglancer/datasource/render/backend.ts index 8c8250c6c4..c749426c78 100644 --- a/src/neuroglancer/datasource/render/backend.ts +++ b/src/neuroglancer/datasource/render/backend.ts @@ -24,13 +24,13 @@ import {CancellationToken} from 'neuroglancer/util/cancellation'; import {Float32ArrayBuilder} from 'neuroglancer/util/float32array_builder'; import {vec3} from 'neuroglancer/util/geom'; import {openShardedHttpRequest, sendHttpJsonPostRequest, sendHttpRequest} from 'neuroglancer/util/http_request'; -import {parseArray, verify3dVec, verifyFloat, verifyInt, verifyObject, verifyString} from 'neuroglancer/util/json'; +import {parseArray, verify3dVec, verifyObject, verifyString} from 'neuroglancer/util/json'; let chunkDecoders = new Map(); chunkDecoders.set('jpg', decodeJpegChunk); @registerChunkSource(TileChunkSourceParameters) -class TileChunkSource extends ParameterizedVolumeChunkSource { +export class TileChunkSource extends ParameterizedVolumeChunkSource { chunkDecoder = chunkDecoders.get(this.parameters.encoding)!; download(chunk: VolumeChunk, cancellationToken: CancellationToken) { @@ -73,16 +73,6 @@ function decodeSectionIDs(response: any) { return sectionIDs; } -function parseCoordinateTransform(coordsResult: any): vec3[] { - let coords = new Array(); - - parseArray(coordsResult, coordsObj => { - verifyObject(coordsObj); - coords.push(verify3dVec(coordsObj['world'])); - }); - return coords; -} - function createConversionObject(tileId: string, xcoord: any, ycoord: any) { return {'tileId': tileId, 'local': [xcoord, ycoord]}; } @@ -160,7 +150,7 @@ function downloadPointMatchChunk( } @registerChunkSource(PointMatchChunkSourceParameters) -class PointMatchSource extends +export class PointMatchSource extends ParameterizedVectorGraphicsChunkSource { download(chunk: VectorGraphicsChunk, cancellationToken: CancellationToken): Promise { let {parameters} = this; diff --git a/src/neuroglancer/datasource/render/frontend.ts b/src/neuroglancer/datasource/render/frontend.ts index b1af7f196d..ce750ac024 100644 --- a/src/neuroglancer/datasource/render/frontend.ts +++ b/src/neuroglancer/datasource/render/frontend.ts @@ -23,10 +23,10 @@ import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; import {CompletionResult, registerDataSourceFactory} from 'neuroglancer/datasource/factory'; import {PointMatchChunkSourceParameters, TileChunkSourceParameters} from 'neuroglancer/datasource/render/base'; import {VectorGraphicsChunkSpecification, VectorGraphicsSourceOptions} from 'neuroglancer/sliceview/vector_graphics/base'; -import {defineParameterizedVectorGraphicsSource, MultiscaleVectorGraphicsChunkSource as GenericMultiscaleVectorGraphicsChunkSource, VectorGraphicsChunkSource} from 'neuroglancer/sliceview/vector_graphics/frontend'; +import {defineParameterizedVectorGraphicsSource, MultiscaleVectorGraphicsChunkSource as GenericMultiscaleVectorGraphicsChunkSource} from 'neuroglancer/sliceview/vector_graphics/frontend'; import {DataType, VolumeChunkSpecification, VolumeSourceOptions, VolumeType} from 'neuroglancer/sliceview/volume/base'; import {defineParameterizedVolumeChunkSource, MultiscaleVolumeChunkSource as GenericMultiscaleVolumeChunkSource, VolumeChunkSource} from 'neuroglancer/sliceview/volume/frontend'; -import {applyCompletionOffset, getPrefixMatches, getPrefixMatchesWithDescriptions} from 'neuroglancer/util/completion'; +import {applyCompletionOffset, getPrefixMatchesWithDescriptions} from 'neuroglancer/util/completion'; import {vec3} from 'neuroglancer/util/geom'; import {openShardedHttpRequest, sendHttpRequest} from 'neuroglancer/util/http_request'; import {parseArray, parseQueryStringParameters, verifyFloat, verifyInt, verifyObject, verifyObjectProperty, verifyOptionalInt, verifyOptionalString, verifyString} from 'neuroglancer/util/json'; @@ -449,8 +449,6 @@ export class MultiscaleVectorGraphicsChunkSource implements GenericMultiscaleVec this.dims[2] = 1; } getSources(vectorGraphicsSourceOptions: VectorGraphicsSourceOptions) { - let sources: VectorGraphicsChunkSource[][] = []; - let voxelSize = vec3.clone(this.stackInfo.voxelResolution); let lowerVoxelBound = vec3.create(), upperVoxelBound = vec3.create(); diff --git a/src/neuroglancer/layer.ts b/src/neuroglancer/layer.ts index ce7022ffad..195206d5c5 100644 --- a/src/neuroglancer/layer.ts +++ b/src/neuroglancer/layer.ts @@ -523,7 +523,7 @@ export class VisibleRenderLayerTrackerrenderLayer; diff --git a/src/neuroglancer/layer_dialog.ts b/src/neuroglancer/layer_dialog.ts index a413fb86af..673194c6d0 100644 --- a/src/neuroglancer/layer_dialog.ts +++ b/src/neuroglancer/layer_dialog.ts @@ -18,8 +18,7 @@ import {findSourceGroup, getVolume, suggestLayerName, volumeCompleter} from 'neu import {LayerListSpecification, ManagedUserLayerWithSpecification} from 'neuroglancer/layer_specification'; import {Overlay} from 'neuroglancer/overlay'; import {DataType, VolumeType} from 'neuroglancer/sliceview/volume/base'; -import {MultiscaleVolumeChunkSource} from 'neuroglancer/sliceview/volume/frontend'; -import {CancellationToken, CANCELED, CancellationTokenSource} from 'neuroglancer/util/cancellation'; +import {CancellationToken, CancellationTokenSource} from 'neuroglancer/util/cancellation'; import {associateLabelWithElement} from 'neuroglancer/widget/associate_label'; import {AutocompleteTextInput, makeCompletionElementWithDescription} from 'neuroglancer/widget/autocomplete'; import {makeHiddenSubmitButton} from 'neuroglancer/widget/hidden_submit_button'; diff --git a/src/neuroglancer/mesh/backend.ts b/src/neuroglancer/mesh/backend.ts index 1cf11387b6..2930c1460c 100644 --- a/src/neuroglancer/mesh/backend.ts +++ b/src/neuroglancer/mesh/backend.ts @@ -279,7 +279,7 @@ export class FragmentSource extends ChunkSource { }; @registerSharedObject(MESH_LAYER_RPC_ID) -class MeshLayer extends SegmentationLayerSharedObjectCounterpart { +export class MeshLayer extends SegmentationLayerSharedObjectCounterpart { source: MeshSource; constructor(rpc: RPC, options: any) { diff --git a/src/neuroglancer/single_mesh/backend.ts b/src/neuroglancer/single_mesh/backend.ts index dc7b24c027..5c102626ba 100644 --- a/src/neuroglancer/single_mesh/backend.ts +++ b/src/neuroglancer/single_mesh/backend.ts @@ -227,7 +227,7 @@ export class SingleMeshSource extends ChunkSource { } @registerSharedObject(SINGLE_MESH_LAYER_RPC_ID) -class SingleMeshLayer extends SharedObjectCounterpart { +export class SingleMeshLayer extends SharedObjectCounterpart { source: SingleMeshSource; chunkManager: ChunkManager; diff --git a/src/neuroglancer/single_mesh/frontend.ts b/src/neuroglancer/single_mesh/frontend.ts index f5f524072a..caa7e5fa8a 100644 --- a/src/neuroglancer/single_mesh/frontend.ts +++ b/src/neuroglancer/single_mesh/frontend.ts @@ -23,7 +23,7 @@ import {shareVisibility} from 'neuroglancer/shared_visibility_count/frontend'; import {GET_SINGLE_MESH_INFO_RPC_ID, SINGLE_MESH_CHUNK_KEY, SINGLE_MESH_LAYER_RPC_ID, SINGLE_MESH_SOURCE_RPC_ID, SingleMeshInfo, SingleMeshSourceParameters, VertexAttributeInfo} from 'neuroglancer/single_mesh/base'; import {TrackableValue} from 'neuroglancer/trackable_value'; import {DataType} from 'neuroglancer/util/data_type'; -import {mat4, vec2, vec3, vec4} from 'neuroglancer/util/geom'; +import {mat4, vec2, vec3} from 'neuroglancer/util/geom'; import {parseArray, stableStringify, verifyOptionalString, verifyString} from 'neuroglancer/util/json'; import {getObjectId} from 'neuroglancer/util/object_id'; import {Uint64} from 'neuroglancer/util/uint64'; @@ -210,7 +210,7 @@ vLightingFactor = abs(dot(normal, uLightDirection.xyz)) + uLightDirection.w; }; bindTexture(data.vertexTexture); bindTexture(data.normalTexture); - let {attributeInfo, attributeNames} = this; + const {attributeNames} = this; data.vertexAttributeTextures.forEach((texture, i) => { if (attributeNames[i] !== undefined) { bindTexture(texture); @@ -449,7 +449,7 @@ export class SingleMeshLayer extends PerspectiveViewRenderLayer { return; } - let {gl, displayState} = this; + let {gl} = this; let shaderManager = this.shaderManager!; shader.bind(); shaderManager.beginLayer(gl, shader, renderContext); diff --git a/src/neuroglancer/skeleton/backend.ts b/src/neuroglancer/skeleton/backend.ts index f070badafe..b6b42b7cab 100644 --- a/src/neuroglancer/skeleton/backend.ts +++ b/src/neuroglancer/skeleton/backend.ts @@ -56,7 +56,6 @@ export class SkeletonChunk extends Chunk { super.serialize(msg, transfers); const vertexPositions = this.vertexPositions!; const indices = this.indices!; - let vertexDataBytes = vertexPositions.byteLength; msg['indices'] = indices; transfers.push(indices.buffer); diff --git a/src/neuroglancer/skeleton/frontend.ts b/src/neuroglancer/skeleton/frontend.ts index 28d40f59c0..0b016dfc48 100644 --- a/src/neuroglancer/skeleton/frontend.ts +++ b/src/neuroglancer/skeleton/frontend.ts @@ -264,8 +264,6 @@ export class SkeletonLayer extends RefCounted { let {pickIDs} = renderContext; - const {vertexAttributes} = this; - gl.lineWidth(lineWidth); forEachSegmentToDraw(displayState, skeletons, (rootObjectId, objectId, skeleton) => { diff --git a/src/neuroglancer/sliceview/backend.ts b/src/neuroglancer/sliceview/backend.ts index c14344efd6..958b38eebf 100644 --- a/src/neuroglancer/sliceview/backend.ts +++ b/src/neuroglancer/sliceview/backend.ts @@ -16,7 +16,7 @@ import {Chunk, ChunkManager, ChunkSource} from 'neuroglancer/chunk_manager/backend'; import {ChunkPriorityTier} from 'neuroglancer/chunk_manager/base'; -import {RenderLayer as RenderLayerInterface, SLICEVIEW_RENDERLAYER_RPC_ID, SLICEVIEW_RPC_ID, SliceViewBase, SliceViewChunkSource as SliceViewChunkSourceInterface, SliceViewChunkSpecification} from 'neuroglancer/sliceview/base'; +import {RenderLayer as RenderLayerInterface, SLICEVIEW_RPC_ID, SliceViewBase, SliceViewChunkSource as SliceViewChunkSourceInterface, SliceViewChunkSpecification} from 'neuroglancer/sliceview/base'; import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; import {vec3, vec3Key} from 'neuroglancer/util/geom'; import {NullarySignal} from 'neuroglancer/util/signal'; diff --git a/src/neuroglancer/sliceview/base.ts b/src/neuroglancer/sliceview/base.ts index 7a5d8a0b56..ad68b5aed5 100644 --- a/src/neuroglancer/sliceview/base.ts +++ b/src/neuroglancer/sliceview/base.ts @@ -14,13 +14,11 @@ * limitations under the License. */ -import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; -import {MeshSource} from 'neuroglancer/mesh/frontend'; import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; import {partitionArray} from 'neuroglancer/util/array'; import {approxEqual} from 'neuroglancer/util/compare'; import {DATA_TYPE_BYTES, DataType} from 'neuroglancer/util/data_type'; -import {effectiveScalingFactorFromMat4, identityMat4, kAxes, kInfinityVec, kZeroVec, mat4, prod3, rectifyTransformMatrixIfAxisAligned, transformVectorByMat4, vec3, vec4} from 'neuroglancer/util/geom'; +import {effectiveScalingFactorFromMat4, identityMat4, kAxes, kInfinityVec, kZeroVec, mat4, rectifyTransformMatrixIfAxisAligned, transformVectorByMat4, vec3} from 'neuroglancer/util/geom'; import {SharedObject} from 'neuroglancer/worker_rpc'; export {DATA_TYPE_BYTES, DataType}; diff --git a/src/neuroglancer/sliceview/frontend.ts b/src/neuroglancer/sliceview/frontend.ts index bc2603950d..3d8924e67c 100644 --- a/src/neuroglancer/sliceview/frontend.ts +++ b/src/neuroglancer/sliceview/frontend.ts @@ -14,21 +14,17 @@ * limitations under the License. */ -import {ChunkSourceParametersConstructor, ChunkState} from 'neuroglancer/chunk_manager/base'; +import {ChunkState} from 'neuroglancer/chunk_manager/base'; import {Chunk, ChunkManager, ChunkSource} from 'neuroglancer/chunk_manager/frontend'; import {LayerManager} from 'neuroglancer/layer'; -import {MeshSource} from 'neuroglancer/mesh/frontend'; import {NavigationState} from 'neuroglancer/navigation_state'; -import {DataType, SLICEVIEW_RPC_ID, SliceViewBase, SliceViewChunkSource as SliceViewChunkSourceInterface, SliceViewChunkSpecification, SliceViewSourceOptions} from 'neuroglancer/sliceview/base'; +import {SLICEVIEW_RPC_ID, SliceViewBase, SliceViewChunkSource as SliceViewChunkSourceInterface, SliceViewChunkSpecification, SliceViewSourceOptions} from 'neuroglancer/sliceview/base'; import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; import {RenderLayer} from 'neuroglancer/sliceview/renderlayer'; import {RefCounted} from 'neuroglancer/util/disposable'; -import {Disposable} from 'neuroglancer/util/disposable'; import {mat4, rectifyTransformMatrixIfAxisAligned, vec3, vec3Key, vec4} from 'neuroglancer/util/geom'; -import {stableStringify} from 'neuroglancer/util/json'; import {getObjectId} from 'neuroglancer/util/object_id'; import {NullarySignal} from 'neuroglancer/util/signal'; -import {Uint64} from 'neuroglancer/util/uint64'; import {GL} from 'neuroglancer/webgl/context'; import {FramebufferConfiguration, makeTextureBuffers, StencilBuffer} from 'neuroglancer/webgl/offscreen'; import {ShaderBuilder, ShaderModule, ShaderProgram} from 'neuroglancer/webgl/shader'; @@ -275,9 +271,6 @@ export class SliceView extends SliceViewBase { } }; -const tempChunkGridPosition = vec3.create(); -const tempLocalPosition = vec3.create(); - export abstract class SliceViewChunkSource extends ChunkSource implements SliceViewChunkSourceInterface { chunks: Map; diff --git a/src/neuroglancer/sliceview/renderlayer.ts b/src/neuroglancer/sliceview/renderlayer.ts index ef6efbfebc..e199db7ab1 100644 --- a/src/neuroglancer/sliceview/renderlayer.ts +++ b/src/neuroglancer/sliceview/renderlayer.ts @@ -14,23 +14,15 @@ * limitations under the License. */ -import {ChunkState} from 'neuroglancer/chunk_manager/base'; import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; import {RenderLayer as GenericRenderLayer} from 'neuroglancer/layer'; -import {SLICEVIEW_RENDERLAYER_RPC_ID, SliceViewChunkSpecification, SliceViewSourceOptions} from 'neuroglancer/sliceview/base'; -import {SliceView, SliceViewChunkSource, MultiscaleSliceViewChunkSource} from 'neuroglancer/sliceview/frontend'; +import {SliceView, SliceViewChunkSource} from 'neuroglancer/sliceview/frontend'; import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; -import {RefCounted} from 'neuroglancer/util/disposable'; -import {BoundingBox, mat4, vec3, vec3Key, vec4} from 'neuroglancer/util/geom'; -import {Buffer} from 'neuroglancer/webgl/buffer'; -import {GL} from 'neuroglancer/webgl/context'; +import {BoundingBox, vec3} from 'neuroglancer/util/geom'; import {makeWatchableShaderError, WatchableShaderError} from 'neuroglancer/webgl/dynamic_shader'; -import {getShaderType} from 'neuroglancer/webgl/shader_lib'; -import {RpcId, SharedObject} from 'neuroglancer/worker_rpc'; +import {RpcId} from 'neuroglancer/worker_rpc'; const tempVec3 = vec3.create(); -const tempVec3b = vec3.create(); -const tempMat4 = mat4.create(); export abstract class RenderLayer extends GenericRenderLayer { chunkManager: ChunkManager; @@ -49,7 +41,6 @@ export abstract class RenderLayer extends GenericRenderLayer { shaderError.value = undefined; this.chunkManager = chunkManager; this.sources = sources; - let gl = this.gl; for (let alternatives of sources) { let alternativeIds: number[] = []; diff --git a/src/neuroglancer/sliceview/vector_graphics/backend.ts b/src/neuroglancer/sliceview/vector_graphics/backend.ts index 0398366872..37a0058a44 100644 --- a/src/neuroglancer/sliceview/vector_graphics/backend.ts +++ b/src/neuroglancer/sliceview/vector_graphics/backend.ts @@ -14,14 +14,10 @@ * limitations under the License. */ -import {Chunk, ChunkManager, ChunkSource} from 'neuroglancer/chunk_manager/backend'; -import {ChunkPriorityTier} from 'neuroglancer/chunk_manager/base'; import {RenderLayer as SliceViewRenderLayer, SliceViewChunk, SliceViewChunkSource} from 'neuroglancer/sliceview/backend'; import {RenderLayer as RenderLayerInterface, VECTOR_GRAPHICS_RENDERLAYER_RPC_ID, VectorGraphicsChunkSource as VectorGraphicsChunkSourceInterface, VectorGraphicsChunkSpecification} from 'neuroglancer/sliceview/vector_graphics/base'; -import {CancellationToken} from 'neuroglancer/util/cancellation'; import {vec3, vec3Key} from 'neuroglancer/util/geom'; -import {UseCount} from 'neuroglancer/util/use_count'; -import {registerRPC, registerSharedObject, RPC, SharedObjectCounterpart} from 'neuroglancer/worker_rpc'; +import {registerSharedObject, RPC} from 'neuroglancer/worker_rpc'; export class VectorGraphicsChunk extends SliceViewChunk { source: VectorGraphicsChunkSource|null = null; @@ -34,8 +30,6 @@ export class VectorGraphicsChunk extends SliceViewChunk { initializeVolumeChunk(key: string, chunkGridPosition: vec3) { super.initializeVolumeChunk(key, chunkGridPosition); - let source = this.source; - let chunkBytes: number = 0; if (this.vertexPositions) { chunkBytes = chunkBytes + this.vertexPositions!.buffer.byteLength; diff --git a/src/neuroglancer/sliceview/vector_graphics/base.ts b/src/neuroglancer/sliceview/vector_graphics/base.ts index f77aba3cb0..9b7d8d1a97 100644 --- a/src/neuroglancer/sliceview/vector_graphics/base.ts +++ b/src/neuroglancer/sliceview/vector_graphics/base.ts @@ -15,12 +15,8 @@ */ import {SliceViewChunkSource, SliceViewChunkSpecification, SliceViewChunkSpecificationBaseOptions, SliceViewSourceOptions} from 'neuroglancer/sliceview/base'; -import {getCombinedTransform, getChunkDataSizes} from 'neuroglancer/sliceview/base'; -import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; -import {partitionArray} from 'neuroglancer/util/array'; -import {approxEqual} from 'neuroglancer/util/compare'; -import {kAxes, kZeroVec, mat4, rectifyTransformMatrixIfAxisAligned, transformVectorByMat4, vec3} from 'neuroglancer/util/geom'; -import {SharedObject} from 'neuroglancer/worker_rpc'; +import {getCombinedTransform} from 'neuroglancer/sliceview/base'; +import {vec3} from 'neuroglancer/util/geom'; export enum VectorGraphicsType { LINE, @@ -74,7 +70,6 @@ export class VectorGraphicsChunkSpecification extends SliceViewChunkSpecificatio static withDefaults(options: VectorGraphicsChunkSpecificationGetDefaultsOptions) { let { - voxelSize, transform, lowerVoxelBound, upperVoxelBound, diff --git a/src/neuroglancer/sliceview/vector_graphics/frontend.ts b/src/neuroglancer/sliceview/vector_graphics/frontend.ts index 270d43c10c..f3625da408 100644 --- a/src/neuroglancer/sliceview/vector_graphics/frontend.ts +++ b/src/neuroglancer/sliceview/vector_graphics/frontend.ts @@ -14,43 +14,29 @@ * limitations under the License. */ -import {ChunkSourceParametersConstructor, ChunkState} from 'neuroglancer/chunk_manager/base'; -import {Chunk, ChunkManager, ChunkSource} from 'neuroglancer/chunk_manager/frontend'; -import {NavigationState} from 'neuroglancer/navigation_state'; -import {SharedObjectWithVisibilityCount} from 'neuroglancer/shared_visibility_count/base'; -import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; +import {ChunkSourceParametersConstructor} from 'neuroglancer/chunk_manager/base'; +import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; import {MultiscaleSliceViewChunkSource, SliceViewChunk, SliceViewChunkSource} from 'neuroglancer/sliceview/frontend'; import {SliceView} from 'neuroglancer/sliceview/frontend'; -import {SliceViewPanelRenderContext, SliceViewPanelRenderLayer} from 'neuroglancer/sliceview/panel'; import {RenderLayer as GenericSliceViewRenderLayer} from 'neuroglancer/sliceview/renderlayer'; import {VECTOR_GRAPHICS_RENDERLAYER_RPC_ID, VectorGraphicsChunkSource as VectorGraphicsChunkSourceInterface, VectorGraphicsChunkSpecification, VectorGraphicsSourceOptions} from 'neuroglancer/sliceview/vector_graphics/base'; -import {RefCounted} from 'neuroglancer/util/disposable'; -import {mat4, vec3, vec3Key} from 'neuroglancer/util/geom'; import {stableStringify} from 'neuroglancer/util/json'; import {Buffer} from 'neuroglancer/webgl/buffer'; -import {GL_ARRAY_BUFFER, GL_FLOAT} from 'neuroglancer/webgl/constants'; import {GL} from 'neuroglancer/webgl/context'; -import {FramebufferConfiguration, makeTextureBuffers, StencilBuffer} from 'neuroglancer/webgl/offscreen'; -import {ShaderBuilder, ShaderModule, ShaderProgram} from 'neuroglancer/webgl/shader'; -import {setVec4FromUint32} from 'neuroglancer/webgl/shader_lib'; -import {registerSharedObjectOwner, RPC, RpcId, SharedObject} from 'neuroglancer/worker_rpc'; - -const tempMat4 = mat4.create(); +import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; +import {RPC, RpcId, SharedObject} from 'neuroglancer/worker_rpc'; export abstract class RenderLayer extends GenericSliceViewRenderLayer { sources: VectorGraphicsChunkSource[][]; shader: ShaderProgram|undefined = undefined; shaderUpdated = true; rpcId: RpcId|null = null; - private sharedObject: SharedObject; constructor(multiscaleSource: MultiscaleVectorGraphicsChunkSource, { sourceOptions = {} } = {}) { super(multiscaleSource.chunkManager, multiscaleSource.getSources(sourceOptions)); - let gl = this.gl; - let sharedObject = this.registerDisposer(new SharedObject()); sharedObject.RPC_TYPE_ID = VECTOR_GRAPHICS_RENDERLAYER_RPC_ID; sharedObject.initializeCounterpart(this.chunkManager.rpc!, {'sources': this.sourceIds}); @@ -78,8 +64,6 @@ void emitTransparent() { } beginSlice(_sliceView: SliceView) { - let gl = this.gl; - let shader = this.shader!; shader.bind(); return shader; diff --git a/src/neuroglancer/sliceview/vector_graphics/vector_graphics_line_renderlayer.ts b/src/neuroglancer/sliceview/vector_graphics/vector_graphics_line_renderlayer.ts index 6477ebe22f..56a48eb5e9 100644 --- a/src/neuroglancer/sliceview/vector_graphics/vector_graphics_line_renderlayer.ts +++ b/src/neuroglancer/sliceview/vector_graphics/vector_graphics_line_renderlayer.ts @@ -23,7 +23,7 @@ import {TrackableFiniteFloat, trackableFiniteFloat} from 'neuroglancer/trackable import {trackableVec3, TrackableVec3} from 'neuroglancer/trackable_vec3'; import {mat4, vec3} from 'neuroglancer/util/geom'; import {Buffer} from 'neuroglancer/webgl/buffer'; -import {GL_ARRAY_BUFFER, GL_FLOAT} from 'neuroglancer/webgl/constants'; +import {GL_FLOAT} from 'neuroglancer/webgl/constants'; import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; const tempMat4 = mat4.create(); @@ -185,7 +185,6 @@ gl_Position = uProjection * (pos + delta); shader.uniform('uProjection'), false, mat4.multiply(tempMat4, sliceView.dataToDevice, objectToDataMatrix)); - let chunkDataSize: vec3|undefined; let visibleChunks = sliceView.visibleChunks.get(chunkLayout); if (!visibleChunks) { continue; diff --git a/src/neuroglancer/sliceview/volume/backend.ts b/src/neuroglancer/sliceview/volume/backend.ts index 3f123244cd..27dfcafabb 100644 --- a/src/neuroglancer/sliceview/volume/backend.ts +++ b/src/neuroglancer/sliceview/volume/backend.ts @@ -14,24 +14,10 @@ * limitations under the License. */ -import {Chunk, ChunkManager} from 'neuroglancer/chunk_manager/backend'; -import {ChunkPriorityTier} from 'neuroglancer/chunk_manager/base'; import {RenderLayer as SliceViewRenderLayer, SliceViewChunk, SliceViewChunkSource} from 'neuroglancer/sliceview/backend'; -import {SLICEVIEW_RENDERLAYER_RPC_ID} from 'neuroglancer/sliceview/base'; -import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; -import {RenderLayer as RenderLayerInterface, VOLUME_RENDERLAYER_RPC_ID, VOLUME_RPC_ID, VolumeChunkSource as VolumeChunkSourceInterface, VolumeChunkSpecification} from 'neuroglancer/sliceview/volume/base'; +import {RenderLayer as RenderLayerInterface, VOLUME_RENDERLAYER_RPC_ID, VolumeChunkSource as VolumeChunkSourceInterface, VolumeChunkSpecification} from 'neuroglancer/sliceview/volume/base'; import {vec3, vec3Key} from 'neuroglancer/util/geom'; -import {NullarySignal} from 'neuroglancer/util/signal'; -import {registerRPC, registerSharedObject, RPC, SharedObjectCounterpart} from 'neuroglancer/worker_rpc'; - -const BASE_PRIORITY = -1e12; -const SCALE_PRIORITY_MULTIPLIER = 1e9; - -// Temporary values used by VolumeChunkSource.computeChunkPosition. -const tempChunkPosition = vec3.create(); -const tempChunkDataSize = vec3.create(); -const tempCenter = vec3.create(); - +import {registerSharedObject, RPC} from 'neuroglancer/worker_rpc'; export class VolumeChunk extends SliceViewChunk { source: VolumeChunkSource|null = null; diff --git a/src/neuroglancer/sliceview/volume/base.ts b/src/neuroglancer/sliceview/volume/base.ts index bfc571bcd2..263294109a 100644 --- a/src/neuroglancer/sliceview/volume/base.ts +++ b/src/neuroglancer/sliceview/volume/base.ts @@ -14,27 +14,14 @@ * limitations under the License. */ -import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; -import {MeshSource} from 'neuroglancer/mesh/frontend'; import {ChunkLayoutOptions, getChunkDataSizes, getCombinedTransform, getNearIsotropicBlockSize, SliceViewChunkSource, SliceViewChunkSpecification, SliceViewChunkSpecificationBaseOptions, SliceViewSourceOptions} from 'neuroglancer/sliceview/base'; -import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; -import {partitionArray} from 'neuroglancer/util/array'; -import {approxEqual} from 'neuroglancer/util/compare'; import {DATA_TYPE_BYTES, DataType} from 'neuroglancer/util/data_type'; -import {effectiveScalingFactorFromMat4, identityMat4, kAxes, kInfinityVec, kZeroVec, mat4, prod3, rectifyTransformMatrixIfAxisAligned, transformVectorByMat4, vec3, vec4} from 'neuroglancer/util/geom'; -import {SharedObject} from 'neuroglancer/worker_rpc'; +import {prod3, vec3} from 'neuroglancer/util/geom'; export {DATA_TYPE_BYTES, DataType}; -const DEBUG_CHUNK_INTERSECTIONS = false; -const DEBUG_VISIBLE_SOURCES = false; - -const tempVec3 = vec3.create(); - export interface RenderLayer { sources: VolumeChunkSource[][]|null; } -const tempCorners = [vec3.create(), vec3.create(), vec3.create(), vec3.create()]; - /** * Specifies the interpretation of volumetric data. */ diff --git a/src/neuroglancer/sliceview/volume/frontend.ts b/src/neuroglancer/sliceview/volume/frontend.ts index 3c9d9c7545..454821c25b 100644 --- a/src/neuroglancer/sliceview/volume/frontend.ts +++ b/src/neuroglancer/sliceview/volume/frontend.ts @@ -14,33 +14,22 @@ * limitations under the License. */ -import {ChunkSourceParametersConstructor, ChunkState} from 'neuroglancer/chunk_manager/base'; -import {Chunk, ChunkManager, ChunkSource} from 'neuroglancer/chunk_manager/frontend'; -import {LayerManager} from 'neuroglancer/layer'; +import {ChunkSourceParametersConstructor} from 'neuroglancer/chunk_manager/base'; +import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; import {MeshSource} from 'neuroglancer/mesh/frontend'; -import {NavigationState} from 'neuroglancer/navigation_state'; -import {DataType, SliceViewBase} from 'neuroglancer/sliceview/base'; -import {ChunkLayout} from 'neuroglancer/sliceview/chunk_layout'; -import {MultiscaleSliceViewChunkSource, SliceView, SliceViewChunk, SliceViewChunkSource, SliceViewRenderHelper} from 'neuroglancer/sliceview/frontend'; -import {RenderLayer as GenericRenderLayer} from 'neuroglancer/sliceview/renderlayer'; +import {DataType} from 'neuroglancer/sliceview/base'; +import {MultiscaleSliceViewChunkSource, SliceViewChunk, SliceViewChunkSource} from 'neuroglancer/sliceview/frontend'; import {VolumeChunkSource as VolumeChunkSourceInterface, VolumeChunkSpecification, VolumeSourceOptions, VolumeType} from 'neuroglancer/sliceview/volume/base'; -import {RefCounted} from 'neuroglancer/util/disposable'; import {Disposable} from 'neuroglancer/util/disposable'; -import {mat4, rectifyTransformMatrixIfAxisAligned, vec3, vec3Key, vec4} from 'neuroglancer/util/geom'; +import {vec3, vec3Key} from 'neuroglancer/util/geom'; import {stableStringify} from 'neuroglancer/util/json'; -import {getObjectId} from 'neuroglancer/util/object_id'; -import {NullarySignal} from 'neuroglancer/util/signal'; import {Uint64} from 'neuroglancer/util/uint64'; import {GL} from 'neuroglancer/webgl/context'; -import {FramebufferConfiguration, makeTextureBuffers, StencilBuffer} from 'neuroglancer/webgl/offscreen'; -import {ShaderBuilder, ShaderModule, ShaderProgram} from 'neuroglancer/webgl/shader'; -import {getSquareCornersBuffer} from 'neuroglancer/webgl/square_corners_buffer'; -import {registerSharedObjectOwner, RPC} from 'neuroglancer/worker_rpc'; +import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; +import {RPC} from 'neuroglancer/worker_rpc'; export type VolumeChunkKey = string; -const tempMat = mat4.create(); - const tempChunkGridPosition = vec3.create(); const tempLocalPosition = vec3.create(); diff --git a/src/neuroglancer/sliceview/volume/renderlayer.ts b/src/neuroglancer/sliceview/volume/renderlayer.ts index 3ca052c96f..401407b1c2 100644 --- a/src/neuroglancer/sliceview/volume/renderlayer.ts +++ b/src/neuroglancer/sliceview/volume/renderlayer.ts @@ -24,21 +24,18 @@ // http://www.cg.informatik.uni-siegen.de/data/Publications/2005/rezksalamaVMV2005.pdf import {ChunkState} from 'neuroglancer/chunk_manager/base'; -import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; -import {RenderLayer as GenericRenderLayer} from 'neuroglancer/layer'; -import {SLICEVIEW_RENDERLAYER_RPC_ID} from 'neuroglancer/sliceview/base'; import {SliceView} from 'neuroglancer/sliceview/frontend'; import {RenderLayer as GenericSliceViewRenderLayer} from 'neuroglancer/sliceview/renderlayer'; import {VOLUME_RENDERLAYER_RPC_ID, VolumeChunkSpecification, VolumeSourceOptions} from 'neuroglancer/sliceview/volume/base'; import {MultiscaleVolumeChunkSource, VolumeChunkSource} from 'neuroglancer/sliceview/volume/frontend'; import {RefCounted} from 'neuroglancer/util/disposable'; -import {BoundingBox, mat4, vec3, vec3Key, vec4} from 'neuroglancer/util/geom'; +import {mat4, vec3, vec3Key} from 'neuroglancer/util/geom'; import {Buffer} from 'neuroglancer/webgl/buffer'; import {GL} from 'neuroglancer/webgl/context'; -import {makeWatchableShaderError, WatchableShaderError} from 'neuroglancer/webgl/dynamic_shader'; +import {makeWatchableShaderError} from 'neuroglancer/webgl/dynamic_shader'; import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; import {getShaderType} from 'neuroglancer/webgl/shader_lib'; -import {RpcId, SharedObject} from 'neuroglancer/worker_rpc'; +import {SharedObject} from 'neuroglancer/worker_rpc'; const DEBUG_VERTICES = false; diff --git a/src/neuroglancer/trackable_vec3.ts b/src/neuroglancer/trackable_vec3.ts index 6378a2bdd7..ed00cc63d2 100644 --- a/src/neuroglancer/trackable_vec3.ts +++ b/src/neuroglancer/trackable_vec3.ts @@ -15,10 +15,9 @@ */ -import {RefCounted} from 'neuroglancer/util/disposable'; import {vec3} from 'neuroglancer/util/geom'; -import {verify3dVec, verifyFiniteFloat} from 'neuroglancer/util/json'; -import {NullarySignal, Signal} from 'neuroglancer/util/signal'; +import {verify3dVec} from 'neuroglancer/util/json'; +import {NullarySignal} from 'neuroglancer/util/signal'; import {Trackable} from 'neuroglancer/util/trackable'; export function trackableVec3(defaultValue = vec3.create()) { diff --git a/src/neuroglancer/ui/url_hash_binding.ts b/src/neuroglancer/ui/url_hash_binding.ts index 45b93dfd68..6370160d57 100644 --- a/src/neuroglancer/ui/url_hash_binding.ts +++ b/src/neuroglancer/ui/url_hash_binding.ts @@ -16,7 +16,7 @@ import {RefCounted} from 'neuroglancer/util/disposable'; import {verifyObject, urlSafeParse, urlSafeStringify} from 'neuroglancer/util/json'; -import {CompoundTrackable, Trackable, getCachedJson} from 'neuroglancer/util/trackable'; +import {Trackable, getCachedJson} from 'neuroglancer/util/trackable'; import {WatchableValue} from 'neuroglancer/trackable_value'; import debounce from 'lodash/debounce'; diff --git a/src/neuroglancer/util/cancellation.spec.ts b/src/neuroglancer/util/cancellation.spec.ts index 1bb13bae16..65ddda7ca2 100644 --- a/src/neuroglancer/util/cancellation.spec.ts +++ b/src/neuroglancer/util/cancellation.spec.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import {CANCELED, CancellationToken, CancellationTokenSource, makeCancelablePromise, throwIfCanceled, uncancelableToken} from 'neuroglancer/util/cancellation'; +import {CANCELED, CancellationTokenSource, makeCancelablePromise, throwIfCanceled, uncancelableToken} from 'neuroglancer/util/cancellation'; describe('cancellation', () => { describe('CancellationTokenSource', () => { @@ -112,7 +112,7 @@ describe('cancellation', () => { it('unregisters the cancellation handler when the promise is fulfilled', () => { const source = new CancellationTokenSource(); const log: string[] = []; - const promise = makeCancelablePromise(source, (resolve, _reject, token) => { + makeCancelablePromise(source, (resolve, _reject, token) => { token.add(() => { log.push('cancel called'); }); @@ -125,7 +125,7 @@ describe('cancellation', () => { it('unregisters the cancellation handler when the promise is rejected', () => { const source = new CancellationTokenSource(); const log: string[] = []; - const promise = makeCancelablePromise(source, (_resolve, reject, token) => { + makeCancelablePromise(source, (_resolve, reject, token) => { token.add(() => { log.push('cancel called'); }); diff --git a/src/neuroglancer/util/geom.ts b/src/neuroglancer/util/geom.ts index b1ea749bde..49735c61f4 100644 --- a/src/neuroglancer/util/geom.ts +++ b/src/neuroglancer/util/geom.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import {mat4, quat, vec2, vec3, vec4} from 'gl-matrix'; +import {mat4, quat, vec3} from 'gl-matrix'; export {mat2, mat3, mat4, quat, vec2, vec3, vec4} from 'gl-matrix'; diff --git a/src/neuroglancer/util/trackable.ts b/src/neuroglancer/util/trackable.ts index 17c0ea8820..ab67a8881c 100644 --- a/src/neuroglancer/util/trackable.ts +++ b/src/neuroglancer/util/trackable.ts @@ -18,9 +18,8 @@ * @file Defines a generic interface for a simple state tracking mechanism. */ -import {NullarySignal, Signal, NullaryReadonlySignal} from 'neuroglancer/util/signal'; -import {RefCounted} from 'neuroglancer/util/disposable'; -import {verifyObject, verifyObjectProperty} from 'neuroglancer/util/json'; +import {NullarySignal, NullaryReadonlySignal} from 'neuroglancer/util/signal'; +import {verifyObject} from 'neuroglancer/util/json'; export interface Trackable { restoreState: (x: any) => void; diff --git a/src/neuroglancer/vector_graphics_user_layer.ts b/src/neuroglancer/vector_graphics_user_layer.ts index 959c8924c9..efdf4c63e3 100644 --- a/src/neuroglancer/vector_graphics_user_layer.ts +++ b/src/neuroglancer/vector_graphics_user_layer.ts @@ -15,12 +15,9 @@ */ import {ChunkManager} from 'neuroglancer/chunk_manager/frontend'; -import {CoordinateTransform} from 'neuroglancer/coordinate_transform'; import {GetVectorGraphicsOptions, getVectorGraphicsSource} from 'neuroglancer/datasource/factory'; import {UserLayer, UserLayerDropdown} from 'neuroglancer/layer'; -import {LayerListSpecification, registerLayerType, registerVolumeLayerType} from 'neuroglancer/layer_specification'; -import {getVolumeWithStatusMessage} from 'neuroglancer/layer_specification'; -import {Overlay} from 'neuroglancer/overlay'; +import {LayerListSpecification, registerLayerType} from 'neuroglancer/layer_specification'; import {VectorGraphicsType} from 'neuroglancer/sliceview/vector_graphics/base'; import {MultiscaleVectorGraphicsChunkSource, RenderLayer} from 'neuroglancer/sliceview/vector_graphics/frontend'; import {VectorGraphicsLineRenderLayer} from 'neuroglancer/sliceview/vector_graphics/vector_graphics_line_renderlayer'; @@ -28,11 +25,9 @@ import {StatusMessage} from 'neuroglancer/status'; import {trackableAlphaValue} from 'neuroglancer/trackable_alpha'; import {trackableFiniteFloat} from 'neuroglancer/trackable_finite_float'; import {trackableVec3, TrackableVec3} from 'neuroglancer/trackable_vec3'; -import {mat4, vec3} from 'neuroglancer/util/geom'; -import {verifyEnumString, verifyFiniteFloat, verifyInt, verifyOptionalString} from 'neuroglancer/util/json'; -import {makeWatchableShaderError} from 'neuroglancer/webgl/dynamic_shader'; +import {vec3} from 'neuroglancer/util/geom'; +import {verifyEnumString, verifyFiniteFloat, verifyOptionalString} from 'neuroglancer/util/json'; import {RangeWidget} from 'neuroglancer/widget/range'; -import {ShaderCodeWidget} from 'neuroglancer/widget/shader_code_widget'; import {Vec3Widget} from 'neuroglancer/widget/vec3_entry_widget'; require('./image_user_layer.css'); @@ -132,7 +127,6 @@ class VectorGraphicsDropDown extends UserLayerDropdown { colorWidget.promptElement.textContent = 'Color'; let spacer = document.createElement('div'); - let lineBreak = document.createElement('br'); spacer.style.flex = '1'; let helpLink = document.createElement('a'); let helpButton = document.createElement('button'); diff --git a/src/neuroglancer/viewer_layouts.ts b/src/neuroglancer/viewer_layouts.ts index 51f00a0e3b..86ea446d5b 100644 --- a/src/neuroglancer/viewer_layouts.ts +++ b/src/neuroglancer/viewer_layouts.ts @@ -25,7 +25,7 @@ import {SliceViewPanel} from 'neuroglancer/sliceview/panel'; import {TrackableBoolean} from 'neuroglancer/trackable_boolean'; import {RefCounted} from 'neuroglancer/util/disposable'; import {removeChildren} from 'neuroglancer/util/dom'; -import {mat4, quat} from 'neuroglancer/util/geom'; +import {quat} from 'neuroglancer/util/geom'; export interface SliceViewViewerState { chunkManager: ChunkManager; diff --git a/src/neuroglancer/webgl/one_dimensional_texture_access.spec.ts b/src/neuroglancer/webgl/one_dimensional_texture_access.spec.ts index 72c35d0948..16e2850239 100644 --- a/src/neuroglancer/webgl/one_dimensional_texture_access.spec.ts +++ b/src/neuroglancer/webgl/one_dimensional_texture_access.spec.ts @@ -15,9 +15,8 @@ */ import {DataType} from 'neuroglancer/util/data_type'; -import {Uint64} from 'neuroglancer/util/uint64'; import {compute1dTextureFormat, compute1dTextureLayout, OneDimensionalTextureAccessHelper, OneDimensionalTextureFormat, OneDimensionalTextureLayout, setOneDimensionalTextureData} from 'neuroglancer/webgl/one_dimensional_texture_access'; -import {setVec4FromUint32, encodeBytesToFloat32, glsl_unnormalizeUint8, glsl_uintleToFloat} from 'neuroglancer/webgl/shader_lib'; +import {setVec4FromUint32, glsl_unnormalizeUint8, glsl_uintleToFloat} from 'neuroglancer/webgl/shader_lib'; import {fragmentShaderTest} from 'neuroglancer/webgl/shader_testing'; describe('one_dimensional_texture_access', () => { diff --git a/src/neuroglancer/webgl/shader_testing.ts b/src/neuroglancer/webgl/shader_testing.ts index 69bfdb85a9..33311df3fd 100644 --- a/src/neuroglancer/webgl/shader_testing.ts +++ b/src/neuroglancer/webgl/shader_testing.ts @@ -16,7 +16,6 @@ import {RefCounted} from 'neuroglancer/util/disposable'; import {vec4} from 'neuroglancer/util/geom'; -import {Buffer} from 'neuroglancer/webgl/buffer'; import {GL} from 'neuroglancer/webgl/context'; import {FramebufferConfiguration, makeTextureBuffers, TextureBuffer} from 'neuroglancer/webgl/offscreen'; import {ShaderBuilder, ShaderProgram} from 'neuroglancer/webgl/shader'; diff --git a/src/neuroglancer/widget/autocomplete.ts b/src/neuroglancer/widget/autocomplete.ts index 8dcac006b5..61357df3ba 100644 --- a/src/neuroglancer/widget/autocomplete.ts +++ b/src/neuroglancer/widget/autocomplete.ts @@ -316,7 +316,7 @@ export class AutocompleteTextInput extends RefCounted { } private updateDropdownStyle() { - let {element, dropdownElement, inputElement} = this; + let {dropdownElement, inputElement} = this; positionDropdown(dropdownElement, inputElement, {horizontal: false}); this.dropdownStyleStale = false; } diff --git a/src/neuroglancer/widget/scale_bar.ts b/src/neuroglancer/widget/scale_bar.ts index a9ab0c2ce6..500f1b8759 100644 --- a/src/neuroglancer/widget/scale_bar.ts +++ b/src/neuroglancer/widget/scale_bar.ts @@ -116,7 +116,6 @@ export class ScaleBarDimensions { // Determine significand value in this.allowedSignificands that is closest // to targetSignificand. let bestSignificand = 1; - let {allowedSignificands} = this; for (let allowedSignificand of this.allowedSignificands) { if (Math.abs(allowedSignificand - targetSignificand) < Math.abs(bestSignificand - targetSignificand)) {